diff --git a/bo/components.d.ts b/bo/components.d.ts
index 85bba39..b2e1dd7 100644
--- a/bo/components.d.ts
+++ b/bo/components.d.ts
@@ -25,7 +25,7 @@ declare module 'vue' {
PageCreateAccount: typeof import('./src/components/customer/PageCreateAccount.vue')['default']
PageCustomerData: typeof import('./src/components/customer/PageCustomerData.vue')['default']
PageProductCardFull: typeof import('./src/components/customer/PageProductCardFull.vue')['default']
- PageProductsList: typeof import('./src/components/customer/PageProductsList.vue')['default']
+ PageProductsList: typeof import('./src/components/admin/PageProductsList.vue')['default']
Pl_PrivacyPolicyView: typeof import('./src/components/terms/pl_PrivacyPolicyView.vue')['default']
Pl_TermsAndConditionsView: typeof import('./src/components/terms/pl_TermsAndConditionsView.vue')['default']
ProductCustomization: typeof import('./src/components/customer/components/ProductCustomization.vue')['default']
diff --git a/bo/src/components/TopBar.vue b/bo/src/components/TopBar.vue
index f999875..0e388c1 100644
--- a/bo/src/components/TopBar.vue
+++ b/bo/src/components/TopBar.vue
@@ -19,6 +19,9 @@ const authStore = useAuthStore()
TimeTracker
+
+ products list
+
product detail
@@ -37,9 +40,6 @@ const authStore = useAuthStore()
Cart1
-
- Products List
-
diff --git a/bo/src/components/customer/PageProductsList.vue b/bo/src/components/admin/PageProductsList.vue
similarity index 86%
rename from bo/src/components/customer/PageProductsList.vue
rename to bo/src/components/admin/PageProductsList.vue
index 62630b4..4f3dfb1 100644
--- a/bo/src/components/customer/PageProductsList.vue
+++ b/bo/src/components/admin/PageProductsList.vue
@@ -22,7 +22,7 @@
Image
- Product ID |
+ Product Code
Name |
@@ -33,18 +33,19 @@
+ class="hover:bg-gray-50 dark:hover:bg-gray-800"
+ @click="goToProduct(product.product_id)">
-
|
{{
- product.product_id }} |
+ product.reference }}
{{
product.name }}
|
- {{ product.LinkRewrite }}
+ {{ product.link_rewrite }}
|
@@ -65,13 +66,16 @@
import { ref, onMounted, watch } from 'vue'
import { useFetchJson } from '@/composable/useFetchJson'
import Default from '@/layouts/default.vue'
+import { useRouter } from 'vue-router'
interface Product {
- product_id: number
+ reference: number
+ product_id:number
name: string
- ImageID: string
- LinkRewrite: string
+ image_link: string
+ link_rewrite: string
}
+const router = useRouter()
const page = ref(1)
const perPage = ref(15)
@@ -97,6 +101,7 @@ async function fetchProductList() {
) as ApiResponse
productsList.value = response.items || []
+ console.log(response)
total.value = response.count || 0
} catch (e: unknown) {
error.value = e instanceof Error ? e.message : 'Failed to load products'
@@ -109,4 +114,11 @@ watch(page, () => {
fetchProductList()
})
onMounted(fetchProductList)
+
+function goToProduct(productId: number) {
+ router.push({
+ name: 'product-detail',
+ params: { id: productId }
+ })
+}
\ No newline at end of file
diff --git a/bo/src/components/admin/ProductDetailView.vue b/bo/src/components/admin/ProductDetailView.vue
index 2ce5806..3f6527b 100644
--- a/bo/src/components/admin/ProductDetailView.vue
+++ b/bo/src/components/admin/ProductDetailView.vue
@@ -35,11 +35,19 @@
-