Files
Cibello-app/packages/database/src/seed/data/extra-recipes.ts
T
Claude d267effd6c fix(hogtider): alla svenska hogtider visar relevanta recept
Ratta slug-bugg: recept-taggen "grillsäsong" matchade aldrig event-sluggen
"grillsasong" (ASCII) sa grillsäsong-knappen visade inget. Nu ratt.

15 nya hogtidsrecept taggade med exakt SE-event-slug: rodbetssallad, rodkal,
senapssill, stekt prinskorv, kokta kraftor med krondill, aioli, ostbricka,
farskpotatis med dill, agghalvor med rakror, rakcocktail, grillspett med
halloumi, grillad kycklingfile, pastasallad i matladan, tillbehor till
surstromming, kryddig kyckling med ris.

Omtaggar befintliga recept till ratt hogtid: vasterbottensostpaj +kraftskiva,
grekisk-sallad +grillsasong, chili/spaghetti +skolstart, chokladtarta
+alla-hjartans-dag, tomatsoppa +halloween, korvgratang +oktoberfest,
halloumiburgare +valborg.

Alla 14 SE-hogtider har nu minst ett korrekt taggat recept. Naring och
enheter ar berakningsbara for alla 74 extrarecept (invarianttest gront,
repo-typecheck gront).
2026-08-19 14:39:32 +00:00

3078 lines
118 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { SeedRecipe } from "./recipes.js";
/**
* Extra redaktionella recept (spec §1415) egna formuleringar, sourceType
* own_editorial. Fyller upp de glesa kategorierna (frukost/lunch/mellanmål/
* efterrätt/bak) så bläddra-vyn och "Vad ska vi äta?" har mer att välja på.
*
* HÅRDA REGLER (annars kraschar seed):
* - Varje `ing` MÅSTE finnas i SEED_INGREDIENTS (annars kastar run.ts rad 675).
* - (ing, unit) måste vara beräkningsbar: GRAM/KILOGRAM alltid; volym kräver
* density; COUNT kräver gramsPerPiece (annars kastar run.ts rad 691).
* - Näring + allergener härleds automatiskt ur ingredienserna vid seed.
*
* Alla ingrediens/enhet-par nedan är verifierade mot katalogen.
*/
export const EXTRA_RECIPES: SeedRecipe[] = [
// ---------------------------------------------------------------------------
// BAK (tag: baking)
// ---------------------------------------------------------------------------
{
slug: "kanelbullar",
titleSv: "Kanelbullar",
descriptionSv:
"Mjuka, saftiga bullar med smörig kanelfyllning den självklara fikan att baka en söndag.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "bun", "vegetarian", "kid_friendly"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "medium",
prepMin: 45,
cookMin: 12,
portions: 24,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: ["fika"],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: [],
dnaFlavor: ["sweet", "cinnamon", "cardamom", "buttery"],
verificationStatus: "editorial",
ingredients: [
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 650, unit: "GRAM", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 3, unit: "DECILITER", optional: false },
{ ing: "yeast_fresh", nameSv: "Jäst", qty: 25, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 175, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 150, unit: "GRAM", optional: false },
{ ing: "cardamom", nameSv: "Kardemumma", qty: 3, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "egg", nameSv: "Ägg", qty: 1, unit: "COUNT", optional: false },
{ ing: "cinnamon", nameSv: "Kanel", qty: 3, unit: "TEASPOON", optional: false },
],
steps: [
{
text: "Smält 75 g av smöret och rör ner mjölken. Värm till fingervarmt (37 °C) och lös upp jästen i vätskan.",
},
{
text: "Blanda i socker (spara 50 g till fyllningen), stött kardemumma, salt och det mesta av mjölet. Arbeta degen smidig i 810 minuter och låt jäsa under bakduk i 40 minuter.",
},
{
text: "Kavla ut degen till en rektangel. Bred på resten av det mjuka smöret och strö över kanel och det sparade sockret.",
},
{ text: "Rulla ihop, skär 24 bullar och lägg i formar. Jäs 30 minuter till." },
{
text: "Pensla med uppvispat ägg och grädda mitt i ugnen tills gyllenbruna.",
temperatureC: 225,
},
],
},
{
slug: "kardemummabullar",
titleSv: "Kardemummabullar",
descriptionSv: "Doftande bullar där kardemumman får ta plats både i degen och i fyllningen.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "bun", "vegetarian", "kid_friendly"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "medium",
prepMin: 45,
cookMin: 12,
portions: 24,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: ["fika"],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: [],
dnaFlavor: ["sweet", "cardamom", "buttery"],
verificationStatus: "editorial",
ingredients: [
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 650, unit: "GRAM", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 3, unit: "DECILITER", optional: false },
{ ing: "yeast_fresh", nameSv: "Jäst", qty: 25, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 175, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 150, unit: "GRAM", optional: false },
{ ing: "cardamom", nameSv: "Kardemumma", qty: 8, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "egg", nameSv: "Ägg", qty: 1, unit: "COUNT", optional: false },
],
steps: [
{
text: "Smält 75 g smör, rör ner mjölken och värm till fingervarmt. Lös upp jästen i vätskan.",
},
{
text: "Blanda i hälften av sockret, hälften av den stötta kardemumman, salt och mjölet. Arbeta degen smidig och låt jäsa 40 minuter under bakduk.",
},
{ text: "Kavla ut, bred på det mjuka smöret och strö över resten av socker och kardemumma." },
{ text: "Rulla, skär 24 bullar, lägg i formar och jäs 30 minuter." },
{ text: "Pensla med ägg och grädda gyllenbruna mitt i ugnen.", temperatureC: 225 },
],
},
{
slug: "appelsmulpaj",
titleSv: "Äppelsmulpaj",
descriptionSv:
"Syrliga äpplen under ett gyllene lock av havregryn och smör ljummen med grädde är den oslagbar.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "pie", "vegetarian"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 15,
cookMin: 25,
portions: 6,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: true,
peakSeasons: ["autumn"],
holidayTags: [],
variantType: "standard",
dnaCarb: "oats",
dnaVegetables: [],
dnaFlavor: ["sweet", "cinnamon", "apple"],
verificationStatus: "editorial",
ingredients: [
{ ing: "apple", nameSv: "Äpple", qty: 6, unit: "COUNT", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 100, unit: "GRAM", optional: false },
{ ing: "cinnamon", nameSv: "Kanel", qty: 2, unit: "TEASPOON", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 100, unit: "GRAM", optional: false },
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 150, unit: "GRAM", optional: false },
{ ing: "oats", nameSv: "Havregryn", qty: 100, unit: "GRAM", optional: false },
],
steps: [
{
text: "Skala och skär äpplena i klyftor. Lägg i en smord form och blanda med kanel och hälften av sockret.",
},
{ text: "Nyp ihop smör, mjöl, havregryn och resten av sockret till ett grovt smul." },
{
text: "Fördela smulet över äpplena och grädda mitt i ugnen tills locket är gyllene och äpplena mjuka.",
temperatureC: 200,
},
{ text: "Servera ljummen med vispad grädde." },
],
},
{
slug: "frallor",
titleSv: "Frukostfrallor",
descriptionSv:
"Nygräddade frallor med krispig skorpa och luftigt inkråm perfekta till frukostbordet.",
cuisine: "swedish",
mealTypes: ["breakfast"],
tags: ["baking", "bread", "vegetarian"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "medium",
prepMin: 30,
cookMin: 12,
portions: 12,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: [],
dnaFlavor: ["bread", "mild"],
verificationStatus: "editorial",
ingredients: [
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 600, unit: "GRAM", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 3, unit: "DECILITER", optional: false },
{ ing: "yeast_fresh", nameSv: "Jäst", qty: 25, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 50, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1.5, unit: "TEASPOON", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 15, unit: "GRAM", optional: false },
],
steps: [
{ text: "Smält smöret, rör ner mjölken och värm till fingervarmt. Lös upp jästen." },
{
text: "Tillsätt salt, socker och mjöl och arbeta degen smidig. Låt jäsa 40 minuter under bakduk.",
},
{ text: "Forma 12 runda frallor, lägg på plåt och jäs 30 minuter till." },
{
text: "Grädda högt upp i ugnen tills frallorna är gyllene och låter ihåliga när man knackar på undersidan.",
temperatureC: 250,
},
],
},
// ---------------------------------------------------------------------------
// FRUKOST
// ---------------------------------------------------------------------------
{
slug: "havregrynsgrot-med-apple",
titleSv: "Havregrynsgröt med äpple och kanel",
descriptionSv: "Krämig gröt kokt på mjölk, riven äpple och en nypa kanel. Klar på tio minuter.",
cuisine: "swedish",
mealTypes: ["breakfast"],
tags: ["vegetarian", "kid_friendly", "quick", "budget"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 2,
cookMin: 6,
portions: 2,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaCarb: "oats",
dnaVegetables: [],
dnaFlavor: ["mild", "cinnamon", "apple"],
verificationStatus: "editorial",
ingredients: [
{ ing: "oats", nameSv: "Havregryn", qty: 80, unit: "GRAM", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 5, unit: "DECILITER", optional: false },
{ ing: "apple", nameSv: "Äpple", qty: 1, unit: "COUNT", optional: false },
{ ing: "cinnamon", nameSv: "Kanel", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Koka upp mjölken i en kastrull och häll i havregrynen." },
{ text: "Sjud under omrörning i cirka 5 minuter tills gröten är krämig." },
{ text: "Riv ner äpplet, rör i kanel och salt och servera direkt." },
],
},
{
slug: "bar-banansmoothie",
titleSv: "Bär- och banansmoothie",
descriptionSv:
"Krämig smoothie på yoghurt, banan och jordgubbar snabb frukost eller mellanmål.",
cuisine: "international",
mealTypes: ["breakfast", "snack"],
tags: ["vegetarian", "kid_friendly", "quick"],
methods: ["no_cook"],
equipment: ["blender"],
difficulty: "beginner",
prepMin: 5,
cookMin: 0,
portions: 2,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["fruity", "creamy", "sweet"],
verificationStatus: "editorial",
ingredients: [
{ ing: "banana", nameSv: "Banan", qty: 1, unit: "COUNT", optional: false },
{ ing: "strawberry", nameSv: "Jordgubbar", qty: 150, unit: "GRAM", optional: false },
{
ing: "yoghurt_natural",
nameSv: "Naturell yoghurt",
qty: 3,
unit: "DECILITER",
optional: false,
},
{ ing: "honey", nameSv: "Honung", qty: 20, unit: "GRAM", optional: true },
{ ing: "oats", nameSv: "Havregryn", qty: 20, unit: "GRAM", optional: true },
],
steps: [
{ text: "Lägg banan, jordgubbar, yoghurt, honung och havregryn i en mixer." },
{ text: "Mixa slätt och häll upp i glas. Späd med lite vatten om du vill ha den tunnare." },
],
},
{
slug: "aggrora-pa-surdeg",
titleSv: "Krämig äggröra på surdeg",
descriptionSv: "Len äggröra på rågat smör serverad på rostat surdegsbröd med riven ost.",
cuisine: "swedish",
mealTypes: ["breakfast"],
tags: ["vegetarian", "high_protein", "quick"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 5,
cookMin: 5,
portions: 2,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaProtein: "egg",
dnaVegetables: [],
dnaFlavor: ["savory", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "egg", nameSv: "Ägg", qty: 4, unit: "COUNT", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 0.5, unit: "DECILITER", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 15, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
{ ing: "black_pepper", nameSv: "Svartpeppar", qty: 1, unit: "MILLILITER", optional: false },
{ ing: "bread_sourdough", nameSv: "Surdegsbröd", qty: 2, unit: "COUNT", optional: false },
{ ing: "cheese_hard", nameSv: "Hårdost", qty: 40, unit: "GRAM", optional: true },
],
steps: [
{ text: "Vispa ihop ägg, mjölk, salt och peppar." },
{ text: "Smält smöret i en kastrull på låg värme och häll i äggen." },
{
text: "Rör långsamt tills äggröran är krämig men helt stannad och inte längre rinnig.",
tip: "Ta av från värmen strax innan den känns färdig den efterstelnar.",
},
{ text: "Rosta brödet, toppa med äggröran och riven ost." },
],
},
// ---------------------------------------------------------------------------
// MELLANMÅL (fyller den tomma kategorin)
// ---------------------------------------------------------------------------
{
slug: "kvarg-med-bar-och-honung",
titleSv: "Kvarg med bär och honung",
descriptionSv: "Proteinrikt mellanmål: krämig kvarg med jordgubbar, honung och lite knaprigt.",
cuisine: "international",
mealTypes: ["snack"],
tags: ["vegetarian", "high_protein", "quick"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 3,
cookMin: 0,
portions: 1,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["creamy", "sweet", "fruity"],
verificationStatus: "editorial",
ingredients: [
{ ing: "quark", nameSv: "Kvarg", qty: 200, unit: "GRAM", optional: false },
{ ing: "strawberry", nameSv: "Jordgubbar", qty: 100, unit: "GRAM", optional: false },
{ ing: "honey", nameSv: "Honung", qty: 15, unit: "GRAM", optional: false },
{ ing: "oats", nameSv: "Havregryn", qty: 20, unit: "GRAM", optional: true },
],
steps: [
{ text: "Lägg upp kvargen i en skål." },
{ text: "Toppa med jordgubbar, en skvätt honung och lite havregryn för knaprighet." },
],
},
{
slug: "appelklyftor-med-jordnotssmor",
titleSv: "Äppelklyftor med jordnötssmör",
descriptionSv: "Snabbt och mättande mellanmål med krispigt äpple och krämigt jordnötssmör.",
cuisine: "international",
mealTypes: ["snack"],
tags: ["vegetarian", "kid_friendly", "quick"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 3,
cookMin: 0,
portions: 1,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["fruity", "nutty"],
verificationStatus: "editorial",
ingredients: [
{ ing: "apple", nameSv: "Äpple", qty: 1, unit: "COUNT", optional: false },
{ ing: "peanut_butter", nameSv: "Jordnötssmör", qty: 30, unit: "GRAM", optional: false },
],
steps: [
{ text: "Skär äpplet i klyftor och ta bort kärnhuset." },
{ text: "Servera med jordnötssmör att doppa i." },
],
},
{
slug: "rostade-kikartor",
titleSv: "Rostade kikärtor",
descriptionSv: "Krispiga, kryddiga kikärtor från ugnen ett vegetariskt snacks med sting.",
cuisine: "international",
mealTypes: ["snack"],
tags: ["vegan", "budget", "high_protein"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 5,
cookMin: 25,
portions: 4,
spiceLevel: 1,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["savory", "spiced", "crispy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "chickpeas_canned", nameSv: "Kikärtor", qty: 400, unit: "GRAM", optional: false },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 2, unit: "TABLESPOON", optional: false },
{ ing: "paprika_powder", nameSv: "Paprikapulver", qty: 2, unit: "TEASPOON", optional: false },
{ ing: "cumin", nameSv: "Spiskummin", qty: 1, unit: "TEASPOON", optional: true },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Skölj och låt kikärtorna rinna av väl. Torka dem torra i en handduk." },
{ text: "Blanda kikärtorna med olja, paprikapulver, spiskummin och salt." },
{
text: "Rosta på plåt tills de är gyllene och krispiga, skaka om halvvägs.",
temperatureC: 200,
},
],
},
// ---------------------------------------------------------------------------
// EFTERRÄTT
// ---------------------------------------------------------------------------
{
slug: "risgrynsgrot",
titleSv: "Risgrynsgröt",
descriptionSv:
"Krämig risgrynsgröt kokt på mjölk, serverad med kanel och socker. Klassisk frukost och självklar på julbordet.",
cuisine: "swedish",
mealTypes: ["breakfast"],
tags: ["vegetarian", "kid_friendly", "budget"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 5,
cookMin: 40,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: ["winter"],
holidayTags: ["jul"],
variantType: "standard",
dnaCarb: "rice_white",
dnaVegetables: [],
dnaFlavor: ["creamy", "cinnamon", "mild"],
verificationStatus: "editorial",
ingredients: [
{ ing: "rice_white", nameSv: "Ris", qty: 200, unit: "GRAM", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 8, unit: "DECILITER", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 20, unit: "GRAM", optional: false },
{ ing: "cinnamon", nameSv: "Kanel", qty: 2, unit: "TEASPOON", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 10, unit: "GRAM", optional: true },
],
steps: [
{ text: "Koka riset i 2 dl vatten några minuter tills vattnet sugits upp." },
{
text: "Häll i mjölken och sjud på låg värme under omrörning i 3540 minuter tills gröten är krämig.",
},
{ text: "Rör i salt och servera med kanel, socker och en klick smör." },
],
},
{
slug: "jordgubbar-med-gradde",
titleSv: "Jordgubbar med vispad grädde",
descriptionSv: "Sommarens enklaste efterrätt: söta jordgubbar och lätt vispad grädde.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["vegetarian", "quick"],
methods: ["no_cook"],
equipment: ["hand_mixer"],
difficulty: "beginner",
prepMin: 10,
cookMin: 0,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: ["midsommar"],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["fruity", "creamy", "sweet"],
verificationStatus: "editorial",
ingredients: [
{ ing: "strawberry", nameSv: "Jordgubbar", qty: 400, unit: "GRAM", optional: false },
{ ing: "cream", nameSv: "Vispgrädde", qty: 2, unit: "DECILITER", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 15, unit: "GRAM", optional: true },
],
steps: [
{
text: "Skölj och dela jordgubbarna. Strö eventuellt över lite socker och låt stå några minuter.",
},
{ text: "Vispa grädden lätt och fluffig." },
{ text: "Servera jordgubbarna med grädden." },
],
},
{
slug: "bananglass",
titleSv: "Bananglass med jordnötssmör",
descriptionSv: "Krämig glass helt utan tillsatt socker bara frusen banan och jordnötssmör.",
cuisine: "international",
mealTypes: ["dessert", "snack"],
tags: ["vegan", "kid_friendly"],
methods: ["no_cook"],
equipment: ["blender"],
difficulty: "beginner",
prepMin: 10,
cookMin: 0,
portions: 2,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: true,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["sweet", "nutty", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "banana", nameSv: "Banan", qty: 3, unit: "COUNT", optional: false },
{ ing: "peanut_butter", nameSv: "Jordnötssmör", qty: 20, unit: "GRAM", optional: true },
],
steps: [
{ text: "Skala bananerna, skiva och frys minst 3 timmar." },
{ text: "Mixa den frusna bananen med jordnötssmör till en krämig glass. Servera direkt." },
],
},
// ---------------------------------------------------------------------------
// LUNCH
// ---------------------------------------------------------------------------
{
slug: "morots-och-linssoppa",
titleSv: "Krämig morots- och linssoppa",
descriptionSv:
"Matig, len soppa på morötter och röda linser med kokosmjölk och en värmande touch av spiskummin.",
cuisine: "international",
mealTypes: ["lunch", "dinner"],
tags: ["vegan", "budget", "batch_cooking"],
methods: ["stovetop"],
equipment: ["stove", "blender"],
difficulty: "beginner",
prepMin: 10,
cookMin: 25,
portions: 4,
spiceLevel: 1,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: ["autumn", "winter"],
holidayTags: [],
variantType: "standard",
dnaVegetables: ["carrot", "onion"],
dnaFlavor: ["savory", "spiced", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "carrot", nameSv: "Morot", qty: 5, unit: "COUNT", optional: false },
{ ing: "red_lentils", nameSv: "Röda linser", qty: 200, unit: "GRAM", optional: false },
{ ing: "onion", nameSv: "Gul lök", qty: 1, unit: "COUNT", optional: false },
{ ing: "garlic", nameSv: "Vitlök", qty: 2, unit: "COUNT", optional: false },
{ ing: "coconut_milk", nameSv: "Kokosmjölk", qty: 2, unit: "DECILITER", optional: false },
{
ing: "vegetable_stock_cube",
nameSv: "Grönsaksbuljongtärning",
qty: 2,
unit: "COUNT",
optional: false,
},
{ ing: "olive_oil", nameSv: "Olivolja", qty: 1, unit: "TABLESPOON", optional: false },
{ ing: "cumin", nameSv: "Spiskummin", qty: 2, unit: "TEASPOON", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "black_pepper", nameSv: "Svartpeppar", qty: 1, unit: "MILLILITER", optional: false },
],
steps: [
{
text: "Fräs hackad lök och vitlök mjuka i oljan. Rör i spiskummin och låt fräsa någon minut.",
},
{
text: "Tillsätt skalade och skivade morötter, sköljda linser, smulade buljongtärningar och 8 dl vatten. Sjud tills morötter och linser är helt mjuka, cirka 20 minuter.",
},
{ text: "Mixa soppan slät och rör ner kokosmjölken. Smaka av med salt och peppar." },
{ text: "Späd med lite vatten om du vill ha den tunnare och servera med bröd." },
],
},
{
slug: "rakmacka",
titleSv: "Klassisk räkmacka",
descriptionSv: "Generös räkmacka på surdeg med ägg, majonnäs, gurka och dill.",
cuisine: "swedish",
mealTypes: ["lunch"],
tags: ["high_protein"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 15,
cookMin: 8,
portions: 2,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaProtein: "shrimp",
dnaVegetables: [],
dnaFlavor: ["fresh", "savory"],
verificationStatus: "editorial",
ingredients: [
{ ing: "bread_sourdough", nameSv: "Surdegsbröd", qty: 2, unit: "COUNT", optional: false },
{ ing: "shrimp", nameSv: "Räkor", qty: 150, unit: "GRAM", optional: false },
{ ing: "egg", nameSv: "Ägg", qty: 2, unit: "COUNT", optional: false },
{ ing: "mayonnaise", nameSv: "Majonnäs", qty: 40, unit: "GRAM", optional: false },
{ ing: "lemon", nameSv: "Citron", qty: 0.5, unit: "COUNT", optional: false },
{ ing: "cucumber", nameSv: "Gurka", qty: 0.25, unit: "COUNT", optional: true },
{ ing: "dill", nameSv: "Dill", qty: 5, unit: "GRAM", optional: true },
{ ing: "lettuce", nameSv: "Sallad", qty: 0.25, unit: "COUNT", optional: true },
],
steps: [
{ text: "Koka äggen hårda i 8 minuter, spola kalla och skala." },
{ text: "Lägg salladsblad på brödet, klicka på majonnäs och lägg på skivat ägg och gurka." },
{ text: "Toppa med räkor, dill och en citronklyfta att pressa över." },
],
},
{
slug: "halloumi-kikartssallad",
titleSv: "Halloumi- och kikärtssallad",
descriptionSv:
"Matig sallad med stekt halloumi, kikärtor och krispiga grönsaker i citrondressing.",
cuisine: "international",
mealTypes: ["lunch", "dinner"],
tags: ["vegetarian", "high_protein"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 10,
cookMin: 8,
portions: 2,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaProtein: "halloumi",
dnaVegetables: ["tomato", "cucumber"],
dnaFlavor: ["savory", "fresh"],
verificationStatus: "editorial",
ingredients: [
{ ing: "halloumi", nameSv: "Halloumi", qty: 200, unit: "GRAM", optional: false },
{ ing: "chickpeas_canned", nameSv: "Kikärtor", qty: 200, unit: "GRAM", optional: false },
{ ing: "tomato", nameSv: "Tomat", qty: 2, unit: "COUNT", optional: false },
{ ing: "cucumber", nameSv: "Gurka", qty: 0.5, unit: "COUNT", optional: false },
{ ing: "red_onion", nameSv: "Rödlök", qty: 0.5, unit: "COUNT", optional: true },
{ ing: "lettuce", nameSv: "Sallad", qty: 0.5, unit: "COUNT", optional: true },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 2, unit: "TABLESPOON", optional: false },
{ ing: "lemon", nameSv: "Citron", qty: 0.5, unit: "COUNT", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
{ ing: "black_pepper", nameSv: "Svartpeppar", qty: 1, unit: "MILLILITER", optional: false },
],
steps: [
{ text: "Skiva halloumin och stek gyllene på båda sidor i lite av oljan." },
{ text: "Hacka tomat, gurka, rödlök och sallad och blanda med avrunna kikärtor." },
{ text: "Ringla över resten av oljan och pressad citron, salta och peppra." },
{ text: "Toppa salladen med den varma halloumin och servera direkt." },
],
},
// ---------------------------------------------------------------------------
// BAK & EFTERRÄTT (möjliga tack vare den breddade katalogen)
// ---------------------------------------------------------------------------
{
slug: "kladdkaka",
titleSv: "Kladdkaka",
descriptionSv:
"Seg, kladdig chokladkaka med krispig yta klar på en kvart plus ugnstid. Godast lite kladdig i mitten.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "cake", "vegetarian", "kid_friendly"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 10,
cookMin: 20,
portions: 8,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: true,
peakSeasons: [],
holidayTags: ["fika"],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: [],
dnaFlavor: ["sweet", "chocolate"],
verificationStatus: "editorial",
ingredients: [
{ ing: "butter", nameSv: "Smör", qty: 100, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 250, unit: "GRAM", optional: false },
{ ing: "egg", nameSv: "Ägg", qty: 2, unit: "COUNT", optional: false },
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 120, unit: "GRAM", optional: false },
{ ing: "cocoa", nameSv: "Kakao", qty: 40, unit: "GRAM", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Smält smöret och låt svalna något. Vispa ihop socker och ägg." },
{
text: "Rör ner mjöl, kakao, vaniljsocker och salt och blanda i det smälta smöret till en slät smet.",
},
{ text: "Häll smeten i en smord och bröad form.", tip: "Använd en form på cirka 24 cm." },
{
text: "Grädda mitt i ugnen tills ytan stelnat men mitten fortfarande är kladdig, cirka 1820 minuter. Låt kallna helt innan servering.",
temperatureC: 175,
},
],
},
{
slug: "chokladbollar",
titleSv: "Chokladbollar",
descriptionSv:
"Klassiska, snabba chokladbollar rullade i kokos inget bak, bara att röra ihop.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "cookie", "vegetarian", "kid_friendly"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 15,
cookMin: 0,
portions: 20,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: ["fika"],
variantType: "standard",
dnaCarb: "oats",
dnaVegetables: [],
dnaFlavor: ["sweet", "chocolate"],
verificationStatus: "editorial",
ingredients: [
{ ing: "oats", nameSv: "Havregryn", qty: 300, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 100, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 100, unit: "GRAM", optional: false },
{ ing: "cocoa", nameSv: "Kakao", qty: 30, unit: "GRAM", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
{ ing: "desiccated_coconut", nameSv: "Kokosflingor", qty: 50, unit: "GRAM", optional: false },
],
steps: [
{ text: "Rör ihop mjukt smör, socker, kakao och vaniljsocker till en slät smet." },
{ text: "Blanda i havregrynen och arbeta ihop till en fast massa." },
{ text: "Rulla bollar och rulla dem i kokos. Låt stelna i kylen minst 30 minuter." },
],
},
{
slug: "blabarssmulpaj",
titleSv: "Blåbärssmulpaj",
descriptionSv:
"Söta blåbär under ett gyllene smul av smör och havregryn sommarens självklara paj.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "pie", "vegetarian"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 15,
cookMin: 25,
portions: 6,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: true,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaCarb: "oats",
dnaVegetables: [],
dnaFlavor: ["sweet", "fruity"],
verificationStatus: "editorial",
ingredients: [
{ ing: "blueberry", nameSv: "Blåbär", qty: 500, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 80, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 100, unit: "GRAM", optional: false },
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 150, unit: "GRAM", optional: false },
{ ing: "oats", nameSv: "Havregryn", qty: 80, unit: "GRAM", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
],
steps: [
{ text: "Fördela blåbären i en smord form och strö över hälften av sockret." },
{
text: "Nyp ihop smör, mjöl, havregryn, vaniljsocker och resten av sockret till ett grovt smul.",
},
{
text: "Fördela smulet över bären och grädda mitt i ugnen tills gyllene, cirka 25 minuter.",
temperatureC: 200,
},
{ text: "Servera ljummen med vispad grädde eller vaniljyoghurt." },
],
},
{
slug: "sockerkaka",
titleSv: "Sockerkaka",
descriptionSv:
"Luftig, saftig sockerkaka den enklaste kakan att baka och alltid lika uppskattad till fikat.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "cake", "vegetarian", "kid_friendly"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 15,
cookMin: 40,
portions: 10,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: true,
peakSeasons: [],
holidayTags: ["fika"],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: [],
dnaFlavor: ["sweet", "vanilla"],
verificationStatus: "editorial",
ingredients: [
{ ing: "egg", nameSv: "Ägg", qty: 3, unit: "COUNT", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 200, unit: "GRAM", optional: false },
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 180, unit: "GRAM", optional: false },
{ ing: "baking_powder", nameSv: "Bakpulver", qty: 10, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 100, unit: "GRAM", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 1, unit: "DECILITER", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
],
steps: [
{ text: "Vispa ägg och socker riktigt pösigt och ljust." },
{ text: "Smält smöret tillsammans med mjölken och låt svalna något." },
{
text: "Vänd ner mjöl, bakpulver och vaniljsocker i äggsmeten och rör sedan i smör och mjölk.",
},
{
text: "Häll smeten i en smord och bröad sockerkaksform och grädda i nedre delen av ugnen tills en sticka kommer ut torr, cirka 40 minuter.",
temperatureC: 175,
},
],
},
{
slug: "morotskaka",
titleSv: "Morotskaka",
descriptionSv: "Saftig, kryddig morotskaka med valnötter mumsig till kaffet.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "cake", "vegetarian"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "medium",
prepMin: 20,
cookMin: 35,
portions: 12,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: true,
peakSeasons: [],
holidayTags: ["fika"],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: ["carrot"],
dnaFlavor: ["sweet", "cinnamon", "nutty"],
verificationStatus: "editorial",
ingredients: [
{ ing: "carrot", nameSv: "Morot", qty: 4, unit: "COUNT", optional: false },
{ ing: "egg", nameSv: "Ägg", qty: 3, unit: "COUNT", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 200, unit: "GRAM", optional: false },
{ ing: "rapeseed_oil", nameSv: "Rapsolja", qty: 1.5, unit: "DECILITER", optional: false },
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 200, unit: "GRAM", optional: false },
{ ing: "baking_powder", nameSv: "Bakpulver", qty: 10, unit: "GRAM", optional: false },
{ ing: "cinnamon", nameSv: "Kanel", qty: 2, unit: "TEASPOON", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
{ ing: "walnut", nameSv: "Valnötter", qty: 75, unit: "GRAM", optional: true },
],
steps: [
{ text: "Riv morötterna fint. Vispa ägg, socker och olja pösigt." },
{
text: "Blanda i mjöl, bakpulver, kanel och vaniljsocker och rör sedan ner morötter och hackade valnötter.",
},
{
text: "Häll smeten i en smord form och grädda mitt i ugnen tills en sticka kommer ut torr, cirka 35 minuter.",
temperatureC: 175,
},
],
},
{
slug: "vaniljbullar",
titleSv: "Vaniljbullar",
descriptionSv: "Mjuka bullar med vaniljfyllning och pärlsocker ett annat namn på söndagsmys.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "bun", "vegetarian", "kid_friendly"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "medium",
prepMin: 45,
cookMin: 12,
portions: 24,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: ["fika"],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: [],
dnaFlavor: ["sweet", "vanilla", "buttery"],
verificationStatus: "editorial",
ingredients: [
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 650, unit: "GRAM", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 3, unit: "DECILITER", optional: false },
{ ing: "yeast_fresh", nameSv: "Jäst", qty: 25, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 175, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 150, unit: "GRAM", optional: false },
{ ing: "cardamom", nameSv: "Kardemumma", qty: 2, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "egg", nameSv: "Ägg", qty: 1, unit: "COUNT", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 20, unit: "GRAM", optional: false },
{ ing: "pearl_sugar", nameSv: "Pärlsocker", qty: 30, unit: "GRAM", optional: true },
],
steps: [
{
text: "Smält 75 g smör, rör ner mjölken och värm till fingervarmt. Lös upp jästen i vätskan.",
},
{
text: "Blanda i hälften av sockret, kardemumma, salt och mjölet. Arbeta degen smidig och låt jäsa 40 minuter.",
},
{
text: "Kavla ut, bred på resten av det mjuka smöret och strö över resten av sockret blandat med vaniljsocker.",
},
{ text: "Rulla ihop, skär 24 bullar och jäs 30 minuter till." },
{
text: "Pensla med uppvispat ägg, strö över pärlsocker och grädda gyllenbruna mitt i ugnen.",
temperatureC: 225,
},
],
},
// ---------------------------------------------------------------------------
// EFTERRÄTT & FRUKOST/MELLANMÅL (fler alternativ)
// ---------------------------------------------------------------------------
{
slug: "fruktsallad",
titleSv: "Fruktsallad",
descriptionSv: "Fräsch fruktsallad med äpple, päron, apelsin och blåbär nyttig och snabb.",
cuisine: "international",
mealTypes: ["dessert", "snack"],
tags: ["vegan", "kid_friendly", "quick"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 10,
cookMin: 0,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["fruity", "fresh", "sweet"],
verificationStatus: "editorial",
ingredients: [
{ ing: "apple", nameSv: "Äpple", qty: 1, unit: "COUNT", optional: false },
{ ing: "pear", nameSv: "Päron", qty: 1, unit: "COUNT", optional: false },
{ ing: "orange", nameSv: "Apelsin", qty: 1, unit: "COUNT", optional: false },
{ ing: "banana", nameSv: "Banan", qty: 1, unit: "COUNT", optional: false },
{ ing: "blueberry", nameSv: "Blåbär", qty: 100, unit: "GRAM", optional: false },
],
steps: [
{ text: "Tärna äpple, päron och banan. Skala och dela apelsinen i bitar." },
{
text: "Blanda frukten med blåbären och pressa gärna över lite apelsinsaft. Servera direkt.",
},
],
},
{
slug: "rabarberkompott",
titleSv: "Rabarberkompott",
descriptionSv: "Syrlig-söt rabarberkompott god till gröt, yoghurt eller glass.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["vegan", "quick"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 5,
cookMin: 15,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: ["spring", "summer"],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["fruity", "tart", "sweet"],
verificationStatus: "editorial",
ingredients: [
{ ing: "rhubarb", nameSv: "Rabarber", qty: 500, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 100, unit: "GRAM", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
],
steps: [
{ text: "Skölj och skär rabarbern i bitar." },
{ text: "Lägg rabarber, socker, vaniljsocker och en skvätt vatten i en kastrull." },
{
text: "Sjud under lock tills rabarbern faller sönder, cirka 1015 minuter. Servera ljummen eller kall.",
},
],
},
{
slug: "keso-med-bar-och-notter",
titleSv: "Keso med bär och nötter",
descriptionSv: "Proteinrik frukost eller mellanmål: krämig keso med bär, valnötter och honung.",
cuisine: "international",
mealTypes: ["breakfast", "snack"],
tags: ["vegetarian", "high_protein", "quick"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 3,
cookMin: 0,
portions: 1,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["creamy", "fruity", "nutty"],
verificationStatus: "editorial",
ingredients: [
{ ing: "cottage_cheese", nameSv: "Keso", qty: 200, unit: "GRAM", optional: false },
{ ing: "blueberry", nameSv: "Blåbär", qty: 75, unit: "GRAM", optional: false },
{ ing: "raspberry", nameSv: "Hallon", qty: 50, unit: "GRAM", optional: true },
{ ing: "walnut", nameSv: "Valnötter", qty: 20, unit: "GRAM", optional: false },
{ ing: "honey", nameSv: "Honung", qty: 15, unit: "GRAM", optional: true },
],
steps: [
{ text: "Lägg upp keson i en skål." },
{ text: "Toppa med blåbär, hallon, hackade valnötter och en skvätt honung." },
],
},
// ---------------------------------------------------------------------------
// LUNCH & MIDDAG (mer variation)
// ---------------------------------------------------------------------------
{
slug: "tonfiskrora",
titleSv: "Tonfiskröra på macka",
descriptionSv: "Snabb och matig tonfiskröra med majs och rödlök god på rostat bröd.",
cuisine: "international",
mealTypes: ["lunch"],
tags: ["high_protein", "quick", "budget"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 10,
cookMin: 0,
portions: 2,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaProtein: "tuna_canned",
dnaVegetables: [],
dnaFlavor: ["savory", "fresh"],
verificationStatus: "editorial",
ingredients: [
{ ing: "tuna_canned", nameSv: "Tonfisk", qty: 200, unit: "GRAM", optional: false },
{ ing: "mayonnaise", nameSv: "Majonnäs", qty: 40, unit: "GRAM", optional: false },
{ ing: "red_onion", nameSv: "Rödlök", qty: 0.5, unit: "COUNT", optional: false },
{ ing: "corn", nameSv: "Majs", qty: 100, unit: "GRAM", optional: true },
{ ing: "bread_sourdough", nameSv: "Surdegsbröd", qty: 2, unit: "COUNT", optional: false },
{ ing: "black_pepper", nameSv: "Svartpeppar", qty: 1, unit: "MILLILITER", optional: false },
],
steps: [
{ text: "Låt tonfisken rinna av och blanda med majonnäs, finhackad rödlök och majs." },
{ text: "Smaka av med svartpeppar och bred på rostat bröd." },
],
},
{
slug: "couscoussallad",
titleSv: "Couscoussallad med fetaost",
descriptionSv: "Matig couscoussallad med krispiga grönsaker, fetaost och citrondressing.",
cuisine: "international",
mealTypes: ["lunch", "dinner"],
tags: ["vegetarian", "budget", "batch_cooking"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 15,
cookMin: 5,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaCarb: "couscous",
dnaVegetables: ["tomato", "cucumber"],
dnaFlavor: ["fresh", "savory"],
verificationStatus: "editorial",
ingredients: [
{ ing: "couscous", nameSv: "Couscous", qty: 250, unit: "GRAM", optional: false },
{ ing: "cucumber", nameSv: "Gurka", qty: 0.5, unit: "COUNT", optional: false },
{ ing: "tomato", nameSv: "Tomat", qty: 2, unit: "COUNT", optional: false },
{ ing: "feta", nameSv: "Fetaost", qty: 150, unit: "GRAM", optional: false },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 2, unit: "TABLESPOON", optional: false },
{ ing: "lemon", nameSv: "Citron", qty: 0.5, unit: "COUNT", optional: false },
{ ing: "parsley", nameSv: "Persilja", qty: 10, unit: "GRAM", optional: true },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
],
steps: [
{
text: "Koka upp 3 dl vatten, häll över couscousen, lägg på lock och låt svälla 5 minuter. Rör upp med en gaffel.",
},
{ text: "Tärna gurka och tomat och smula fetaosten." },
{ text: "Blanda couscous med grönsaker, olja, pressad citron, hackad persilja och salt." },
],
},
{
slug: "blomkalssoppa",
titleSv: "Krämig blomkålssoppa",
descriptionSv: "Len, matig blomkålssoppa med en klick grädde god med rostat bröd.",
cuisine: "swedish",
mealTypes: ["lunch", "dinner"],
tags: ["vegetarian", "budget"],
methods: ["stovetop"],
equipment: ["stove", "blender"],
difficulty: "beginner",
prepMin: 10,
cookMin: 20,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: ["autumn", "winter"],
holidayTags: [],
variantType: "standard",
dnaVegetables: ["cauliflower", "onion"],
dnaFlavor: ["savory", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "cauliflower", nameSv: "Blomkål", qty: 600, unit: "GRAM", optional: false },
{ ing: "onion", nameSv: "Gul lök", qty: 1, unit: "COUNT", optional: false },
{ ing: "garlic", nameSv: "Vitlök", qty: 2, unit: "COUNT", optional: false },
{
ing: "vegetable_stock_cube",
nameSv: "Grönsaksbuljongtärning",
qty: 2,
unit: "COUNT",
optional: false,
},
{
ing: "cooking_cream",
nameSv: "Matlagningsgrädde",
qty: 1,
unit: "DECILITER",
optional: false,
},
{ ing: "olive_oil", nameSv: "Olivolja", qty: 1, unit: "TABLESPOON", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "black_pepper", nameSv: "Svartpeppar", qty: 1, unit: "MILLILITER", optional: false },
],
steps: [
{ text: "Fräs hackad lök och vitlök mjuka i oljan." },
{
text: "Tillsätt blomkål i buketter, smulade buljongtärningar och 7 dl vatten. Sjud tills blomkålen är mjuk, cirka 15 minuter.",
},
{ text: "Mixa soppan slät, rör i grädden och smaka av med salt och peppar." },
],
},
{
slug: "ugnsbakad-sotpotatis-kikartor",
titleSv: "Ugnsbakad sötpotatis med kikärtor",
descriptionSv:
"Matig, kryddig plåtmiddag med sötpotatis, kikärtor och fetaost vegetariskt och mättande.",
cuisine: "international",
mealTypes: ["dinner", "lunch"],
tags: ["vegetarian", "high_protein"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 10,
cookMin: 30,
portions: 2,
spiceLevel: 1,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: ["sweet_potato"],
dnaFlavor: ["savory", "spiced"],
verificationStatus: "editorial",
ingredients: [
{ ing: "sweet_potato", nameSv: "Sötpotatis", qty: 2, unit: "COUNT", optional: false },
{ ing: "chickpeas_canned", nameSv: "Kikärtor", qty: 200, unit: "GRAM", optional: false },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 2, unit: "TABLESPOON", optional: false },
{ ing: "paprika_powder", nameSv: "Paprikapulver", qty: 2, unit: "TEASPOON", optional: false },
{ ing: "cumin", nameSv: "Spiskummin", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "feta", nameSv: "Fetaost", qty: 100, unit: "GRAM", optional: true },
],
steps: [
{ text: "Skala och tärna sötpotatisen. Låt kikärtorna rinna av." },
{
text: "Blanda sötpotatis och kikärtor med olja, paprikapulver, spiskummin och salt på en plåt.",
},
{
text: "Rosta i ugnen tills sötpotatisen är mjuk och får färg, cirka 30 minuter. Smula över fetaost före servering.",
temperatureC: 200,
},
],
},
// ===========================================================================
// BATCH: bred påfyllning i alla kategorier (handskrivet, verifierade
// ingredienser + beräkningsbara enheter, rätt kategori per recept).
// ===========================================================================
// --- FRUKOST ---
{
slug: "ostomelett",
titleSv: "Ostomelett",
descriptionSv: "Fluffig omelett med riven ost snabb, mättande frukost eller lunch.",
cuisine: "swedish",
mealTypes: ["breakfast"],
tags: ["vegetarian", "high_protein", "quick"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 3,
cookMin: 6,
portions: 1,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaProtein: "egg",
dnaVegetables: [],
dnaFlavor: ["savory", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "egg", nameSv: "Ägg", qty: 3, unit: "COUNT", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 0.5, unit: "DECILITER", optional: false },
{ ing: "cheese_hard", nameSv: "Hårdost", qty: 50, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 15, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
{ ing: "black_pepper", nameSv: "Svartpeppar", qty: 1, unit: "MILLILITER", optional: false },
],
steps: [
{ text: "Vispa ihop ägg, mjölk, salt och peppar." },
{ text: "Smält smöret i en stekpanna på medelvärme och häll i äggen." },
{
text: "Låt stelna tills omeletten är genomstekt och inte längre rinnig, strö över osten och vik ihop.",
},
],
},
{
slug: "amerikanska-pannkakor",
titleSv: "Amerikanska pannkakor",
descriptionSv: "Tjocka, fluffiga plättar som passar till helgfrukosten. Goda med bär och sylt.",
cuisine: "international",
mealTypes: ["breakfast"],
tags: ["vegetarian", "kid_friendly"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 10,
cookMin: 10,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: true,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: [],
dnaFlavor: ["sweet", "mild"],
verificationStatus: "editorial",
ingredients: [
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 300, unit: "GRAM", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 3, unit: "DECILITER", optional: false },
{ ing: "egg", nameSv: "Ägg", qty: 2, unit: "COUNT", optional: false },
{ ing: "baking_powder", nameSv: "Bakpulver", qty: 10, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 30, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 25, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
],
steps: [
{
text: "Vispa ihop mjöl, bakpulver, socker och salt. Tillsätt ägg och mjölk till en slät smet.",
},
{ text: "Rör i det smälta smöret och låt smeten vila 10 minuter." },
{ text: "Stek pannkakorna gyllene på medelvärme, cirka en minut per sida. Servera med bär." },
],
},
{
slug: "yoghurt-med-granola-och-bar",
titleSv: "Yoghurt med granola och bär",
descriptionSv: "Krämig yoghurt med rostade havregryn, nötter, honung och bär.",
cuisine: "international",
mealTypes: ["breakfast"],
tags: ["vegetarian", "quick"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 5,
cookMin: 0,
portions: 1,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["creamy", "sweet", "nutty"],
verificationStatus: "editorial",
ingredients: [
{
ing: "yoghurt_natural",
nameSv: "Naturell yoghurt",
qty: 2,
unit: "DECILITER",
optional: false,
},
{ ing: "oats", nameSv: "Havregryn", qty: 40, unit: "GRAM", optional: false },
{ ing: "blueberry", nameSv: "Blåbär", qty: 75, unit: "GRAM", optional: false },
{ ing: "walnut", nameSv: "Valnötter", qty: 15, unit: "GRAM", optional: true },
{ ing: "honey", nameSv: "Honung", qty: 15, unit: "GRAM", optional: true },
],
steps: [
{ text: "Häll upp yoghurten i en skål." },
{ text: "Toppa med havregryn, blåbär, hackade valnötter och en skvätt honung." },
],
},
{
slug: "avokadomacka-med-agg",
titleSv: "Avokadomacka med ägg",
descriptionSv: "Rostat surdegsbröd med krämig avokado och skivat kokt ägg.",
cuisine: "international",
mealTypes: ["breakfast"],
tags: ["vegetarian", "high_protein"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 5,
cookMin: 8,
portions: 1,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["fresh", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "bread_sourdough", nameSv: "Surdegsbröd", qty: 2, unit: "COUNT", optional: false },
{ ing: "avocado", nameSv: "Avokado", qty: 1, unit: "COUNT", optional: false },
{ ing: "egg", nameSv: "Ägg", qty: 2, unit: "COUNT", optional: false },
{ ing: "lemon", nameSv: "Citron", qty: 0.25, unit: "COUNT", optional: true },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
{ ing: "black_pepper", nameSv: "Svartpeppar", qty: 1, unit: "MILLILITER", optional: false },
],
steps: [
{ text: "Koka äggen hårda i 8 minuter, spola kalla och skala." },
{ text: "Mosa avokadon med lite citron, salt och peppar och bred på rostat bröd." },
{ text: "Toppa med skivat ägg och lite extra peppar." },
],
},
{
slug: "blabarssmoothie",
titleSv: "Blåbärssmoothie",
descriptionSv: "Frisk smoothie på blåbär, banan och yoghurt snabb energi på morgonen.",
cuisine: "international",
mealTypes: ["breakfast", "snack"],
tags: ["vegetarian", "kid_friendly", "quick"],
methods: ["no_cook"],
equipment: ["blender"],
difficulty: "beginner",
prepMin: 5,
cookMin: 0,
portions: 2,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["fruity", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "blueberry", nameSv: "Blåbär", qty: 150, unit: "GRAM", optional: false },
{ ing: "banana", nameSv: "Banan", qty: 1, unit: "COUNT", optional: false },
{
ing: "yoghurt_natural",
nameSv: "Naturell yoghurt",
qty: 2,
unit: "DECILITER",
optional: false,
},
{ ing: "oat_drink", nameSv: "Havredryck", qty: 1, unit: "DECILITER", optional: true },
{ ing: "honey", nameSv: "Honung", qty: 15, unit: "GRAM", optional: true },
],
steps: [{ text: "Mixa alla ingredienser slätt och häll upp i glas." }],
},
// --- LUNCH ---
{
slug: "broccolisoppa",
titleSv: "Krämig broccolisoppa",
descriptionSv: "Len broccolisoppa med potatis och en klick grädde. Snabb vardagslunch.",
cuisine: "swedish",
mealTypes: ["lunch", "dinner"],
tags: ["vegetarian", "budget", "quick"],
methods: ["stovetop"],
equipment: ["stove", "blender"],
difficulty: "beginner",
prepMin: 10,
cookMin: 20,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: ["broccoli", "potato"],
dnaFlavor: ["savory", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "broccoli", nameSv: "Broccoli", qty: 2, unit: "COUNT", optional: false },
{ ing: "potato", nameSv: "Potatis", qty: 2, unit: "COUNT", optional: false },
{ ing: "onion", nameSv: "Gul lök", qty: 1, unit: "COUNT", optional: false },
{ ing: "garlic", nameSv: "Vitlök", qty: 1, unit: "COUNT", optional: false },
{
ing: "vegetable_stock_cube",
nameSv: "Grönsaksbuljongtärning",
qty: 2,
unit: "COUNT",
optional: false,
},
{
ing: "cooking_cream",
nameSv: "Matlagningsgrädde",
qty: 1,
unit: "DECILITER",
optional: false,
},
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "black_pepper", nameSv: "Svartpeppar", qty: 1, unit: "MILLILITER", optional: false },
],
steps: [
{
text: "Fräs hackad lök och vitlök mjuka. Tillsätt tärnad potatis, broccolibuketter, buljongtärningar och 8 dl vatten.",
},
{ text: "Sjud tills grönsakerna är mjuka, cirka 15 minuter." },
{ text: "Mixa slätt, rör i grädden och smaka av med salt och peppar." },
],
},
{
slug: "grekisk-sallad-med-feta",
titleSv: "Grekisk sallad med feta",
descriptionSv: "Fräsch sallad med tomat, gurka, rödlök, oliver och fetaost.",
cuisine: "greek",
mealTypes: ["lunch"],
tags: ["vegetarian", "quick"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 15,
cookMin: 0,
portions: 2,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaVegetables: ["tomato", "cucumber"],
dnaFlavor: ["fresh", "savory"],
verificationStatus: "editorial",
ingredients: [
{ ing: "tomato", nameSv: "Tomat", qty: 3, unit: "COUNT", optional: false },
{ ing: "cucumber", nameSv: "Gurka", qty: 0.5, unit: "COUNT", optional: false },
{ ing: "red_onion", nameSv: "Rödlök", qty: 0.5, unit: "COUNT", optional: false },
{ ing: "feta", nameSv: "Fetaost", qty: 150, unit: "GRAM", optional: false },
{ ing: "olives", nameSv: "Oliver", qty: 50, unit: "GRAM", optional: true },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 2, unit: "TABLESPOON", optional: false },
{ ing: "oregano_dried", nameSv: "Oregano", qty: 1, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Skär tomat och gurka i bitar och skiva rödlöken tunt." },
{ text: "Blanda grönsakerna med oliver, ringla över olivolja och strö över oregano." },
{ text: "Toppa med fetaost i bit eller smulad." },
],
},
{
slug: "kycklingwrap",
titleSv: "Kycklingwrap",
descriptionSv: "Mjuk tortilla med stekt kyckling, krispig sallad och krämig dressing.",
cuisine: "international",
mealTypes: ["lunch"],
tags: ["high_protein", "quick"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 10,
cookMin: 10,
portions: 2,
spiceLevel: 1,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaProtein: "chicken_breast",
dnaVegetables: ["lettuce", "tomato"],
dnaFlavor: ["savory", "fresh"],
verificationStatus: "editorial",
ingredients: [
{ ing: "tortilla", nameSv: "Tortillabröd", qty: 2, unit: "COUNT", optional: false },
{ ing: "chicken_breast", nameSv: "Kycklingfilé", qty: 250, unit: "GRAM", optional: false },
{ ing: "lettuce", nameSv: "Sallad", qty: 0.5, unit: "COUNT", optional: false },
{ ing: "tomato", nameSv: "Tomat", qty: 1, unit: "COUNT", optional: false },
{ ing: "mayonnaise", nameSv: "Majonnäs", qty: 40, unit: "GRAM", optional: false },
{ ing: "paprika_powder", nameSv: "Paprikapulver", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 1, unit: "TABLESPOON", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Skär kycklingen i strimlor, krydda med paprikapulver och salt." },
{ text: "Stek i olja tills kycklingen är genomstekt och inte längre rosa i mitten." },
{
text: "Fyll tortillabröden med sallad, tomat, kyckling och en klick majonnäs och rulla ihop.",
},
],
},
{
slug: "tomat-och-linssoppa",
titleSv: "Tomat- och linssoppa",
descriptionSv: "Matig soppa på röda linser och tomat med värmande spiskummin.",
cuisine: "international",
mealTypes: ["lunch", "dinner"],
tags: ["vegan", "budget", "batch_cooking"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 10,
cookMin: 25,
portions: 4,
spiceLevel: 1,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: ["tomato", "onion"],
dnaFlavor: ["savory", "spiced"],
verificationStatus: "editorial",
ingredients: [
{ ing: "red_lentils", nameSv: "Röda linser", qty: 200, unit: "GRAM", optional: false },
{
ing: "canned_tomatoes",
nameSv: "Krossade tomater",
qty: 1,
unit: "COUNT",
optional: false,
},
{ ing: "onion", nameSv: "Gul lök", qty: 1, unit: "COUNT", optional: false },
{ ing: "garlic", nameSv: "Vitlök", qty: 2, unit: "COUNT", optional: false },
{
ing: "vegetable_stock_cube",
nameSv: "Grönsaksbuljongtärning",
qty: 2,
unit: "COUNT",
optional: false,
},
{ ing: "cumin", nameSv: "Spiskummin", qty: 2, unit: "TEASPOON", optional: false },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 1, unit: "TABLESPOON", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Fräs hackad lök, vitlök och spiskummin mjuka i oljan." },
{ text: "Tillsätt sköljda linser, krossade tomater, buljongtärningar och 7 dl vatten." },
{ text: "Sjud tills linserna är mjuka, cirka 20 minuter. Smaka av med salt." },
],
},
{
slug: "varm-skinkmacka",
titleSv: "Varm skinkmacka",
descriptionSv: "Rostad macka med skinka, ost och tomat snabb och matig.",
cuisine: "swedish",
mealTypes: ["lunch", "breakfast"],
tags: ["high_protein", "quick"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 5,
cookMin: 8,
portions: 1,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["savory"],
verificationStatus: "editorial",
ingredients: [
{ ing: "bread_sourdough", nameSv: "Surdegsbröd", qty: 2, unit: "COUNT", optional: false },
{ ing: "cooked_ham", nameSv: "Skinka", qty: 60, unit: "GRAM", optional: false },
{ ing: "cheese_hard", nameSv: "Hårdost", qty: 60, unit: "GRAM", optional: false },
{ ing: "tomato", nameSv: "Tomat", qty: 1, unit: "COUNT", optional: true },
],
steps: [
{ text: "Lägg skinka, skivad tomat och riven ost på brödet." },
{ text: "Gratinera i ugnen tills osten smält och fått färg, cirka 68 minuter." },
],
},
// --- MELLANMÅL ---
{
slug: "hummus",
titleSv: "Hummus på kikärtor",
descriptionSv: "Krämig kikärtsröra med vitlök, citron och olivolja. Gott att doppa i.",
cuisine: "international",
mealTypes: ["snack"],
tags: ["vegan", "high_protein", "budget"],
methods: ["no_cook"],
equipment: ["blender"],
difficulty: "beginner",
prepMin: 10,
cookMin: 0,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["savory", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "chickpeas_canned", nameSv: "Kikärtor", qty: 400, unit: "GRAM", optional: false },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 3, unit: "TABLESPOON", optional: false },
{ ing: "garlic", nameSv: "Vitlök", qty: 1, unit: "COUNT", optional: false },
{ ing: "lemon", nameSv: "Citron", qty: 0.5, unit: "COUNT", optional: false },
{ ing: "cumin", nameSv: "Spiskummin", qty: 1, unit: "TEASPOON", optional: true },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Skölj och låt kikärtorna rinna av." },
{
text: "Mixa kikärtor, olivolja, vitlök, pressad citron, spiskummin och salt slätt. Späd med lite vatten om det behövs.",
},
],
},
{
slug: "gronsaksstavar-med-dipp",
titleSv: "Grönsaksstavar med dipp",
descriptionSv: "Krispiga morots-, gurk- och paprikastavar med krämig örtdipp.",
cuisine: "international",
mealTypes: ["snack"],
tags: ["vegetarian", "kid_friendly", "quick"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 10,
cookMin: 0,
portions: 2,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: ["carrot", "cucumber"],
dnaFlavor: ["fresh", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "carrot", nameSv: "Morot", qty: 2, unit: "COUNT", optional: false },
{ ing: "cucumber", nameSv: "Gurka", qty: 0.5, unit: "COUNT", optional: false },
{ ing: "bell_pepper", nameSv: "Paprika", qty: 1, unit: "COUNT", optional: false },
{ ing: "creme_fraiche", nameSv: "Crème fraiche", qty: 1, unit: "DECILITER", optional: false },
{ ing: "dill", nameSv: "Dill", qty: 5, unit: "GRAM", optional: true },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Skär morot, gurka och paprika i stavar." },
{ text: "Rör ihop crème fraiche med hackad dill och salt till en dipp." },
],
},
{
slug: "notmix",
titleSv: "Nöt- och fruktmix",
descriptionSv: "Energigivande blandning av nötter, russin och bitar av mörk choklad.",
cuisine: "international",
mealTypes: ["snack"],
tags: ["vegan", "quick"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 3,
cookMin: 0,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["nutty", "sweet"],
verificationStatus: "editorial",
ingredients: [
{ ing: "walnut", nameSv: "Valnötter", qty: 60, unit: "GRAM", optional: false },
{ ing: "hazelnut", nameSv: "Hasselnötter", qty: 60, unit: "GRAM", optional: false },
{ ing: "raisins", nameSv: "Russin", qty: 50, unit: "GRAM", optional: false },
{ ing: "dark_chocolate", nameSv: "Mörk choklad", qty: 40, unit: "GRAM", optional: true },
],
steps: [{ text: "Blanda nötter, russin och grovhackad choklad. Förvara i en burk." }],
},
{
slug: "fruktspett",
titleSv: "Fruktspett",
descriptionSv: "Färgglada spett med jordgubbar, banan, äpple och vindruvor.",
cuisine: "international",
mealTypes: ["snack"],
tags: ["vegan", "kid_friendly", "quick"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 10,
cookMin: 0,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["fruity", "fresh"],
verificationStatus: "editorial",
ingredients: [
{ ing: "strawberry", nameSv: "Jordgubbar", qty: 200, unit: "GRAM", optional: false },
{ ing: "banana", nameSv: "Banan", qty: 1, unit: "COUNT", optional: false },
{ ing: "apple", nameSv: "Äpple", qty: 1, unit: "COUNT", optional: false },
{ ing: "grape", nameSv: "Vindruvor", qty: 150, unit: "GRAM", optional: false },
],
steps: [{ text: "Skär frukten i bitar och trä upp på spett. Servera direkt." }],
},
// --- EFTERRÄTT ---
{
slug: "chokladdoppade-jordgubbar",
titleSv: "Chokladdoppade jordgubbar",
descriptionSv: "Söta jordgubbar doppade i smält mörk choklad enkel och festlig efterrätt.",
cuisine: "international",
mealTypes: ["dessert"],
tags: ["vegetarian", "quick"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 10,
cookMin: 5,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["sweet", "chocolate", "fruity"],
verificationStatus: "editorial",
ingredients: [
{ ing: "strawberry", nameSv: "Jordgubbar", qty: 300, unit: "GRAM", optional: false },
{ ing: "dark_chocolate", nameSv: "Mörk choklad", qty: 150, unit: "GRAM", optional: false },
],
steps: [
{ text: "Smält chokladen försiktigt i vattenbad." },
{
text: "Doppa jordgubbarna till hälften i chokladen och lägg på bakplåtspapper tills chokladen stelnat.",
},
],
},
{
slug: "hallonsorbet",
titleSv: "Hallonsorbet",
descriptionSv: "Frisk, iskall sorbet på hallon helt utan mejeri.",
cuisine: "international",
mealTypes: ["dessert"],
tags: ["vegan", "kid_friendly"],
methods: ["no_cook"],
equipment: ["blender"],
difficulty: "beginner",
prepMin: 10,
cookMin: 0,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["fruity", "sweet", "tart"],
verificationStatus: "editorial",
ingredients: [
{ ing: "raspberry", nameSv: "Hallon", qty: 500, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 100, unit: "GRAM", optional: false },
{ ing: "lemon", nameSv: "Citron", qty: 0.5, unit: "COUNT", optional: false },
],
steps: [
{ text: "Mixa frysta hallon med socker och pressad citron till en slät sorbet." },
{ text: "Servera direkt eller frys in och rör om då och då." },
],
},
{
slug: "chokladpudding",
titleSv: "Chokladpudding",
descriptionSv: "Krämig, kokt chokladpudding barnens favorit till efterrätt.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["vegetarian", "kid_friendly"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 5,
cookMin: 10,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["sweet", "chocolate", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "milk_3", nameSv: "Mjölk", qty: 6, unit: "DECILITER", optional: false },
{ ing: "cocoa", nameSv: "Kakao", qty: 30, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 80, unit: "GRAM", optional: false },
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 40, unit: "GRAM", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
],
steps: [
{
text: "Vispa ihop kakao, socker, mjöl och vaniljsocker med lite av mjölken till en slät smet.",
},
{
text: "Koka upp resten av mjölken, rör i smeten och sjud under omrörning tills puddingen tjocknar.",
},
{ text: "Häll upp i formar och låt kallna." },
],
},
{
slug: "appelkompott",
titleSv: "Äppelkompott",
descriptionSv: "Mjuk, kaneldoftande äppelkompott god till gröt, glass eller pannkakor.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["vegan", "quick"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 10,
cookMin: 15,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: ["autumn"],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["fruity", "cinnamon", "sweet"],
verificationStatus: "editorial",
ingredients: [
{ ing: "apple", nameSv: "Äpple", qty: 5, unit: "COUNT", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 60, unit: "GRAM", optional: false },
{ ing: "cinnamon", nameSv: "Kanel", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: true },
],
steps: [
{ text: "Skala och tärna äpplena." },
{
text: "Sjud äpplen, socker, kanel, vaniljsocker och en skvätt vatten under lock tills äpplena är mjuka, cirka 1015 minuter.",
},
],
},
{
slug: "bar-med-vaniljyoghurt",
titleSv: "Bär med vaniljyoghurt",
descriptionSv: "Färska bär med len vaniljyoghurt och en skvätt honung.",
cuisine: "international",
mealTypes: ["dessert", "snack"],
tags: ["vegetarian", "quick"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 5,
cookMin: 0,
portions: 2,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: [],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["fruity", "creamy", "sweet"],
verificationStatus: "editorial",
ingredients: [
{ ing: "strawberry", nameSv: "Jordgubbar", qty: 150, unit: "GRAM", optional: false },
{ ing: "blueberry", nameSv: "Blåbär", qty: 100, unit: "GRAM", optional: false },
{
ing: "yoghurt_natural",
nameSv: "Naturell yoghurt",
qty: 3,
unit: "DECILITER",
optional: false,
},
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
{ ing: "honey", nameSv: "Honung", qty: 15, unit: "GRAM", optional: true },
],
steps: [
{ text: "Rör ihop yoghurten med vaniljsocker." },
{ text: "Toppa med bären och en skvätt honung." },
],
},
// --- BAKA (sub-typer: bread/bun/pie/cake/cookie) ---
{
slug: "vitt-formbrod",
titleSv: "Vitt formbröd",
descriptionSv: "Saftigt formbröd som är lätt att baka och perfekt till frukost och mackor.",
cuisine: "swedish",
mealTypes: ["breakfast"],
tags: ["baking", "bread", "vegetarian"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "medium",
prepMin: 30,
cookMin: 30,
portions: 16,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: [],
dnaFlavor: ["bread", "mild"],
verificationStatus: "editorial",
ingredients: [
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 700, unit: "GRAM", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 4, unit: "DECILITER", optional: false },
{ ing: "yeast_fresh", nameSv: "Jäst", qty: 25, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 50, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 2, unit: "TEASPOON", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 20, unit: "GRAM", optional: false },
],
steps: [
{ text: "Smält smöret, rör ner mjölken och värm till fingervarmt. Lös upp jästen." },
{ text: "Tillsätt salt, socker och mjöl och arbeta degen smidig. Jäs 40 minuter." },
{ text: "Forma till ett bröd, lägg i smord form och jäs 30 minuter till." },
{
text: "Grädda i nedre delen av ugnen tills brödet låter ihåligt när man knackar på undersidan.",
temperatureC: 200,
},
],
},
{
slug: "scones",
titleSv: "Scones",
descriptionSv: "Snabba frukostscones utan jäsning klara på en kvart.",
cuisine: "swedish",
mealTypes: ["breakfast"],
tags: ["baking", "bread", "vegetarian", "quick"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 10,
cookMin: 12,
portions: 8,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: true,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: [],
dnaFlavor: ["bread", "mild"],
verificationStatus: "editorial",
ingredients: [
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 300, unit: "GRAM", optional: false },
{ ing: "baking_powder", nameSv: "Bakpulver", qty: 15, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 50, unit: "GRAM", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 3, unit: "DECILITER", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 15, unit: "GRAM", optional: true },
],
steps: [
{
text: "Blanda mjöl, bakpulver, salt och socker. Nyp ihop med smöret till en smulig massa.",
},
{ text: "Rör i mjölken till en lös deg. Forma två runda kakor och skär kryss i dem." },
{ text: "Grädda högt upp i ugnen tills gyllene, cirka 1012 minuter.", temperatureC: 250 },
],
},
{
slug: "havreflarn",
titleSv: "Havreflarn",
descriptionSv: "Frasiga, gyllene havrekakor enkla att baka och svåra att sluta äta.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "cookie", "vegetarian", "kid_friendly"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 10,
cookMin: 10,
portions: 20,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: ["fika"],
variantType: "standard",
dnaCarb: "oats",
dnaVegetables: [],
dnaFlavor: ["sweet", "buttery"],
verificationStatus: "editorial",
ingredients: [
{ ing: "oats", nameSv: "Havregryn", qty: 150, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 100, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 150, unit: "GRAM", optional: false },
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 40, unit: "GRAM", optional: false },
{ ing: "egg", nameSv: "Ägg", qty: 1, unit: "COUNT", optional: false },
{ ing: "baking_powder", nameSv: "Bakpulver", qty: 5, unit: "GRAM", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
],
steps: [
{ text: "Rör ihop smält smör med socker, ägg och vaniljsocker." },
{ text: "Blanda i havregryn, mjöl och bakpulver." },
{
text: "Klicka ut små högar med god plats emellan och grädda gyllene, cirka 810 minuter.",
temperatureC: 175,
},
],
},
{
slug: "blabarsmuffins",
titleSv: "Blåbärsmuffins",
descriptionSv: "Saftiga muffins fyllda med blåbär perfekta till fikat eller matlådan.",
cuisine: "international",
mealTypes: ["dessert", "snack"],
tags: ["baking", "cake", "vegetarian", "kid_friendly"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 15,
cookMin: 20,
portions: 12,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: ["fika"],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: [],
dnaFlavor: ["sweet", "fruity"],
verificationStatus: "editorial",
ingredients: [
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 250, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 150, unit: "GRAM", optional: false },
{ ing: "egg", nameSv: "Ägg", qty: 2, unit: "COUNT", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 100, unit: "GRAM", optional: false },
{ ing: "milk_3", nameSv: "Mjölk", qty: 1, unit: "DECILITER", optional: false },
{ ing: "baking_powder", nameSv: "Bakpulver", qty: 10, unit: "GRAM", optional: false },
{ ing: "blueberry", nameSv: "Blåbär", qty: 150, unit: "GRAM", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
],
steps: [
{ text: "Vispa ägg och socker pösigt. Rör i smält smör och mjölk." },
{ text: "Vänd ner mjöl, bakpulver och vaniljsocker och sist blåbären." },
{
text: "Fördela i muffinsformar och grädda tills gyllene, cirka 20 minuter.",
temperatureC: 175,
},
],
},
{
slug: "chokladtarta",
titleSv: "Chokladtårta",
descriptionSv: "Riktigt chokladig, saftig tårta för den som älskar choklad. Godast med grädde.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "cake", "vegetarian"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "medium",
prepMin: 20,
cookMin: 30,
portions: 12,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: true,
peakSeasons: [],
holidayTags: ["fika", "alla-hjartans-dag"],
variantType: "standard",
dnaCarb: "flour_wheat",
dnaVegetables: [],
dnaFlavor: ["sweet", "chocolate"],
verificationStatus: "editorial",
ingredients: [
{ ing: "dark_chocolate", nameSv: "Mörk choklad", qty: 150, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 150, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 200, unit: "GRAM", optional: false },
{ ing: "egg", nameSv: "Ägg", qty: 3, unit: "COUNT", optional: false },
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 120, unit: "GRAM", optional: false },
{ ing: "cocoa", nameSv: "Kakao", qty: 20, unit: "GRAM", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
],
steps: [
{ text: "Smält choklad och smör tillsammans och låt svalna något." },
{ text: "Vispa ägg och socker pösigt och rör ner chokladsmeten." },
{ text: "Vänd i mjöl, kakao och vaniljsocker. Häll i smord form." },
{
text: "Grädda tills ytan stelnat men mitten är kladdig, cirka 2530 minuter.",
temperatureC: 175,
},
],
},
{
slug: "rabarberpaj",
titleSv: "Rabarberpaj",
descriptionSv: "Syrlig rabarber under ett gyllene smuldeg-lock vårens klassiker.",
cuisine: "swedish",
mealTypes: ["dessert"],
tags: ["baking", "pie", "vegetarian"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 15,
cookMin: 25,
portions: 6,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: true,
peakSeasons: ["spring", "summer"],
holidayTags: [],
variantType: "standard",
dnaCarb: "oats",
dnaVegetables: [],
dnaFlavor: ["sweet", "tart"],
verificationStatus: "editorial",
ingredients: [
{ ing: "rhubarb", nameSv: "Rabarber", qty: 500, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Strösocker", qty: 100, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 100, unit: "GRAM", optional: false },
{ ing: "flour_wheat", nameSv: "Vetemjöl", qty: 150, unit: "GRAM", optional: false },
{ ing: "oats", nameSv: "Havregryn", qty: 80, unit: "GRAM", optional: false },
{ ing: "vanilla_sugar", nameSv: "Vaniljsocker", qty: 10, unit: "GRAM", optional: false },
],
steps: [
{ text: "Skär rabarbern i bitar och lägg i en smord form med hälften av sockret." },
{ text: "Nyp ihop smör, mjöl, havregryn, vaniljsocker och resten av sockret till ett smul." },
{
text: "Fördela smulet över rabarbern och grädda gyllene, cirka 25 minuter.",
temperatureC: 200,
},
],
},
// --- MIDDAG ---
{
slug: "ugnsbakad-lax-med-potatis",
titleSv: "Ugnsbakad lax med potatis",
descriptionSv: "Saftig laxfilé i ugn med citron och dill, serverad med kokt potatis.",
cuisine: "swedish",
mealTypes: ["dinner"],
tags: ["high_protein"],
methods: ["oven"],
equipment: ["oven", "stove"],
difficulty: "beginner",
prepMin: 10,
cookMin: 25,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaProtein: "salmon",
dnaVegetables: ["potato"],
dnaFlavor: ["savory", "fresh"],
verificationStatus: "editorial",
ingredients: [
{ ing: "salmon", nameSv: "Laxfilé", qty: 600, unit: "GRAM", optional: false },
{ ing: "potato", nameSv: "Potatis", qty: 8, unit: "COUNT", optional: false },
{ ing: "lemon", nameSv: "Citron", qty: 1, unit: "COUNT", optional: false },
{ ing: "dill", nameSv: "Dill", qty: 10, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 30, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "black_pepper", nameSv: "Svartpeppar", qty: 1, unit: "MILLILITER", optional: false },
],
steps: [
{ text: "Koka potatisen mjuk i saltat vatten." },
{
text: "Lägg laxen i en smord ugnsform, salta och peppra, toppa med smörklickar och citronskivor.",
},
{
text: "Baka i ugnen tills laxen är genomstekt och flagnar lätt, cirka 1518 minuter. Strö över dill och servera med potatisen.",
temperatureC: 200,
},
],
},
{
slug: "kremig-kycklinggryta",
titleSv: "Krämig kycklinggryta med svamp",
descriptionSv: "Mustig gryta med kyckling, champinjoner och grädde. Servera med ris.",
cuisine: "swedish",
mealTypes: ["dinner"],
tags: ["high_protein"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 10,
cookMin: 25,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: ["autumn"],
holidayTags: [],
variantType: "standard",
dnaProtein: "chicken_thigh",
dnaVegetables: ["mushroom"],
dnaFlavor: ["savory", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "chicken_thigh", nameSv: "Kycklinglårfilé", qty: 600, unit: "GRAM", optional: false },
{ ing: "mushroom", nameSv: "Champinjoner", qty: 250, unit: "GRAM", optional: false },
{ ing: "onion", nameSv: "Gul lök", qty: 1, unit: "COUNT", optional: false },
{ ing: "garlic", nameSv: "Vitlök", qty: 2, unit: "COUNT", optional: false },
{
ing: "cooking_cream",
nameSv: "Matlagningsgrädde",
qty: 3,
unit: "DECILITER",
optional: false,
},
{
ing: "chicken_stock_cube",
nameSv: "Kycklingbuljongtärning",
qty: 1,
unit: "COUNT",
optional: false,
},
{ ing: "rice_white", nameSv: "Ris", qty: 300, unit: "GRAM", optional: false },
{ ing: "thyme_dried", nameSv: "Timjan", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
],
steps: [
{
text: "Bryn kycklingbitarna runt om i en gryta. Tillsätt lök, vitlök och champinjoner och fräs med.",
},
{
text: "Häll i grädde, smulad buljongtärning, timjan och salt. Sjud tills kycklingen är genomstekt, cirka 15 minuter.",
},
{ text: "Koka riset enligt anvisning och servera till grytan." },
],
},
{
slug: "pastagratang-med-gronsaker",
titleSv: "Pastagratäng med grönsaker",
descriptionSv: "Matig, ostgratinerad pastarätt med tomatsås och grönsaker.",
cuisine: "italian",
mealTypes: ["dinner"],
tags: ["vegetarian", "batch_cooking"],
methods: ["oven", "stovetop"],
equipment: ["oven", "stove"],
difficulty: "beginner",
prepMin: 15,
cookMin: 30,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaCarb: "pasta_dry",
dnaVegetables: ["zucchini", "bell_pepper"],
dnaFlavor: ["savory", "cheesy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "pasta_dry", nameSv: "Pasta", qty: 400, unit: "GRAM", optional: false },
{
ing: "canned_tomatoes",
nameSv: "Krossade tomater",
qty: 1,
unit: "COUNT",
optional: false,
},
{ ing: "zucchini", nameSv: "Zucchini", qty: 1, unit: "COUNT", optional: false },
{ ing: "bell_pepper", nameSv: "Paprika", qty: 1, unit: "COUNT", optional: false },
{ ing: "onion", nameSv: "Gul lök", qty: 1, unit: "COUNT", optional: false },
{ ing: "garlic", nameSv: "Vitlök", qty: 2, unit: "COUNT", optional: false },
{ ing: "cheese_hard", nameSv: "Hårdost", qty: 150, unit: "GRAM", optional: false },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 1, unit: "TABLESPOON", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Koka pastan al dente. Fräs lök, vitlök, paprika och zucchini mjuka i oljan." },
{ text: "Tillsätt krossade tomater och salt och låt puttra några minuter." },
{
text: "Blanda pasta och sås i en ugnsform, toppa med riven ost och gratinera tills gyllene.",
temperatureC: 225,
},
],
},
{
slug: "fiskgryta-med-kokos",
titleSv: "Fiskgryta med kokos",
descriptionSv: "Mild, krämig gryta med torsk, tomat och kokosmjölk. Servera med ris.",
cuisine: "thai",
mealTypes: ["dinner"],
tags: ["high_protein"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 10,
cookMin: 20,
portions: 4,
spiceLevel: 2,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: [],
holidayTags: [],
variantType: "standard",
dnaProtein: "cod",
dnaVegetables: ["tomato"],
dnaFlavor: ["savory", "creamy", "spiced"],
verificationStatus: "editorial",
ingredients: [
{ ing: "cod", nameSv: "Torskfilé", qty: 600, unit: "GRAM", optional: false },
{ ing: "coconut_milk", nameSv: "Kokosmjölk", qty: 4, unit: "DECILITER", optional: false },
{
ing: "canned_tomatoes",
nameSv: "Krossade tomater",
qty: 1,
unit: "COUNT",
optional: false,
},
{ ing: "onion", nameSv: "Gul lök", qty: 1, unit: "COUNT", optional: false },
{ ing: "garlic", nameSv: "Vitlök", qty: 2, unit: "COUNT", optional: false },
{ ing: "red_curry_paste", nameSv: "Röd currypasta", qty: 40, unit: "GRAM", optional: false },
{ ing: "rice_white", nameSv: "Ris", qty: 300, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 0.5, unit: "TEASPOON", optional: false },
],
steps: [
{
text: "Fräs lök, vitlök och currypasta. Tillsätt kokosmjölk och krossade tomater och koka upp.",
},
{
text: "Lägg i torsken i bitar och sjud tills fisken är genomkokt och flagnar, cirka 8 minuter.",
},
{ text: "Smaka av med salt och servera med kokt ris." },
],
},
{
slug: "korv-och-potatisgratang",
titleSv: "Korv- och potatisgratäng",
descriptionSv: "Snabb, barnvänlig gratäng med falukorv, potatis och gräddig ost.",
cuisine: "swedish",
mealTypes: ["dinner"],
tags: ["kid_friendly", "budget"],
methods: ["oven"],
equipment: ["oven"],
difficulty: "beginner",
prepMin: 15,
cookMin: 40,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: [],
holidayTags: ["oktoberfest"],
variantType: "standard",
dnaProtein: "falukorv",
dnaVegetables: ["potato"],
dnaFlavor: ["savory", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "falukorv", nameSv: "Falukorv", qty: 400, unit: "GRAM", optional: false },
{ ing: "potato", nameSv: "Potatis", qty: 8, unit: "COUNT", optional: false },
{ ing: "onion", nameSv: "Gul lök", qty: 1, unit: "COUNT", optional: false },
{
ing: "cooking_cream",
nameSv: "Matlagningsgrädde",
qty: 3,
unit: "DECILITER",
optional: false,
},
{ ing: "cheese_hard", nameSv: "Hårdost", qty: 100, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "black_pepper", nameSv: "Svartpeppar", qty: 1, unit: "MILLILITER", optional: false },
],
steps: [
{ text: "Skiva potatis, lök och falukorv. Varva i en smord ugnsform." },
{ text: "Häll över grädde blandat med salt och peppar och toppa med riven ost." },
{
text: "Gratinera i ugnen tills potatisen är mjuk och ytan gyllene, cirka 40 minuter.",
temperatureC: 200,
},
],
},
// ---------------------------------------------------------------------------
// HÖGTIDER (spec §28) recept taggade med exakt högtids-slug (SE-marknad) så
// "Vad ska vi äta?"-högtidsknapparna alltid visar relevant mat. Slugs måste
// matcha seasonEvents.ts exakt: jul, midsommar, påsk, nyår, kraftskiva,
// grillsasong, skolstart, surstromming (ASCII inte "grillsäsong"!).
// ---------------------------------------------------------------------------
{
slug: "rodbetssallad",
titleSv: "Klassisk rödbetssallad",
descriptionSv:
"Krämig rödbetssallad med äpple det självklara röda inslaget på jul- och påskbordet, gott till skinka och sill.",
cuisine: "swedish",
mealTypes: ["buffet", "starter"],
tags: ["vegetarian", "gluten_free"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 15,
cookMin: 0,
portions: 8,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: ["winter"],
holidayTags: ["jul", "påsk", "nyår"],
variantType: "standard",
dnaVegetables: ["beetroot", "apple"],
dnaFlavor: ["sweet", "sour", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "beetroot", nameSv: "Inlagda rödbetor", qty: 300, unit: "GRAM", optional: false },
{ ing: "apple", nameSv: "Äpple", qty: 1, unit: "COUNT", optional: false },
{ ing: "creme_fraiche", nameSv: "Crème fraiche", qty: 2, unit: "DECILITER", optional: false },
{ ing: "mayonnaise", nameSv: "Majonnäs", qty: 100, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
{ ing: "black_pepper", nameSv: "Svartpeppar", qty: 1, unit: "MILLILITER", optional: true },
],
steps: [
{ text: "Låt rödbetorna rinna av ordentligt i ett durkslag och tärna dem smått." },
{ text: "Kärna ur och tärna äpplet lika smått som rödbetorna." },
{ text: "Rör ihop crème fraiche och majonnäs och vänd försiktigt ner rödbetor och äpple." },
{
text: "Smaka av med salt och peppar. Låt gärna stå kallt en timme så smakerna sätter sig.",
},
],
},
{
slug: "rodkal",
titleSv: "Långkokt rödkål",
descriptionSv:
"Mjuk, sötsyrlig rödkål som får puttra med äpple och lite balsamvinäger ett givet tillbehör på julbordet.",
cuisine: "swedish",
mealTypes: ["buffet"],
tags: ["vegetarian", "gluten_free", "budget"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "easy",
prepMin: 15,
cookMin: 45,
portions: 8,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: ["winter"],
holidayTags: ["jul", "nyår"],
variantType: "standard",
dnaVegetables: ["red_cabbage", "apple"],
dnaFlavor: ["sweet", "sour", "buttery"],
verificationStatus: "editorial",
ingredients: [
{ ing: "red_cabbage", nameSv: "Rödkål", qty: 600, unit: "GRAM", optional: false },
{ ing: "apple", nameSv: "Äpple", qty: 1, unit: "COUNT", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 25, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Socker", qty: 30, unit: "GRAM", optional: false },
{ ing: "balsamic_vinegar", nameSv: "Balsamvinäger", qty: 40, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Strimla rödkålen fint och riv eller tärna äpplet." },
{ text: "Smält smöret i en vid gryta och lägg i rödkål och äpple. Låt fräsa några minuter." },
{ text: "Tillsätt socker, balsamvinäger och salt samt ett par matskedar vatten." },
{
text: "Lägg på lock och låt sjuda på svag värme tills kålen är mjuk och blank, cirka 40 minuter. Rör om då och då.",
},
],
},
{
slug: "senapssill",
titleSv: "Senapssill",
descriptionSv:
"Inlagd sill i len senapssås med dill en av de självklara sillsorterna till jul, påsk och midsommar.",
cuisine: "swedish",
mealTypes: ["buffet", "starter"],
tags: ["gluten_free", "high_protein"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 10,
cookMin: 0,
portions: 6,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: ["winter", "summer"],
holidayTags: ["jul", "påsk", "midsommar", "nyår"],
variantType: "standard",
dnaProtein: "pickled_herring",
dnaVegetables: [],
dnaFlavor: ["tangy", "mustard", "dill"],
verificationStatus: "editorial",
ingredients: [
{ ing: "pickled_herring", nameSv: "Inlagd sill", qty: 300, unit: "GRAM", optional: false },
{ ing: "mustard", nameSv: "Sötstark senap", qty: 60, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Socker", qty: 25, unit: "GRAM", optional: false },
{ ing: "cream", nameSv: "Grädde", qty: 1, unit: "DECILITER", optional: false },
{ ing: "olive_oil", nameSv: "Rapsolja", qty: 2, unit: "TABLESPOON", optional: false },
{ ing: "dill", nameSv: "Dill", qty: 20, unit: "GRAM", optional: false },
],
steps: [
{ text: "Låt sillbitarna rinna av och skär dem i lagom munsbitar." },
{
text: "Vispa ihop senap, socker och olja till en slät röra. Vispa ner grädden så såsen blir krämig.",
},
{ text: "Hacka dillen och rör ner det mesta i såsen." },
{
text: "Vänd ner sillen, toppa med resten av dillen och låt stå kallt minst en timme före servering.",
},
],
},
{
slug: "stekt-prinskorv",
titleSv: "Stekta prinskorvar",
descriptionSv:
"Gyllene, knapriga prinskorvar stekta i smör julbordets favorit bland både barn och vuxna.",
cuisine: "swedish",
mealTypes: ["buffet"],
tags: ["kid_friendly", "quick", "gluten_free"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 5,
cookMin: 10,
portions: 6,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["winter"],
holidayTags: ["jul", "nyår"],
variantType: "standard",
dnaProtein: "prinskorv",
dnaVegetables: [],
dnaFlavor: ["savory", "buttery"],
verificationStatus: "editorial",
ingredients: [
{ ing: "prinskorv", nameSv: "Prinskorv", qty: 400, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 25, unit: "GRAM", optional: false },
],
steps: [
{ text: "Klipp eventuellt av korvarna från varandra och snitta dem lätt om du vill." },
{ text: "Smält smöret i en stekpanna på medelvärme." },
{
text: "Stek prinskorvarna under omrörning tills de är gyllene och genomvarma, cirka 8 minuter. Servera direkt.",
},
],
},
{
slug: "kokta-kraftor-med-dill",
titleSv: "Kokta kräftor med krondill",
descriptionSv:
"Kräftor kokta i klassisk dillag med socker och salt själva mittpunkten på kräftskivan i augusti.",
cuisine: "swedish",
mealTypes: ["buffet", "dinner"],
tags: ["high_protein", "gluten_free", "luxury"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "medium",
prepMin: 15,
cookMin: 15,
portions: 6,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: ["summer", "autumn"],
holidayTags: ["kraftskiva"],
variantType: "standard",
dnaProtein: "crayfish",
dnaVegetables: [],
dnaFlavor: ["dill", "briny", "sweet"],
verificationStatus: "editorial",
ingredients: [
{ ing: "crayfish", nameSv: "Kräftor", qty: 1000, unit: "GRAM", optional: false },
{ ing: "dill", nameSv: "Krondill", qty: 50, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 100, unit: "GRAM", optional: false },
{ ing: "sugar", nameSv: "Socker", qty: 20, unit: "GRAM", optional: false },
],
steps: [
{
text: "Koka upp cirka 2 liter vatten med salt, socker och hälften av krondillen. Låt lagen sjuda 10 minuter så smaken sätter sig.",
},
{ text: "Lägg i kräftorna, koka upp igen och låt sjuda cirka 68 minuter." },
{ text: "Ta grytan från värmen och lägg i resten av krondillen." },
{
text: "Låt kräftorna kallna i lagen, gärna över natten i kylen, så de får full dillsmak. Servera väl kylda.",
},
],
},
{
slug: "aioli-till-skaldjur",
titleSv: "Vitlöksaioli",
descriptionSv:
"Slät, vitlöksstark aioli som passar perfekt till kräftor, räkor och västerbottenpaj på skaldjursbordet.",
cuisine: "swedish",
mealTypes: ["buffet", "starter"],
tags: ["vegetarian", "gluten_free"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 10,
cookMin: 0,
portions: 8,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: ["kraftskiva", "nyår", "grillsasong"],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["garlic", "creamy", "tangy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "mayonnaise", nameSv: "Majonnäs", qty: 200, unit: "GRAM", optional: false },
{ ing: "garlic", nameSv: "Vitlöksklyfta", qty: 2, unit: "COUNT", optional: false },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 2, unit: "TABLESPOON", optional: false },
{ ing: "lemon", nameSv: "Citron", qty: 1, unit: "COUNT", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: true },
],
steps: [
{ text: "Pressa eller riv vitlöken fint." },
{ text: "Rör ihop majonnäs, vitlök och olivolja till en slät kräm." },
{
text: "Smaka av med pressad citron och salt. Låt stå kallt minst 30 minuter innan servering.",
},
],
},
{
slug: "ostbricka-till-kraftskivan",
titleSv: "Ostbricka med västerbottensost",
descriptionSv:
"En enkel ostbricka med kraftig västerbottensost, lagrad hårdost, druvor och valnötter det goda avslutet på kräftskivan.",
cuisine: "swedish",
mealTypes: ["buffet", "snack"],
tags: ["vegetarian"],
methods: ["no_cook"],
equipment: [],
difficulty: "beginner",
prepMin: 10,
cookMin: 0,
portions: 8,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer", "autumn"],
holidayTags: ["kraftskiva", "nyår"],
variantType: "standard",
dnaVegetables: [],
dnaFlavor: ["savory", "nutty", "sweet"],
verificationStatus: "editorial",
ingredients: [
{
ing: "vasterbotten_cheese",
nameSv: "Västerbottensost",
qty: 200,
unit: "GRAM",
optional: false,
},
{ ing: "cheese_hard", nameSv: "Lagrad hårdost", qty: 200, unit: "GRAM", optional: false },
{ ing: "grape", nameSv: "Vindruvor", qty: 200, unit: "GRAM", optional: false },
{ ing: "walnut", nameSv: "Valnötter", qty: 50, unit: "GRAM", optional: false },
],
steps: [
{ text: "Ta fram ostarna en stund före servering så de får rumstemperatur och full smak." },
{ text: "Skär ostarna i bitar eller klyftor och lägg upp på en bricka." },
{
text: "Skölj druvorna och dela dem i mindre klasar. Fördela dem och valnötterna på brickan.",
},
],
},
{
slug: "farskpotatis-med-dill",
titleSv: "Färskpotatis med smör och dill",
descriptionSv:
"Nykokt färskpotatis vänd i smör och färsk dill midsommarbordets doftande självklarhet.",
cuisine: "swedish",
mealTypes: ["buffet", "lunch", "dinner"],
tags: ["vegetarian", "gluten_free", "budget"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 10,
cookMin: 20,
portions: 6,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: ["midsommar"],
variantType: "standard",
dnaCarb: "new_potato",
dnaVegetables: [],
dnaFlavor: ["dill", "buttery"],
verificationStatus: "editorial",
ingredients: [
{ ing: "new_potato", nameSv: "Färskpotatis", qty: 800, unit: "GRAM", optional: false },
{ ing: "butter", nameSv: "Smör", qty: 40, unit: "GRAM", optional: false },
{ ing: "dill", nameSv: "Dill", qty: 30, unit: "GRAM", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 2, unit: "TEASPOON", optional: false },
],
steps: [
{
text: "Borsta färskpotatisen ren och koka den i lättsaltat vatten tills den är mjuk, cirka 18 minuter.",
},
{ text: "Häll av vattnet och låt potatisen ånga av." },
{
text: "Vänd ner smöret så det smälter runt potatisen och strö över rikligt med hackad dill. Salta efter smak.",
},
],
},
{
slug: "agghalvor-med-rakror",
titleSv: "Ägghalvor med räkröra",
descriptionSv:
"Kokta ägg toppade med krämig räkröra och dill en klassiker på påskbordet och det kalla buffébordet.",
cuisine: "swedish",
mealTypes: ["buffet", "starter"],
tags: ["high_protein", "gluten_free"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "easy",
prepMin: 15,
cookMin: 10,
portions: 6,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["spring"],
holidayTags: ["påsk", "nyår"],
variantType: "standard",
dnaProtein: "egg",
dnaVegetables: [],
dnaFlavor: ["creamy", "dill", "briny"],
verificationStatus: "editorial",
ingredients: [
{ ing: "egg", nameSv: "Ägg", qty: 6, unit: "COUNT", optional: false },
{ ing: "shrimp", nameSv: "Räkor", qty: 200, unit: "GRAM", optional: false },
{ ing: "mayonnaise", nameSv: "Majonnäs", qty: 80, unit: "GRAM", optional: false },
{ ing: "creme_fraiche", nameSv: "Crème fraiche", qty: 1, unit: "DECILITER", optional: false },
{ ing: "dill", nameSv: "Dill", qty: 15, unit: "GRAM", optional: false },
],
steps: [
{ text: "Hårdkoka äggen cirka 8 minuter, spola kalla och skala dem. Dela dem på längden." },
{ text: "Blanda majonnäs och crème fraiche och vänd ner de flesta räkorna och hackad dill." },
{ text: "Klicka räkröran på ägghalvorna och toppa med resten av räkorna och lite dill." },
],
},
{
slug: "rakcocktail",
titleSv: "Räkcocktail",
descriptionSv:
"Handskalade räkor på frisk sallad med len röd cocktailsås en elegant förrätt till nyår och fest.",
cuisine: "swedish",
mealTypes: ["starter", "buffet"],
tags: ["high_protein", "luxury", "gluten_free"],
methods: ["no_cook"],
equipment: [],
difficulty: "easy",
prepMin: 15,
cookMin: 0,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["winter"],
holidayTags: ["nyår", "påsk"],
variantType: "standard",
dnaProtein: "shrimp",
dnaVegetables: [],
dnaFlavor: ["creamy", "tangy", "briny"],
verificationStatus: "editorial",
ingredients: [
{ ing: "shrimp", nameSv: "Handskalade räkor", qty: 300, unit: "GRAM", optional: false },
{ ing: "lettuce", nameSv: "Isbergssallad", qty: 1, unit: "COUNT", optional: false },
{ ing: "mayonnaise", nameSv: "Majonnäs", qty: 100, unit: "GRAM", optional: false },
{ ing: "tomato_paste", nameSv: "Tomatpuré", qty: 30, unit: "GRAM", optional: false },
{ ing: "lemon", nameSv: "Citron", qty: 1, unit: "COUNT", optional: false },
],
steps: [
{ text: "Strimla salladen fint och fördela i portionsglas." },
{
text: "Rör ihop majonnäs och tomatpuré till en slät rosa sås och smaka av med pressad citron.",
},
{ text: "Lägg räkorna på salladen, klicka på såsen och toppa med en citronklyfta." },
],
},
{
slug: "grillspett-med-halloumi",
titleSv: "Grillspett med halloumi och grönsaker",
descriptionSv:
"Färgglada grillspett med halloumi, paprika och zucchini enkelt och vegetariskt på grillkvällen.",
cuisine: "swedish",
mealTypes: ["dinner", "lunch"],
tags: ["vegetarian", "gluten_free", "quick"],
methods: ["grill"],
equipment: ["grill"],
difficulty: "easy",
prepMin: 15,
cookMin: 10,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: ["grillsasong", "valborg"],
variantType: "standard",
dnaProtein: "halloumi",
dnaVegetables: ["bell_pepper", "zucchini"],
dnaFlavor: ["savory", "smoky", "salty"],
verificationStatus: "editorial",
ingredients: [
{ ing: "halloumi", nameSv: "Halloumi", qty: 250, unit: "GRAM", optional: false },
{ ing: "bell_pepper", nameSv: "Paprika", qty: 1, unit: "COUNT", optional: false },
{ ing: "zucchini", nameSv: "Zucchini", qty: 1, unit: "COUNT", optional: false },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 2, unit: "TABLESPOON", optional: false },
],
steps: [
{ text: "Skär halloumi, paprika och zucchini i jämnstora bitar." },
{ text: "Trä omväxlande halloumi och grönsaker på spett och pensla med olivolja." },
{
text: "Grilla spetten på medelvärme och vänd dem tills halloumin fått fin färg och grönsakerna mjuknat, cirka 8 minuter.",
},
],
},
{
slug: "grillad-kycklingfile",
titleSv: "Grillad kycklingfilé med paprika",
descriptionSv:
"Saftig kycklingfilé marinerad i olivolja, vitlök och paprikapulver en trygg favorit hela grillsäsongen.",
cuisine: "swedish",
mealTypes: ["dinner", "lunch"],
tags: ["high_protein", "gluten_free"],
methods: ["grill"],
equipment: ["grill"],
difficulty: "easy",
prepMin: 15,
cookMin: 15,
portions: 4,
spiceLevel: 1,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: ["summer"],
holidayTags: ["grillsasong"],
variantType: "standard",
dnaProtein: "chicken_breast",
dnaVegetables: [],
dnaFlavor: ["garlic", "paprika", "smoky"],
verificationStatus: "editorial",
ingredients: [
{ ing: "chicken_breast", nameSv: "Kycklingfilé", qty: 600, unit: "GRAM", optional: false },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 2, unit: "TABLESPOON", optional: false },
{ ing: "garlic", nameSv: "Vitlöksklyfta", qty: 2, unit: "COUNT", optional: false },
{ ing: "paprika_powder", nameSv: "Paprikapulver", qty: 2, unit: "TEASPOON", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Rör ihop olivolja, pressad vitlök, paprikapulver och salt till en marinad." },
{ text: "Vänd kycklingfiléerna i marinaden och låt dem gärna stå kallt 30 minuter." },
{
text: "Grilla filéerna på medelvärme tills de är genomstekta, cirka 67 minuter per sida. Låt vila några minuter före servering.",
},
],
},
{
slug: "pastasallad-i-matlada",
titleSv: "Pastasallad i matlådan",
descriptionSv:
"Enkel, matig pastasallad med fetaost och paprika perfekt att förbereda för skolstartens matlådor och luncher.",
cuisine: "swedish",
mealTypes: ["lunch"],
tags: ["vegetarian", "meal_prep", "budget", "batch_cooking"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 15,
cookMin: 10,
portions: 4,
spiceLevel: 0,
mealPrepFriendly: true,
freezerFriendly: false,
peakSeasons: ["autumn"],
holidayTags: ["skolstart"],
variantType: "standard",
dnaCarb: "pasta_dry",
dnaVegetables: ["bell_pepper", "tomato"],
dnaFlavor: ["savory", "salty", "fresh"],
verificationStatus: "editorial",
ingredients: [
{ ing: "pasta_dry", nameSv: "Pasta", qty: 300, unit: "GRAM", optional: false },
{ ing: "bell_pepper", nameSv: "Paprika", qty: 1, unit: "COUNT", optional: false },
{ ing: "tomato", nameSv: "Tomat", qty: 200, unit: "GRAM", optional: false },
{ ing: "feta", nameSv: "Fetaost", qty: 150, unit: "GRAM", optional: false },
{ ing: "olive_oil", nameSv: "Olivolja", qty: 2, unit: "TABLESPOON", optional: false },
],
steps: [
{ text: "Koka pastan enligt anvisning på paketet, spola kall och låt rinna av." },
{ text: "Tärna paprika och tomat och smula fetaosten." },
{
text: "Blanda pasta, grönsaker och fetaost med olivolja. Salta efter smak och fördela i matlådor.",
},
],
},
{
slug: "tillbehor-till-surstromming",
titleSv: "Tillbehör till surströmming",
descriptionSv:
"Klassiska tillbehör till surströmmingsskivan: nykokt mandelpotatis, hackad rödlök, gräddig färskost och västerbottensost.",
cuisine: "swedish",
mealTypes: ["buffet", "dinner"],
tags: ["gluten_free"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "beginner",
prepMin: 15,
cookMin: 20,
portions: 6,
spiceLevel: 0,
mealPrepFriendly: false,
freezerFriendly: false,
peakSeasons: ["summer", "autumn"],
holidayTags: ["surstromming"],
variantType: "standard",
dnaCarb: "new_potato",
dnaVegetables: [],
dnaFlavor: ["savory", "sharp", "creamy"],
verificationStatus: "editorial",
ingredients: [
{ ing: "new_potato", nameSv: "Mandelpotatis", qty: 600, unit: "GRAM", optional: false },
{ ing: "red_onion", nameSv: "Rödlök", qty: 100, unit: "GRAM", optional: false },
{
ing: "creme_fraiche",
nameSv: "Gräddfil eller crème fraiche",
qty: 2,
unit: "DECILITER",
optional: false,
},
{
ing: "vasterbotten_cheese",
nameSv: "Västerbottensost",
qty: 150,
unit: "GRAM",
optional: false,
},
],
steps: [
{
text: "Koka mandelpotatisen mjuk i lättsaltat vatten, cirka 18 minuter, och låt den svalna något.",
},
{ text: "Hacka rödlöken fint och riv västerbottensosten." },
{
text: "Ställ fram potatis, rödlök, gräddfil och riven ost i skålar så var och en kan bygga sin egen klämma.",
},
],
},
{
slug: "kryddig-kyckling-med-ris",
titleSv: "Kryddig kyckling med ris",
descriptionSv:
"Mör kyckling långsamt fräst med lök, vitlök och varma kryddor, serverad på fluffigt ris \u2013 en festmåltid som passar fint till Eid och andra högtidsmiddagar.",
cuisine: "middle_eastern",
mealTypes: ["dinner", "buffet"],
tags: ["high_protein", "gluten_free"],
methods: ["stovetop"],
equipment: ["stove"],
difficulty: "easy",
prepMin: 15,
cookMin: 35,
portions: 4,
spiceLevel: 1,
mealPrepFriendly: true,
freezerFriendly: true,
peakSeasons: [],
holidayTags: ["eid"],
variantType: "standard",
dnaProtein: "chicken_thigh",
dnaCarb: "rice_white",
dnaVegetables: [],
dnaFlavor: ["warm_spice", "garlic", "savory"],
verificationStatus: "editorial",
ingredients: [
{ ing: "chicken_thigh", nameSv: "Kycklinglårfilé", qty: 600, unit: "GRAM", optional: false },
{ ing: "rice_white", nameSv: "Ris", qty: 300, unit: "GRAM", optional: false },
{ ing: "onion", nameSv: "Gul lök", qty: 1, unit: "COUNT", optional: false },
{ ing: "garlic", nameSv: "Vitlöksklyfta", qty: 2, unit: "COUNT", optional: false },
{ ing: "garam_masala", nameSv: "Garam masala", qty: 6, unit: "GRAM", optional: false },
{ ing: "turmeric", nameSv: "Gurkmeja", qty: 3, unit: "GRAM", optional: false },
{ ing: "olive_oil", nameSv: "Olja", qty: 2, unit: "TABLESPOON", optional: false },
{ ing: "salt", nameSv: "Salt", qty: 1, unit: "TEASPOON", optional: false },
],
steps: [
{ text: "Koka riset enligt anvisningen på paketet och håll det varmt." },
{ text: "Skär kycklingen i bitar. Hetta upp oljan och fräs hackad lök och vitlök mjuk." },
{ text: "Lägg i kycklingen och krydda med garam masala, gurkmeja och salt. Bryn runt om." },
{
text: "Häll i en skvätt vatten, lägg på lock och låt sjuda tills kycklingen är genomstekt och mör, cirka 20 minuter. Servera på riset.",
},
],
},
];