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 @@
+
+
+
+
+
+
+ Element {{ elementId }}
+
+
+
+
+
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 }}
-
-
+
+
+
+ {{ mediaSet.name }}
+
+ {{ mediaSet.description }}
+
+
+
+
+ {{ 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 {