feat: publication management with cover images, PDFs, and fruit images (story #04)

Full CRUD for publications; link fruits to publications; upload per-fruit
PDF descriptions and fruit images stored as BYTEA; fruit detail page shows
publication descriptions and images. ImageOverlayDrawer for cover thumbnail
full-size view.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-18 10:48:08 +02:00
co-authored by Claude Sonnet 4.6
parent 2e3f0f366c
commit fce4d67cbe
18 changed files with 3116 additions and 0 deletions
+17
View File
@@ -3,6 +3,9 @@ import HelloWorld from '../views/HelloWorld.vue'
import FruitList from '../views/FruitList.vue'
import FruitCreate from '../views/FruitCreate.vue'
import FruitDetail from '../views/FruitDetail.vue'
import PublicationList from '../views/PublicationList.vue'
import PublicationCreate from '../views/PublicationCreate.vue'
import PublicationDetail from '../views/PublicationDetail.vue'
const router = createRouter({
history: createWebHistory(),
@@ -25,6 +28,20 @@ const router = createRouter({
component: FruitDetail,
props: true,
},
{
path: '/publications',
component: PublicationList,
},
{
// /publications/new must come before /:id
path: '/publications/new',
component: PublicationCreate,
},
{
path: '/publications/:id',
component: PublicationDetail,
props: true,
},
],
})