From 0b23139e068cd0720ad53116e113ad0e886d242c Mon Sep 17 00:00:00 2001 From: Mirumo Date: Sat, 7 Mar 2026 18:41:38 +0800 Subject: [PATCH 01/24] feat(ui): add `CpSessionItem` and `CpBadge` Component --- app/components/feature/CpSessionItem.vue | 33 ++++++++++++++++++++++++ app/components/shared/CpBadge.vue | 12 +++++++++ 2 files changed, 45 insertions(+) create mode 100644 app/components/feature/CpSessionItem.vue create mode 100644 app/components/shared/CpBadge.vue diff --git a/app/components/feature/CpSessionItem.vue b/app/components/feature/CpSessionItem.vue new file mode 100644 index 0000000..9263554 --- /dev/null +++ b/app/components/feature/CpSessionItem.vue @@ -0,0 +1,33 @@ + + + diff --git a/app/components/shared/CpBadge.vue b/app/components/shared/CpBadge.vue new file mode 100644 index 0000000..9abebbf --- /dev/null +++ b/app/components/shared/CpBadge.vue @@ -0,0 +1,12 @@ + + + From 4246e38ae7394bb49b8056d27c6db8bba6b01283 Mon Sep 17 00:00:00 2001 From: Mirumo Date: Fri, 1 May 2026 15:12:48 +0800 Subject: [PATCH 02/24] feat(ui): refactor toggle functionality in CpPopup component --- app/components/shared/CpPopup.vue | 11 +++++++---- app/composables/useToggle.ts | 19 ------------------- 2 files changed, 7 insertions(+), 23 deletions(-) delete mode 100644 app/composables/useToggle.ts diff --git a/app/components/shared/CpPopup.vue b/app/components/shared/CpPopup.vue index 53ff643..838b430 100644 --- a/app/components/shared/CpPopup.vue +++ b/app/components/shared/CpPopup.vue @@ -1,10 +1,13 @@ @@ -18,7 +21,7 @@ onClickOutside(target, close) class="cursor-pointer" :is-open="isOpen" name="trigger" - @click="toggle" + @click="onTriggerClick" /> diff --git a/app/composables/useToggle.ts b/app/composables/useToggle.ts deleted file mode 100644 index 0b5c57b..0000000 --- a/app/composables/useToggle.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { ref } from 'vue' - -export default function useToggle(defaultStatus: boolean = false) { - const isOpen = ref(defaultStatus) - - function open() { - isOpen.value = true - } - - function close() { - isOpen.value = false - } - - function toggle() { - isOpen.value = !isOpen.value - } - - return { isOpen, open, close, toggle } -} From b996ce854f548fc756759e147e787054d954893d Mon Sep 17 00:00:00 2001 From: Mirumo Date: Sat, 4 Apr 2026 15:35:49 +0800 Subject: [PATCH 03/24] feat(ui): implement logic of CpSessionTable component for session grid display --- app/components/feature/CpSessionTable.vue | 166 ++++++++++++++++++++++ app/pages/session/index.vue | 29 ++++ 2 files changed, 195 insertions(+) create mode 100644 app/components/feature/CpSessionTable.vue create mode 100644 app/pages/session/index.vue diff --git a/app/components/feature/CpSessionTable.vue b/app/components/feature/CpSessionTable.vue new file mode 100644 index 0000000..2506412 --- /dev/null +++ b/app/components/feature/CpSessionTable.vue @@ -0,0 +1,166 @@ + + + diff --git a/app/pages/session/index.vue b/app/pages/session/index.vue new file mode 100644 index 0000000..1232ee1 --- /dev/null +++ b/app/pages/session/index.vue @@ -0,0 +1,29 @@ + + + From 4894702306dc4d5f986886fc99f8f5a60dee75c6 Mon Sep 17 00:00:00 2001 From: Mirumo Date: Sun, 5 Apr 2026 22:52:55 +0800 Subject: [PATCH 04/24] feat(ui): remove text-justify class from title in CpSessionItem component --- app/components/feature/CpSessionItem.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/components/feature/CpSessionItem.vue b/app/components/feature/CpSessionItem.vue index 9263554..9334fb1 100644 --- a/app/components/feature/CpSessionItem.vue +++ b/app/components/feature/CpSessionItem.vue @@ -13,7 +13,7 @@ defineProps<{