Categorie: Uncategorized

  • Boodschappenlijst

    import React, { useState } from ‘react’; import { ShoppingBasket, Check, Leaf, Fish, Wheat, Milk, Nut, Carrot, Info, Printer, Mail } from ‘lucide-react’; const GroceryList = () => { const [checkedItems, setCheckedItems] = useState({}); const categories = [ { title: “Eiwitten (Vlees, Vis, Ei, Vega)”, icon: , color: “bg-blue-50 border-blue-200”, items: [ “Eieren”, “Magere ham”, “Kipfilet”, “Zalm”, “Surimi sticks”, “Kip”, “Mager rundvlees”, “Vis (algemeen)”, “Tofu”, “Tempeh” ] }, { title: “Zuivel & Kaas”, icon: , color: “bg-cyan-50 border-cyan-200”, items: [ “Cottage cheese / Huttenkäse”, “Ongezoete (plantaardige) yoghurt”, “Magere (plantaardige) Kwark”, “Kaas 30+ (met mate)” ] }, { title: “Groente & Fruit”, icon: , color: “bg-green-50 border-green-200”, items: [ “Groenten (alle soorten)”, “Fruit”, “Avocado’s”, “Zoete aardappel” ] }, { title: “Granen & Koolhydraten”, icon: , color: “bg-amber-50 border-amber-200”, items: [ “Volkoren crackers”, “Volkoren pasta”, “Quinoa”, “Bulgur”, “Volkoren/wortel/bieten wraps” ] }, { title: “Noten & Smeersels”, icon: , color: “bg-orange-50 border-orange-200”, items: [ “Hummus”, “Ongebrande noten”, “Pindakaas 100% (met mate)”, “Notenboter 100% (met mate)”, “Zuivelspread” ] } ]; const toggleItem = (item) => { setCheckedItems(prev => ({ …prev, [item]: !prev[item] })); }; const handlePrint = () => { window.print(); }; const handleEmail = () => { // Verzamel alle items die NIET zijn aangevinkt (dus wat je nog moet kopen) let bodyText = “Hier is mijn boodschappenlijst:\n\n”; categories.forEach(cat => { const uncheckedInCat = cat.items.filter(item => !checkedItems[item]); if (uncheckedInCat.length > 0) { bodyText += `${cat.title}:\n`; uncheckedInCat.forEach(item => { bodyText += `- ${item}\n`; }); bodyText += “\n”; } }); const subject = encodeURIComponent(“Mijn Gezonde Boodschappenlijst”); const body = encodeURIComponent(bodyText); window.location.href = `mailto:?subject=${subject}&body=${body}`; }; return (
    {/* Intro Card */}

    Gezonde Voorraadlijst

    Een goede voorbereiding is het halve werk.
    Met deze spullen in huis ben je voorbereid om gezonde keuzes te maken. Doordat je goed gevoed bent, zul je minder cravings hebben voor suikers en vette voeding.

    {/* Action Buttons – Hidden when printing */}
    {/* Categories Grid */}
    {categories.map((category, idx) => (
    {category.icon}

    {category.title}

      {category.items.map((item, itemIdx) => { const isChecked = checkedItems[item]; return (
    • toggleItem(item)} className={` flex items-center gap-3 p-3 rounded-xl cursor-pointer transition-all print:p-1 print:bg-transparent ${isChecked ? ‘bg-emerald-100 text-emerald-800 print:text-gray-400’ : ‘bg-white hover:bg-gray-50 text-gray-700’} `} >
      {isChecked && }
      {item}
    • ); })}
    ))}
    {/* Footer Text */}

    Kies voor puur en onbewerkt

    ); }; export default GroceryList;
  • Hello world!

    Welcome to WordPress. This is your first post. Edit or delete it, then start writing!