Build the frontend for platform admin in apps/app/: - TypeScript types (admin.ts) and API composable (useAdmin.ts) with TanStack Query for all admin endpoints - ImpersonationStore (Pinia) + ImpersonationBanner component integrated in the main layout, with token-based session management - Platform navigation section (conditionally shown for super_admin users) - Route guard blocking /platform/* for non-super_admin users - 6 pages: dashboard with stats cards, organisations list/detail, users list/detail with impersonation, activity log with expandable rows - All pages implement loading/error/empty states per conventions - Vite build passes cleanly Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
96 lines
8.4 KiB
TypeScript
96 lines
8.4 KiB
TypeScript
/* eslint-disable */
|
|
// @ts-nocheck
|
|
// Generated by unplugin-vue-components
|
|
// Read more: https://github.com/vuejs/core/pull/3399
|
|
export {}
|
|
|
|
/* prettier-ignore */
|
|
declare module 'vue' {
|
|
export interface GlobalComponents {
|
|
AddEditAddressDialog: typeof import('./src/components/dialogs/AddEditAddressDialog.vue')['default']
|
|
AddEditPermissionDialog: typeof import('./src/components/dialogs/AddEditPermissionDialog.vue')['default']
|
|
AddEditRoleDialog: typeof import('./src/components/dialogs/AddEditRoleDialog.vue')['default']
|
|
AddMemberAsPersonDialog: typeof import('./src/components/persons/AddMemberAsPersonDialog.vue')['default']
|
|
AddPersonToCrowdListDialog: typeof import('./src/components/crowd-lists/AddPersonToCrowdListDialog.vue')['default']
|
|
AppAutocomplete: typeof import('./src/@core/components/app-form-elements/AppAutocomplete.vue')['default']
|
|
AppBarSearch: typeof import('./src/@core/components/AppBarSearch.vue')['default']
|
|
AppCardActions: typeof import('./src/@core/components/cards/AppCardActions.vue')['default']
|
|
AppCardCode: typeof import('./src/@core/components/cards/AppCardCode.vue')['default']
|
|
AppCombobox: typeof import('./src/@core/components/app-form-elements/AppCombobox.vue')['default']
|
|
AppDateTimePicker: typeof import('./src/@core/components/app-form-elements/AppDateTimePicker.vue')['default']
|
|
AppDrawerHeaderSection: typeof import('./src/@core/components/AppDrawerHeaderSection.vue')['default']
|
|
AppLoadingIndicator: typeof import('./src/components/AppLoadingIndicator.vue')['default']
|
|
AppPricing: typeof import('./src/components/AppPricing.vue')['default']
|
|
AppSearchHeader: typeof import('./src/components/AppSearchHeader.vue')['default']
|
|
AppSelect: typeof import('./src/@core/components/app-form-elements/AppSelect.vue')['default']
|
|
AppStepper: typeof import('./src/@core/components/AppStepper.vue')['default']
|
|
AppTextarea: typeof import('./src/@core/components/app-form-elements/AppTextarea.vue')['default']
|
|
AppTextField: typeof import('./src/@core/components/app-form-elements/AppTextField.vue')['default']
|
|
AssignPersonDialog: typeof import('./src/components/shifts/AssignPersonDialog.vue')['default']
|
|
AssignShiftDialog: typeof import('./src/components/sections/AssignShiftDialog.vue')['default']
|
|
CardStatisticsHorizontal: typeof import('./src/@core/components/cards/CardStatisticsHorizontal.vue')['default']
|
|
CardStatisticsVertical: typeof import('./src/@core/components/cards/CardStatisticsVertical.vue')['default']
|
|
CardStatisticsVerticalSimple: typeof import('./src/@core/components/CardStatisticsVerticalSimple.vue')['default']
|
|
CompanyDialog: typeof import('./src/components/organisation/CompanyDialog.vue')['default']
|
|
ConfirmDialog: typeof import('./src/components/dialogs/ConfirmDialog.vue')['default']
|
|
CreateAppDialog: typeof import('./src/components/dialogs/CreateAppDialog.vue')['default']
|
|
CreateEventDialog: typeof import('./src/components/events/CreateEventDialog.vue')['default']
|
|
CreatePersonDialog: typeof import('./src/components/persons/CreatePersonDialog.vue')['default']
|
|
CreateSectionDialog: typeof import('./src/components/sections/CreateSectionDialog.vue')['default']
|
|
CreateShiftDialog: typeof import('./src/components/sections/CreateShiftDialog.vue')['default']
|
|
CreateSubEventDialog: typeof import('./src/components/events/CreateSubEventDialog.vue')['default']
|
|
CreateTimeSlotDialog: typeof import('./src/components/sections/CreateTimeSlotDialog.vue')['default']
|
|
CrowdListDetailPanel: typeof import('./src/components/crowd-lists/CrowdListDetailPanel.vue')['default']
|
|
CrowdListFormDialog: typeof import('./src/components/crowd-lists/CrowdListFormDialog.vue')['default']
|
|
CrowdTypesManager: typeof import('./src/components/organisations/CrowdTypesManager.vue')['default']
|
|
CustomCheckboxes: typeof import('./src/@core/components/app-form-elements/CustomCheckboxes.vue')['default']
|
|
CustomCheckboxesWithIcon: typeof import('./src/@core/components/app-form-elements/CustomCheckboxesWithIcon.vue')['default']
|
|
CustomCheckboxesWithImage: typeof import('./src/@core/components/app-form-elements/CustomCheckboxesWithImage.vue')['default']
|
|
CustomizerSection: typeof import('./src/@core/components/CustomizerSection.vue')['default']
|
|
CustomRadios: typeof import('./src/@core/components/app-form-elements/CustomRadios.vue')['default']
|
|
CustomRadiosWithIcon: typeof import('./src/@core/components/app-form-elements/CustomRadiosWithIcon.vue')['default']
|
|
CustomRadiosWithImage: typeof import('./src/@core/components/app-form-elements/CustomRadiosWithImage.vue')['default']
|
|
DeleteSubEventDialog: typeof import('./src/components/events/DeleteSubEventDialog.vue')['default']
|
|
DialogCloseBtn: typeof import('./src/@core/components/DialogCloseBtn.vue')['default']
|
|
DropZone: typeof import('./src/@core/components/DropZone.vue')['default']
|
|
EditEventDialog: typeof import('./src/components/events/EditEventDialog.vue')['default']
|
|
EditMemberRoleDialog: typeof import('./src/components/members/EditMemberRoleDialog.vue')['default']
|
|
EditOrganisationDialog: typeof import('./src/components/organisations/EditOrganisationDialog.vue')['default']
|
|
EditPersonDialog: typeof import('./src/components/persons/EditPersonDialog.vue')['default']
|
|
EditSectionDialog: typeof import('./src/components/sections/EditSectionDialog.vue')['default']
|
|
EmailBrandingTab: typeof import('./src/components/organisation/EmailBrandingTab.vue')['default']
|
|
EnableOneTimePasswordDialog: typeof import('./src/components/dialogs/EnableOneTimePasswordDialog.vue')['default']
|
|
ErrorHeader: typeof import('./src/components/ErrorHeader.vue')['default']
|
|
EventMetricCards: typeof import('./src/components/events/EventMetricCards.vue')['default']
|
|
EventTabsNav: typeof import('./src/components/events/EventTabsNav.vue')['default']
|
|
I18n: typeof import('./src/@core/components/I18n.vue')['default']
|
|
ImpersonationBanner: typeof import('./src/components/platform/ImpersonationBanner.vue')['default']
|
|
ImportFromEventDialog: typeof import('./src/components/event/ImportFromEventDialog.vue')['default']
|
|
InfoTooltip: typeof import('./src/components/common/InfoTooltip.vue')['default']
|
|
InviteMemberDialog: typeof import('./src/components/members/InviteMemberDialog.vue')['default']
|
|
MoreBtn: typeof import('./src/@core/components/MoreBtn.vue')['default']
|
|
Notifications: typeof import('./src/@core/components/Notifications.vue')['default']
|
|
OrganisationSwitcher: typeof import('./src/components/layout/OrganisationSwitcher.vue')['default']
|
|
PaymentProvidersDialog: typeof import('./src/components/dialogs/PaymentProvidersDialog.vue')['default']
|
|
PersonDetailPanel: typeof import('./src/components/persons/PersonDetailPanel.vue')['default']
|
|
PersonTagsTab: typeof import('./src/components/organisation/PersonTagsTab.vue')['default']
|
|
ProductDescriptionEditor: typeof import('./src/@core/components/ProductDescriptionEditor.vue')['default']
|
|
RegistrationFieldCard: typeof import('./src/components/event/RegistrationFieldCard.vue')['default']
|
|
RegistrationFieldFormDialog: typeof import('./src/components/event/RegistrationFieldFormDialog.vue')['default']
|
|
RegistrationFieldTemplatesTab: typeof import('./src/components/organisation/RegistrationFieldTemplatesTab.vue')['default']
|
|
RouterLink: typeof import('vue-router')['RouterLink']
|
|
RouterView: typeof import('vue-router')['RouterView']
|
|
ScrollToTop: typeof import('./src/@core/components/ScrollToTop.vue')['default']
|
|
SectionsShiftsPanel: typeof import('./src/components/sections/SectionsShiftsPanel.vue')['default']
|
|
ShareProjectDialog: typeof import('./src/components/dialogs/ShareProjectDialog.vue')['default']
|
|
ShiftDetailPanel: typeof import('./src/components/shifts/ShiftDetailPanel.vue')['default']
|
|
Shortcuts: typeof import('./src/@core/components/Shortcuts.vue')['default']
|
|
TablePagination: typeof import('./src/@core/components/TablePagination.vue')['default']
|
|
TemplatePickerDialog: typeof import('./src/components/event/TemplatePickerDialog.vue')['default']
|
|
ThemeSwitcher: typeof import('./src/@core/components/ThemeSwitcher.vue')['default']
|
|
TiptapEditor: typeof import('./src/@core/components/TiptapEditor.vue')['default']
|
|
TwoFactorAuthDialog: typeof import('./src/components/dialogs/TwoFactorAuthDialog.vue')['default']
|
|
UserInfoEditDialog: typeof import('./src/components/dialogs/UserInfoEditDialog.vue')['default']
|
|
}
|
|
}
|