Files
community-rule/app/create/types.ts
T
2026-02-11 22:02:10 -07:00

62 lines
1.5 KiB
TypeScript

/**
* Type definitions for the Create Rule Flow
*
* These types define the structure for the full-screen create rule flow,
* including step types, state management, and context interfaces.
*/
/**
* Valid step IDs for the create rule flow
*/
export type CreateFlowStep =
| "informational"
| "text"
| "select"
| "upload"
| "review"
| "cards"
| "right-rail"
| "final-review"
| "completed";
/**
* Flow state interface for storing user inputs across all steps
* Will be expanded in CR-56 with specific field definitions
*/
export interface CreateFlowState {
// Placeholder structure - will be expanded in CR-56
[key: string]: unknown;
}
/**
* Context value interface for CreateFlowContext
* Provides state management and navigation capabilities
*/
export interface CreateFlowContextValue {
state: CreateFlowState;
currentStep: CreateFlowStep | null;
updateState: (updates: Partial<CreateFlowState>) => void;
// Navigation handlers will be added in CR-56
}
/**
* Base props interface for page templates
* Will be expanded in template implementation tickets (CR-51-55)
*/
export interface PageTemplateProps {
// Base props for all page templates
// Will be expanded in template tickets
}
/**
* Navigation handlers interface
* Will be implemented in CR-56
*/
export interface NavigationHandlers {
goToNextStep: () => void;
goToPreviousStep: () => void;
goToStep: (step: CreateFlowStep) => void;
canGoNext: () => boolean;
canGoBack: () => boolean;
}