@@ -0,0 +1,682 @@
import type { SeedRecipe } from "./recipes.js" ;
/**
* Extra redaktionella recept (spec §14– 15) – 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 : [ "snack" , "dessert" ] ,
tags : [ "baking" , "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 8– 10 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 : [ "snack" , "dessert" ] ,
tags : [ "baking" , "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" , "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" , "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, socker och en klick smör." ,
cuisine : "swedish" ,
mealTypes : [ "dessert" , "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 : [ ] ,
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 35– 40 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." } ,
] ,
} ,
] ;