cb168fbd18
- Reisezeit wird aus Reise-Beginn/-Ende zur Laufzeit berechnet (Spalte reisezeit entfernt), Anzeige in Vorschau und Liste wie Mehrarbeit - Pause pro Eintrag in Minuten (Feld zwischen Beginn und Ende), Default aus globaler Einstellung - Eingabefelder werden nach dem Speichern eines neuen Eintrags geleert - DB-Migrationen für reise_beginn/reise_ende/pause-Spalten - Version 0.1.2 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
23 lines
780 B
TypeScript
23 lines
780 B
TypeScript
export const ORTE = ['Kunde FFM', 'Homeoffice', 'Andrena'] as const;
|
|
export type Ort = (typeof ORTE)[number];
|
|
|
|
// Fixe Arbeitszeit beim Kunden (Stunden) — feste Spalte in der Liste.
|
|
export const ARBEITSZEIT_KUNDE_FIX = 8;
|
|
|
|
export interface ArbeitszeitEintrag {
|
|
id: number;
|
|
datum: string; // YYYY-MM-DD
|
|
ort: Ort;
|
|
beginn: string; // HH:MM
|
|
ende: string; // HH:MM
|
|
reise_beginn: string; // HH:MM, leer wenn keine Reise
|
|
reise_ende: string; // HH:MM, leer wenn keine Reise
|
|
pause: number; // dezimale Stunden (Eingabe im Formular in Minuten)
|
|
vertriebsunterstuetzung: number; // dezimale Stunden
|
|
kommentar: string;
|
|
created_at: string;
|
|
}
|
|
|
|
// Eingabe-/Update-Nutzlast (ohne id/created_at)
|
|
export type ArbeitszeitInput = Omit<ArbeitszeitEintrag, 'id' | 'created_at'>;
|