Onboarding Screen
Flow
- User provides first/last name, gender, DOB, status (initiated/ashraya/missionary/volunteer).
- Validations enforce minimum length and required fields; DOB cannot be in the future.
- Maps selections to ashraya level IDs and appGroup (FTM/VOL/none).
Logic & Mechanism
- Status toggles set internal flags that feed into target calculation later.
- Age calculation uses current date to derive ageYears.
Error Handling
- Inline error strings for empty/short fields; Cupertino dialog for missing/invalid data.
- DOB future check blocks continuation.
How It Works
- On continue, builds a DevoteeDraft carrying basic profile/state for next screens.
- Spiritual status maps: Initiated → Initiated targets; Ashraya levels → level-specific targets; Volunteer → volunteer targets; otherwise adult default.
- Kid/youth handling: age < 15 gets kids default; youth (≤18) in Ashraya get kid Ashraya targets (Shraddhavan/Sevak) with kirtan minutes.