pottery-diary/src/navigation/types.ts

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 {}
}
}