feat(vad-ska-vi-ata): identisk vy i alla flikar + enhetliga rutor

Alla kategori-flikar anvander nu SAMMA rekommendations-motor (what-to-eat)
som 'Rekommenderat', sa vyn blir identisk overallt:
- sok fungerar i alla flikar, %-hemma och stjarnor visas, samma kort-layout,
  och samma paginering med 'Visa fler' (5 at gangen).
- Backend: what-to-eat tar nu valfri ?tag= (Baka-fliken filtrerar pa 'baking'
  i stallet for maltidstyp; mealType styr bara poangsattningen).
- Enhetliga chip-rutor: Button far en style-prop, flikarna ligger i 2 kolumner
  med lika bred ruta (48%), centrerad text som krymper vid behov.
- 'Toppval' visas bara pa forsta sidan. 'Alla recept & sok' kvar som lank.

Full typecheck 20/20.
This commit is contained in:
Claude
2026-08-19 12:29:21 +00:00
parent 0a16f1fefa
commit 3d8bd68fe0
4 changed files with 147 additions and 170 deletions
+5 -2
View File
@@ -116,14 +116,17 @@ export async function recommendationRoutes(app: FastifyInstance) {
const strictestSpice = Math.min(...allPrefs.map((p) => p.spiceLevelMax), 5);
const myPrefs = allPrefs.find((p) => p.userId === req.userId);
// --- 3. Kandidater: publicerade recept för måltidstypen ---
// --- 3. Kandidater: publicerade recept för måltidstypen (eller taggen) ---
// Baka-fliken skickar tag=baking i stället för en måltidstyp.
const candidates = await app.db
.select()
.from(schema.recipes)
.where(
and(
eq(schema.recipes.status, "published"),
sql`${q.mealType} = ANY(${schema.recipes.mealTypes})`,
q.tag
? sql`${q.tag} = ANY(${schema.recipes.tags})`
: sql`${q.mealType} = ANY(${schema.recipes.mealTypes})`,
),
)
.limit(200);