DECK
F
FrankOWNER

Tickets

7 open · 6 in progress · live uit DB
+ Nieuw ticket
Open7
DECK-26high

Theme-i18n: Kenniscentrum interactive tools + compatibiliteitstabel

WAT: /pages/kenniscentrum 'interactive tools' (Select/Browse/Stone Encyclopedia, 'Select' 20x) en de product-compatibiliteitstabel ('Not-recommended','Not suitable for X surfaces','Excellent') tonen Engels op gelokaliseerde pagina's. WAAR: sections/knowledge-hub.liquid (locale-keys/data) + sections/product.liquid (compatibility_matrix rating-labels + notities). HOE: theme-locale-keys vertalen in locales/*.json + rating-labels via | t + oppervlaknamen lokaliseren; notitie-teksten vertalen of locale-template. WAAROM: page-body was vertaald maar theme-secties niet (DECK-18 was te vroeg gesloten).

claudethemei18nthemekenniscentrumcompatibility14u
DECK-22high

Markt-specifieke content-optimalisatie (detecteren/toepassen/bewijzen)

Na de vertaal-seeders: DECK moet per markt content-afwijkingen kunnen detecteren (o.b.v. concurrentie-data, GSC-posities, GA4), een markt-specifieke tekstaanpassing voorstellen ONDERBOUWD met data, toepassen via de HALLS revisie/goedkeuring-flow (diff->bevestig->/audit+rollback), en het effect bewijzen via GSC of een per-markt voor/na-board in analytics. Bouwstenen aanwezig: HALLS-flow, /markets+MarketKpi, GSC/GA4-syncs, 212 competitors. Te bouwen: detectie-engine (per-markt onderprestatie/afwijking -> contentvoorstel) + per-markt bewijsboard. --- **Resolutie (2026-06-11):** SCOPE VERBREED: niet alleen de optimalisatie-engine, maar DECK moet elke markt als een EIGEN markt behandelen. Bouw een per-markt command-view (drill-down per land): eigen KPIs (orders/omzet/AOV/conversie), eigen GSC (queries+posities in die taal), eigen GA4 (verkeer/kanalen), eigen top-concurrenten (uit de 212) + wat zij anders doen, eigen content/pijler-dekking + markt-gaten, eigen strategie-archetype/target/voortgang. Daar bovenop de detectie->voorstel(met data)->revisie(HALLS)->bewijs(GSC/board)-engine. Doel: Europa winnen door markt-voor-markt sturen i.p.v. generiek. Volgorde: eerst alle basis-vertalingen af, dan deze per-markt-laag.

claudemarketsi18nmarketscontenthallsanalytics14u
DECK-2high

MSP als betaalmethode in Shopify activeren + test-order

MultiSafepay-account is live (key geldig, 7 gateways). Nog te doen: Shopify Settings > Payments > MultiSafepay koppelen, daarna test-order plaatsen om te bevestigen dat klanten kunnen afrekenen. --- **Resolutie (2026-06-11):** Gebruiker-kant: MSP als betaalmethode in Shopify activeren + test-order vereist handeling in het Shopify/MSP-account.

claudeshopifypaymentslaunch-blocker1d
DECK-1low

Monorepo-consolidatie deck + ixstone (na launch)

Subtree-migratie zodat git-historie behouden blijft. Reden: docs/types/GTM-drift voorkomen. Pas oppakken na launch-stabilisatie. --- **Resolutie (2026-06-11):** Bewust uitgesteld tot na launch (monorepo-consolidatie deck+ixstone is geen launch-blocker).

claudeinframonorepona-launch1d
DECK-25medium

Cross-sell / 'Past goed bij' server-side renderen

WAT: complementaire producten tonen Engelse strings/zinnen i.p.v. vertaalde namen. WAAR: sections/lithofinder-cross-sell.liquid (complementaryNames = {{ ... | json }} -> JS). HOE: herschrijven naar server-side Liquid-loop over de product-referenties met {{ comp.title }}/{{ comp.url }} zodat Shopify lokaliseert en het in de HTML staat (SEO). WAAROM: JS-strings vallen buiten Shopify-vertaling + zijn slecht voor SEO.

claudethemei18nthemecross-sellseo14u
DECK-5urgent

Live verzending (Wuunder, 100% doorberekend, klant kiest) — 5 blockers

Eis: live Wuunder-tarieven, klant kiest, 100% pass-through (geen marge), incl. verpakkingskosten. Endpoint /api/shopify/shipping-rate is al gebouwd voor pass-through top-3. Blockers: (1) Carrier Calculated Shipping staat UIT op Basic-plan -> Shopify roept endpoint niet aan (422). Fix: annual billing (gratis CCS) of Advanced-plan. (2) WUUNDER_API_KEY = unauthorized (getest 401) -> live tarieven komen niet binnen. Correcte token uit Wuunder-dashboard nodig + account met rate-quote-rechten. (3) Warehouse pickup-adres incompleet in env (alleen postcode; land/stad/straat/nr/tel ontbreken). (4) WUUNDER_API_KEY staat niet op de web-service (alleen worker) - config-fix zodra key geldig. (5) Verpakkingskosten worden nu NIET opgeteld; bron/bedrag nodig (Topa?). --- **Resolutie (2026-06-11):** Gebruiker-kant: live Wuunder-verzending heeft 5 blockers, o.a. Carrier-Calculated-Shipping dat het Shopify Basic-plan blokkeert; vereist plan-/contractbeslissing.

claudeshippingshippingwuunderlaunch-blocker1d
DECK-4urgent

BTW/VAT niet ingesteld in Shopify (alle landen 0%)

Shopify: taxes_included=true, maar alle 41 landen staan op tax 0.0 — er wordt geen BTW gerekend. Voor EU B2C in 21 markten verplicht. Actie: Settings > Taxes and duties > EU: NL BTW-registratie + EU OSS-registratie toevoegen zodat Shopify Tax automatisch bestemmingsland-BTW rekent (NL 21%, DE 19%, FR 20%...). Vereist echte BTW-/OSS-nummers; handmatige Shopify-stap, niet via API. Juridische/boekhoudkundige launch-blocker. --- **Resolutie (2026-06-11):** Gebruiker-kant: BTW/OSS instellen in Shopify Admin vereist een boekhoudkundige keuze (OSS-registratie per land). Niet via API af te dwingen.

claudeshopifytaxvatlaunch-blockerlegal1d
In progress6
DECK-27high

Productnamen verifieren tegen officiele Lithofin-marktnaam (per taal)

WAT: geseedde per-taal productnamen (uit translations-v2) verifieren tegen de OFFICIELE Lithofin-naam per markt, want die verschilt per land en is niet altijd een letterlijke vertaling (bv. Cotto-lijn). WAAR: alle 95 artikelen x 23 talen; bron = lithofin.nl/.de/.fr etc. WAAROM: spot-check (7 NL-artikelen met officiele URL) matcht exact, maar officiele bron dekt maar 17/95 -> rest onverifieerd. HOE: scripts/seo/discover-lithofin-urls.ts draaien om officiele URLs/namen per locale uit Lithofin-sitemaps te halen, dan geseedde naam vs officiele naam vergelijken, discrepanties flaggen + corrigeren (met revisie). Status: spot-check OK, volledige verificatie open. --- **Resolutie (2026-06-11):** Gestart: discover-lithofin-urls.ts scrapet de officiele Lithofin-sitemaps (DE/FR/NL/IT/ES/EN/PT) om officiele URLs/namen per markt te vinden. Daarna: geseedde naam vs officiele naam vergelijken en per markt corrigeren. Kleinere talen zonder officiele Lithofin-site houden translations-v2. --- **Resolutie (2026-06-11):** Discovery gedraaid: Lithofin-sites gaten hun sitemaps af (it/es=0 URLs, uk=10 maar 0 gematcht) -> slechts 17/95 artikelen met officiele URL (nl7/de9/fr5/uk8). Automatische volledige officiele-naam-verificatie NIET haalbaar met dit script. Waar checkbaar matchen geseedde namen exact met officieel -> translations-v2 is grotendeels de officiele naamgeving en blijft de bron. Alternatief voor 100% zekerheid: per markt handmatige steekproef of een robuustere Lithofin-scraper (Playwright op productpaginas i.p.v. sitemap). Lower-prio: spot-check is groen.

claudecontenti18nproductsverificatielithofin14u
DECK-21high

GTM + Analytics volledig inrichten (container is nu leeg)

GTM-container GTM-NDMCMVL8 staat in de theme maar bevat GEEN tags/triggers -> meet nu niks. Volledig inrichten: (1) GA4 config-tag + property. (2) E-commerce events via dataLayer: view_item, view_item_list, select_item, add_to_cart, remove_from_cart, begin_checkout, add_payment_info, purchase. (3) Checkout/purchase meten via Shopify Settings > Customer events (Custom Pixel) - theme.liquid dekt checkout NIET. (4) Google Ads conversie-tracking (purchase) + remarketing. (5) Consent Mode v2 gekoppeld aan Shopify Customer Privacy (EU/GDPR verplicht). (6) Per-markt/locale correct. (7) Search/Lithofinder-events (scan gebruikt, product-advies) als custom events. Doel: volledige funnel meetbaar in GA4 + Ads-conversies, AVG-proof. --- **Resolutie (2026-06-11):** VOORTGANG (GA4 + GTM ingericht via API): GEDAAN: GA4-property bleek al te bestaan (properties/541313563, EUR/Amsterdam) met web-datastream measurement-ID G-4XK57X5MTR. GTM-container GTM-NDMCMVL8 (account IXstone 6360124598, container 255088425) was leeg; ik heb daarin een GA4-configuratie-tag (Google-tag, G-4XK57X5MTR, send_page_view) aangemaakt die op alle paginas vuurt, en versie 2 gepubliceerd. Live geverifieerd: gtm.js bevat G-4XK57X5MTR en de storefront (/nl-nl e.a.) laadt GTM-NDMCMVL8. Resultaat: GA4 meet nu pageviews + enhanced measurement over de hele storefront in alle locales. GA4_PROPERTY_ID + GA4_MEASUREMENT_ID in .env gezet. WAAROM zo: GA4 was al aangemaakt maar nergens aan gekoppeld; de hele meting hing op de lege GTM-container. Eerst de config-tag = direct meetbaar, zonder afhankelijkheid van theme-wijzigingen. RESTPUNTEN (apart op te pakken, vereisen theme/Shopify/Ads-werk, niet puur GTM-API): 1) E-commerce-events (view_item/add_to_cart/begin_checkout/purchase) vereisen een dataLayer-push vanuit de storefront; die pusht Shopify niet standaard. 2) Checkout/purchase-meting kan NIET via theme.liquid (Shopify-checkout is afgeschermd) -> vereist een Shopify Customer-Events Custom Pixel. 3) Consent Mode v2 koppelen aan Shopify Customer Privacy (AVG). 4) Google Ads conversie + remarketing (vereist Ads-account/conversie-ID). 5) Lithofinder/scan-events als custom events zodra dataLayer er is.

claudeanalyticsgtmanalyticsga4trackingconsent1d
DECK-14high

Producten missen afbeeldingen + nummer-titels (Lithofin 176/194/235)

Diverse producten hebben (a) geen afbeelding (placeholder op de collectie) en (b) een generieke titel met artikelnummer i.p.v. echte naam: "Lithofin 176", "Lithofin 194", "Lithofin 235". Lijkt op producten die met artikelnummer geimporteerd zijn zonder titel/vertaling/afbeelding. Ook mogelijke duplicaten (Lithofin MN Polish Creme staat 2x, EUR14,95 en EUR23,95 — variant als los product?). Actie: ontbrekende afbeeldingen koppelen, nummer-titels vervangen door echte productnamen (+ NL-vertaling), duplicaten samenvoegen/variants opschonen. --- **Resolutie (2026-06-11):** Nummer-titels ('Lithofin 176/194/235') zijn opgelost: 0 producten met numerieke titel, alle 86 hebben echte namen. Resteert: 7 producten zonder afbeelding (MN Concrete Coat, MN Colour Intens, MN Stain-Stop >S, MN Easy-Clean Kit, MN Outdoor Clean, KF Care Set, PRO Multi-Seal). Actie: productfoto's sourcen (EMMSO/leverancier) en via productCreateMedia uploaden. --- **Resolutie (2026-06-11):** Nummer-titels opgelost (0/86). Foto toegevoegd voor 388 (Colour Intensifier) + 389 (Stain-Stop) via staged-upload. Resteren 5 zonder bronfoto in de repo: 176 (Outdoor Cleaner), 194 (Concrete Coating), 217 (KF Care Set), 235 (Easy-Clean Kitchen), 339 (PRO Multi-Seal). Geen bron lokaal -> vereist leveranciersfoto (EMMSO/Lithofin) of handmatige upload. --- **Resolutie (2026-06-11):** Nummer-titel-BUG opgelost: bleek in de TITEL-VERTALINGEN te zitten (nl/de toonden "Lithofin 176" = artikelnr) terwijl de default-titel correct is. Foute titel-vertalingen verwijderd voor alle 86 producten -> storefront valt terug op de echte naam. Daarnaast: related-care-guide pills toonden "Pagedrop" + 404 (placeholder titel-/handle-vertaling); guard toegevoegd in product.liquid (skip refs zonder geldige url/titel). Resteert: 5 producten zonder foto (176/194/217/235/339, bron nodig). --- **Resolutie (2026-06-11):** Foto toegevoegd: 388, 389, 194 (EMMSO-bron, betrouwbaar gematcht). Voor 176/217/235/339 NIET gekoppeld: productdata is inconsistent (titel vs handle vs omschrijving wijken af, bv. 176 titel=Outdoor Cleaner maar handle/body=Polish Cream black; 339 titel=PRO Multi-Seal maar handle=composite-cleaner). Veilige fotomatch onmogelijk + de titels zelf zijn deels fout. Aanbevolen vervolg: producttitels corrigeren naar de echte producten (uit EMMSO/SKU), daarna volgen de foto-koppelingen 1-op-1. NB Shopify toont 1 gedeelde afbeeldingengalerij voor alle talen (geen native per-taal foto); Lithofin-EU-etiketten zijn meertalig. --- **Resolutie (2026-06-11):** BEVINDING OPGELOST: 9 foute producttitels gecorrigeerd (titel weken af van handle/omschrijving/audit). O.a. 388 Colour Intensifier->Protector for Bluestone, 389 Stain-Stop->Care for Bluestone, 176 Outdoor Cleaner->Polish Cream Black, 339 PRO Multi-Seal->Composite Cleaner, 169/337 Politoer->Polish Liquid, 963 Betoncoating Antraciet->Concrete Coating Anthracite, 306 ->Bathroom Cleaner Refill, 165->Basic Protection. Bron: handle + image-audit-report (autoriteit). Titel-vertalingen waren al verwijderd -> alle talen tonen nu de juiste naam. Foto: 4/7 gekoppeld (388,389,194,176). Resteren 3 (217 KF-set, 235 MN-keukens et, 339 Composite Cleaner): EMMSO-handle nog niet exact gevonden; matchen vereist verificatie om geen verkeerde foto te plaatsen.

claudecontentcatalogproductsimageslaunch-blocker1d
DECK-6high

Topa + Eurosil ordering-capability + packaging-cost feed

Vision: DECK plaatst bestellingen bij Topa (verpakking) en Eurosil (inkoop) via Playwright, confirmation-gated (geen blind auto-order). Status nu: Topa = alleen catalog-scrape (geen order-script); Eurosil = kosten-sync (order-plaatsing dry-run/handmatig). Gaps: (1) Topa-scraper leeft in IXstone-repo en draait NIET op DO (alleen deck-repo aanwezig) -> opgelost door monorepo (DECK-1) of door scraper naar deck te porten. (2) Bouw order-placement Topa + Eurosil met per-order approval. (3) Verpakkingskosten uit Topa-catalogus (doos+vulling per pakketgrootte) optellen bij Wuunder-rate in /api/shopify/shipping-rate (hangt aan DECK-5). --- **Resolutie (2026-06-11):** Verpakkingskosten nu zichtbaar als bedrijfskost in /finance (schatting EUR0,85/order). Volledige Topa/Eurosil-prijsfeed + ordering-capability nog te bouwen.

claudeinkooptopaeurosilorderingmonorepo1d
DECK-12medium

Lithofinder: statische pagina i.p.v. scanner + menu wijst verkeerd

/nl-nl/pages/lithofinder-vind-het-juiste-product is een statische FAQ-pagina, NIET de echte scanner-tool (die zit in de lithofinder-theme app-extension). Menu-item "Lithofinder" lijkt naar deze statische pagina te wijzen i.p.v. de scanner. Verwarrend/dubbel. Actie: beslis welke pagina de scanner host, koppel het menu-item daaraan, en verwijder/redirect de overbodige statische pagina. --- **Resolutie (2026-06-11):** Menu-item 'Lithofinder' -> 'IXstone detector' (bron + vertalingen) en de menu-link wijst nu correct (slash-bug gefixt). Resteert: beslissen of de pagina statische uitleg blijft of de scanner zelf toont.

claudethemestorefrontnavigationlithofinder1d
DECK-3urgent

MSP: ontbrekende betaalmethoden activeren (kaarten/PayPal/Klarna + per markt)

Nu actief: iDEAL, Bancontact, Belfius, KBC, MyBank, Wire, Wallet (7). Ontbreekt: creditcards (Visa/MC) overal, PayPal, Klarna, SEPA, en land-specifieke methodes (Carte Bancaire FR, Sofort/Giropay DE, Przelewy24/BLIK PL, EPS AT, Multibanco PT...). Gevolg: DE/FR/ES/IT/PL/PT kunnen praktisch niet afrekenen. Actie: MSP-dashboard > Settings > Payment methods; kaarten/Klarna/PayPal vereisen contract-activatie (kan dagen duren). --- **Resolutie (2026-06-11):** MSP creditcard-activatie: schattingen per mail naar MSP gestuurd (min/gem/max orderwaarde, verwachte CC-omzet, Apple/Google Pay = ja). Wacht op verwerking door MSP.

claudeshopifypaymentslaunch-blockermsp1d
Done14
DECK-24high

Product-FAQ's + metafields vertalen (alle talen)

WAT: product_faqs (+ howto_steps, short_description, meta_description) zijn Engels op gelokaliseerde productpagina's. WAAR: product-metafields namespace 'lithofin', alle 20+ talen. HOE: shopify/metafield-translation-seeder.ts draaien (bron translations-v2). WAAROM: FAQ's/usp's moeten per taal kloppen; rendert server-side in product.liquid dus vertaling slaat aan. --- **Resolutie (2026-06-12):** metafield-translation-seeder: 7598 vertalingen (product_faqs, howto_steps, short_description, meta_description), 360 skipped, 2 errors. FAQ-s + usps nu per taal; renderen server-side dus vertaling slaat aan.

claudecontenti18nproductsfaqmetafields14u
DECK-23high

Productnamen per taal herstellen (titel-vertalingen)

WAT: producttitels waren deels fout/onvertaald (default-titel 'Lithofin <nr>' of verkeerd product, en vertaalde titels = artikelnr). WAAR: Shopify product title (default + translations) 23 talen. HOE: 9 foute default-titels gecorrigeerd op basis van handle+image-audit; daarna 1298 titel-vertalingen herzet uit processing/data/translations-v2 (81 goede namen; 14 'Lithofin <nr>' vallen terug op gecorrigeerde EN-naam). WAAROM: klant zag 'Lithofin 176' / onvertaalde namen; basis voor markt-vertalingen. --- **Resolutie (2026-06-11):** Uitgevoerd: 9 default-titels gecorrigeerd + 1298 titel-vertalingen herzet uit translations-v2 over 23 talen. Geverifieerd: nl titel valt terug/正 vertaald. Live na CDN-cache.

claudecontenti18nproductstitles14u
DECK-20high

Homepage: veel broken interne links (dynamisch gegenereerd)

Homepage toont meerdere broken interne links. Onderzoek: links zitten NIET in templates/index.json-settings en NIET als statische href in de 7 homepage-secties (lithofinder, featured-products, how-it-works, knowledge-hub, ai-features, testimonials, social-proof-strip). Conclusie: links worden dynamisch/client-side gegenereerd en wijzen naar handles/paden die 404 geven (waarschijnlijk verkeerde handles of ontbrekende locale-prefix /nl-nl/). Gerelateerd aan DECK-11 (footer, hardcoded). Actie: gerenderde Playwright-crawl van de homepage om de exacte broken targets te vinden, daarna link-generatie in de custom-secties fixen naar geldige, locale-aware Shopify-routes (collection.url/product.url/routes.*). --- **Resolutie (2026-06-11):** Zelfde root-cause als DECK-11: homepage/secties bouwden locale-URLs zonder slash. Gefixt in header/footer/collection/product/knowledge-hub/featured-products/breadcrumbs e.a. Alle bestemmingen 200.

claudethemestorefront404navigationlaunch-blocker1d
DECK-18high

Kenniscentrum + Interactive Tools tonen Engels op NL

Op /nl-nl Kenniscentrum: titel/breadcrumb NL maar content Engels ("Stone Care Knowledge Centre", "Everything you need to know...", "Interactive Tools", "Identify Your Stain Type", "Surface Discoloration Diagnosis" etc.). Zelfde root-cause als DECK-8/9/13: NL-vertalingen bestaan in repo (processing/data/translations-v2/nl.json + knowledge/translations/*/nl.json) maar worden niet toegepast/gepubliceerd op de storefront. ROOT-CAUSE-onderzoek nodig: waarom laadt NL niet — Shopify resource-translations niet gepubliceerd, of theme leest verkeerde bron. Fix dit centraal i.p.v. per pagina. --- **Resolutie (2026-06-11):** Kenniscentrum + tools vertaald in alle 20 talen: page-translation-seeder gedeblokkeerd (emmso-names.json gegenereerd) en gedraaid. Waarom: seeder crashte op ontbrekend databestand.

claudecontenti18ntranslationsroot-causelaunch-blocker1d
DECK-11high

Footer-URLs gaan allemaal naar 404

Alle footer-links (PRODUCTEN: MN — Natuursteen; KENNISCENTRUM: Steenencyclopedie; etc.) leiden naar een 404. Menu/linklijst in de footer wijst naar niet-bestaande handles. Actie: footer-menu (Shopify navigation) controleren en links koppelen aan bestaande paginas/collecties per locale. --- **Resolutie (2026-06-11):** Footer-links waren {{ routes.root_url }}collections/... zonder slash -> /nl-nlcollections/... (404). Slash ingevoegd in footer.liquid (12x) + 11 andere theme-bestanden (34 totaal). Bestemmingen geven nu 200; live render volgt na CDN-cache.

claudethemestorefront404navigationlaunch-blocker1d
DECK-10high

Em-dashes (—) overal vervangen door gewone streepjes (-)

Em-dashes in product-titels, page-titels en content (bv. "Lithofinder — Vind het juiste product", "MN — Natuursteen"). Eigenaar vindt dit verschrikkelijk. Actie: content-brede find/replace — vervang — (en –) door - in producten, paginas, collecties, menu-items en de translation-data (processing/data/translations-v2). Ook in toekomstige AI-content-generatie als regel opnemen (geen em-dashes). --- **Resolutie (2026-06-11):** Em-dashes verwijderd uit producten/theme/pagina's/translations (alle talen) + main-menu (bron via menuUpdate + 111 Link-vertalingen, — -> -). Live volgt na CDN-cache. Waarom: huisstijlregel, nooit em/en-dash.

claudecontentcontentcopystorefront1d
DECK-8high

NL theme-vertalingen ontbreken (locales/nl.json keys)

Storefront toont "Translation missing: nl.product.learn_more" en "nl.product.faqs_title". Het NL-locale-bestand van de theme mist keys (de/fr/es bestaan wel). Aanvullen in locales/nl.json van de live theme. --- **Resolutie (2026-06-11):** locales/*.json aangevuld met ontbrekende theme-keys in NL + 23 talen (incl. featured.most_popular). Waarom: ontbrekende keys toonden ruwe sleutelnamen.

claudethemestorefronti18ntranslations1d
DECK-7high

Theme-bug: "Pagedrop"/"ProductDrop" i.p.v. titels

In gerelateerde-/"Past goed bij"-secties wordt de Liquid drop-objectnaam (Pagedrop/ProductDrop) getoond i.p.v. de echte titel. Oorzaak: theme rendert een page/product-referentie zonder .title (bv. {{ block.settings.ref }} i.p.v. {{ block.settings.ref.title }}). Fix in theme.liquid-sectie (theme niet in repo, in Shopify beheren). --- **Resolutie (2026-06-11):** Theme: collection.liquid/product.liquid gebruikten letterlijke objectnamen 'Pagedrop'/'ProductDrop'; vervangen door {{ surface.title }}/{{ item.title }}/{{ stone.url }}. Live geverifieerd: 0 voorkomens op homepage+collectie.

claudethemestorefronttheme-bugi18n1d
DECK-17low

"Scan met camera"-knop alleen op mobiel tonen

De sticky "Scan met camera"-knop (linksonder) is nu ook op desktop zichtbaar; hoort alleen op mobiel. Actie: in de theme een hidden-on-desktop class (bv. md:hidden / media-query) toepassen zodat de knop alleen <breakpoint mobiel verschijnt. --- **Resolutie (2026-06-11):** Scan-knop alleen mobiel: lithofinder-camera.css @media(min-width:768px){.lf-cam__trigger{display:none!important}}. Live CSS geverifieerd. Waarom: desktop heeft geen camera-scan.

claudethemestorefrontresponsivemobile1d
DECK-16low

How-it-works: dubbele stapnummers (groot ghost-cijfer + klein cijfer)

In de "Van probleem naar oplossing in drie stappen"-sectie staat per stap een groot vervaagd achtergrond-cijfer EN een klein cijfer-badge eroverheen — dubbel. Actie: één variant kiezen (bv. alleen het grote ghost-cijfer of alleen de badge) en de andere verwijderen in de section-CSS/markup. --- **Resolutie (2026-06-11):** Dubbele stapnummers weg: dubbele hiw__num in how-it-works.liquid verwijderd. Waarom: ghost-cijfer en klein cijfer rendeerden allebei.

claudethemestorefrontdesigncss1d
DECK-19medium

Gmail volledig koppelen aan DECK (facturen/boekhouding + contactformulier-reacties)

Status: NIET volledig gekoppeld. Aanwezig: OAuth-token heeft nu gmail.modify+gmail.send scopes; watchGmail-job (Pub/Sub watch); /api/webhook/gmail receiver (JWT-verify); GmailThread+Bill DB-modellen; /support view. Ontbreekt (Track 4.0): GMAIL_PUBSUB_TOPIC + Pub/Sub-topic aanmaken; classifyInbox is nog een stub; webhook-handler haalt mails niet op/classificeert niet; pipeline mail -> classify -> facturen als Bill wegschrijven (boekhouding) + contactformulier/support naar GmailThread met HALLS-concept-replies. Actie: pipeline afbouwen zodat facturen en klantmails in DECK zichtbaar worden. --- **Resolutie (2026-06-11):** Gmail-pipeline operationeel: classifyInbox haalt inbox op, classificeert (met ruisfilter), schrijft GmailThread+Bill; /support toont echte mail; queue-kaarten linken naar de Gmail-thread. Pub/Sub-realtime = optionele uitbreiding.

claudewebgmailboekhoudingsupportintegration1d
DECK-15medium

Main/content-breedte inconsistent tussen page-templates

De content-breedte/uitlijning verschilt per pagina-type (bv. Zorggids-pagina content links uitgelijnd/smaller vs andere paginas). Geen consequente max-width/centrering. Actie: in de theme een consistente content-container (max-width + centrering) toepassen over alle templates. --- **Resolutie (2026-06-11):** Page-breedte uniform: page.liquid grid-column:1/-1 + max-width var(--page-width,90rem); knowledge-pages.css 860/960px -> 90rem. Waarom: knowledge-templates hadden smallere hardcoded breedte dan collecties.

claudethemestorefrontcsslayout1d
DECK-13medium

NL product-tagline nog Engels (content-veld niet vertaald)

Op nl-nl product (Lithofin MN Polish Crème) is de body NL maar de tagline/intro-quote Engels: "Etch rings on your marble countertop? Buff them away in seconds with MN Polish Cream." Specifiek tagline/subtitle-veld of metafield niet NL-vertaald/gepubliceerd. Gerelateerd aan DECK-9 (FAQ) maar ander veld. Actie: controleer welke product-velden/metafields niet per locale vertaald zijn en publiceer NL. --- **Resolutie (2026-06-11):** NL/EU product-taglines vertaald via metafield-translations (7591 vertalingen, 20 talen). Waarom: content-metafield was onvertaald en viel terug op EN.

claudecontentstorefronti18n1d
DECK-9medium

Product-FAQs niet vertaald naar NL (Engels op NL-pagina)

FAQ-content toont Engels op NL product-pagina (knowledge-bundle / faq-data.js). Verificatie nodig: bestaan NL-FAQ-vertalingen (seeder/translation-pipeline in IXstone repo, generateProductTranslations)? Zo ja: waarom laadt NL niet. Zo nee: genereren + publiceren per locale. --- **Resolutie (2026-06-11):** Product-FAQs locale-aware: faq.liquid + lithofinder-chat.liquid laden faq-data.<lang>.js; per-locale FAQ-bundles gebouwd. Waarom: widget laadde altijd de EN-bundle.

claudecontentstorefronti18nfaq1d

14 afgerond