feat: Grauwasserstand beim neuen Reisetag vom Vortag übernehmen

Übernimmt den Grauwasser-Füllstand analog zu Frischwasser und Kraftstoff
beim Anlegen eines Reisetags und zeigt ihn im Übernahme-Dialog an.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-31 13:54:57 +02:00
parent 73e86d28b3
commit 0bae3b29dc
5 changed files with 59 additions and 7 deletions
+13 -2
View File
@@ -48,6 +48,7 @@ export interface LogEntryTankSource {
export interface CarryOverFromPreviousDay {
freshwater: TankLevels
fuel: TankLevels
greywaterLevel: number
departure: string
}
@@ -60,6 +61,10 @@ export function formatTankLiters(liters: number): string {
return Number.isInteger(liters) ? String(liters) : liters.toFixed(1)
}
export function getClosingGreywaterLevel(greywater?: { level?: number } | null): number {
return Number(greywater?.level) || 0
}
export function carryOverTankLevelsFromPreviousDay(previousEntry?: LogEntryTankSource | null): { freshwater: TankLevels; fuel: TankLevels } {
if (!previousEntry) {
return { freshwater: emptyTankLevels(), fuel: emptyTankLevels() }
@@ -74,10 +79,16 @@ export function carryOverTankLevelsFromPreviousDay(previousEntry?: LogEntryTankS
export function carryOverFromPreviousDay(previousEntry?: LogEntryTankSource | null): CarryOverFromPreviousDay {
const { freshwater, fuel } = carryOverTankLevelsFromPreviousDay(previousEntry)
const departure = previousEntry?.destination?.trim() || ''
const greywaterLevel = getClosingGreywaterLevel(previousEntry?.greywater)
return { freshwater, fuel, departure }
return { freshwater, fuel, greywaterLevel, departure }
}
export function hasCarryOverFromPreviousDay(carryOver: CarryOverFromPreviousDay): boolean {
return carryOver.freshwater.morning > 0 || carryOver.fuel.morning > 0 || carryOver.departure.length > 0
return (
carryOver.freshwater.morning > 0 ||
carryOver.fuel.morning > 0 ||
carryOver.greywaterLevel > 0 ||
carryOver.departure.length > 0
)
}