Added edit mode

This commit is contained in:
2026-09-19 21:53:10 +02:00
parent 9bb9260c09
commit d46a5f10af
8 changed files with 458 additions and 64 deletions

View File

@@ -1,4 +1,5 @@
<script>
import DayEditor from '../components/DayEditor.svelte';
import { dayState, reopenToday } from '../lib/day.svelte.js';
import { buildResume, resumeToText } from '../lib/resume.js';
import { go } from '../lib/router.svelte.js';
@@ -9,12 +10,14 @@
let selectedDate = $state('');
let reopening = $state(false);
let error = $state('');
let editing = $state(false);
const selectedDay = $derived(dayState.closedDays.find((d) => d.date === selectedDate) ?? dayState.lastClosed);
const selectedEntries = $derived(dayState.historyEntries.filter((e) => e.date === selectedDay?.date));
const resume = $derived(
buildResume(
selectedDay,
dayState.historyEntries.filter((e) => e.date === selectedDay?.date),
selectedEntries,
settings.roundingMinutes,
),
);
@@ -54,7 +57,7 @@
{#if dayState.closedDays.length > 1}
<label class="stack">
<span>Journée à consulter</span>
<select value={selectedDay?.date} onchange={(event) => { selectedDate = event.currentTarget.value; copied = false; }}>
<select value={selectedDay?.date} onchange={(event) => { selectedDate = event.currentTarget.value; copied = false; editing = false; }}>
{#each dayState.closedDays as day (day.date)}
<option value={day.date}>{fmtDayLabel(day.date)} {day.date.slice(0, 4)}</option>
{/each}
@@ -120,6 +123,12 @@
<button type="button" class="btn-primary" onclick={copy}>
{copied ? '✓ Copié' : 'Copier le récapitulatif'}
</button>
<button type="button" onclick={() => (editing = !editing)}>{editing ? 'Masquer les postes' : 'Corriger cette journée'}</button>
{#if editing}
{#key selectedDay.date}
<DayEditor day={selectedDay} entries={selectedEntries} onchange={() => (copied = false)} />
{/key}
{/if}
{/if}
{#if closedToday}