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