8bff795247
- Sonderführung: neues Feld 'Name/Gruppe' (DB-Spalte SonderName), in Liste sichtbar - Wetter: Race-Condition behoben (API überschreibt DB-Werte beim Bearbeiten nicht mehr) - Zeiterfassung: TimePicker5 ersetzt durch freie Texteingabe (TimeInput) mit Validierung - Enter-Taste: navigiert zum nächsten Feld statt die Form abzuschicken; Luftdruck → zurück zu Art; Bemerkungen bleibt normal - Objektsuche: Freitext-Suche im ObjektSelector, filtert nach Präfix (case-insensitive) - UI-Anpassungen: kompakteres Layout (space-y-2, kleinere Abstände) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
63 lines
1.2 KiB
TypeScript
63 lines
1.2 KiB
TypeScript
export type Kuppel = 'West' | 'Ost' | 'Süd' | 'Pluto';
|
|
export type ArtFuehrung = 'RF' | 'SF' | 'PrF' | 'BEOS' | 'SonF' | 'TD' | 'Beob' | 'ToT' | 'Sonst';
|
|
|
|
export const KUPPELN: Kuppel[] = ['West', 'Ost', 'Süd', 'Pluto'];
|
|
|
|
export const ARTEN_MAP: Record<ArtFuehrung, string> = {
|
|
RF: 'regulär',
|
|
SF: 'sonder',
|
|
PrF: 'privat',
|
|
BEOS: '',
|
|
SonF: 'sonnen',
|
|
TD: '',
|
|
Beob: 'Beobachtung',
|
|
ToT: '',
|
|
Sonst: 'Sonstiges',
|
|
};
|
|
|
|
export const ARTEN = Object.keys(ARTEN_MAP) as ArtFuehrung[];
|
|
|
|
export function artLabel(a: ArtFuehrung): string {
|
|
return ARTEN_MAP[a] || a;
|
|
}
|
|
|
|
export interface BeoOption {
|
|
ID: number;
|
|
Kuerzel: string;
|
|
Name: string;
|
|
}
|
|
|
|
export interface ObjektOption {
|
|
ID: number;
|
|
Name: string;
|
|
}
|
|
|
|
export interface SelectedObjekt {
|
|
ID: number | null;
|
|
Name: string;
|
|
}
|
|
|
|
export interface Wetter {
|
|
temp: number;
|
|
feuchte: number;
|
|
druck: number;
|
|
}
|
|
|
|
export interface LogbuchEintrag {
|
|
ID: number;
|
|
Kuppel: Kuppel;
|
|
ArtFuehrung: ArtFuehrung;
|
|
SonderName: string | null;
|
|
Beginn: string;
|
|
Ende: string;
|
|
Besucher: number;
|
|
Bemerkungen: string | null;
|
|
WetterTemp: number | null;
|
|
WetterFeuchte: number | null;
|
|
WetterDruck: number | null;
|
|
created_by: number | null;
|
|
created_at: string;
|
|
BEOs: string;
|
|
Objekte: string;
|
|
}
|