mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-21 16:11:13 -05:00
62 lines
2.1 KiB
TypeScript
62 lines
2.1 KiB
TypeScript
/**
|
||
* UI components for Park and Designer creation within RideForm
|
||
* Extracted for clarity - import these into RideForm.tsx
|
||
*/
|
||
|
||
import { Badge } from '@/components/ui/badge';
|
||
import { Button } from '@/components/ui/button';
|
||
import { Plus, Building2, X } from 'lucide-react';
|
||
import type { TempParkData, TempCompanyData } from '@/types/company';
|
||
|
||
interface ParkSelectorProps {
|
||
tempNewPark: TempParkData | null;
|
||
onCreateNew: () => void;
|
||
onEdit: () => void;
|
||
onRemove: () => void;
|
||
parkId?: string;
|
||
onParkChange: (id: string) => void;
|
||
}
|
||
|
||
interface DesignerSelectorProps {
|
||
tempNewDesigner: TempCompanyData | null;
|
||
onCreateNew: () => void;
|
||
onEdit: () => void;
|
||
onRemove: () => void;
|
||
designerId?: string;
|
||
onDesignerChange: (id: string) => void;
|
||
}
|
||
|
||
export function RideParkSelector({ tempNewPark, onCreateNew, onEdit, onRemove }: ParkSelectorProps) {
|
||
return tempNewPark ? (
|
||
<div className="space-y-2">
|
||
<Badge variant="secondary" className="gap-2">
|
||
<Building2 className="h-3 w-3" />
|
||
New: {tempNewPark.name}
|
||
<button type="button" onClick={onRemove} className="ml-1 hover:text-destructive">×</button>
|
||
</Badge>
|
||
<Button type="button" variant="outline" size="sm" onClick={onEdit}>Edit New Park</Button>
|
||
</div>
|
||
) : (
|
||
<Button type="button" variant="outline" size="sm" onClick={onCreateNew}>
|
||
<Plus className="h-4 w-4 mr-2" />Create New Park
|
||
</Button>
|
||
);
|
||
}
|
||
|
||
export function RideDesignerSelector({ tempNewDesigner, onCreateNew, onEdit, onRemove }: DesignerSelectorProps) {
|
||
return tempNewDesigner ? (
|
||
<div className="space-y-2">
|
||
<Badge variant="secondary" className="gap-2">
|
||
<Building2 className="h-3 w-3" />
|
||
New: {tempNewDesigner.name}
|
||
<button type="button" onClick={onRemove} className="ml-1 hover:text-destructive">×</button>
|
||
</Badge>
|
||
<Button type="button" variant="outline" size="sm" onClick={onEdit}>Edit New Designer</Button>
|
||
</div>
|
||
) : (
|
||
<Button type="button" variant="outline" size="sm" onClick={onCreateNew}>
|
||
<Plus className="h-4 w-4 mr-2" />Create New Designer
|
||
</Button>
|
||
);
|
||
}
|