diff --git a/client/src/components/LogEntryEditor.tsx b/client/src/components/LogEntryEditor.tsx
index 7989b7e..7118766 100644
--- a/client/src/components/LogEntryEditor.tsx
+++ b/client/src/components/LogEntryEditor.tsx
@@ -1732,49 +1732,384 @@ export default function LogEntryEditor({
- {(aiSummary.trim() || canSignSkipper) && (
+ {/* Section 4: Add New Event Form Card */}
+ {!readOnly && (
-
-
-
{t('logs.ai_summary_title')}
+
setAddEventFormCollapsed(!addEventFormCollapsed)}
+ onKeyDown={(e) => {
+ if (e.key === 'Enter' || e.key === ' ') {
+ e.preventDefault()
+ setAddEventFormCollapsed(!addEventFormCollapsed)
+ }
+ }}
+ role="button"
+ aria-expanded={!addEventFormCollapsed}
+ tabIndex={0}
+ >
+
+
+
+ {editingEventIndex !== null ? t('logs.edit_event') : t('logs.add_event')}
+
+
+ {addEventFormCollapsed ? (
+
+ ) : (
+
+ )}
- {aiSummary.trim() && !canSignSkipper && (
-
- {t('logs.ai_summary_read_only')}
-
- )}
- {aiSummary.trim() ? (
-
{aiSummary}
- ) : (
-
{t('logs.ai_summary_empty')}
- )}
- {canSignSkipper && !readOnly && (
-
-
- {aiSummaryRemaining !== null && (
-
- {t('logs.ai_summary_attempts_remaining', {
- remaining: aiSummaryRemaining,
- max: aiSummaryMaxAttempts
- })}
-
- )}
+
+ {!addEventFormCollapsed && (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setEvLogReading(e.target.value)}
+ disabled={saving}
+ />
+
+
+
+
+
+
+ setEvLocationName(e.target.value)}
+ disabled={saving}
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setEvWindStrength(e.target.value)}
+ disabled={saving || weatherLoading}
+ />
+
+
+
+ t('logs.weather_slider_pressure', { value: hpa, defaultValue: `${hpa} hPa` })}
+ numberMin={PRESSURE_MIN_HPA}
+ numberMax={PRESSURE_MAX_HPA}
+ numberStep={1}
+ numberPlaceholder="1013"
+ />
+
+
+ t('logs.weather_slider_sea_state', { value: level, defaultValue: `${level}` })}
+ numberMin={SEA_STATE_MIN}
+ numberMax={SEA_STATE_MAX}
+ numberStep={1}
+ numberPlaceholder="3"
+ allowLegacyText
+ />
+
+ formatVisibilityMeters(m)}
+ hideNumberInput
+ />
+
+
+ t('logs.weather_slider_heel', { value: deg, defaultValue: `${deg}°` })}
+ numberMin={HEEL_MIN_DEG}
+ numberMax={HEEL_MAX_DEG}
+ numberStep={1}
+ numberPlaceholder="5"
+ />
+
+
+
+
+
+ setEvSailsOrMotor(e.target.value)}
+ disabled={saving}
+ />
+
+
+
+
+ setEvDistance(e.target.value)}
+ disabled={saving}
+ />
+
+
+
+
+ {isMotorActive && (
+ toggleSailOrMotor(motorPropulsionLabel)}
+ >
+ {motorPropulsionLabel}
+
+ )}
+ {sortedEventSailOptions.map((sail) => (
+ toggleSailOrMotor(sail)}
+ >
+ {sail}
+
+ ))}
+ {!isMotorActive && (
+ toggleSailOrMotor(motorPropulsionLabel)}
+ >
+ {motorPropulsionLabel}
+
+ )}
+
+ {showSailsPickerToggle && (
+
+ )}
+
+
+
+
+ setEvRemarks(e.target.value)}
+ disabled={saving}
+ />
+
+
+
+
+ {editingEventIndex !== null && (
+
+ )}
+
+
)}
- {aiSummaryError &&
{aiSummaryError}
}
)}
@@ -2313,386 +2648,14 @@ export default function LogEntryEditor({
- {/* Section 4: Add New Event Form Card */}
- {!readOnly && (
-
-
setAddEventFormCollapsed(!addEventFormCollapsed)}
- onKeyDown={(e) => {
- if (e.key === 'Enter' || e.key === ' ') {
- e.preventDefault()
- setAddEventFormCollapsed(!addEventFormCollapsed)
- }
- }}
- role="button"
- aria-expanded={!addEventFormCollapsed}
- tabIndex={0}
- >
-
-
-
- {editingEventIndex !== null ? t('logs.edit_event') : t('logs.add_event')}
-
-
- {addEventFormCollapsed ? (
-
- ) : (
-
- )}
-
+
- {!addEventFormCollapsed && (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- setEvLogReading(e.target.value)}
- disabled={saving}
- />
-
-
-
-
-
-
- setEvLocationName(e.target.value)}
- disabled={saving}
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
- setEvWindStrength(e.target.value)}
- disabled={saving || weatherLoading}
- />
-
-
-
- t('logs.weather_slider_pressure', { value: hpa, defaultValue: `${hpa} hPa` })}
- numberMin={PRESSURE_MIN_HPA}
- numberMax={PRESSURE_MAX_HPA}
- numberStep={1}
- numberPlaceholder="1013"
- />
-
-
- t('logs.weather_slider_sea_state', { value: level, defaultValue: `${level}` })}
- numberMin={SEA_STATE_MIN}
- numberMax={SEA_STATE_MAX}
- numberStep={1}
- numberPlaceholder="3"
- allowLegacyText
- />
-
- formatVisibilityMeters(m)}
- hideNumberInput
- />
-
-
- t('logs.weather_slider_heel', { value: deg, defaultValue: `${deg}°` })}
- numberMin={HEEL_MIN_DEG}
- numberMax={HEEL_MAX_DEG}
- numberStep={1}
- numberPlaceholder="5"
- />
-
-
-
-
-
- setEvSailsOrMotor(e.target.value)}
- disabled={saving}
- />
-
-
-
-
- setEvDistance(e.target.value)}
- disabled={saving}
- />
-
-
-
-
- {isMotorActive && (
- toggleSailOrMotor(motorPropulsionLabel)}
- >
- {motorPropulsionLabel}
-
- )}
- {sortedEventSailOptions.map((sail) => (
- toggleSailOrMotor(sail)}
- >
- {sail}
-
- ))}
- {!isMotorActive && (
- toggleSailOrMotor(motorPropulsionLabel)}
- >
- {motorPropulsionLabel}
-
- )}
-
- {showSailsPickerToggle && (
-
- )}
-
-
-
-
- setEvRemarks(e.target.value)}
- disabled={saving}
- />
-
-
-
-
- {editingEventIndex !== null && (
-
- )}
-
-
-
- )}
-
- )}
+
{/* Track file upload */}
@@ -2847,14 +2810,51 @@ export default function LogEntryEditor({
)}
-
-
-
+ {(aiSummary.trim() || canSignSkipper) && (
+
+
+
+
{t('logs.ai_summary_title')}
+
+ {aiSummary.trim() && !canSignSkipper && (
+
+ {t('logs.ai_summary_read_only')}
+
+ )}
+ {aiSummary.trim() ? (
+
{aiSummary}
+ ) : (
+
{t('logs.ai_summary_empty')}
+ )}
+ {canSignSkipper && !readOnly && (
+
+
+ {aiSummaryRemaining !== null && (
+
+ {t('logs.ai_summary_attempts_remaining', {
+ remaining: aiSummaryRemaining,
+ max: aiSummaryMaxAttempts
+ })}
+
+ )}
+
+ )}
+ {aiSummaryError &&
{aiSummaryError}
}
+
+ )}