feat(mobile): improve authentication flow, About Me experience, and shared UI architecture - #10
Merged
Conversation
…cStorage token retrieval with apiFetch; update navigation labels and improve question navigation logic; implement server-side filtering for admin dashboard data export and table pagination.
- Added session expiration handling in AppNavigator to redirect to Login screen on session expiry. - Refactored API calls in SplashScreen to use apiFetch for better token management. - Enhanced LoginScreen with improved keyboard handling and UI adjustments. - Updated OtpVerificationScreen to include fixed header and keyboard handling. - Refactored SignupScreen to improve user experience with fixed header and keyboard handling. - Removed redundant components and optimized imports across screens.
Journey, Calendar, and Profile shared a near-identical hand-rolled header block and duplicated card-shadow recipes (with copy-paste drift in opacity/radius). Introduces: - constants/colors.ts: additive semantic tokens (textMuted, iconMuted, surfaceMuted, borderLight, primaryTint) so screens stop hardcoding the same hex values. - styles/shared.ts: cardShadow / cardShadowElevated, replacing the drifted shadow recipes with two deliberate variants. - components/ScreenHeader.tsx: one component for both the tab-screen header and the pushed-screen back-button header, dropping the colored accent dot per feedback. Also removes the LeavesDecoration background from Journey, Calendar, and Profile (per feedback) and rounds the bottom tab bar's top corners.
The 11-field research profile form previously opened immediately on navigation. Adds an intro/form split (matching the roadmap screens' own intro -> questionnaire convention, e.g. MindfulMirrorScreen): - New 'intro' step shows the SignupIllustration above a rounded blue panel (same #E3F2FD tone, caps title/subtitle, and PanelWave as SignupScreen's own panel) explaining why the profile is requested, with a "Fill Form" CTA that reveals the existing form. - Header switched to ScreenHeader's back-button variant, restyled to match the roadmap screens' floating white circular back button instead of the previous bordered/centered treatment. - Read-only view (already-completed profiles) is unchanged.
Maps the full stress/spike/soak/concurrency/security/DB checklist against this codebase: what's already covered (helmet, rate limits, Zod validation, RLS/service-role isolation), what this pass added (compression, body-parser error-status fix, security/rate-limit tests, load-test scripts), and what remains manual/ops (composite DB indexes, backups, NODE_ENV, clustering).
…lustration Replaces the hand-drawn lotus SVG shown to .ex participants in BreathingIllustration with the provided egGroup.png asset. The control-group (.cg) mountain illustration is unchanged.
…ation The animated background circles were designed around the old lotus SVG's shape; they don't suit the egGroup.png replacement. Scoped the pulse rings to the control-group (.cg) mountain illustration only, so the experimental-group illustration renders as just the plain image.
…hance DashboardScreen with logo block and improve chart rendering; optimize JourneyScreen for better chart data handling; adjust keyboard handling in auth screens; streamline roadmap screens by simplifying navigation on task completion.
- Implemented AboutMeQuestionnaire screen for user profile data collection with a 3-step wizard interface. - Added AboutMeView screen to display the completed profile summary. - Created shared types and constants for managing About Me data. - Updated navigation types to include new screens.
…yout and functionality - Updated ThriveTrackerScreen to utilize useSafeAreaInsets for better handling of device notches and safe areas. - Enhanced layout of success and intro screens with additional padding and new PanelWave component for visual appeal. - Improved styles for buttons, panels, and text elements for consistency and better user experience. - Refactored WeeklyWhispersScreen to incorporate safe area handling and updated layout for recording instructions. - Added new visual elements and adjusted styles for better readability and interaction feedback.
- Updated JourneyScreen tests to mock safe area context and reset API fetch mock before each test. - Refactored LoginScreen to include password reset functionality and ensure session persistence with setSession. - Modified OtpVerificationScreen to use setSession for token management. - Improved BottomNav component with decorative wave background and enhanced tab button styles. - Updated DashboardPage to handle loading states and errors, added scroll-based animations, and refined journey step interactions.
- Removed PasswordResetModal from LoginScreen and replaced it with navigation to ForgotPassword. - Added ResetOtpScreen for handling OTP verification and new password setting during password reset. - Integrated email validation and password strength checking in SignupScreen. - Enhanced user experience by confirming exit on back navigation in various roadmap screens. - Updated navigation types to include new routes for password reset functionality. - Improved error handling and notifications across screens.
…caping or encoding' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR delivers a broad set of improvements across the mobile application, focusing on authentication, user experience, reusable UI components, and maintainability. It also introduces the new About Me Questionnaire flow and refines several roadmap and dashboard screens.
Highlights
apiFetchclient.ScreenHeadercomponent.These changes improve code maintainability, create a more consistent user experience, strengthen authentication and session management, and prepare the application for production deployment.
Type of Change
## Verification and Testing
Environment
Verification Steps
apiFetchclient.Test Output
npx tsc --noEmit ✓ No TypeScript errors npm test ✓ All tests passedChecklist
npx tsc --noEmitin all modified workspace directories (mobile, backend, web-admin) and resolved any compile errors.release/v2.0ormain).