From e75df82b1f2b389d5125e4020dff83b664a089df Mon Sep 17 00:00:00 2001 From: cuixiaorui Date: Thu, 15 Jun 2023 22:24:26 +0800 Subject: [PATCH] refactor: select left list status --- .../frontend/src/components/task/TaskItem.vue | 2 +- .../components/task/TaskLeftListProject.vue | 179 +++--------------- .../task/TaskLeftListSmartProject.vue | 32 ++-- .../src/components/task/taskLeftList.ts | 62 ++++++ apps/frontend/src/store/index.ts | 1 - .../store/useProjectSelectedStatusStore.ts | 27 --- 6 files changed, 98 insertions(+), 205 deletions(-) create mode 100644 apps/frontend/src/components/task/taskLeftList.ts delete mode 100644 apps/frontend/src/store/useProjectSelectedStatusStore.ts diff --git a/apps/frontend/src/components/task/TaskItem.vue b/apps/frontend/src/components/task/TaskItem.vue index 8f5e5a9..04277d0 100644 --- a/apps/frontend/src/components/task/TaskItem.vue +++ b/apps/frontend/src/components/task/TaskItem.vue @@ -3,7 +3,7 @@ import { NPopover } from 'naive-ui' import { ref } from 'vue' import { useTaskOperationMessage, useTaskRightContextMenu } from '@/composables' import { TaskStatus, useTasksStore, useThemeStore } from '@/store' -import type { ListProject, Task } from '@/store' +import type { Task } from '@/store' interface Props { task: Task diff --git a/apps/frontend/src/components/task/TaskLeftListProject.vue b/apps/frontend/src/components/task/TaskLeftListProject.vue index e3af59d..f89dc86 100644 --- a/apps/frontend/src/components/task/TaskLeftListProject.vue +++ b/apps/frontend/src/components/task/TaskLeftListProject.vue @@ -1,24 +1,25 @@ diff --git a/apps/frontend/src/components/task/TaskLeftListSmartProject.vue b/apps/frontend/src/components/task/TaskLeftListSmartProject.vue index c4b9a9f..ac01f81 100644 --- a/apps/frontend/src/components/task/TaskLeftListSmartProject.vue +++ b/apps/frontend/src/components/task/TaskLeftListSmartProject.vue @@ -2,9 +2,9 @@ import { Icon } from '@iconify/vue' import { NPopover } from 'naive-ui' import { ref } from 'vue' +import { useTaskLeftListStore } from './taskLeftList' import type { SmartProjectName } from '@/store' import { - useProjectSelectedStatusStore, useSettingsStore, useSmartProjects, } from '@/store' @@ -31,20 +31,17 @@ function useProjectMoreActions() { } } +const taskLeftListStore = useTaskLeftListStore() const settingsStore = useSettingsStore() const selected = 'bg-[#E7F5EE] dark:bg-[#233633]' const smartProjects = useSmartProjects() -const projectSelectedStatusStore = useProjectSelectedStatusStore() -const { - showMoreIconIndex, - showWitchPopover, - openPopover, -} = useProjectMoreActions() +const { showMoreIconIndex, showWitchPopover, openPopover } + = useProjectMoreActions() -const handleTaskItemClick = (projectName: string, key: number) => { +const handleTaskItemClick = (projectName: string) => { smartProjects.selectProject(projectName as SmartProjectName) - projectSelectedStatusStore.changeSelectedKey([key]) + taskLeftListStore.selectedKey = projectName } @@ -57,19 +54,19 @@ const handleTaskItemClick = (projectName: string, key: number) => { pl-4 pr-2 hover="bg-[#F3F3F5] dark:bg-[#2D2D30]" - :class=" - projectSelectedStatusStore.selectedKey[0] === key ? selected : '' - " - @click="handleTaskItemClick(item.title, key)" + :class="taskLeftListStore.selectedKey === item.title ? selected : ''" + @click="handleTaskItemClick(item.title)" @mouseenter="showMoreIconIndex = key" @mouseleave="showMoreIconIndex = -1" >
{{ item.title }} + /> + {{ item.title }}
{ >