45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
import { NavigatorScreenParams } from '@react-navigation/native';
|
|
import React from 'react';
|
|
import { GlazeLayer, UserListType } from '../types';
|
|
|
|
export type RootStackParamList = {
|
|
Login: undefined;
|
|
SignUp: undefined;
|
|
Onboarding: undefined;
|
|
MainTabs: NavigatorScreenParams<MainTabParamList>;
|
|
ProjectDetail: { projectId: string };
|
|
StepEditor: {
|
|
projectId: string;
|
|
stepId?: string;
|
|
selectedGlazeIds?: string[]; // DEPRECATED - keep for backwards compat
|
|
newGlazeLayers?: GlazeLayer[]; // NEW
|
|
mixNotes?: string;
|
|
_timestamp?: number;
|
|
_editorKey?: string
|
|
};
|
|
GlazePicker: {
|
|
projectId: string;
|
|
stepId?: string;
|
|
selectedGlazeIds?: string[];
|
|
mode?: 'add_layer' | 'replace';
|
|
onGlazesSelected?: React.MutableRefObject<((layers: GlazeLayer[]) => void) | null>;
|
|
_editorKey?: string
|
|
};
|
|
GlazeDetail: { glazeId: string };
|
|
AddCustomGlaze: { onGlazeCreated?: (glazeId: string) => void };
|
|
UserList: { type: UserListType }; // NEW
|
|
};
|
|
|
|
export type MainTabParamList = {
|
|
Home: undefined;
|
|
Projects: undefined;
|
|
News: undefined;
|
|
Settings: undefined;
|
|
};
|
|
|
|
declare global {
|
|
namespace ReactNavigation {
|
|
interface RootParamList extends RootStackParamList {}
|
|
}
|
|
}
|