Bücherdatenbank für Testzwecke eigebunden (statische Bücher)

This commit is contained in:
Michi Tomaschko 2025-04-02 20:14:49 +02:00
parent 789c3f4630
commit 71e1878354
2 changed files with 52 additions and 83 deletions

1
components.d.ts vendored
View File

@ -26,6 +26,7 @@ declare module 'vue' {
AppStepper: typeof import('./src/@core/components/AppStepper.vue')['default']
AppTextarea: typeof import('./src/@core/components/app-form-elements/AppTextarea.vue')['default']
AppTextField: typeof import('./src/@core/components/app-form-elements/AppTextField.vue')['default']
Buecherdatenbank: typeof import('./src/pages/buecherdatenbank.vue')['default']
BuyNow: typeof import('./src/@core/components/BuyNow.vue')['default']
CardAddEditDialog: typeof import('./src/components/dialogs/CardAddEditDialog.vue')['default']
CardStatisticsHorizontal: typeof import('./src/@core/components/cards/CardStatisticsHorizontal.vue')['default']

View File

@ -1,100 +1,68 @@
<script setup>
export const books = [
import { books } from '@/components/buecherdatenbank' // Importiere die Bücher-Datenbank
import Fieberkurve from "@/components/Fieberkurve.vue"
// Erzeuge die Datenstruktur für die Tabelle
const tableData = books.map(book => ({
id: book.id,
title: book.title,
description: book.description,
image: book.image,
fieberkurve: book.fieberkurve,
}))
// Definiere die Header der Tabelle
const headers = [
{
id: 1,
title: 'Rich Dad Poor Dad',
description: 'Ein Buch über finanzielle Bildung und Investitionen.',
image: 'https://m.media-amazon.com/images/I/81gW3OmXQeL._SL1500_.jpg',
fieberkurve: [
{ value: 1 },
{ value: 1 },
{ value: 1 },
{ value: 1 },
{ value: 1 },
],
title: 'ID',
key: 'id',
sortable: true,
},
{
id: 2,
title: 'Harry Potter und der Stein der Weisen',
description: 'Der erste Teil der magischen Harry-Potter-Reihe.',
image: 'https://m.media-amazon.com/images/I/81YOuOGFCJL.jpg',
fieberkurve: [
{ value: 5 },
{ value: 2 },
{ value: 7 },
{ value: 3 },
{ value: 5 },
],
title: 'Titel',
key: 'title',
sortable: true,
},
{
id: 3,
title: 'Der Herr der Ringe',
description: 'Ein episches Fantasy-Abenteuer von J.R.R. Tolkien.',
image: 'https://m.media-amazon.com/images/I/91zbi9M+mKL._AC_UF1000,1000_QL80_.jpg',
fieberkurve: [
{ value: 5 },
{ value: 4 },
{ value: 6 },
{ value: 4 },
{ value: 2 },
],
title: 'Beschreibung',
key: 'description',
sortable: false,
},
{
id: 4,
title: 'Die Tribute von Panem',
description: 'Ein dystopischer Roman über den Kampf ums Überleben.',
image: 'https://m.media-amazon.com/images/I/61JfGcL2ljL._AC_UF1000,1000_QL80_.jpg',
fieberkurve: [
{ value: 4 },
{ value: 7 },
{ value: 4 },
{ value: 3 },
{ value: 5 },
],
title: 'Bild',
key: 'image',
sortable: false,
},
{
id: 5,
title: 'Game of Thrones',
description: 'Der Auftakt zur epischen Saga von George R.R. Martin.',
image: 'https://m.media-amazon.com/images/I/91L2Dhn2xBL._AC_UF1000,1000_QL80_.jpg',
fieberkurve: [
{ value: 5 },
{ value: 2 },
{ value: 7 },
{ value: 3 },
{ value: 5 },
],
title: 'Fieberkurve',
key: 'fieberkurve',
sortable: false,
},
{
id: 6,
title: '1984',
description: 'Ein dystopischer Klassiker von George Orwell.',
image: 'https://m.media-amazon.com/images/I/71kxa1-0mfL.jpg',
fieberkurve: [
{ value: 5 },
{ value: 2 },
{ value: 4 },
{ value: 4 },
{ value: 5 },
],
},
{
id: 7,
title: 'Sakrileg - The Da Vinci Code',
description: 'Ein spannender Thriller von Dan Brown.',
image: 'https://m.media-amazon.com/images/I/81Q9NhedqgL.jpg',
fieberkurve: [
{ value: 1 },
{ value: 7 },
{ value: 7 },
{ value: 3 },
{ value: 1 },
],
},
];
]
</script>
<template>
<h2>Bücherdatenbank:</h2>
<p>(Alle statisch angelegten Testbücher in "buecherdatenbank.js")</p>
<hr>
<!-- Data Table - Dense -->
<VDataTable
:headers="headers"
:items="tableData"
density="compact"
:items-per-page="5"
>
<!-- Custom Slot für Bild -->
<template #item.image="{ item }">
<img :src="item.image" alt="Buchbild" style="width: 50px; height: auto;" />
</template>
<!-- Custom Slot für Fieberkurve -->
<template #item.fieberkurve="{ item }">
<Fieberkurve :data="item.fieberkurve" />
</template>
</VDataTable>
</template>
<style scoped lang="scss">