Add comprehensive help docs modal

Add a new Submission Help Dialog component accessible from park/ride forms, covering date precision, park/ride concepts, manufacturer vs designer, technical specs, units, submission process, and best practices with examples. Include trigger button integration from forms and plan for future documentation.
This commit is contained in:
gpt-engineer-app[bot]
2025-11-11 23:05:59 +00:00
parent 99c8c94e47
commit 67ce8b5a88
3 changed files with 401 additions and 8 deletions

View File

@@ -30,6 +30,7 @@ import { LocationSearch } from './LocationSearch';
import { OperatorForm } from './OperatorForm';
import { PropertyOwnerForm } from './PropertyOwnerForm';
import { Checkbox } from '@/components/ui/checkbox';
import { SubmissionHelpDialog } from '@/components/help/SubmissionHelpDialog';
const parkSchema = z.object({
name: z.string().min(1, 'Park name is required'),
@@ -314,10 +315,13 @@ export function ParkForm({ onSubmit, onCancel, initialData, isEditing = false }:
return (
<Card className="w-full max-w-4xl mx-auto">
<CardHeader>
<CardTitle className="flex items-center gap-2">
<MapPin className="w-5 h-5" />
{isEditing ? 'Edit Park' : 'Create New Park'}
</CardTitle>
<div className="flex items-center justify-between">
<CardTitle className="flex items-center gap-2">
<MapPin className="w-5 h-5" />
{isEditing ? 'Edit Park' : 'Create New Park'}
</CardTitle>
<SubmissionHelpDialog type="park" variant="icon" />
</div>
</CardHeader>
<CardContent>
<form onSubmit={handleSubmit(handleFormSubmit)} className="space-y-6">

View File

@@ -35,6 +35,7 @@ import { ParkForm } from './ParkForm';
import { TechnicalSpecsEditor, validateTechnicalSpecs } from './editors/TechnicalSpecsEditor';
import { CoasterStatsEditor, validateCoasterStats } from './editors/CoasterStatsEditor';
import { FormerNamesEditor } from './editors/FormerNamesEditor';
import { SubmissionHelpDialog } from '@/components/help/SubmissionHelpDialog';
import {
convertValueToMetric,
convertValueFromMetric,
@@ -385,10 +386,13 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }:
<TooltipProvider>
<Card className="w-full max-w-4xl mx-auto">
<CardHeader>
<CardTitle className="flex items-center gap-2">
<Zap className="w-5 h-5" />
{isEditing ? 'Edit Ride' : 'Create New Ride'}
</CardTitle>
<div className="flex items-center justify-between">
<CardTitle className="flex items-center gap-2">
<Zap className="w-5 h-5" />
{isEditing ? 'Edit Ride' : 'Create New Ride'}
</CardTitle>
<SubmissionHelpDialog type="ride" variant="icon" />
</div>
</CardHeader>
<CardContent>
<form onSubmit={handleSubmit(handleFormSubmit)} className="space-y-6">