Refactor: enhance dashboard layout and experiment management features

- Added functionality to save and retrieve the current dashboard view in localStorage for improved user experience.
- Updated DashboardLayout component to handle view changes with access control based on user roles.
- Renamed Experiments component to ExperimentManagement for clarity.
- Introduced new ExperimentPhase interface and related utility functions for managing experiment phases.
- Updated seed data to include initial roles and experiment phases for testing.
- Cleaned up unnecessary blank lines in various files for better code readability.
This commit is contained in:
salirezav
2025-09-19 12:03:46 -04:00
parent 843071eda7
commit d1fe478478
31 changed files with 2305 additions and 1282 deletions

View File

@@ -7,9 +7,10 @@ interface ExperimentFormProps {
onCancel: () => void
isEditing?: boolean
loading?: boolean
phaseId?: string
}
export function ExperimentForm({ initialData, onSubmit, onCancel, isEditing = false, loading = false }: ExperimentFormProps) {
export function ExperimentForm({ initialData, onSubmit, onCancel, isEditing = false, loading = false, phaseId }: ExperimentFormProps) {
const [formData, setFormData] = useState<CreateExperimentRequest & { schedule_status: ScheduleStatus; results_status: ResultsStatus; completion_status: boolean }>({
experiment_number: initialData?.experiment_number || 0,
reps_required: initialData?.reps_required || 1,
@@ -21,7 +22,8 @@ export function ExperimentForm({ initialData, onSubmit, onCancel, isEditing = fa
entry_exit_height_diff_in: initialData?.entry_exit_height_diff_in || 0,
schedule_status: initialData?.schedule_status || 'pending schedule',
results_status: initialData?.results_status || 'valid',
completion_status: initialData?.completion_status || false
completion_status: initialData?.completion_status || false,
phase_id: initialData?.phase_id || phaseId
})
const [errors, setErrors] = useState<Record<string, string>>({})