diff --git a/src/app/dashboard/time-clock/page.tsx b/src/app/dashboard/time-clock/page.tsx index e37e555..47117ba 100644 --- a/src/app/dashboard/time-clock/page.tsx +++ b/src/app/dashboard/time-clock/page.tsx @@ -209,6 +209,12 @@ export default function TimeClockPage() { const completedEntries = entries.filter((e) => e.endedAt !== null); + // Live estimate for running timer, rounded up to 15-min increments (no minimum while running) + const estimatedHours = running ? Math.ceil(elapsed / 900) * 0.25 : 0; + const estimatedEarnings = running ? estimatedHours * (running.rate ?? 0) : 0; + const displayHours = (summary?.totalHours ?? 0) + estimatedHours; + const displayEarnings = (summary?.totalEarnings ?? 0) + estimatedEarnings; + return (

- {formatDuration(summary?.totalHours)} + {formatDuration(displayHours || undefined)}

+ {running && estimatedHours > 0 && ( +

+ +{formatDuration(estimatedHours)} est. +

+ )} @@ -246,8 +257,13 @@ export default function TimeClockPage() { Earnings

- {formatCurrency(summary?.totalEarnings ?? 0)} + {formatCurrency(displayEarnings)}

+ {running && estimatedEarnings > 0 && ( +

+ +{formatCurrency(estimatedEarnings)} est. +

+ )}