Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Onboarding tour for new users #1280

Open
wants to merge 148 commits into
base: main
Choose a base branch
from
Open

Onboarding tour for new users #1280

wants to merge 148 commits into from

Conversation

IgnisDa
Copy link
Owner

@IgnisDa IgnisDa commented Mar 2, 2025

No description provided.

- Remove automatic redirection for authenticated users
- Delete unused imports related to authentication
- Simplify auth route loader function
- Upgrade various frontend and library dependencies
- Update React Router, Vite, esbuild, and other packages
- Bump versions of packages like nanoid, isbot, tailwind-merge, and sonner
- Synchronize package versions across frontend and website applications
- Create new button component for initiating onboarding tour
- Placeholder implementation with console log for tour start
- Create new column to track user's completed onboarding tours
- Set column as a text array with a default empty array
- Integrate new migration for tracking onboarding tour progress
- Reorganize struct field order for better readability
- No functional changes to the User model structure
- Maintain existing field types and attributes
- Introduce UserOnboardingTour enum with Media variant
- Add completedOnboardingTours field to User model
- Update GraphQL types and generated files to support onboarding tour tracking
- Remove UserOnboardingTour enum from enum models
- Delete completedOnboardingTours field from User model
- Remove related GraphQL and generated type references
- Clean up migration and database-related code for onboarding tours
IgnisDa added 30 commits March 10, 2025 07:32
- Replace hardcoded index name with dynamically referenced constant
- Improve code maintainability by using predefined index name
- Ensure consistent index naming across migration and other components
… enum

- Remove `either` crate from multiple Cargo.toml files
- Add `ExpireCacheKeyInput` enum in `dependent-models` to replace `Either` usage
- Update cache service and related functions to use new enum variant
- Simplify cache key expiration logic with more type-specific input
- Extend `ExpireCacheKeyInput` enum with `BySanitizedKey` variant
- Implement sanitized key expiration logic in cache service
- Support optional user ID-based key sanitization
- Enhance cache key expiration flexibility
- Modify `calculate_user_activities_and_summary` function to accept `SupportingService` instead of direct database connection
- Update function calls in miscellaneous and statistics services to match new signature
- Improve dependency injection and service interaction pattern
… expiration

- Add `EnumDiscriminants` derive macro to `ApplicationCacheKey`
- Update `ExpireCacheKeyInput` to use `ApplicationCacheKeyDiscriminants`
- Modify cache key expiration logic to support discriminant-based sanitized keys
- Add cache key expiration for user analytics in user activities calculation
- Update `onboardingTourAtom` type to include `isCompleted` flag
- Modify tour completion logic to use atom state instead of localStorage
- Add `canTourBeStarted` check to control tour initialization
- Refactor tour restart mechanism in profile settings page
- Rename onboarding tour step targets to be more descriptive
- Update tour step references across multiple components
- Enhance readability of tour step identifiers
- Introduce new onboarding tour step for refresh button
- Add tour step targeting the refresh button in movies list page
- Update `DisplayListDetailsAndRefresh` component to support tour interaction
- Rename `isTourStarted` to `isTourInProgress` for clarity
- Update tour progress check to consider `isCompleted` flag
- Modify references across dashboard and media routes
- Enhance tour state management with more precise progress tracking
- Update tour start condition to check for undefined tour state
- Remove redundant `isTourInProgress` check
- Streamline tour initialization in mobile and desktop contexts
- Introduce new onboarding tour step for adding exercises in a workout
- Add `AddNewExercise` target to `OnboardingTourStepTargets` enum
- Update fitness dashboard route to support new tour step
- Include tour step guidance for adding an exercise to an empty workout
- Rename `AddNewExercise` tour step target to `ClickOnAddAnExerciseButton`
- Update tour step target in onboarding configuration
- Modify button class to match new tour step identifier
- Add `data-exercise-id` attribute to exercise item display component
- Enable precise targeting for onboarding tour steps
- Improve tour interaction with exercise list items
- Introduce new tour step for selecting an exercise in workout creation
- Add `SelectExercise` target to `OnboardingTourStepTargets` enum
- Implement tour step advancement when specific exercise is selected
- Add conditional targeting for onboarding tour exercise selection
- Add constant `TOUR_EXERCISE_TARGET_ID` for consistent exercise targeting
- Update tour step content for exercise selection and addition
- Implement tour step advancement when adding selected exercises
- Refactor exercise selection targeting using shared constant
- Remove unnecessary fragment navigation
- Eliminate unused exercise index tracking
- Streamline navigation to fitness action route
- Reorder import statements in fitness route components
- Improve import organization for better readability
- Remove unnecessary import order variations
- Remove unnecessary backticks artifact in the exercises list component
- Clean up extraneous code that does not serve a purpose
- Modify onboarding tour step content to clarify the action of adding exercises to the active workout
- Ensure consistency in messaging for user guidance during the onboarding process
…ency

- Adjust the order of props in StatInput components to follow length-based organization
- Enhance code readability and maintainability by standardizing prop arrangement
- Add new onboarding tour steps for associating weight and reps to exercises
- Update `OnboardingTourStepTargets` enum to include `AddWeightToExercise` and `AddRepsToExercise`
- Implement conditional class names in `StatInput` for tour step advancement based on user input
… sets

- Introduce new onboarding tour step for confirming exercise sets
- Update `OnboardingTourStepTargets` enum to include `ConfirmSetForExercise`
- Implement conditional class name for tour step advancement in `SetDisplay` component
- Enhance user guidance during the exercise confirmation process
- Introduce new onboarding tour step for opening set menu details
- Update `OnboardingTourStepTargets` enum to include `OpenSetMenuDetails`
- Implement conditional class names in `SetDisplay` for tour step advancement
- Enhance user guidance during the set detail adjustment process
…mponent

- Simplify class name assignment using clsx for conditional rendering in SetDisplay
- Enhance readability by reducing nested ternary operators for onboarding tour steps
- Maintain consistency in class name handling for improved code clarity
- Streamline the umami tracking interface by defining the track method directly in the global Window interface
- Enhance code clarity by reducing unnecessary type imports
- Remove "@bitprojects/umami-logger-typescript" from devDependencies in package.json
- Clean up yarn.lock by removing references to the umami logger and other unused packages
- Enhance dependency management by streamlining the lock file
…tails

- Introduce new onboarding tour step for opening exercise menu details
- Update `OnboardingTourStepTargets` enum to include `OpenExerciseMenuDetails`
- Implement conditional logic in `ExerciseDisplay` for tour step advancement
- Enhance user guidance during the exercise detail adjustment process
…splay

- Remove redundant declaration of `isTourStep` in `ExerciseDisplay`
- Introduce a single declaration for `isTourStep` to enhance clarity
- Maintain functionality for onboarding tour step advancement during exercise selection
- Introduce new onboarding tour step for finishing the workout
- Update `OnboardingTourStepTargets` enum to include `FinishWorkout`
- Enhance user guidance with a message upon completing the workout tour
- Implement conditional class name logic for tour step advancement in the dashboard
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant