folder structure

This commit is contained in:
Julian Krauser 2025-01-02 18:28:13 +01:00
parent dfb5547bd2
commit da0408cc4d
203 changed files with 354 additions and 354 deletions

View file

@ -105,8 +105,8 @@ import { defineComponent } from "vue";
import { mapState, mapActions } from "pinia";
import { RouterLink } from "vue-router";
import { useModalStore } from "@/stores/modal";
import { useCalendarTypeStore } from "@/stores/admin/calendarType";
import type { CalendarTypeViewModel } from "@/viewmodels/admin/calendarType.models";
import { useCalendarTypeStore } from "@/stores/admin/settings/calendarType";
import type { CalendarTypeViewModel } from "@/viewmodels/admin/settings/calendarType.models";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import TextCopy from "@/components/TextCopy.vue";

View file

@ -143,12 +143,12 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useCalendarStore } from "@/stores/admin/calendar";
import type { CreateCalendarViewModel } from "@/viewmodels/admin/calendar.models";
import { useCalendarStore } from "@/stores/admin/club/calendar";
import type { CreateCalendarViewModel } from "@/viewmodels/admin/club/calendar.models";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { useCalendarTypeStore } from "@/stores/admin/calendarType";
import type { CalendarTypeViewModel } from "@/viewmodels/admin/calendarType.models";
import { useCalendarTypeStore } from "@/stores/admin/settings/calendarType";
import type { CalendarTypeViewModel } from "@/viewmodels/admin/settings/calendarType.models";
</script>
<script lang="ts">

View file

@ -51,7 +51,7 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useCalendarStore } from "@/stores/admin/calendar";
import { useCalendarStore } from "@/stores/admin/club/calendar";
</script>
<script lang="ts">

View file

@ -185,16 +185,16 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useCalendarStore } from "@/stores/admin/calendar";
import { useCalendarStore } from "@/stores/admin/club/calendar";
import type {
CalendarViewModel,
CreateCalendarViewModel,
UpdateCalendarViewModel,
} from "@/viewmodels/admin/calendar.models";
} from "@/viewmodels/admin/club/calendar.models";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon, TrashIcon } from "@heroicons/vue/20/solid";
import { useCalendarTypeStore } from "@/stores/admin/calendarType";
import type { CalendarTypeViewModel } from "@/viewmodels/admin/calendarType.models";
import { useCalendarTypeStore } from "@/stores/admin/settings/calendarType";
import type { CalendarTypeViewModel } from "@/viewmodels/admin/settings/calendarType.models";
import cloneDeep from "lodash.clonedeep";
import isEqual from "lodash.isequal";
import { useAbilityStore } from "@/stores/ability";

View file

@ -98,8 +98,8 @@ import FailureXMark from "@/components/FailureXMark.vue";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { Salutation } from "@/enums/salutation";
import { useMemberStore } from "@/stores/admin/member";
import type { CreateMemberViewModel } from "@/viewmodels/admin/member.models";
import { useMemberStore } from "@/stores/admin/club/member/member";
import type { CreateMemberViewModel } from "@/viewmodels/admin/club/member/member.models";
</script>
<script lang="ts">

View file

@ -44,8 +44,8 @@ import FailureXMark from "@/components/FailureXMark.vue";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { Salutation } from "@/enums/salutation";
import { useMemberStore } from "@/stores/admin/member";
import type { CreateMemberViewModel } from "@/viewmodels/admin/member.models";
import { useMemberStore } from "@/stores/admin/club/member/member";
import type { CreateMemberViewModel } from "@/viewmodels/admin/club/member/member.models";
</script>
<script lang="ts">

View file

@ -97,14 +97,14 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { useMembershipStatusStore } from "@/stores/admin/membershipStatus";
import type { MembershipStatusViewModel } from "@/viewmodels/admin/membershipStatus.models";
import type { CreateMembershipViewModel } from "@/viewmodels/admin/membership.models";
import { useMembershipStore } from "@/stores/admin/membership";
import { useAwardStore } from "@/stores/admin/award";
import type { AwardViewModel } from "@/viewmodels/admin/award.models";
import type { CreateMemberAwardViewModel } from "@/viewmodels/admin/memberAward.models";
import { useMemberAwardStore } from "@/stores/admin/memberAward";
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
import type { MembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
import type { CreateMembershipViewModel } from "@/viewmodels/admin/club/member/membership.models";
import { useMembershipStore } from "@/stores/admin/club/member/membership";
import { useAwardStore } from "@/stores/admin/settings/award";
import type { AwardViewModel } from "@/viewmodels/admin/settings/award.models";
import type { CreateMemberAwardViewModel } from "@/viewmodels/admin/club/member/memberAward.models";
import { useMemberAwardStore } from "@/stores/admin/club/member/memberAward";
</script>
<script lang="ts">

View file

@ -38,7 +38,7 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useMemberAwardStore } from "@/stores/admin/memberAward";
import { useMemberAwardStore } from "@/stores/admin/club/member/memberAward";
</script>
<script lang="ts">

View file

@ -98,13 +98,13 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { useAwardStore } from "@/stores/admin/award";
import { useAwardStore } from "@/stores/admin/settings/award";
import type {
CreateMemberAwardViewModel,
MemberAwardViewModel,
UpdateMemberAwardViewModel,
} from "@/viewmodels/admin/memberAward.models";
import { useMemberAwardStore } from "@/stores/admin/memberAward";
} from "@/viewmodels/admin/club/member/memberAward.models";
import { useMemberAwardStore } from "@/stores/admin/club/member/memberAward";
import isEqual from "lodash.isequal";
import cloneDeep from "lodash.clonedeep";
</script>

View file

@ -16,7 +16,7 @@
<script setup lang="ts">
import { defineAsyncComponent, defineComponent, markRaw, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import type { MemberAwardViewModel } from "@/viewmodels/admin/memberAward.models";
import type { MemberAwardViewModel } from "@/viewmodels/admin/club/member/memberAward.models";
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useModalStore } from "@/stores/modal";
import { useAbilityStore } from "@/stores/ability";

View file

@ -125,10 +125,10 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { useCommunicationStore } from "@/stores/admin/communication";
import type { CreateCommunicationViewModel } from "@/viewmodels/admin/communication.models";
import { useCommunicationTypeStore } from "@/stores/admin/communicationType";
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/communicationType.models";
import { useCommunicationStore } from "@/stores/admin/club/member/communication";
import type { CreateCommunicationViewModel } from "@/viewmodels/admin/club/member/communication.models";
import { useCommunicationTypeStore } from "@/stores/admin/settings/communicationType";
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/settings/communicationType.models";
</script>
<script lang="ts">

View file

@ -41,7 +41,7 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useCommunicationStore } from "@/stores/admin/communication";
import { useCommunicationStore } from "@/stores/admin/club/member/communication";
</script>
<script lang="ts">

View file

@ -71,12 +71,12 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useCommunicationStore } from "@/stores/admin/communication";
import { useCommunicationStore } from "@/stores/admin/club/member/communication";
import type {
CreateCommunicationViewModel,
CommunicationViewModel,
UpdateCommunicationViewModel,
} from "@/viewmodels/admin/communication.models";
} from "@/viewmodels/admin/club/member/communication.models";
import isEqual from "lodash.isequal";
import cloneDeep from "lodash.clonedeep";
</script>

View file

@ -16,7 +16,7 @@
<script setup lang="ts">
import { defineAsyncComponent, defineComponent, markRaw, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import type { CommunicationViewModel } from "@/viewmodels/admin/communication.models";
import type { CommunicationViewModel } from "@/viewmodels/admin/club/member/communication.models";
import { EnvelopeIcon, PencilIcon, TrashIcon, FireIcon } from "@heroicons/vue/24/outline";
import { useModalStore } from "@/stores/modal";
import { useAbilityStore } from "@/stores/ability";

View file

@ -99,14 +99,14 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { useMembershipStatusStore } from "@/stores/admin/membershipStatus";
import type { MembershipStatusViewModel } from "@/viewmodels/admin/membershipStatus.models";
import type { CreateMembershipViewModel } from "@/viewmodels/admin/membership.models";
import { useMembershipStore } from "@/stores/admin/membership";
import { useExecutivePositionStore } from "@/stores/admin/executivePosition";
import type { ExecutivePositionViewModel } from "@/viewmodels/admin/executivePosition.models";
import type { CreateMemberExecutivePositionViewModel } from "@/viewmodels/admin/memberExecutivePosition.models";
import { useMemberExecutivePositionStore } from "@/stores/admin/memberExecutivePosition";
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
import type { MembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
import type { CreateMembershipViewModel } from "@/viewmodels/admin/club/member/membership.models";
import { useMembershipStore } from "@/stores/admin/club/member/membership";
import { useExecutivePositionStore } from "@/stores/admin/settings/executivePosition";
import type { ExecutivePositionViewModel } from "@/viewmodels/admin/settings/executivePosition.models";
import type { CreateMemberExecutivePositionViewModel } from "@/viewmodels/admin/club/member/memberExecutivePosition.models";
import { useMemberExecutivePositionStore } from "@/stores/admin/club/member/memberExecutivePosition";
</script>
<script lang="ts">

View file

@ -38,7 +38,7 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useMemberExecutivePositionStore } from "@/stores/admin/memberExecutivePosition";
import { useMemberExecutivePositionStore } from "@/stores/admin/club/member/memberExecutivePosition";
</script>
<script lang="ts">

View file

@ -104,13 +104,13 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { useExecutivePositionStore } from "@/stores/admin/executivePosition";
import { useExecutivePositionStore } from "@/stores/admin/settings/executivePosition";
import type {
CreateMemberExecutivePositionViewModel,
MemberExecutivePositionViewModel,
UpdateMemberExecutivePositionViewModel,
} from "@/viewmodels/admin/memberExecutivePosition.models";
import { useMemberExecutivePositionStore } from "@/stores/admin/memberExecutivePosition";
} from "@/viewmodels/admin/club/member/memberExecutivePosition.models";
import { useMemberExecutivePositionStore } from "@/stores/admin/club/member/memberExecutivePosition";
import isEqual from "lodash.isequal";
import cloneDeep from "lodash.clonedeep";
</script>

View file

@ -14,7 +14,7 @@
<script setup lang="ts">
import { defineAsyncComponent, defineComponent, markRaw, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import type { MemberExecutivePositionViewModel } from "@/viewmodels/admin/memberExecutivePosition.models";
import type { MemberExecutivePositionViewModel } from "@/viewmodels/admin/club/member/memberExecutivePosition.models";
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useModalStore } from "@/stores/modal";
import { useAbilityStore } from "@/stores/ability";

View file

@ -20,7 +20,7 @@
import { defineComponent, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import { useAbilityStore } from "@/stores/ability";
import type { MemberViewModel } from "@/viewmodels/admin/member.models";
import type { MemberViewModel } from "@/viewmodels/admin/club/member/member.models";
</script>
<script lang="ts">

View file

@ -106,14 +106,14 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { useMembershipStatusStore } from "@/stores/admin/membershipStatus";
import type { MembershipStatusViewModel } from "@/viewmodels/admin/membershipStatus.models";
import type { CreateMembershipViewModel } from "@/viewmodels/admin/membership.models";
import { useMembershipStore } from "@/stores/admin/membership";
import { useQualificationStore } from "@/stores/admin/qualification";
import type { QualificationViewModel } from "@/viewmodels/admin/qualification.models";
import type { CreateMemberQualificationViewModel } from "@/viewmodels/admin/memberQualification.models";
import { useMemberQualificationStore } from "@/stores/admin/memberQualification";
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
import type { MembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
import type { CreateMembershipViewModel } from "@/viewmodels/admin/club/member/membership.models";
import { useMembershipStore } from "@/stores/admin/club/member/membership";
import { useQualificationStore } from "@/stores/admin/settings/qualification";
import type { QualificationViewModel } from "@/viewmodels/admin/settings/qualification.models";
import type { CreateMemberQualificationViewModel } from "@/viewmodels/admin/club/member/memberQualification.models";
import { useMemberQualificationStore } from "@/stores/admin/club/member/memberQualification";
</script>
<script lang="ts">

View file

@ -41,8 +41,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useQualificationStore } from "@/stores/admin/qualification";
import { useMemberQualificationStore } from "@/stores/admin/memberQualification";
import { useQualificationStore } from "@/stores/admin/settings/qualification";
import { useMemberQualificationStore } from "@/stores/admin/club/member/memberQualification";
</script>
<script lang="ts">

View file

@ -105,13 +105,13 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { useQualificationStore } from "@/stores/admin/qualification";
import { useQualificationStore } from "@/stores/admin/settings/qualification";
import type {
CreateMemberQualificationViewModel,
MemberQualificationViewModel,
UpdateMemberQualificationViewModel,
} from "@/viewmodels/admin/memberQualification.models";
import { useMemberQualificationStore } from "@/stores/admin/memberQualification";
} from "@/viewmodels/admin/club/member/memberQualification.models";
import { useMemberQualificationStore } from "@/stores/admin/club/member/memberQualification";
import isEqual from "lodash.isequal";
import cloneDeep from "lodash.clonedeep";
</script>

View file

@ -17,7 +17,7 @@
<script setup lang="ts">
import { defineAsyncComponent, defineComponent, markRaw, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import type { MemberQualificationViewModel } from "@/viewmodels/admin/memberQualification.models";
import type { MemberQualificationViewModel } from "@/viewmodels/admin/club/member/memberQualification.models";
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useModalStore } from "@/stores/modal";
import { useAbilityStore } from "@/stores/ability";

View file

@ -94,10 +94,10 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { useMembershipStatusStore } from "@/stores/admin/membershipStatus";
import type { MembershipStatusViewModel } from "@/viewmodels/admin/membershipStatus.models";
import type { CreateMembershipViewModel } from "@/viewmodels/admin/membership.models";
import { useMembershipStore } from "@/stores/admin/membership";
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
import type { MembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
import type { CreateMembershipViewModel } from "@/viewmodels/admin/club/member/membership.models";
import { useMembershipStore } from "@/stores/admin/club/member/membership";
</script>
<script lang="ts">

View file

@ -40,7 +40,7 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useMembershipStore } from "@/stores/admin/membership";
import { useMembershipStore } from "@/stores/admin/club/member/membership";
</script>
<script lang="ts">

View file

@ -101,13 +101,13 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import { useMembershipStatusStore } from "@/stores/admin/membershipStatus";
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
import type {
CreateMembershipViewModel,
MembershipViewModel,
UpdateMembershipViewModel,
} from "@/viewmodels/admin/membership.models";
import { useMembershipStore } from "@/stores/admin/membership";
} from "@/viewmodels/admin/club/member/membership.models";
import { useMembershipStore } from "@/stores/admin/club/member/membership";
import isEqual from "lodash.isequal";
import cloneDeep from "lodash.clonedeep";
</script>

View file

@ -17,7 +17,7 @@
<script setup lang="ts">
import { defineAsyncComponent, defineComponent, markRaw, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import type { MembershipViewModel } from "@/viewmodels/admin/membership.models";
import type { MembershipViewModel } from "@/viewmodels/admin/club/member/membership.models";
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useModalStore } from "@/stores/modal";
import { useAbilityStore } from "@/stores/ability";

View file

@ -34,10 +34,10 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useProtocolStore } from "@/stores/admin/protocol";
import type { CreateProtocolViewModel } from "@/viewmodels/admin/protocol.models";
import { useNewsletterStore } from "../../../../stores/admin/newsletter";
import type { CreateNewsletterViewModel } from "../../../../viewmodels/admin/newsletter.models";
import { useProtocolStore } from "@/stores/admin/club/protocol/protocol";
import type { CreateProtocolViewModel } from "@/viewmodels/admin/club/protocol/protocol.models";
import { useNewsletterStore } from "../../../../stores/admin/club/newsletter/newsletter";
import type { CreateNewsletterViewModel } from "../../../../viewmodels/admin/club/newsletter/newsletter.models";
</script>
<script lang="ts">

View file

@ -17,8 +17,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useProtocolStore } from "@/stores/admin/protocol";
import type { CreateProtocolViewModel } from "@/viewmodels/admin/protocol.models";
import { useProtocolStore } from "@/stores/admin/club/protocol/protocol";
import type { CreateProtocolViewModel } from "@/viewmodels/admin/club/protocol/protocol.models";
</script>
<script lang="ts">

View file

@ -16,7 +16,7 @@
<script setup lang="ts">
import { defineComponent, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import type { NewsletterViewModel } from "@/viewmodels/admin/newsletter.models";
import type { NewsletterViewModel } from "@/viewmodels/admin/club/newsletter/newsletter.models";
import { PaperAirplaneIcon } from "@heroicons/vue/24/outline";
</script>

View file

@ -15,7 +15,7 @@ import { mapState, mapActions } from "pinia";
import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import type { AxiosResponse } from "axios";
import { useNewsletterPrintoutStore } from "@/stores/admin/newsletterPrintout";
import { useNewsletterPrintoutStore } from "@/stores/admin/club/newsletter/newsletterPrintout";
</script>
<script lang="ts">

View file

@ -16,10 +16,10 @@
<script setup lang="ts">
import { defineComponent } from "vue";
import { mapState, mapActions } from "pinia";
import { useNewsletterStore } from "@/stores/admin/newsletter";
import { useNewsletterStore } from "@/stores/admin/club/newsletter/newsletter";
import { ArrowPathIcon, CloudArrowUpIcon, CloudIcon, ExclamationTriangleIcon } from "@heroicons/vue/24/outline";
import { useNewsletterDatesStore } from "@/stores/admin/newsletterDates";
import { useNewsletterRecipientsStore } from "@/stores/admin/newsletterRecipients";
import { useNewsletterDatesStore } from "@/stores/admin/club/newsletter/newsletterDates";
import { useNewsletterRecipientsStore } from "@/stores/admin/club/newsletter/newsletterRecipients";
</script>
<script lang="ts">

View file

@ -38,8 +38,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useProtocolStore } from "@/stores/admin/protocol";
import type { CreateProtocolViewModel } from "@/viewmodels/admin/protocol.models";
import { useProtocolStore } from "@/stores/admin/club/protocol/protocol";
import type { CreateProtocolViewModel } from "@/viewmodels/admin/club/protocol/protocol.models";
</script>
<script lang="ts">

View file

@ -17,8 +17,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useProtocolStore } from "@/stores/admin/protocol";
import type { CreateProtocolViewModel } from "@/viewmodels/admin/protocol.models";
import { useProtocolStore } from "@/stores/admin/club/protocol/protocol";
import type { CreateProtocolViewModel } from "@/viewmodels/admin/club/protocol/protocol.models";
</script>
<script lang="ts">

View file

@ -15,7 +15,7 @@
<script setup lang="ts">
import { defineComponent, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import type { ProtocolViewModel } from "@/viewmodels/admin/protocol.models";
import type { ProtocolViewModel } from "@/viewmodels/admin/club/protocol/protocol.models";
</script>
<script lang="ts">

View file

@ -13,7 +13,7 @@ import { defineComponent } from "vue";
import { mapState, mapActions } from "pinia";
import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import { useProtocolPrintoutStore } from "@/stores/admin/protocolPrintout";
import { useProtocolPrintoutStore } from "@/stores/admin/club/protocol/protocolPrintout";
</script>
<script lang="ts">

View file

@ -16,12 +16,12 @@
<script setup lang="ts">
import { defineComponent } from "vue";
import { mapState, mapActions } from "pinia";
import { useProtocolStore } from "@/stores/admin/protocol";
import { useProtocolStore } from "@/stores/admin/club/protocol/protocol";
import { ArrowPathIcon, CloudArrowUpIcon, CloudIcon, ExclamationTriangleIcon } from "@heroicons/vue/24/outline";
import { useProtocolAgendaStore } from "@/stores/admin/protocolAgenda";
import { useProtocolPresenceStore } from "@/stores/admin/protocolPresence";
import { useProtocolDecisionStore } from "@/stores/admin/protocolDecision";
import { useProtocolVotingStore } from "@/stores/admin/protocolVoting";
import { useProtocolAgendaStore } from "@/stores/admin/club/protocol/protocolAgenda";
import { useProtocolPresenceStore } from "@/stores/admin/club/protocol/protocolPresence";
import { useProtocolDecisionStore } from "@/stores/admin/club/protocol/protocolDecision";
import { useProtocolVotingStore } from "@/stores/admin/club/protocol/protocolVoting";
</script>
<script lang="ts">

View file

@ -23,7 +23,7 @@ import { mapState, mapActions } from "pinia";
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useAbilityStore } from "@/stores/ability";
import { useModalStore } from "@/stores/modal";
import type { AwardViewModel } from "@/viewmodels/admin/award.models";
import type { AwardViewModel } from "@/viewmodels/admin/settings/award.models";
</script>
<script lang="ts">

View file

@ -32,8 +32,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useAwardStore } from "@/stores/admin/award";
import type { CreateAwardViewModel } from "@/viewmodels/admin/award.models";
import { useAwardStore } from "@/stores/admin/settings/award";
import type { CreateAwardViewModel } from "@/viewmodels/admin/settings/award.models";
</script>
<script lang="ts">

View file

@ -29,8 +29,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useRoleStore } from "@/stores/admin/role";
import { useAwardStore } from "@/stores/admin/award";
import { useRoleStore } from "@/stores/admin/user/role";
import { useAwardStore } from "@/stores/admin/settings/award";
</script>
<script lang="ts">

View file

@ -30,7 +30,7 @@ import { mapState, mapActions } from "pinia";
import { PencilIcon, TrashIcon, EyeIcon } from "@heroicons/vue/24/outline";
import { useAbilityStore } from "@/stores/ability";
import { useModalStore } from "@/stores/modal";
import type { CalendarTypeViewModel } from "@/viewmodels/admin/calendarType.models";
import type { CalendarTypeViewModel } from "@/viewmodels/admin/settings/calendarType.models";
</script>
<script lang="ts">

View file

@ -51,8 +51,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useCalendarTypeStore } from "@/stores/admin/calendarType";
import type { CreateCalendarTypeViewModel } from "@/viewmodels/admin/calendarType.models";
import { useCalendarTypeStore } from "@/stores/admin/settings/calendarType";
import type { CreateCalendarTypeViewModel } from "@/viewmodels/admin/settings/calendarType.models";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
</script>

View file

@ -29,7 +29,7 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useCalendarTypeStore } from "@/stores/admin/calendarType";
import { useCalendarTypeStore } from "@/stores/admin/settings/calendarType";
</script>
<script lang="ts">

View file

@ -33,7 +33,7 @@ import { mapState, mapActions } from "pinia";
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useAbilityStore } from "@/stores/ability";
import { useModalStore } from "@/stores/modal";
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/communicationType.models";
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/settings/communicationType.models";
</script>
<script lang="ts">

View file

@ -78,8 +78,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useCommunicationTypeStore } from "@/stores/admin/communicationType";
import type { CreateCommunicationTypeViewModel } from "@/viewmodels/admin/communicationType.models";
import { useCommunicationTypeStore } from "@/stores/admin/settings/communicationType";
import type { CreateCommunicationTypeViewModel } from "@/viewmodels/admin/settings/communicationType.models";
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
import type { CommunicationFieldType } from "@/types/fieldTypes";

View file

@ -29,7 +29,7 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useCommunicationTypeStore } from "@/stores/admin/communicationType";
import { useCommunicationTypeStore } from "@/stores/admin/settings/communicationType";
</script>
<script lang="ts">

View file

@ -32,8 +32,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useExecutivePositionStore } from "@/stores/admin/executivePosition";
import type { CreateExecutivePositionViewModel } from "@/viewmodels/admin/executivePosition.models";
import { useExecutivePositionStore } from "@/stores/admin/settings/executivePosition";
import type { CreateExecutivePositionViewModel } from "@/viewmodels/admin/settings/executivePosition.models";
</script>
<script lang="ts">

View file

@ -29,8 +29,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useRoleStore } from "@/stores/admin/role";
import { useExecutivePositionStore } from "@/stores/admin/executivePosition";
import { useRoleStore } from "@/stores/admin/user/role";
import { useExecutivePositionStore } from "@/stores/admin/settings/executivePosition";
</script>
<script lang="ts">

View file

@ -23,7 +23,7 @@ import { mapState, mapActions } from "pinia";
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useAbilityStore } from "@/stores/ability";
import { useModalStore } from "@/stores/modal";
import type { ExecutivePositionViewModel } from "@/viewmodels/admin/executivePosition.models";
import type { ExecutivePositionViewModel } from "@/viewmodels/admin/settings/executivePosition.models";
</script>
<script lang="ts">

View file

@ -32,8 +32,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useMembershipStatusStore } from "@/stores/admin/membershipStatus";
import type { CreateMembershipStatusViewModel } from "@/viewmodels/admin/membershipStatus.models";
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
import type { CreateMembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
</script>
<script lang="ts">

View file

@ -29,8 +29,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useRoleStore } from "@/stores/admin/role";
import { useMembershipStatusStore } from "@/stores/admin/membershipStatus";
import { useRoleStore } from "@/stores/admin/user/role";
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
</script>
<script lang="ts">

View file

@ -23,7 +23,7 @@ import { mapState, mapActions } from "pinia";
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useAbilityStore } from "@/stores/ability";
import { useModalStore } from "@/stores/modal";
import type { MembershipStatusViewModel } from "@/viewmodels/admin/membershipStatus.models";
import type { MembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
</script>
<script lang="ts">

View file

@ -29,14 +29,14 @@
import { defineComponent, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import { ArchiveBoxArrowDownIcon, ArchiveBoxXMarkIcon } from "@heroicons/vue/24/outline";
import { useNewsletterConfigStore } from "@/stores/admin/newsletterConfig";
import { useNewsletterConfigStore } from "@/stores/admin/settings/newsletterConfig";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useModalStore } from "@/stores/modal";
import { NewsletterConfigType } from "@/enums/newsletterConfigType";
import type { AxiosResponse } from "axios";
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/communicationType.models";
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/settings/communicationType.models";
import { useAbilityStore } from "@/stores/ability";
</script>

View file

@ -36,8 +36,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useQualificationStore } from "@/stores/admin/qualification";
import type { CreateQualificationViewModel } from "@/viewmodels/admin/qualification.models";
import { useQualificationStore } from "@/stores/admin/settings/qualification";
import type { CreateQualificationViewModel } from "@/viewmodels/admin/settings/qualification.models";
</script>
<script lang="ts">

View file

@ -29,8 +29,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useRoleStore } from "@/stores/admin/role";
import { useQualificationStore } from "@/stores/admin/qualification";
import { useRoleStore } from "@/stores/admin/user/role";
import { useQualificationStore } from "@/stores/admin/settings/qualification";
</script>
<script lang="ts">

View file

@ -29,7 +29,7 @@ import { mapState, mapActions } from "pinia";
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useAbilityStore } from "@/stores/ability";
import { useModalStore } from "@/stores/modal";
import type { QualificationViewModel } from "@/viewmodels/admin/qualification.models";
import type { QualificationViewModel } from "@/viewmodels/admin/settings/qualification.models";
</script>
<script lang="ts">

View file

@ -32,9 +32,9 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useQueryStoreStore } from "@/stores/admin/queryStore";
import type { CreateQueryViewModel } from "@/viewmodels/admin/query.models";
import { useQueryBuilderStore } from "@/stores/admin/queryBuilder";
import { useQueryStoreStore } from "@/stores/admin/settings/queryStore";
import type { CreateQueryViewModel } from "@/viewmodels/admin/settings/query.models";
import { useQueryBuilderStore } from "@/stores/admin/club/queryBuilder";
</script>
<script lang="ts">

View file

@ -29,7 +29,7 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useQueryStoreStore } from "@/stores/admin/queryStore";
import { useQueryStoreStore } from "@/stores/admin/settings/queryStore";
</script>
<script lang="ts">

View file

@ -23,8 +23,8 @@ import { mapState, mapActions, mapWritableState } from "pinia";
import { EyeIcon, PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useAbilityStore } from "@/stores/ability";
import { useModalStore } from "@/stores/modal";
import type { QueryViewModel } from "@/viewmodels/admin/query.models";
import { useQueryBuilderStore } from "@/stores/admin/queryBuilder";
import type { QueryViewModel } from "@/viewmodels/admin/settings/query.models";
import { useQueryBuilderStore } from "@/stores/admin/club/queryBuilder";
</script>
<script lang="ts">

View file

@ -34,9 +34,9 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useQueryStoreStore } from "@/stores/admin/queryStore";
import type { CreateQueryViewModel, UpdateQueryViewModel } from "@/viewmodels/admin/query.models";
import { useQueryBuilderStore } from "@/stores/admin/queryBuilder";
import { useQueryStoreStore } from "@/stores/admin/settings/queryStore";
import type { CreateQueryViewModel, UpdateQueryViewModel } from "@/viewmodels/admin/settings/query.models";
import { useQueryBuilderStore } from "@/stores/admin/club/queryBuilder";
</script>
<script lang="ts">

View file

@ -36,8 +36,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useTemplateStore } from "@/stores/admin/template";
import type { CreateTemplateViewModel } from "@/viewmodels/admin/template.models";
import { useTemplateStore } from "@/stores/admin/settings/template";
import type { CreateTemplateViewModel } from "@/viewmodels/admin/settings/template.models";
</script>
<script lang="ts">

View file

@ -29,8 +29,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useQueryStoreStore } from "@/stores/admin/queryStore";
import { useTemplateStore } from "@/stores/admin/template";
import { useQueryStoreStore } from "@/stores/admin/settings/queryStore";
import { useTemplateStore } from "@/stores/admin/settings/template";
</script>
<script lang="ts">

View file

@ -35,8 +35,8 @@ import { mapState, mapActions } from "pinia";
import { PencilIcon, TrashIcon, DocumentDuplicateIcon } from "@heroicons/vue/24/outline";
import { useAbilityStore } from "@/stores/ability";
import { useModalStore } from "@/stores/modal";
import type { TemplateViewModel } from "@/viewmodels/admin/template.models";
import { useTemplateStore } from "@/stores/admin/template";
import type { TemplateViewModel } from "@/viewmodels/admin/settings/template.models";
import { useTemplateStore } from "@/stores/admin/settings/template";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";

View file

@ -14,7 +14,7 @@ import { defineComponent } from "vue";
import { mapState, mapActions } from "pinia";
import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import { useTemplateUsageStore } from "@/stores/admin/templateUsage";
import { useTemplateUsageStore } from "@/stores/admin/settings/templateUsage";
</script>
<script lang="ts">

View file

@ -59,9 +59,9 @@
import { defineAsyncComponent, defineComponent, markRaw, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import { ArchiveBoxArrowDownIcon, ArchiveBoxXMarkIcon, EyeIcon } from "@heroicons/vue/24/outline";
import type { TemplateUsageViewModel } from "@/viewmodels/admin/templateUsage.models";
import { useTemplateStore } from "@/stores/admin/template";
import { useTemplateUsageStore } from "@/stores/admin/templateUsage";
import type { TemplateUsageViewModel } from "@/viewmodels/admin/settings/templateUsage.models";
import { useTemplateStore } from "@/stores/admin/settings/template";
import { useTemplateUsageStore } from "@/stores/admin/settings/templateUsage";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";

View file

@ -32,7 +32,7 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useRoleStore } from "@/stores/admin/role";
import { useRoleStore } from "@/stores/admin/user/role";
</script>
<script lang="ts">

View file

@ -29,7 +29,7 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useRoleStore } from "@/stores/admin/role";
import { useRoleStore } from "@/stores/admin/user/role";
</script>
<script lang="ts">

View file

@ -27,7 +27,7 @@
import { defineComponent, defineAsyncComponent, markRaw, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import { PencilIcon, WrenchScrewdriverIcon, TrashIcon } from "@heroicons/vue/24/outline";
import type { RoleViewModel } from "@/viewmodels/admin/role.models";
import type { RoleViewModel } from "@/viewmodels/admin/user/role.models";
import { RouterLink } from "vue-router";
import { useAbilityStore } from "@/stores/ability";
import { useModalStore } from "@/stores/modal";

View file

@ -29,7 +29,7 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useUserStore } from "@/stores/admin/user";
import { useUserStore } from "@/stores/admin/user/user";
</script>
<script lang="ts">

View file

@ -24,10 +24,10 @@
<script setup lang="ts">
import { defineComponent, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import type { InviteViewModel } from "@/viewmodels/admin/invite.models";
import type { InviteViewModel } from "@/viewmodels/admin/user/invite.models";
import { PencilIcon, UserGroupIcon, WrenchScrewdriverIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useAbilityStore } from "@/stores/ability";
import { useInviteStore } from "@/stores/admin/invite";
import { useInviteStore } from "@/stores/admin/user/invite";
</script>
<script lang="ts">

View file

@ -45,8 +45,8 @@ import { useModalStore } from "@/stores/modal";
import Spinner from "@/components/Spinner.vue";
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
import FailureXMark from "@/components/FailureXMark.vue";
import { useInviteStore } from "@/stores/admin/invite";
import type { CreateInviteViewModel } from "@/viewmodels/admin/invite.models";
import { useInviteStore } from "@/stores/admin/user/invite";
import type { CreateInviteViewModel } from "@/viewmodels/admin/user/invite.models";
</script>
<script lang="ts">

View file

@ -53,7 +53,7 @@
<script setup lang="ts">
import { defineComponent, defineAsyncComponent, markRaw, type PropType } from "vue";
import { mapState, mapActions } from "pinia";
import type { UserViewModel } from "@/viewmodels/admin/user.models";
import type { UserViewModel } from "@/viewmodels/admin/user/user.models";
import { PencilIcon, UserGroupIcon, WrenchScrewdriverIcon, TrashIcon } from "@heroicons/vue/24/outline";
import { useAbilityStore } from "@/stores/ability";
import { useModalStore } from "@/stores/modal";