diff --git a/components/calendar/Calendar.vue b/components/calendar/Calendar.vue index 09f93b1..b2b10bf 100644 --- a/components/calendar/Calendar.vue +++ b/components/calendar/Calendar.vue @@ -2,93 +2,26 @@ import { useCalendar } from '@/stores/CalendarStore' import { computed, type Component, type ComputedRef } from 'vue' -import { PhMagnifyingGlass } from '@phosphor-icons/vue' +// import { PhMagnifyingGlass } from '@phosphor-icons/vue' import MonthlyLayout from './state/monthly/Layout.vue' import CenturyLayout from './state/centennially/Layout.vue' import DecadeLayout from './state/decennially/Layout.vue' import YearLayout from './state/yearly/Layout.vue' -const route = useRoute() -const worldId = route.params.id +import type { Calendar } from '~/models/CalendarConfig' +import type { Category } from '~/models/Category' -const { setCalendarId, setMonths, setDefaultDate, currentConfig, selectedDate, jumpToDate } = useCalendar() -const { setEvents, setCategories } = useCalendarEvents() -const { setCharacters } = useCharacters() +const props = defineProps<{ + calendarData: Calendar, + categories: Category[] +}>() -const { months } = storeToRefs(useCalendar()) +const { setActiveCalendar } = useCalendar() +setActiveCalendar(props.calendarData, props.categories) -const { data: calendar, pending: calPending, refresh: calRefresh } = await useLazyFetch(`/api/calendars/query?world_id=${worldId}`) -const { data: characters, pending: charPending, refresh: charRefresh } = await useLazyFetch(`/api/characters/query?world_id=${worldId}`) -const { data: categories, pending: categoryPending, refresh: categoryRefresh } = await useLazyFetch(`/api/calendars/categories/query`) +const { currentConfig, jumpToDate, selectedDate } = useCalendar() -if (!calendar.value) { - await calRefresh() -} else { - if (calendar.value?.data?.id) { - setCalendarId(calendar.value?.data?.id) - } - if (calendar.value?.data?.months) { - setMonths(calendar.value?.data?.months) - } - if (calendar.value?.data?.months) { - setMonths(calendar.value?.data?.months) - } - if (calendar.value?.data?.today) { - setDefaultDate(calendar.value?.data?.today) - } - if (calendar.value?.data?.events) { - setEvents(calendar.value?.data?.events) - } -} - -if (!categories.value) { - await categoryRefresh() -} else { - if (categories.value?.data) { - setCategories(categories.value?.data) - } -} - -if (!characters.value) { - await charRefresh() -} else { - if (characters.value?.data) { - setCharacters(characters.value?.data) - } -} - -watch(calPending, (newStatus) => { - if (!newStatus) { - if (calendar.value?.data?.id) { - setCalendarId(calendar.value?.data?.id) - } - if (calendar.value?.data?.months) { - setMonths(calendar.value?.data?.months) - } - if (calendar.value?.data?.today) { - setDefaultDate(calendar.value?.data?.today) - } - if (calendar.value?.data?.events) { - setEvents(calendar.value?.data?.events) - } - } -}) -watch(categoryPending, (newStatus) => { - if (!newStatus) { - if (categories.value?.data) { - setCategories(categories.value?.data) - } - } -}) -watch(charPending, (newStatus) => { - if (!newStatus) { - if (characters.value?.data) { - setCharacters(characters.value?.data) - } - } -}) - -const progressPercent = computed(() => 100 / [charPending.value, calPending.value, categoryPending.value].filter(Boolean).length) +// const { setCharacters } = useCharacters() const currentViewComponent: ComputedRef = computed(() => { switch (currentConfig.viewType) { @@ -107,42 +40,22 @@ const currentViewComponent: ComputedRef = computed(() => { } }) -const { setCurrentMenu } = useUiStore() - onMounted(() => { jumpToDate(selectedDate) - - setCurrentMenu([ - { - phIcon: shallowRef(PhMagnifyingGlass), - tooltip: 'Recherche avancée', - action: 'event-search' - } - ]) }) diff --git a/components/calendar/CalendarEvent.vue b/components/calendar/CalendarEvent.vue index 43a59f2..75b7513 100644 --- a/components/calendar/CalendarEvent.vue +++ b/components/calendar/CalendarEvent.vue @@ -8,9 +8,8 @@ const props = defineProps<{ tileDate: RPGDate }>() -const { areDatesIdentical } = useCalendar() -const { revealEditEventModal, revealDeleteEventModal } = useCalendarEvents() -const { lastActiveEvent } = storeToRefs(useCalendarEvents()) +const { areDatesIdentical, revealEditEventModal, revealDeleteEventModal } = useCalendar() +const { lastActiveEvent } = storeToRefs(useCalendar()) const spansMultipleDays = computed(() => Boolean(props.event.startDate && props.event.endDate)) const isStartEvent = computed(() => spansMultipleDays.value && areDatesIdentical(props.tileDate, props.event.startDate)) diff --git a/components/calendar/CalendarEventDetails.vue b/components/calendar/CalendarEventDetails.vue index b01ee2b..5fcd868 100644 --- a/components/calendar/CalendarEventDetails.vue +++ b/components/calendar/CalendarEventDetails.vue @@ -14,9 +14,8 @@ import { PhEye } from '@phosphor-icons/vue' -const { defaultDate, getFormattedDateTitle, jumpToDate, getRelativeString } = useCalendar() -const { revealEditEventModal, revealDeleteEventModal } = useCalendarEvents() -const { lastActiveEvent } = storeToRefs(useCalendarEvents()) +const { defaultDate, getFormattedDateTitle, jumpToDate, getRelativeString, revealEditEventModal, revealDeleteEventModal } = useCalendar() +const { lastActiveEvent } = storeToRefs(useCalendar()) const props = defineProps<{ event: CalendarEvent @@ -136,7 +135,7 @@ function deployDeleteModal() { - + diff --git a/components/calendar/CalendarMenu.vue b/components/calendar/CalendarMenu.vue index 4c84849..69f5a51 100644 --- a/components/calendar/CalendarMenu.vue +++ b/components/calendar/CalendarMenu.vue @@ -29,7 +29,9 @@ const { revealAdvancedSearch } = useCalendar()
  • - + + +
  • diff --git a/components/calendar/CalendarMenuNav.vue b/components/calendar/CalendarMenuNav.vue index 67c9402..3593ee0 100644 --- a/components/calendar/CalendarMenuNav.vue +++ b/components/calendar/CalendarMenuNav.vue @@ -16,7 +16,7 @@ interface DirectionLabels { futureFar: string } -const { currentConfig, decrementMonth, incrementMonth, decrementYear, incrementYear } = +const { currentConfig, decrementViewMonth, incrementViewMonth, decrementViewYear, incrementViewYear } = useCalendar() const activeDirectionLabels: ComputedRef = computed(() => { @@ -59,20 +59,20 @@ const activeDirectionLabels: ComputedRef = computed(() => { function toPastFar(): void { switch (currentConfig.viewType) { case 'month': - decrementYear() + decrementViewYear() break case 'year': - decrementYear(10) + decrementViewYear(10) break case 'decade': - decrementYear(100) + decrementViewYear(100) break case 'century': default: - decrementYear(1000) + decrementViewYear(1000) break } } @@ -80,20 +80,20 @@ function toPastFar(): void { function toPastNear(): void { switch (currentConfig.viewType) { case 'month': - decrementMonth() + decrementViewMonth() break case 'year': - decrementYear() + decrementViewYear() break case 'decade': - decrementYear(10) + decrementViewYear(10) break case 'century': default: - decrementYear(100) + decrementViewYear(100) break } } @@ -101,20 +101,20 @@ function toPastNear(): void { function toFutureNear(): void { switch (currentConfig.viewType) { case 'month': - incrementMonth() + incrementViewMonth() break case 'year': - incrementYear() + incrementViewYear() break case 'decade': - incrementYear(10) + incrementViewYear(10) break case 'century': default: - incrementYear(100) + incrementViewYear(100) break } } @@ -122,20 +122,20 @@ function toFutureNear(): void { function toFutureFar(): void { switch (currentConfig.viewType) { case 'month': - incrementYear() + incrementViewYear() break case 'year': - incrementYear(10) + incrementViewYear(10) break case 'decade': - incrementYear(100) + incrementViewYear(100) break case 'century': default: - incrementYear(1000) + incrementViewYear(1000) break } } diff --git a/components/calendar/CalendarMenuSubnav.vue b/components/calendar/CalendarMenuSubnav.vue index aa87fd7..c467792 100644 --- a/components/calendar/CalendarMenuSubnav.vue +++ b/components/calendar/CalendarMenuSubnav.vue @@ -1,12 +1,9 @@ + + diff --git a/components/calendar/form/Create.vue b/components/calendar/form/Create.vue index 16e0df2..76578e7 100644 --- a/components/calendar/form/Create.vue +++ b/components/calendar/form/Create.vue @@ -1,27 +1,17 @@ diff --git a/pages/i/world/[id]/calendar.vue b/pages/i/world/[id]/calendar.vue deleted file mode 100644 index 8b233ee..0000000 --- a/pages/i/world/[id]/calendar.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - diff --git a/pages/index.vue b/pages/index.vue index a717792..191b1c5 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -2,9 +2,6 @@ useHead({ title: 'Dashboard' }) - -const { setCurrentMenu } = useUiStore() -setCurrentMenu([])