Removes password from the volunteer registration form. Account creation is now deferred to the approval step: Backend: - Registration creates Person without User (user_id=null) - On approval, system finds or creates User by person.email - New accounts get a "set password" email with activation link - Existing accounts get a portal link email - Added registration_source column to persons (self/organizer) - Fuzzy name matching skipped for self-registered persons - person.email is always source of truth for account linking Frontend: - Registration form no longer collects password - Email check shows info alert with login suggestion - New wachtwoord-instellen.vue page for account activation - PasswordRequirements.vue component (reused on reset page) - Success page updated with activation messaging Tests: 837 passed (all updated for new flow) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
61 lines
4.8 KiB
TypeScript
61 lines
4.8 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 {
|
|
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']
|
|
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']
|
|
BuyNow: typeof import('./src/@core/components/BuyNow.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']
|
|
ClaimenTab: typeof import('./src/components/event/ClaimenTab.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']
|
|
DialogCloseBtn: typeof import('./src/@core/components/DialogCloseBtn.vue')['default']
|
|
DropZone: typeof import('./src/@core/components/DropZone.vue')['default']
|
|
EventCard: typeof import('./src/components/portal/EventCard.vue')['default']
|
|
I18n: typeof import('./src/@core/components/I18n.vue')['default']
|
|
InformatieTab: typeof import('./src/components/event/InformatieTab.vue')['default']
|
|
MfaChallengeCard: typeof import('./src/components/auth/MfaChallengeCard.vue')['default']
|
|
MfaDisableDialog: typeof import('./src/components/settings/MfaDisableDialog.vue')['default']
|
|
MfaEmailSetupDialog: typeof import('./src/components/settings/MfaEmailSetupDialog.vue')['default']
|
|
MfaTotpSetupDialog: typeof import('./src/components/settings/MfaTotpSetupDialog.vue')['default']
|
|
MoreBtn: typeof import('./src/@core/components/MoreBtn.vue')['default']
|
|
Notifications: typeof import('./src/@core/components/Notifications.vue')['default']
|
|
OverzichtTab: typeof import('./src/components/event/OverzichtTab.vue')['default']
|
|
PasswordRequirements: typeof import('./src/components/auth/PasswordRequirements.vue')['default']
|
|
ProductDescriptionEditor: typeof import('./src/@core/components/ProductDescriptionEditor.vue')['default']
|
|
RoosterTab: typeof import('./src/components/event/RoosterTab.vue')['default']
|
|
RouterLink: typeof import('vue-router')['RouterLink']
|
|
RouterView: typeof import('vue-router')['RouterView']
|
|
ScrollToTop: typeof import('./src/@core/components/ScrollToTop.vue')['default']
|
|
Shortcuts: typeof import('./src/@core/components/Shortcuts.vue')['default']
|
|
StatusCard: typeof import('./src/components/portal/StatusCard.vue')['default']
|
|
TablePagination: typeof import('./src/@core/components/TablePagination.vue')['default']
|
|
TheCustomizer: typeof import('./src/@core/components/TheCustomizer.vue')['default']
|
|
ThemeSwitcher: typeof import('./src/@core/components/ThemeSwitcher.vue')['default']
|
|
TiptapEditor: typeof import('./src/@core/components/TiptapEditor.vue')['default']
|
|
UserAvatarMenu: typeof import('./src/components/portal/UserAvatarMenu.vue')['default']
|
|
}
|
|
}
|