From 2d2436183264ffa76247c21473866cd71938608f Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Mon, 25 May 2026 21:56:54 +0300 Subject: [PATCH] link media cards --- frontend/rabbi_gerzi/src/router/index.ts | 6 ++ frontend/rabbi_gerzi/src/stores/mediaSets.ts | 1 + .../rabbi_gerzi/src/views/ElementPage.vue | 54 ++++++++++++++ frontend/rabbi_gerzi/src/views/MediaPage.vue | 74 ++++++++++++++----- 4 files changed, 118 insertions(+), 17 deletions(-) create mode 100644 frontend/rabbi_gerzi/src/views/ElementPage.vue diff --git a/frontend/rabbi_gerzi/src/router/index.ts b/frontend/rabbi_gerzi/src/router/index.ts index 6c71efd..3d5962f 100644 --- a/frontend/rabbi_gerzi/src/router/index.ts +++ b/frontend/rabbi_gerzi/src/router/index.ts @@ -2,6 +2,7 @@ import { createRouter, createWebHistory } from 'vue-router' import HomePage from '@/views/HomePage.vue' import LoginPage from '@/views/LoginPage.vue' import MediaPage from '@/views/MediaPage.vue' +import ElementPage from '@/views/ElementPage.vue' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -21,6 +22,11 @@ const router = createRouter({ name: 'media', component: MediaPage, }, + { + path: '/element/:id', + name: 'element', + component: ElementPage, + }, ], }) diff --git a/frontend/rabbi_gerzi/src/stores/mediaSets.ts b/frontend/rabbi_gerzi/src/stores/mediaSets.ts index 0ed97dd..b899929 100644 --- a/frontend/rabbi_gerzi/src/stores/mediaSets.ts +++ b/frontend/rabbi_gerzi/src/stores/mediaSets.ts @@ -6,6 +6,7 @@ export interface MediaSet { name: string description: string iconImageUrl: string + rootElementId: number | null } interface SetsResponse { diff --git a/frontend/rabbi_gerzi/src/views/ElementPage.vue b/frontend/rabbi_gerzi/src/views/ElementPage.vue new file mode 100644 index 0000000..22191ce --- /dev/null +++ b/frontend/rabbi_gerzi/src/views/ElementPage.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/frontend/rabbi_gerzi/src/views/MediaPage.vue b/frontend/rabbi_gerzi/src/views/MediaPage.vue index 314d3d3..c1880cd 100644 --- a/frontend/rabbi_gerzi/src/views/MediaPage.vue +++ b/frontend/rabbi_gerzi/src/views/MediaPage.vue @@ -33,23 +33,41 @@ onMounted(() => { No media sets are available yet.

-
- -

{{ mediaSet.name }}

-

- {{ mediaSet.description }} -

-
+
@@ -114,7 +132,29 @@ onMounted(() => { background: var(--color-white); border: 1px solid #e5cf9f; border-radius: 17px; + color: inherit; text-align: center; + text-decoration: none; + transition: + border-color 180ms ease, + box-shadow 180ms ease, + transform 180ms ease; +} + +a.media-page__card:hover, +a.media-page__card:focus-visible { + border-color: #d4ad5f; + box-shadow: 0 14px 35px rgb(44 44 44 / 10%); + transform: translateY(-2px); +} + +a.media-page__card:focus-visible { + outline: 3px solid rgb(212 173 95 / 45%); + outline-offset: 4px; +} + +.media-page__card--disabled { + opacity: 0.72; } .media-page__card-icon {