From d2961b050a713bf9cac385e6c5014d2a0cb79138 Mon Sep 17 00:00:00 2001 From: elpatron Date: Sat, 6 Jun 2026 21:30:00 +0200 Subject: [PATCH] Rearrange journal cards layout according to user request order --- client/src/components/LogEntryEditor.tsx | 852 +++++++++++------------ 1 file changed, 426 insertions(+), 426 deletions(-) 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} + /> +
+ +
+ +
+ { 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 && ( + + )} + +
)} - {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} - /> -
- -
- -
- { 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 */}
@@ -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}
} +
+ )}