From 43e3784509ea767acd6884652df61dc9f1b5c994 Mon Sep 17 00:00:00 2001 From: pey2 Date: Tue, 7 Oct 2025 01:11:07 +0800 Subject: [PATCH 1/6] feat: added main table component --- app/components/Table/index.vue | 224 +++++++++++++++++++++++++++++++++ app/layouts/default.vue | 13 +- package.json | 1 + pnpm-lock.yaml | 5 +- 4 files changed, 238 insertions(+), 5 deletions(-) create mode 100644 app/components/Table/index.vue diff --git a/app/components/Table/index.vue b/app/components/Table/index.vue new file mode 100644 index 0000000..b0a8421 --- /dev/null +++ b/app/components/Table/index.vue @@ -0,0 +1,224 @@ + + + diff --git a/app/layouts/default.vue b/app/layouts/default.vue index 781a35d..66431b6 100644 --- a/app/layouts/default.vue +++ b/app/layouts/default.vue @@ -1,6 +1,11 @@ diff --git a/package.json b/package.json index 809823d..d23f34b 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@nuxt/fonts": "0.11.4", "@nuxt/image": "1.11.0", "@nuxt/ui": "4.0.0", + "@tanstack/vue-table": "8.21.3", "@pinia/nuxt": "0.11.2", "@tailwindcss/vite": "^4.1.14", "eslint": "^9.37.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f55262..7e55f79 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,10 @@ importers: version: 0.11.2(magicast@0.3.5)(pinia@3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))) '@tailwindcss/vite': specifier: ^4.1.14 - version: 4.1.14(vite@7.1.9(@types/node@24.7.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1)) + version: 4.1.14(vite@7.1.9(@types/node@24.6.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1)) + '@tanstack/vue-table': + specifier: 8.21.3 + version: 8.21.3(vue@3.5.22(typescript@5.9.3)) eslint: specifier: ^9.37.0 version: 9.37.0(jiti@2.6.1) From 9c68681572e593f30148bad6049bfd3d29c20258 Mon Sep 17 00:00:00 2001 From: pey2 Date: Wed, 8 Oct 2025 22:30:08 +0800 Subject: [PATCH 2/6] feat: added edit and delete dropdown --- app/components/Table/index.vue | 168 ++++++++++++++++++++++++++++++++- 1 file changed, 167 insertions(+), 1 deletion(-) diff --git a/app/components/Table/index.vue b/app/components/Table/index.vue index b0a8421..6016cef 100644 --- a/app/components/Table/index.vue +++ b/app/components/Table/index.vue @@ -1,11 +1,16 @@ From 88a0c70ff894804d122fe830f3528b565619d91e Mon Sep 17 00:00:00 2001 From: pey2 Date: Thu, 9 Oct 2025 00:03:57 +0800 Subject: [PATCH 3/6] refactor: modal changes --- app/components/Modal/index.vue | 103 ++++++++++++++++++++++++++++ app/components/Table/index.vue | 118 ++------------------------------- app/layouts/default.vue | 1 + app/stores/useModal.ts | 15 +++++ app/types/item.ts | 9 +++ 5 files changed, 132 insertions(+), 114 deletions(-) create mode 100644 app/components/Modal/index.vue create mode 100644 app/stores/useModal.ts create mode 100644 app/types/item.ts diff --git a/app/components/Modal/index.vue b/app/components/Modal/index.vue new file mode 100644 index 0000000..2d36163 --- /dev/null +++ b/app/components/Modal/index.vue @@ -0,0 +1,103 @@ + + + diff --git a/app/components/Table/index.vue b/app/components/Table/index.vue index 6016cef..60fbe0e 100644 --- a/app/components/Table/index.vue +++ b/app/components/Table/index.vue @@ -1,7 +1,8 @@ diff --git a/app/layouts/default.vue b/app/layouts/default.vue index 66431b6..08fd064 100644 --- a/app/layouts/default.vue +++ b/app/layouts/default.vue @@ -6,6 +6,7 @@
+ diff --git a/app/stores/useModal.ts b/app/stores/useModal.ts new file mode 100644 index 0000000..7ddbf65 --- /dev/null +++ b/app/stores/useModal.ts @@ -0,0 +1,15 @@ +import { defineStore } from 'pinia'; + +export const useModalStore = defineStore('modal', { + state: () => ({ + showModal: false, + }), + actions: { + openModal() { + this.showModal = true; + }, + closeModal() { + this.showModal = false; + }, + }, +}); diff --git a/app/types/item.ts b/app/types/item.ts new file mode 100644 index 0000000..3e124c0 --- /dev/null +++ b/app/types/item.ts @@ -0,0 +1,9 @@ +export interface ItemState { + item_name?: string; + price?: number; + link?: string; + platform?: string; + priority?: string; + status?: string; + tags?: string[]; +} From e4bb4b740d1bc519129ee45d45256f050bb52b0a Mon Sep 17 00:00:00 2001 From: rockyroed Date: Thu, 9 Oct 2025 09:55:21 +0800 Subject: [PATCH 4/6] fix: resolve lockfile error --- pnpm-lock.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7e55f79..4b24d54 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,7 @@ importers: version: 0.11.2(magicast@0.3.5)(pinia@3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))) '@tailwindcss/vite': specifier: ^4.1.14 - version: 4.1.14(vite@7.1.9(@types/node@24.6.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1)) + version: 4.1.14(vite@7.1.9(@types/node@24.7.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1)) '@tanstack/vue-table': specifier: 8.21.3 version: 8.21.3(vue@3.5.22(typescript@5.9.3)) From 9bffc6b3ba4b54d732ee7cb9ab1f696420c58e06 Mon Sep 17 00:00:00 2001 From: rockyroed Date: Thu, 9 Oct 2025 10:00:00 +0800 Subject: [PATCH 5/6] test: update snapshot --- .../__snapshots__/components.test.ts.snap | 490 +++++++++++++++++- 1 file changed, 465 insertions(+), 25 deletions(-) diff --git a/test/nuxt/__snapshots__/components.test.ts.snap b/test/nuxt/__snapshots__/components.test.ts.snap index c4c0b7c..e8270cd 100644 --- a/test/nuxt/__snapshots__/components.test.ts.snap +++ b/test/nuxt/__snapshots__/components.test.ts.snap @@ -1,42 +1,482 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`App > should match snapshot 1`] = ` -"
-
- Lystra logo -

Lystra

- -
-
- - + +
+ + +
+
-
-
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
Item +
Price
+
LinkPlatformTagsPriorityStatus + +
+
+
+ +
+
Placeholder Item +
₱594.00
+
Placeholder Linkfacebookplaceholder1lowIn Cart +
+ + + +
+
+
+
+ +
+
Placeholder Item +
₱276.00
+
Placeholder Linklazadaplaceholder2mediumOrdered +
+ + + +
+
+
+
+ +
+
Placeholder Item +
₱315.00
+
Placeholder Linkshopeeplaceholder1highDelivered +
+ + + +
+
+
+
+ +
+
Placeholder Item +
₱529.00
+
Placeholder Linktiktokplaceholder2highIn Cart +
+ + + +
+
+
+
+ +
+
Placeholder Item +
₱639.00
+
Placeholder Linktemuplaceholder1lowCancelled +
+ + + +
+
+
+
+ +
+ +
+ + + +
+ + " `; exports[`DefaultLayout > should match snapshot 1`] = ` -"" +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
Item +
Price
+
LinkPlatformTagsPriorityStatus + +
+
+
+ +
+
Placeholder Item +
₱594.00
+
Placeholder Linkfacebookplaceholder1lowIn Cart +
+ + + +
+
+
+
+ +
+
Placeholder Item +
₱276.00
+
Placeholder Linklazadaplaceholder2mediumOrdered +
+ + + +
+
+
+
+ +
+
Placeholder Item +
₱315.00
+
Placeholder Linkshopeeplaceholder1highDelivered +
+ + + +
+
+
+
+ +
+
Placeholder Item +
₱529.00
+
Placeholder Linktiktokplaceholder2highIn Cart +
+ + + +
+
+
+
+ +
+
Placeholder Item +
₱639.00
+
Placeholder Linktemuplaceholder1lowCancelled +
+ + + +
+
+
+
+ +
+
+
+ + + +
+
+" `; exports[`Header > should match snapshot 1`] = ` From 2174b959230ab6615583bd91b32f02167d75dfd6 Mon Sep 17 00:00:00 2001 From: rockyroed Date: Thu, 9 Oct 2025 10:16:21 +0800 Subject: [PATCH 6/6] refactor: update store file name --- app/components/Modal/index.vue | 2 +- app/components/Table/index.vue | 2 +- app/stores/modals.ts | 19 +++++++++++++++++++ app/stores/useModal.ts | 15 --------------- 4 files changed, 21 insertions(+), 17 deletions(-) create mode 100644 app/stores/modals.ts delete mode 100644 app/stores/useModal.ts diff --git a/app/components/Modal/index.vue b/app/components/Modal/index.vue index 2d36163..158ac43 100644 --- a/app/components/Modal/index.vue +++ b/app/components/Modal/index.vue @@ -1,6 +1,6 @@