feat(FN-2403): add project setup step to onboarding flow
- Introduce a new "project-setup" onboarding step between GitHub and first-task actions - Gate first-task navigation on project selection and add contextual setup-wizard guidance - Centralize ordered onboarding step definitions in shared state and reuse them for navigation/progress labels - Extract ModelOnboardingModal styles into a dedicated component CSS file and update tests/mocks for the new step order
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
* from where they left off if they dismiss the modal without completing.
|
||||
*/
|
||||
|
||||
export type OnboardingStep = "ai-setup" | "github" | "first-task" | "complete";
|
||||
export type OnboardingStep = "ai-setup" | "github" | "project-setup" | "first-task" | "complete";
|
||||
|
||||
interface OnboardingState {
|
||||
currentStep: OnboardingStep | string; // string allows for future unknown steps
|
||||
@@ -38,6 +38,12 @@ const DEFAULT_COMPLETED = false;
|
||||
const DEFAULT_STEP_DATA: Partial<Record<OnboardingStep, Record<string, unknown>>> = {};
|
||||
const DEFAULT_POST_ONBOARDING_DISMISSED_AT: string | undefined = undefined;
|
||||
|
||||
/**
|
||||
* Ordered onboarding flow steps before completion.
|
||||
* Keep this list in sync with ModelOnboardingModal's stepper rendering and navigation.
|
||||
*/
|
||||
export const ONBOARDING_FLOW_STEPS = ["ai-setup", "github", "project-setup", "first-task"] as const;
|
||||
|
||||
/**
|
||||
* Step labels for display in the resume card.
|
||||
* Fallback for unknown step IDs uses the raw key with title-case formatting.
|
||||
@@ -45,6 +51,7 @@ const DEFAULT_POST_ONBOARDING_DISMISSED_AT: string | undefined = undefined;
|
||||
export const ONBOARDING_STEP_LABELS: Record<OnboardingStep, string> = {
|
||||
"ai-setup": "AI Setup",
|
||||
github: "GitHub",
|
||||
"project-setup": "Project",
|
||||
"first-task": "First Task",
|
||||
complete: "Complete",
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user