feat(tutorial): implement comprehensive tutorial system with step guidance
All checks were successful
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m9s

- Added tutorial controller to manage tutorial state and progress.
- Introduced HelpButton component for contextual help throughout the application.
- Created various tutorial steps for onboarding and feature guidance.
- Integrated tutorial prompts in multiple components (ChildrenListView, LoginButton, ScheduleModal, etc.) to enhance user experience.
- Implemented logic to show tutorials based on user actions and state.
- Added functionality to dismiss and skip tutorial sessions.
- Established a mechanism to hydrate tutorial state from user profile.
This commit is contained in:
2026-05-26 16:54:45 -04:00
parent ec4912aa4a
commit d147bd6f27
23 changed files with 1338 additions and 5 deletions

View File

@@ -25,6 +25,8 @@ class User(BaseModel):
timezone: str | None = None
email_digest_enabled: bool = True
push_notifications_enabled: bool = True
tutorial_enabled: bool = True
tutorial_progress: dict = field(default_factory=dict)
@classmethod
def from_dict(cls, d: dict):
@@ -51,6 +53,8 @@ class User(BaseModel):
timezone=d.get('timezone'),
email_digest_enabled=d.get('email_digest_enabled', True),
push_notifications_enabled=d.get('push_notifications_enabled', True),
tutorial_enabled=d.get('tutorial_enabled', True),
tutorial_progress=d.get('tutorial_progress', {}) or {},
id=d.get('id'),
created_at=d.get('created_at'),
updated_at=d.get('updated_at')
@@ -82,5 +86,7 @@ class User(BaseModel):
'timezone': self.timezone,
'email_digest_enabled': self.email_digest_enabled,
'push_notifications_enabled': self.push_notifications_enabled,
'tutorial_enabled': self.tutorial_enabled,
'tutorial_progress': self.tutorial_progress,
})
return base