refactor: split uni store to per responsiblity store

Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
2026-06-29 20:41:01 -04:00
parent 460c31e224
commit 31d20448be
5 changed files with 508 additions and 487 deletions
+37 -16
View File
@@ -5,7 +5,11 @@ import { storeToRefs } from 'pinia';
import { useRoute } from 'vue-router';
import { useDisplay } from 'vuetify';
import { useModuleStore } from '@KTXC/stores/moduleStore';
import { useChronoStore } from '@/stores/chronoStore';
import { useChronoOperationsStore } from '@/stores/chronoOperationsStore';
import { useChronoSettingsStore } from '@/stores/chronoSettingsStore';
import { useChronoUiStore } from '@/stores/chronoUiStore';
import type { CalendarView as CalendarViewType } from '@/types';
import type { AgendaViewSpan, DaysViewSpan } from '@/types/spans';
import CollectionList from '@/components/CollectionList.vue';
import CollectionEditor from '@/components/CollectionEditor.vue';
import CalendarView from '@/components/CalendarView.vue';
@@ -24,13 +28,27 @@ const isChronoManagerAvailable = computed(() => {
return moduleStore.has('chrono_manager') || moduleStore.has('ChronoManager')
});
const chronoStore = useChronoStore();
const chronoOperationsStore = useChronoOperationsStore();
const chronoSettingsStore = useChronoSettingsStore();
const chronoUiStore = useChronoUiStore();
const route = useRoute();
const {
calendarView,
daysViewSpan,
agendaViewSpan,
} = storeToRefs(chronoSettingsStore);
const {
loading,
calendars,
taskLists,
filteredEvents,
filteredTasks,
collections,
} = storeToRefs(chronoOperationsStore);
const {
currentDate,
sidebarVisible,
selectedCollection,
@@ -43,24 +61,14 @@ const {
editingCollection,
collectionEditorMode,
collectionEditorType,
loading,
calendars,
taskLists,
isTaskView,
filteredEvents,
filteredTasks,
collections,
} = storeToRefs(chronoStore);
} = storeToRefs(chronoUiStore);
const {
initialize,
setViewMode,
setCalendarView,
setDaysViewSpan,
setAgendaViewSpan,
selectCalendar,
openEditCalendar,
toggleCalendarVisibility,
selectTaskList,
openEditTaskList,
createEventFromDate,
@@ -69,7 +77,6 @@ const {
closeEntityEditor,
editEvent,
editTask,
toggleTaskComplete,
saveEvent,
deleteEvent,
saveTask,
@@ -80,7 +87,21 @@ const {
openCreateTaskList,
openImport,
closeImport,
} = chronoStore;
} = chronoUiStore;
const { toggleCalendarVisibility, toggleTaskComplete } = chronoOperationsStore;
function setCalendarView(view: CalendarViewType) {
chronoSettingsStore.calendarView = view;
}
function setDaysViewSpan(span: DaysViewSpan) {
chronoSettingsStore.daysViewSpan = span;
}
function setAgendaViewSpan(span: AgendaViewSpan) {
chronoSettingsStore.agendaViewSpan = span;
}
const fileInputRef = ref<HTMLInputElement | null>(null)
function triggerFileInput() { fileInputRef.value?.click() }
@@ -97,7 +118,7 @@ function syncViewModeFromRoute() {
setViewMode(mode);
}
function handleCalendarViewChange(view: 'days' | 'month' | 'agenda') {
function handleCalendarViewChange(view: CalendarViewType) {
setCalendarView(view);
}