Implement ST-405 server-side day aggregates
This commit is contained in:
parent
c5ab2a40e4
commit
d99ce03416
5 changed files with 8 additions and 7 deletions
|
|
@ -134,6 +134,6 @@ zichtbaar als `NEXT_PUBLIC_ENABLE_TEST_WIZARD=true` staat.
|
|||
|
||||
## Eerstvolgende bouwstappen
|
||||
|
||||
1. `ST-405` Dagaggregaties server-side implementeren
|
||||
1. `ST-303` Autocomplete op eerdere activiteiten toevoegen
|
||||
2. `ST-105` RLS-policy tests en hardening afronden
|
||||
3. `npm run test` toevoegen aan CI
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ import { sanitizeNextPath } from "@/lib/auth/navigation";
|
|||
import { getAuthState } from "@/lib/auth/session";
|
||||
import { getTodayCheckInForCurrentUser } from "@/lib/check-in/service";
|
||||
import { getPlanningStatusToast } from "@/lib/feedback/status-messages";
|
||||
import { calculateDayOverviewSnapshot } from "@/lib/planning/day-overview";
|
||||
import { getPlanningPageDataForCurrentUser } from "@/lib/planning/service";
|
||||
import { calculatePlanningMeterSnapshot } from "@/lib/planning/meter";
|
||||
import { getProfileBundleForCurrentUser } from "@/lib/profile/service";
|
||||
|
|
@ -70,7 +69,6 @@ export default async function PlanningPage({ searchParams }: PlanningPageProps)
|
|||
planningPageData.activities,
|
||||
checkInStatus?.todayCheckIn?.dailyBudget ?? null,
|
||||
);
|
||||
const dayOverview = calculateDayOverviewSnapshot(planningPageData.activities);
|
||||
|
||||
return (
|
||||
<AppShell contentClassName="space-y-8">
|
||||
|
|
@ -154,7 +152,7 @@ export default async function PlanningPage({ searchParams }: PlanningPageProps)
|
|||
</aside>
|
||||
</section>
|
||||
|
||||
<DayOverviewCard overview={dayOverview} />
|
||||
<DayOverviewCard overview={planningPageData.dayOverview} />
|
||||
|
||||
<TodayActivitiesList
|
||||
activities={planningPageData.activities}
|
||||
|
|
|
|||
|
|
@ -92,8 +92,7 @@ Status: `ST-301`, `ST-302`, `ST-304` en `ST-305` zijn inmiddels gerealiseerd in
|
|||
|
||||
Doel: de kernloop afronden door geplande activiteiten te evalueren en terug te zien.
|
||||
|
||||
Status: `ST-401`, `ST-402`, `ST-403` en `ST-404` zijn inmiddels gerealiseerd in de app. De volgende
|
||||
logische stap ligt nu in `ST-405`.
|
||||
Status: `ST-401`, `ST-402`, `ST-403`, `ST-404` en `ST-405` zijn inmiddels gerealiseerd in de app. De evaluatielus voor release 1 is daarmee functioneel rond; de volgende logische stap ligt nu weer in `ST-303` en `EPIC-06`.
|
||||
|
||||
| Story ID | Titel | Type | Definition of done |
|
||||
| --- | --- | --- | --- |
|
||||
|
|
@ -101,7 +100,7 @@ logische stap ligt nu in `ST-405`.
|
|||
| ST-402 | Evaluatievelden toevoegen | UI | Afgerond: skip-reden en toelichting verschijnen passend per status en worden opgeslagen |
|
||||
| ST-403 | Ongeplande activiteiten ondersteunen | Build | Afgerond: ongeplande activiteit kan als ad-hoc item worden opgeslagen en telt mee in het dagtotaal |
|
||||
| ST-404 | Dagoverzicht bouwen | UI | Afgerond: planning toont nu gepland versus werkelijk en een directe statusverdeling van de dag |
|
||||
| ST-405 | Dagaggregaties server-side implementeren | Logic | Dagtotalen blijven consistent met individuele records |
|
||||
| ST-405 | Dagaggregaties server-side implementeren | Logic | Afgerond: dagoverzichttotalen worden nu server-side voorbereid via de planningservice en blijven consistent met individuele records |
|
||||
|
||||
## EPIC-06 Weekoverzicht en inzichten
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import { getAuthenticatedUser } from "@/lib/auth/session";
|
||||
import { calculateDayOverviewSnapshot } from "@/lib/planning/day-overview";
|
||||
import type {
|
||||
ActivityCategory,
|
||||
CreateAdHocActivitySubmission,
|
||||
|
|
@ -281,6 +282,7 @@ export async function getPlanningPageDataForCurrentUser(): Promise<PlanningPageD
|
|||
categories,
|
||||
skipReasons,
|
||||
activities: activitiesStatus?.activities ?? [],
|
||||
dayOverview: calculateDayOverviewSnapshot(activitiesStatus?.activities ?? []),
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import {
|
|||
ACTIVITY_SOURCE_VALUES,
|
||||
ACTIVITY_STATUS_VALUES,
|
||||
} from "@/lib/planning/options";
|
||||
import type { DayOverviewSnapshot } from "@/lib/planning/day-overview";
|
||||
|
||||
export type ActivitySource = (typeof ACTIVITY_SOURCE_VALUES)[number];
|
||||
export type ActivityStatus = (typeof ACTIVITY_STATUS_VALUES)[number];
|
||||
|
|
@ -83,4 +84,5 @@ export type PlanningPageData = {
|
|||
categories: ActivityCategory[];
|
||||
skipReasons: SkipReason[];
|
||||
activities: ActivityRecord[];
|
||||
dayOverview: DayOverviewSnapshot;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue