#!/usr/bin/env python3
"""Add frappe, slushie, and mocktail recipes to the Swirl Master database."""

import json
import sqlite3
import os

DB_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'swirl_master.db')

NEW_RECIPES = [
    # ===================== FRAPPES =====================
    {
        "id": "fr-coffee-classic",
        "type": "frappe",
        "name": "Classic Coffee Frappé",
        "emoji": "☕",
        "description": "De ultieme koffie frappé — romig, koud en vol van smaak. Geïnspireerd door Ninja Test Kitchen.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "10 min",
        "freezeTime": "50 min",
        "totalTime": "55 min",
        "servings": 4,
        "rating": 4.9,
        "popularity": 98,
        "tags": ["beginner", "koffie", "popular"],
        "diet": [],
        "program": "Frappé",
        "ingredients": [
            "1½ kopjes half & half (355ml)",
            "3 kopjes zwarte koffie (afgekoeld)",
            "2 theelepels vanille-extract",
            "½ kopje suiker (100g)",
            "Slagroom (optioneel)",
            "Chocoladesaus (optioneel)",
            "Karamelsaus (optioneel)"
        ],
        "steps": [
            "Klop alle ingrediënten samen in een kan tot de suiker volledig is opgelost.",
            "Giet het mengsel in de Ninja Swirl/SLUSHi vessel.",
            "Selecteer het FRAPPÉ programma en druk op START.",
            "Zodra de machine 3x piept, direct serveren.",
            "Top af met slagroom en chocolade-/karamelsaus naar keuze."
        ],
        "mixins": ["Chocoladesaus", "Karamelsaus", "Slagroom", "Cacao poeder", "Vanilleextract"],
        "nutrition": {"calories": 180, "fat": "8g", "carbs": "22g", "protein": "2g"},
        "tips": "Voor dairy-free: vervang half & half door haver- of amandelmelk. Voor extra kick: voeg een shot espresso toe."
    },
    {
        "id": "fr-mocha",
        "type": "frappe",
        "name": "Mocha Frappé",
        "emoji": "🍫",
        "description": "Espresso ontmoet chocolade in deze hemelse bevroren frappé.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "10 min",
        "freezeTime": "50 min",
        "totalTime": "55 min",
        "servings": 4,
        "rating": 4.8,
        "popularity": 92,
        "tags": ["beginner", "koffie", "chocolade"],
        "diet": [],
        "program": "Frappé",
        "ingredients": [
            "1½ kopjes half & half (355ml)",
            "2½ kopjes zwarte koffie (afgekoeld)",
            "3 eetlepels cacaopoeder",
            "2 eetlepels gesmolten chocolade",
            "½ kopje suiker (100g)",
            "1 theelepel vanille-extract"
        ],
        "steps": [
            "Mix koffie, cacaopoeder en suiker in een kom tot een glad mengsel.",
            "Voeg half & half, gesmolten chocolade en vanille toe. Goed roeren.",
            "Giet in de vessel en selecteer FRAPPÉ.",
            "Serveren zodra de machine klaar is. Top met slagroom en cacao."
        ],
        "mixins": ["Chocoladesaus", "Slagroom", "Chocolade krullen", "Koffiebonen", "Cacao"],
        "nutrition": {"calories": 210, "fat": "9g", "carbs": "28g", "protein": "3g"},
        "tips": "Gebruik dark chocolate voor een intensere smaak. Voor keto: vervang suiker door erythritol."
    },
    {
        "id": "fr-caramel",
        "type": "frappe",
        "name": "Caramel Frappé",
        "emoji": "🍯",
        "description": "Boterzachte karamel verweven met koude koffie — een koffiebarervaring thuis.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "10 min",
        "freezeTime": "50 min",
        "totalTime": "1u",
        "servings": 4,
        "rating": 4.8,
        "popularity": 88,
        "tags": ["beginner", "koffie", "karamel"],
        "diet": [],
        "program": "Frappé",
        "ingredients": [
            "1½ kopjes half & half (355ml)",
            "3 kopjes zwarte koffie (afgekoeld)",
            "⅓ kopje karamelsiroop",
            "2 eetlepels suiker",
            "1 theelepel vanille-extract",
            "Karamelsaus voor garnering"
        ],
        "steps": [
            "Klop koffie, karamelsiroop, suiker en vanille tot suiker is opgelost.",
            "Voeg half & half toe en roer goed.",
            "Giet in de vessel, selecteer FRAPPÉ en start.",
            "Garneer met een draai karamelsaus en slagroom."
        ],
        "mixins": ["Karamelsaus", "Slagroom", "Zeezout", "Pecannoten", "Vanille"],
        "nutrition": {"calories": 220, "fat": "8g", "carbs": "30g", "protein": "2g"},
        "tips": "Voeg een snufje zeezout toe voor een salted caramel variant."
    },
    {
        "id": "fr-pumpkin-spice",
        "type": "frappe",
        "name": "Pumpkin Spice Frappé",
        "emoji": "🎃",
        "description": "Herfst in een glas — pompoen, kaneel en koffie samengekomen in een frappé.",
        "difficulty": "Gemiddeld",
        "difficultyScore": 2,
        "prepTime": "15 min",
        "freezeTime": "50 min",
        "totalTime": "1u 5m",
        "servings": 4,
        "rating": 4.7,
        "popularity": 75,
        "tags": ["herfst", "koffie", "seizoensgebonden"],
        "diet": [],
        "program": "Frappé",
        "ingredients": [
            "1½ kopjes half & half (355ml)",
            "2½ kopjes zwarte koffie (afgekoeld)",
            "3 eetlepels pompoenpuree",
            "2 eetlepels gecondenseerde melk",
            "1 theelepel pompoenkruiden (kaneel, nootmuskaat, gember, kruidnagel)",
            "2 eetlepels suiker"
        ],
        "steps": [
            "Mix pompoenpuree, gecondenseerde melk, kruiden en suiker tot glad.",
            "Voeg koffie en half & half toe. Goed roeren.",
            "Giet in de vessel en selecteer FRAPPÉ.",
            "Garneer met slagroom en een snufje kaneel."
        ],
        "mixins": ["Slagroom", "Kaneel", "Pecannoten", "Karamelsaus", "Gemberkoek kruimels"],
        "nutrition": {"calories": 195, "fat": "8g", "carbs": "25g", "protein": "3g"},
        "tips": "Maak je eigen pompoenkruiden: 2 deel kaneel, 1 deel nootmuskaat, 1 deel gember, ½ deel kruidnagel."
    },

    # ===================== SLUSHIES =====================
    {
        "id": "sl-pink-lemonade",
        "type": "slushie",
        "name": "Pink Lemonade Slushie",
        "emoji": "🩷",
        "description": "Zomerse klassieker — zuur, zoet en heerlijk koud. Origineel Ninja Test Kitchen recept.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "5 min",
        "freezeTime": "45 min",
        "totalTime": "50 min",
        "servings": 8,
        "rating": 5.0,
        "popularity": 95,
        "tags": ["beginner", "zomer", "verfrissend", "popular"],
        "diet": ["vegan", "dairy_free"],
        "program": "Slush",
        "ingredients": [
            "5½ kopjes water (1.3L)",
            "⅔ kopje + 4 theelepels pink lemonade poeder mix"
        ],
        "steps": [
            "Klop water en pink lemonade poeder samen tot poeder volledig is opgelost.",
            "Giet het mengsel in de Ninja SLUSHi vessel.",
            "Selecteer SLUSH en druk op START.",
            "Serveren zodra de machine 3x piept. Direct serveren voor optimale textuur."
        ],
        "mixins": ["Verse citroen partjes", "Munt", "Bessen", "Limoen", "Gember"],
        "nutrition": {"calories": 80, "fat": "0g", "carbs": "20g", "protein": "0g"},
        "tips": "Voor een natuurlijke variant: vervang poeder door vers citroensap, water en agavesiroop met een scheutje cranberrysap voor de kleur."
    },
    {
        "id": "sl-tropical-mango",
        "type": "slushie",
        "name": "Tropical Mango Slushie",
        "emoji": "🥭",
        "description": "Alsof je op een tropisch eiland zit — zoete mango gemixt met een vleugje limoen.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "10 min",
        "freezeTime": "45 min",
        "totalTime": "55 min",
        "servings": 4,
        "rating": 4.8,
        "popularity": 85,
        "tags": ["beginner", "tropisch", "fruit"],
        "diet": ["vegan", "dairy_free", "gluten_free"],
        "program": "Slush",
        "ingredients": [
            "3 kopjes mango nectar (720ml)",
            "1 kopje water",
            "3 eetlepels limoensap",
            "2 eetlepels suiker (optioneel)",
            "Snufje zout"
        ],
        "steps": [
            "Mix alle ingrediënten in een kan tot suiker is opgelost.",
            "Giet in de vessel en selecteer SLUSH.",
            "Serveren zodra klaar. Garneer met een partje limoen."
        ],
        "mixins": ["Verse mango stukjes", "Limoen", "Chili poeder", "Munt", "Passievrucht"],
        "nutrition": {"calories": 120, "fat": "0g", "carbs": "30g", "protein": "1g"},
        "tips": "Voor een pittige twist: voeg Tajín of chili poeder toe aan de rand van het glas."
    },
    {
        "id": "sl-strawberry-watermelon",
        "type": "slushie",
        "name": "Strawberry Watermelon Slushie",
        "emoji": "🍉",
        "description": "De ultieme zomerse verfrissing — sappige watermeloen en zoete aardbeien.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "10 min",
        "freezeTime": "45 min",
        "totalTime": "55 min",
        "servings": 4,
        "rating": 4.9,
        "popularity": 90,
        "tags": ["beginner", "zomer", "fruit", "verfrissend"],
        "diet": ["vegan", "dairy_free", "gluten_free"],
        "program": "Slush",
        "ingredients": [
            "4 kopjes watermeloen sap (960ml)",
            "1 kopje aardbeien (gepureerd)",
            "2 eetlepels limoensap",
            "2 eetlepels suiker of honing"
        ],
        "steps": [
            "Mix alle ingrediënten goed door elkaar.",
            "Giet in de vessel en selecteer SLUSH.",
            "Serveren met een schijfje watermeloen en een aardbei."
        ],
        "mixins": ["Verse munt", "Limoen", "Bessen", "Basilicum", "Gember"],
        "nutrition": {"calories": 90, "fat": "0g", "carbs": "23g", "protein": "1g"},
        "tips": "Gebruik zaadloze watermeloen voor een gladdere textuur. Vries de aardbeien vooraf in voor extra dikte."
    },
    {
        "id": "sl-blue-raspberry",
        "type": "slushie",
        "name": "Blue Raspberry Slushie",
        "emoji": "🔵",
        "description": "Elektrisch blauw, supervers — een feestje in een glas.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "5 min",
        "freezeTime": "45 min",
        "totalTime": "50 min",
        "servings": 6,
        "rating": 4.6,
        "popularity": 78,
        "tags": ["feest", "kinderen", "kleurrijk"],
        "diet": ["vegan", "dairy_free"],
        "program": "Slush",
        "ingredients": [
            "5 kopjes water (1.2L)",
            "1 pakje blue raspberry drankpoeder (bijv. Kool-Aid)",
            "3 eetlepels suiker",
            "1 eetlepel citroensap"
        ],
        "steps": [
            "Mix water, poeder, suiker en citroensap tot alles is opgelost.",
            "Giet in de vessel en selecteer SLUSH.",
            "Serveren met een gekleurd rietje voor het feestelijke effect."
        ],
        "mixins": ["Gummy beren", "Sprinkles", "Limoen", "Bubbels", "Zure matten"],
        "nutrition": {"calories": 70, "fat": "0g", "carbs": "18g", "protein": "0g"},
        "tips": "Perfect voor kinderfeestjes. Voeg wat popping candy toe voor extra effect."
    },

    # ===================== MOCKTAILS =====================
    {
        "id": "mc-shirley-temple",
        "type": "mocktail",
        "name": "Frozen Shirley Temple",
        "emoji": "🍒",
        "description": "De tijdloze klassieker — bevroren en nog lekkerder. Gebaseerd op het originele recept uit de jaren '30.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "5 min",
        "freezeTime": "40 min",
        "totalTime": "45 min",
        "servings": 2,
        "rating": 4.9,
        "popularity": 92,
        "tags": ["beginner", "klassiek", "kinderen", "popular"],
        "diet": ["vegan", "dairy_free", "gluten_free"],
        "program": "Frappé",
        "ingredients": [
            "1 kopje lemon-lime soda (bijv. Sprite/7-Up)",
            "1 kopje ijsblokjes",
            "2-3 eetlepels grenadinesiroop",
            "Scheutje vers limoensap (optioneel)",
            "Maraschinokerssen voor garnering"
        ],
        "steps": [
            "Combineer soda, grenadine en ijsblokjes in een blender.",
            "Blend tot een glad, slushy mengsel.",
            "Proef en pas aan met extra grenadine of limoensap.",
            "Giet in glazen, top met extra soda en garneer met een kers."
        ],
        "mixins": ["Maraschinokerss", "Citroenpartje", "Sinaasappelschijf", "Munt", "Cocktailparaplu"],
        "nutrition": {"calories": 110, "fat": "0g", "carbs": "27g", "protein": "0g"},
        "tips": "Voor een 'Dirty Shirley' cocktail: voeg 30-60ml wodka toe. Gebruik Ollipop voor een gezondere variant."
    },
    {
        "id": "mc-virgin-mojito",
        "type": "mocktail",
        "name": "Virgin Mojito Slush",
        "emoji": "🌿",
        "description": "Verfrissende munt en limoen — Cubaanse sfeer zonder alcohol.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "10 min",
        "freezeTime": "40 min",
        "totalTime": "50 min",
        "servings": 2,
        "rating": 4.7,
        "popularity": 85,
        "tags": ["beginner", "munt", "verfrissend", "zomer"],
        "diet": ["vegan", "dairy_free", "gluten_free"],
        "program": "Slush",
        "ingredients": [
            "20 muntbladeren (plus extra voor garnering)",
            "3 limoenen (sap en partjes)",
            "3 eetlepels suiker of agavesiroop",
            "2 kopjes soda water (480ml)",
            "2 kopjes ijsblokjes",
            "Snufje zout"
        ],
        "steps": [
            "Kneus muntbladeren en limoenpartjes met een pestel in een kan.",
            "Voeg suiker, soda water en ijsblokjes toe.",
            "Mix goed en giet in de vessel.",
            "Selecteer SLUSH en start.",
            "Garneer met een takje munt en een partje limoen."
        ],
        "mixins": ["Munt", "Limoen", "Bessen", "Gemberbier", "Komkommer"],
        "nutrition": {"calories": 80, "fat": "0g", "carbs": "20g", "protein": "0g"},
        "tips": "Kneus de munt zachtjes — niet pureren, anders wordt het bitter. Voor een alcoholische variant: voeg witte rum toe."
    },
    {
        "id": "mc-berry-basil-smash",
        "type": "mocktail",
        "name": "Berry Basil Smash",
        "emoji": "🍓",
        "description": "Bloederige bessen ontmoeten verse basilicum — complex, fruitig en verfijnd.",
        "difficulty": "Gemiddeld",
        "difficultyScore": 2,
        "prepTime": "10 min",
        "freezeTime": "40 min",
        "totalTime": "50 min",
        "servings": 2,
        "rating": 4.8,
        "popularity": 80,
        "tags": ["berry", "kruidig", "elegant"],
        "diet": ["vegan", "dairy_free", "gluten_free"],
        "program": "Slush",
        "ingredients": [
            "1 kopje gemengde bessen (aardbeien, frambozen, bosbessen)",
            "10 basilicumblaadjes",
            "2 limoenen (sap)",
            "2 eetlepels honing of agavesiroop",
            "2 kopjes soda water (480ml)",
            "1 kopje ijsblokjes"
        ],
        "steps": [
            "Kneus bessen en basilicum in een kan met een pestel.",
            "Voeg limoensap, honing, soda water en ijs toe.",
            "Goed roeren en in de vessel gieten.",
            "Selecteer SLUSH en start.",
            "Garneer met een basilicumblaadje en enkele bessen."
        ],
        "mixins": ["Bessen", "Basilicum", "Limoen", "Gember", "Rooswater"],
        "nutrition": {"calories": 95, "fat": "0g", "carbs": "24g", "protein": "0g"},
        "tips": "Voor een feestelijke variant: voeg een scheutje alcoholvrije sparkelende wijn toe voor bubbels."
    },
    {
        "id": "mc-pina-colada-mock",
        "type": "mocktail",
        "name": "Virgin Piña Colada Slush",
        "emoji": "🥥",
        "description": "Caribische vibe zonder alcohol — romige kokos en zoete ananas.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "5 min",
        "freezeTime": "50 min",
        "totalTime": "55 min",
        "servings": 4,
        "rating": 4.9,
        "popularity": 88,
        "tags": ["beginner", "tropisch", "ananas", "kokos"],
        "diet": ["vegan", "dairy_free", "gluten_free"],
        "program": "Slush",
        "ingredients": [
            "3 kopjes ananassap (720ml)",
            "1 kopje kokosmelk (licht)",
            "2 eetlepels kokoscreme",
            "2 eetlepels suiker of agavesiroop",
            "1 theelepel vanille-extract",
            "Snufje zout"
        ],
        "steps": [
            "Mix ananassap, kokosmelk, kokoscreme, suiker, vanille en zout goed door.",
            "Giet in de vessel en selecteer SLUSH.",
            "Serveren met een ananaspartje en een maraschinokerss."
        ],
        "mixins": ["Ananas stukjes", "Geraspte kokos", "Maraschinokerss", "Limoen", "Munt"],
        "nutrition": {"calories": 140, "fat": "5g", "carbs": "22g", "protein": "1g"},
        "tips": "Gebruik volle kokosmelk voor een romigere textuur. Vries ananasstukjes vooraf in voor extra dikte."
    },
    {
        "id": "mc-sunrise-orange",
        "type": "mocktail",
        "name": "Frozen Orange Sunrise",
        "emoji": "🌅",
        "description": "Een prachtige gradient van sinaasappel en grenadine — smaakt als een zonsopgang.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "5 min",
        "freezeTime": "40 min",
        "totalTime": "45 min",
        "servings": 2,
        "rating": 4.6,
        "popularity": 72,
        "tags": ["beginner", "zomer", "kleurrijk"],
        "diet": ["vegan", "dairy_free", "gluten_free"],
        "program": "Slush",
        "ingredients": [
            "2 kopjes sinaasappelsap (480ml)",
            "1 kopje ananassap",
            "1 eetlepel citroensap",
            "3 eetlepels grenadinesiroop",
            "2 kopjes ijsblokjes"
        ],
        "steps": [
            "Mix sinaasappelsap, ananassap en citroensap in een kan.",
            "Giet in de vessel en selecteer SLUSH.",
            "Bij het serveren: giet langzaam grenadine langs de zijkant voor een sunset-effect.",
            "Garneer met een sinaasappelschijf."
        ],
        "mixins": ["Sinaasappel", "Grenadine", "Munt", "Bessen", "Limoen"],
        "nutrition": {"calories": 130, "fat": "0g", "carbs": "32g", "protein": "1g"},
        "tips": "Voor het beste gradient-effect: gebruik de achterkant van een lepel bij het gieten van de grenadine."
    },
    {
        "id": "mc-cucumber-mint-cooler",
        "type": "mocktail",
        "name": "Cucumber Mint Cooler",
        "emoji": "🥒",
        "description": "Ultra-verfrissend — koele komkommer, munt en een vleugje limoen. Spa-dag thuis.",
        "difficulty": "Beginner",
        "difficultyScore": 1,
        "prepTime": "10 min",
        "freezeTime": "40 min",
        "totalTime": "50 min",
        "servings": 2,
        "rating": 4.5,
        "popularity": 68,
        "tags": ["verfrissend", "light", "zomer"],
        "diet": ["vegan", "dairy_free", "gluten_free", "low_sugar"],
        "program": "Slush",
        "ingredients": [
            "1 komkommer (geschild en in stukjes)",
            "15 muntblaadjes",
            "2 limoenen (sap)",
            "1 eetlepel agavesiroop",
            "2 kopjes soda water (480ml)",
            "1 kopje ijsblokjes"
        ],
        "steps": [
            "Pureer komkommer met munt en limoensap in een blender.",
            "Zeef het mengsel door een fijne zeef.",
            "Voeg agavesiroop, soda water en ijs toe.",
            "Giet in de vessel en selecteer SLUSH.",
            "Garneer met een komkommerlint en munt."
        ],
        "mixins": ["Komkommer", "Munt", "Limoen", "Basilicum", "Gember"],
        "nutrition": {"calories": 45, "fat": "0g", "carbs": "11g", "protein": "1g"},
        "tips": "Maak komkommerlinten met een dunschiller voor een elegante garnering."
    }
]

def main():
    conn = sqlite3.connect(DB_PATH)
    conn.row_factory = sqlite3.Row

    added = 0
    updated = 0

    for r in NEW_RECIPES:
        existing = conn.execute('SELECT id FROM recipes WHERE id = ?', (r['id'],)).fetchone()
        if existing:
            # Update existing
            conn.execute('''
                UPDATE recipes SET
                    type=?, name=?, emoji=?, description=?, difficulty=?, difficulty_score=?,
                    prep_time=?, freeze_time=?, total_time=?, servings=?, rating=?, popularity=?,
                    tags=?, diet=?, program=?, ingredients=?, steps=?, mixins=?, nutrition=?, tips=?, updated_at=datetime('now')
                WHERE id=?
            ''', (
                r['type'], r['name'], r.get('emoji', '🍦'),
                r.get('description', ''), r.get('difficulty', 'Beginner'),
                r.get('difficultyScore', 1), r.get('prepTime', '5 min'),
                r.get('freezeTime', '24u'), r.get('totalTime', '24u 5m'),
                r.get('servings', 4), r.get('rating', 4.5),
                r.get('popularity', 50),
                json.dumps(r.get('tags', [])),
                json.dumps(r.get('diet', [])),
                r.get('program', 'Ice Cream'),
                json.dumps(r.get('ingredients', [])),
                json.dumps(r.get('steps', [])),
                json.dumps(r.get('mixins', [])),
                json.dumps(r.get('nutrition', {})),
                r.get('tips', ''),
                r['id']
            ))
            updated += 1
        else:
            # Insert new
            conn.execute('''
                INSERT INTO recipes
                (id, type, name, emoji, description, difficulty, difficulty_score,
                 prep_time, freeze_time, total_time, servings, rating, popularity,
                 tags, diet, program, ingredients, steps, mixins, nutrition, tips, is_custom)
                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0)
            ''', (
                r['id'], r['type'], r['name'], r.get('emoji', '🍦'),
                r.get('description', ''), r.get('difficulty', 'Beginner'),
                r.get('difficultyScore', 1), r.get('prepTime', '5 min'),
                r.get('freezeTime', '24u'), r.get('totalTime', '24u 5m'),
                r.get('servings', 4), r.get('rating', 4.5),
                r.get('popularity', 50),
                json.dumps(r.get('tags', [])),
                json.dumps(r.get('diet', [])),
                r.get('program', 'Ice Cream'),
                json.dumps(r.get('ingredients', [])),
                json.dumps(r.get('steps', [])),
                json.dumps(r.get('mixins', [])),
                json.dumps(r.get('nutrition', {})),
                r.get('tips', '')
            ))
            added += 1

    conn.commit()

    # Verify
    total = conn.execute('SELECT COUNT(*) FROM recipes WHERE is_custom = 0').fetchone()[0]
    frappes = conn.execute("SELECT COUNT(*) FROM recipes WHERE type = 'frappe'").fetchone()[0]
    slushies = conn.execute("SELECT COUNT(*) FROM recipes WHERE type = 'slushie'").fetchone()[0]
    mocktails = conn.execute("SELECT COUNT(*) FROM recipes WHERE type = 'mocktail'").fetchone()[0]

    print(f"✅ {added} nieuwe recepten toegevoegd, {updated} bijgewerkt")
    print(f"📊 Totaal: {total} recepten (Frappes: {frappes}, Slushies: {slushies}, Mocktails: {mocktails})")

    conn.close()

if __name__ == '__main__':
    main()
