import type { ComponentProps } from 'react';
import { UnifiedCreationPage } from './UnifiedCreationPage';
import type { UnifiedCreationSpec } from './unifiedCreationSpecs';
import { Match3DCreationWorkspace } from './workspaces/Match3DCreationWorkspace';
import { PuzzleCreationWorkspace } from './workspaces/PuzzleCreationWorkspace';
import { JumpHopCreationWorkspace } from './workspaces/JumpHopCreationWorkspace';
import { WoodenFishCreationWorkspace } from './workspaces/WoodenFishCreationWorkspace';
type PuzzleCreationWorkspaceProps = ComponentProps<
typeof PuzzleCreationWorkspace
>;
type Match3DCreationWorkspaceProps = ComponentProps<
typeof Match3DCreationWorkspace
>;
type JumpHopCreationWorkspaceProps = ComponentProps<
typeof JumpHopCreationWorkspace
>;
type WoodenFishCreationWorkspaceProps = ComponentProps<
typeof WoodenFishCreationWorkspace
>;
type UnifiedCreationWorkspaceBaseProps = {
spec: UnifiedCreationSpec;
};
type PuzzleUnifiedCreationWorkspaceProps =
UnifiedCreationWorkspaceBaseProps & {
playId: 'puzzle';
} & PuzzleCreationWorkspaceProps;
type Match3DUnifiedCreationWorkspaceProps =
UnifiedCreationWorkspaceBaseProps & {
playId: 'match3d';
} & Match3DCreationWorkspaceProps;
type JumpHopUnifiedCreationWorkspaceProps =
UnifiedCreationWorkspaceBaseProps & {
playId: 'jump-hop';
} & JumpHopCreationWorkspaceProps;
type WoodenFishUnifiedCreationWorkspaceProps =
UnifiedCreationWorkspaceBaseProps & {
playId: 'wooden-fish';
} & WoodenFishCreationWorkspaceProps;
export type UnifiedCreationWorkspaceProps =
| PuzzleUnifiedCreationWorkspaceProps
| Match3DUnifiedCreationWorkspaceProps
| JumpHopUnifiedCreationWorkspaceProps
| WoodenFishUnifiedCreationWorkspaceProps;
export function UnifiedCreationWorkspace(props: UnifiedCreationWorkspaceProps) {
switch (props.playId) {
case 'puzzle':
return (
);
case 'match3d':
return (
);
case 'jump-hop':
return (
);
case 'wooden-fish':
return (
);
default: {
const exhaustiveCheck: never = props;
return exhaustiveCheck;
}
}
}
export default UnifiedCreationWorkspace;