fix(byt-ratt): bredda urvalet - alla lampliga ratter, inte bara det man har hemma

Ny 'swap'-vy i rekommendationsmotorn med lag tackningsvikt (30->6) sa
betyg/smak/ratt maltidstyp styr i stallet for 'har hemma'. Byt rätt-
skarmen anropar view=swap, kringgar vardags-tidsgransen och hojer limit
till 20. Loser: bara ~5 val vid byte.
This commit is contained in:
Claude
2026-08-19 23:33:32 +00:00
parent e3e3fdfd73
commit 5867a95d64
4 changed files with 43 additions and 5 deletions
+3 -1
View File
@@ -410,7 +410,9 @@ export async function recommendationRoutes(app: FastifyInstance) {
// maten de faktiskt bett om (spec §28) en kräftskiva eller ett bak tar
// tid. Tiden blir mjuk rankning i stället för diskvalificerande filter.
// En uttrycklig tidsgräns i förfrågan (q.maxMinutes) respekteras alltid.
const hasExplicitIntent = !!(q.holiday || q.tag || q.search);
// "swap" räknas som uttrycklig avsikt: byt rätt ska inte hårt gömmas av
// hushållets vardags-tidsgräns, annars kvar bara några få snabba rätter.
const hasExplicitIntent = !!(q.holiday || q.tag || q.search || q.view === "swap");
const ctx: RecommendationContext = {
mealType: q.mealType,
+4 -1
View File
@@ -34,8 +34,11 @@ export default function SwapMealScreen() {
const query = useQuery({
queryKey: ["swap-options", mealType],
// view=swap: bredda urvalet alla lämpliga rätter, inte bara det man har hemma.
queryFn: () =>
api<WhatToEatResponse>(`/v1/recommendations/what-to-eat?limit=10&mealType=${mealType}`),
api<WhatToEatResponse>(
`/v1/recommendations/what-to-eat?limit=20&view=swap&mealType=${mealType}`,
),
});
const swap = useMutation({