-
![]()
-
{{ title }}
+
+
![]()
+
+ {{ item.name.slice(0, 25) + (item.name.length > 24 ? '...' : '') }}
+
@@ -53,6 +60,13 @@ onMounted(async () => {
border-radius: 4px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
overflow: hidden;
+ cursor: pointer;
+}
+
+.card:hover {
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
+ transform: translateY(-2px) scale(1.02);
+ transition: all 0.3s;
}
.card-image {
diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts
index e58491f..ed7257c 100644
--- a/frontend/src/router/index.ts
+++ b/frontend/src/router/index.ts
@@ -1,5 +1,6 @@
import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'
+import Details from "../views/Details.vue";
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
@@ -8,6 +9,20 @@ const router = createRouter({
path: '/',
name: 'home',
component: HomeView
+ },
+ {
+ path: '/details:item:imageUrl',
+ name: 'details',
+ component: Details,
+ props: route => {
+ let item;
+ try {
+ item = JSON.parse(
route.params.item);
+ } catch (error) {
+ item = {}; // or any default value you want to set
+ }
+ return { item: item, imageUrl: route.params.imageUrl };
+ },
}
]
})
diff --git a/frontend/src/views/Details.vue b/frontend/src/views/Details.vue
new file mode 100644
index 0000000..101edfe
--- /dev/null
+++ b/frontend/src/views/Details.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/views/HomeView.vue b/frontend/src/views/HomeView.vue
index 863800b..04e2356 100644
--- a/frontend/src/views/HomeView.vue
+++ b/frontend/src/views/HomeView.vue
@@ -36,7 +36,7 @@ function searchTitle() {