import { useState, useEffect } from 'react' import { type Experiment, type User, type ExperimentPhase } from '../lib/supabase' import { DraftManager } from './DraftManager' import { PhaseSelector } from './PhaseSelector' // DEPRECATED: This component is deprecated in favor of RepetitionDataEntryInterface // which uses the new phase-specific draft system interface DataEntryInterfaceProps { experiment: Experiment currentUser: User onBack: () => void } // Temporary type for backward compatibility interface LegacyDataEntry { id: string experiment_id: string user_id: string status: 'draft' | 'submitted' entry_name?: string | null created_at: string updated_at: string submitted_at?: string | null } export function DataEntryInterface({ experiment, currentUser, onBack }: DataEntryInterfaceProps) { const [userDataEntries, setUserDataEntries] = useState([]) const [selectedDataEntry, setSelectedDataEntry] = useState(null) const [selectedPhase, setSelectedPhase] = useState(null) const [showDraftManager, setShowDraftManager] = useState(false) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) useEffect(() => { loadUserDataEntries() }, [experiment.id, currentUser.id]) const loadUserDataEntries = async () => { try { setLoading(true) setError(null) // DEPRECATED: Using empty array since this component is deprecated const entries: LegacyDataEntry[] = [] setUserDataEntries(entries) // Auto-select the most recent draft or create a new one const drafts = entries.filter(entry => entry.status === 'draft') if (drafts.length > 0) { setSelectedDataEntry(drafts[0]) } else { // Create a new draft entry await handleCreateNewDraft() } } catch (err: any) { setError(err.message || 'Failed to load data entries') console.error('Load data entries error:', err) } finally { setLoading(false) } } const handleCreateNewDraft = async () => { setError('This component is deprecated. Please use the new repetition-based data entry system.') } const handleSelectDataEntry = (entry: LegacyDataEntry) => { setSelectedDataEntry(entry) setShowDraftManager(false) setSelectedPhase(null) } const handleDeleteDraft = async (_entryId: string) => { setError('This component is deprecated. Please use the new repetition-based data entry system.') } const handleSubmitEntry = async (_entryId: string) => { setError('This component is deprecated. Please use the new repetition-based data entry system.') } const handlePhaseSelect = (phase: ExperimentPhase) => { setSelectedPhase(phase) } const handleBackToPhases = () => { setSelectedPhase(null) } if (loading) { return (

Loading data entries...

) } if (error) { return (
{error}
) } return (
{/* Header */}

Experiment #{experiment.experiment_number}

{/* Experiment Details */}
Repetitions: {experiment.reps_required}
Soaking Duration: {experiment.soaking_duration_hr}h
Air Drying: {experiment.air_drying_time_min}min
Status: {experiment.completion_status ? 'Completed' : 'In Progress'}
{/* Scheduled date removed - this is now handled at repetition level */}
{/* Current Draft Info */} {selectedDataEntry && (
Current Draft: {selectedDataEntry.entry_name} Created: {new Date(selectedDataEntry.created_at).toLocaleString()}
)}
{/* Main Content */} {showDraftManager ? ( setShowDraftManager(false)} /> ) : selectedPhase ? (
This component is deprecated. Please use the new repetition-based data entry system.
) : selectedDataEntry ? ( ) : (
No data entry selected. Please create a new draft or select an existing one.
)}
) }