feat: add parent PIN setup functionality and email notifications
All checks were successful
Gitea Actions Demo / build-and-push (push) Successful in 23s

- Implemented User model updates to include PIN and related fields.
- Created email sender utility for sending verification and reset emails.
- Developed ParentPinSetup component for setting up a parent PIN with verification code.
- Enhanced UserProfile and EntityEditForm components to support new features.
- Updated routing to include PIN setup and authentication checks.
- Added styles for new components and improved existing styles for consistency.
- Introduced loading states and error handling in various components.
This commit is contained in:
2026-01-27 14:47:49 -05:00
parent cd9070ec99
commit 3066d7d356
19 changed files with 852 additions and 257 deletions

View File

@@ -32,6 +32,7 @@ const deletingChildId = ref<string | number | null>(null)
const deleting = ref(false)
const openChildEditor = (child: Child, evt?: Event) => {
console.log(' opening child editor for child id ', child.id)
evt?.stopPropagation()
router.push({ name: 'ChildEditView', params: { id: child.id } })
}
@@ -136,6 +137,7 @@ const fetchChildren = async (): Promise<Child[]> => {
return Promise.resolve()
}),
)
console.log(' fetched children list: ', childList)
return childList
} catch (err) {
error.value = err instanceof Error ? err.message : 'Failed to fetch children'
@@ -172,6 +174,7 @@ onUnmounted(() => {
const shouldIgnoreNextCardClick = ref(false)
const onDocClick = (e: MouseEvent) => {
console.log(' document click detected ')
if (activeMenuFor.value !== null) {
const path = (e.composedPath && e.composedPath()) || (e as any).path || []
const clickedInsideKebab = path.some((node: unknown) => {