From e3cd89be5d7feeb77ac04e8817862da3dab80108 Mon Sep 17 00:00:00 2001 From: elpatron Date: Sat, 6 Jun 2026 21:04:25 +0200 Subject: [PATCH] feat: separate chronological events list and add event form into separate cards --- client/src/components/LogEntryEditor.tsx | 765 +++++++++++------------ 1 file changed, 381 insertions(+), 384 deletions(-) diff --git a/client/src/components/LogEntryEditor.tsx b/client/src/components/LogEntryEditor.tsx index e4939a4..49b0d6e 100644 --- a/client/src/components/LogEntryEditor.tsx +++ b/client/src/components/LogEntryEditor.tsx @@ -2118,392 +2118,389 @@ export default function LogEntryEditor({ ) )} - {/* Add New Event Form Sub-Card */} - {!readOnly && ( -
-
setAddEventFormCollapsed(!addEventFormCollapsed)} - onKeyDown={(e) => { - if (e.key === 'Enter' || e.key === ' ') { - e.preventDefault() - setAddEventFormCollapsed(!addEventFormCollapsed) - } - }} - role="button" - aria-expanded={!addEventFormCollapsed} - tabIndex={0} - style={{ - margin: '0 0 16px 0', - padding: '8px 12px', - borderRadius: '6px', - background: 'rgba(255, 255, 255, 0.01)', - border: '1px solid rgba(255, 255, 255, 0.03)' - }} - > -

- {editingEventIndex !== null ? t('logs.edit_event') : t('logs.add_event')} -

- {addEventFormCollapsed ? ( - - ) : ( - - )} -
- - {!addEventFormCollapsed && ( - <> -
-
- - -
- -
- -
- - -
- -
- -
- - setEvLogReading(e.target.value)} - disabled={saving} - /> -
-
- -
-
- - setEvLocationName(e.target.value)} - disabled={saving} - /> -
- -
- -
- { clearGpsSignal(); setEvGpsLat(e.target.value) }} - disabled={saving} - /> - { clearGpsSignal(); setEvGpsLng(e.target.value) }} - disabled={saving} - /> - - -
- {gpsSignal && ( - - )} -
-
- -
-
- - -
- -
- - 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 && ( - - )} - -
- - )} -
- )} + {/* 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} + /> +
+ +
+ +
+ { clearGpsSignal(); setEvGpsLat(e.target.value) }} + disabled={saving} + /> + { clearGpsSignal(); setEvGpsLng(e.target.value) }} + disabled={saving} + /> + + +
+ {gpsSignal && ( + + )} +
+
+ +
+
+ + +
+ +
+ + 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 */}