Initial commit: CRM AI Demo bridge + KB knowledge base + infrastructure
- Bridge server with LLM agent tool-use (search_kb, search_products, search_orders, search_inventory, escalate_human) - pgvector RAG knowledge base (95 FAQ chunks) - Auto opportunity creation in Twenty CRM - Auto follow-up task workflow - Chatwoot AgentBot integration (HMAC, webhook) - Docker compose infrastructure (PG18, Redis 8.8, node24-alpine) - Configuration templates (example files) - real secrets excluded via .gitignore
This commit is contained in:
253
landing.html
Normal file
253
landing.html
Normal file
@@ -0,0 +1,253 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Stainless Jewelry & Accessories — Wholesale for European SMBs</title>
|
||||
<style>
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
body { font-family: -apple-system, "Segoe UI", Roboto, sans-serif; color: #1a1a2e; background: #fff; }
|
||||
a { color: inherit; text-decoration: none; }
|
||||
.nav { display: flex; justify-content: space-between; align-items: center; padding: 18px 48px; box-shadow: 0 1px 0 #eee; }
|
||||
.logo { font-weight: 800; font-size: 22px; color: #b8860b; }
|
||||
.nav .links { display: flex; align-items: center; gap: 24px; }
|
||||
.nav .links a { font-size: 15px; color: #555; }
|
||||
.nav .cta { background: #b8860b; color: #fff; padding: 9px 18px; border-radius: 8px; font-weight: 600; }
|
||||
#langSel { padding: 7px 10px; border-radius: 8px; border: 1px solid #ccc; font-size: 14px; background: #fff; }
|
||||
.hero { text-align: center; padding: 72px 24px 56px; background: linear-gradient(180deg,#fbf6ec,#fff); }
|
||||
.hero h1 { font-size: 42px; line-height: 1.2; max-width: 880px; margin: 0 auto 20px; }
|
||||
.hero h1 span { color: #b8860b; }
|
||||
.hero p { font-size: 19px; color: #555; max-width: 720px; margin: 0 auto 24px; }
|
||||
.badges { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:28px; }
|
||||
.badge { background:#fff; border:1px solid #ecd9a8; color:#8a6d1f; padding:8px 16px; border-radius:20px; font-size:14px; font-weight:600; }
|
||||
.hero .btns { display: flex; gap: 16px; justify-content: center; }
|
||||
.hero .btns a { padding: 14px 26px; border-radius: 10px; font-weight: 600; font-size: 16px; }
|
||||
.btn-primary { background: #b8860b; color: #fff; }
|
||||
.btn-ghost { border: 1.5px solid #b8860b; color: #b8860b; }
|
||||
.warehouses { max-width: 920px; margin: 0 auto; padding: 30px 24px 10px; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
|
||||
.wh { border:1px solid #eee; border-radius:14px; padding:26px; box-shadow:0 6px 20px rgba(0,0,0,.04); }
|
||||
.wh h3 { font-size:20px; margin-bottom:6px; }
|
||||
.wh .flag { font-size:26px; }
|
||||
.wh .days { color:#b8860b; font-weight:700; font-size:15px; margin:6px 0 8px; }
|
||||
.wh p { color:#666; font-size:15px; line-height:1.6; }
|
||||
.features { max-width: 1080px; margin: 0 auto; padding: 50px 24px 60px; display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
|
||||
.card { background: #fff; border: 1px solid #eee; border-radius: 14px; padding: 28px; box-shadow: 0 6px 20px rgba(0,0,0,.04); }
|
||||
.card .ic { font-size: 30px; margin-bottom: 12px; }
|
||||
.card h3 { font-size: 19px; margin-bottom: 8px; }
|
||||
.card p { color: #666; font-size: 15px; line-height: 1.6; }
|
||||
.strip { background: #1a1a2e; color: #fff; text-align: center; padding: 56px 24px; }
|
||||
.strip h2 { font-size: 30px; margin-bottom: 14px; }
|
||||
.strip p { color: #bbb; margin-bottom: 28px; max-width: 700px; margin-left:auto; margin-right:auto; }
|
||||
.strip a { background: #b8860b; color: #fff; padding: 14px 30px; border-radius: 10px; font-weight: 600; }
|
||||
footer { text-align: center; padding: 28px; color: #999; font-size: 14px; }
|
||||
.hint { text-align:center; color:#b8860b; font-size:13px; margin-top:10px; margin-bottom:30px; }
|
||||
#cookie { position: fixed; bottom: 0; left: 0; right: 0; background: #1a1a2e; color: #eee; padding: 14px 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 14px; z-index: 9999; }
|
||||
#cookie button { background: #b8860b; color: #fff; border: 0; padding: 8px 18px; border-radius: 6px; cursor: pointer; font-weight: 600; }
|
||||
#cookie button.ghost { background: transparent; border: 1px solid #666; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="nav">
|
||||
<div class="logo">◆ Stainless Studio</div>
|
||||
<div class="links">
|
||||
<a href="#" data-i18n="nav.products">Products</a>
|
||||
<a href="#" data-i18n="nav.warehouses">Warehouses</a>
|
||||
<a href="#" data-i18n="nav.custom">Customization</a>
|
||||
<select id="langSel">
|
||||
<option value="en">🇬🇧 EN</option>
|
||||
<option value="de">🇩🇪 DE</option>
|
||||
<option value="fr">🇫🇷 FR</option>
|
||||
<option value="es">🇪🇸 ES</option>
|
||||
<option value="it">🇮🇹 IT</option>
|
||||
<option value="nl">🇳🇱 NL</option>
|
||||
</select>
|
||||
<a href="#" class="cta" data-i18n="nav.cta">Chat with us</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section class="hero">
|
||||
<h1 data-i18n="hero.title">Stainless steel jewelry & accessories, <span>wholesale to European SMBs</span></h1>
|
||||
<p data-i18n="hero.subtitle">316L stainless steel jewelry, accessories and apparel — hypoallergenic, durable, customizable. Fast stock from the Netherlands, wide range & great prices from Yiwu.</p>
|
||||
<div class="badges">
|
||||
<span class="badge" data-i18n="badge.min">Min. order €30</span>
|
||||
<span class="badge" data-i18n="badge.nl">🇳🇱 NL stock · 3 days</span>
|
||||
<span class="badge" data-i18n="badge.yw">🇨🇳 Yiwu · 15 days · wider range</span>
|
||||
<span class="badge" data-i18n="badge.custom">Custom logo / OEM</span>
|
||||
</div>
|
||||
<div class="btns">
|
||||
<a href="#" class="btn-primary" onclick="return false;" data-i18n="hero.btn1">Start an order</a>
|
||||
<a href="#" class="btn-ghost" onclick="return false;" data-i18n="hero.btn2">See products</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="warehouses">
|
||||
<div class="wh">
|
||||
<span class="flag">🇳🇱</span><h3 data-i18n="nl.title">Netherlands warehouse — in stock</h3>
|
||||
<div class="days" data-i18n="nl.days">Delivery in ~3 days</div>
|
||||
<p data-i18n="nl.desc">Best for urgent orders and restocks. Popular styles ready to ship across Europe.</p>
|
||||
</div>
|
||||
<div class="wh">
|
||||
<span class="flag">🇨🇳</span><h3 data-i18n="yw.title">Yiwu warehouse — sourced on demand</h3>
|
||||
<div class="days" data-i18n="yw.days">Delivery in ~15 days</div>
|
||||
<p data-i18n="yw.desc">Widest range of styles, most affordable. Best for larger orders, new styles and custom items.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="features">
|
||||
<div class="card"><div class="ic">💍</div><h3 data-i18n="f1.title">316L stainless steel</h3><p data-i18n="f1.desc">Hypoallergenic, durable, tarnish-resistant. Necklaces, rings, bracelets, earrings — gold, rose-gold, silver plating.</p></div>
|
||||
<div class="card"><div class="ic">✨</div><h3 data-i18n="f2.title">Customization</h3><p data-i18n="f2.desc">Engraving, custom logo, OEM packaging. Make it your own brand.</p></div>
|
||||
<div class="card"><div class="ic">🛒</div><h3 data-i18n="f3.title">SMB-friendly</h3><p data-i18n="f3.desc">No MOQ — just a €30 minimum order value. Low barrier for small retailers and online sellers.</p></div>
|
||||
</section>
|
||||
|
||||
<p class="hint" data-i18n="hint">👇 Click the bubble in the bottom-right — tell us your company and what you're looking for.</p>
|
||||
|
||||
<section class="strip">
|
||||
<h2 data-i18n="strip.title">Looking for a reliable jewelry supplier?</h2>
|
||||
<p data-i18n="strip.text">Open the chat, tell us what you need and how many — our assistant shows you prices and stock live, and helps you place the order.</p>
|
||||
<a href="#" onclick="return false;" data-i18n="strip.btn">Start chatting</a>
|
||||
</section>
|
||||
|
||||
<footer>© Stainless Studio · Wholesale stainless steel jewelry, accessories & apparel · <a href="#" style="color:#b8860b" data-i18n="footer.privacy">Privacy Policy</a></footer>
|
||||
|
||||
<div id="cookie">
|
||||
<span data-i18n="cookie.text">We use cookies to operate the live chat and improve your experience.</span>
|
||||
<span><button class="ghost" onclick="document.getElementById('cookie').style.display='none'" data-i18n="cookie.decline">Decline</button> <button onclick="document.getElementById('cookie').style.display='none'" data-i18n="cookie.accept">Accept</button></span>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const I18N = {
|
||||
en: {
|
||||
"nav.products":"Products","nav.warehouses":"Warehouses","nav.custom":"Customization","nav.cta":"Chat with us",
|
||||
"hero.title":"Stainless steel jewelry & accessories, <span>wholesale to European SMBs</span>",
|
||||
"hero.subtitle":"316L stainless steel jewelry, accessories and apparel — hypoallergenic, durable, customizable. Fast stock from the Netherlands, wide range & great prices from Yiwu.",
|
||||
"badge.min":"Min. order €30","badge.nl":"🇳🇱 NL stock · 3 days","badge.yw":"🇨🇳 Yiwu · 15 days · wider range","badge.custom":"Custom logo / OEM",
|
||||
"hero.btn1":"Start an order","hero.btn2":"See products",
|
||||
"nl.title":"Netherlands warehouse — in stock","nl.days":"Delivery in ~3 days","nl.desc":"Best for urgent orders and restocks. Popular styles ready to ship across Europe.",
|
||||
"yw.title":"Yiwu warehouse — sourced on demand","yw.days":"Delivery in ~15 days","yw.desc":"Widest range of styles, most affordable. Best for larger orders, new styles and custom items.",
|
||||
"f1.title":"316L stainless steel","f1.desc":"Hypoallergenic, durable, tarnish-resistant. Necklaces, rings, bracelets, earrings — gold, rose-gold, silver plating.",
|
||||
"f2.title":"Customization","f2.desc":"Engraving, custom logo, OEM packaging. Make it your own brand.",
|
||||
"f3.title":"SMB-friendly","f3.desc":"No MOQ — just a €30 minimum order value. Low barrier for small retailers and online sellers.",
|
||||
"hint":"👇 Click the bubble in the bottom-right — tell us your company and what you're looking for.",
|
||||
"strip.title":"Looking for a reliable jewelry supplier?","strip.text":"Open the chat, tell us what you need and how many — our assistant shows you prices and stock live, and helps you place the order.","strip.btn":"Start chatting",
|
||||
"cookie.text":"We use cookies to operate the live chat and improve your experience.","cookie.decline":"Decline","cookie.accept":"Accept","footer.privacy":"Privacy Policy"
|
||||
},
|
||||
de: {
|
||||
"nav.products":"Produkte","nav.warehouses":"Lager","nav.custom":"Anpassung","nav.cta":"Mit uns chatten",
|
||||
"hero.title":"Edelstahlschmuck & Accessoires, <span>Großhandel für europäische KMU</span>",
|
||||
"hero.subtitle":"316L-Edelstahlschmuck, Accessoires und Bekleidung — hypoallergen, langlebig, anpassbar. Schnelle Ware aus den Niederlanden, große Auswahl & gute Preise aus Yiwu.",
|
||||
"badge.min":"Mindestbestellung 30 €","badge.nl":"🇳🇱 NL-Lager · 3 Tage","badge.yw":"🇨🇳 Yiwu · 15 Tage · mehr Auswahl","badge.custom":"Eigenes Logo / OEM",
|
||||
"hero.btn1":"Bestellung starten","hero.btn2":"Produkte ansehen",
|
||||
"nl.title":"Niederlande-Lager — auf Lager","nl.days":"Lieferung in ~3 Tagen","nl.desc":"Ideal für Eilaufträge und Nachbestellungen. Beliebte Modelle sofort versandbereit in ganz Europa.",
|
||||
"yw.title":"Yiwu-Lager — auf Bestellung","nl.days":"Lieferung in ~15 Tagen","yw.days":"Lieferung in ~15 Tagen","yw.desc":"Größte Modellauswahl, günstigste Preise. Ideal für größere Bestellungen, neue Modelle und individuelle Artikel.",
|
||||
"f1.title":"316L-Edelstahl","f1.desc":"Hypoallergen, langlebig, anlaufgeschützt. Ketten, Ringe, Armbänder, Ohrringe — Gold-, Roségold-, Silberbeschichtung.",
|
||||
"f2.title":"Anpassung","f2.desc":"Gravur, eigenes Logo, OEM-Verpackung. Machen Sie es zu Ihrer Marke.",
|
||||
"f3.title":"KMU-freundlich","f3.desc":"Keine Mindestmenge — nur 30 € Mindestbestellwert. Niedrige Hürde für kleine Händler und Online-Verkäufer.",
|
||||
"hint":"👇 Klicken Sie auf die Sprechblase unten rechts — nennen Sie uns Ihr Unternehmen und Ihr Bedarf.",
|
||||
"strip.title":"Auf der Suche nach einem zuverlässigen Schmuhlieferanten?","strip.text":"Öffnen Sie den Chat, nennen Sie uns die gewünschten Produkte und Mengen — unser Assistent zeigt Ihnen Preise und Lagerbestand live und hilft bei der Bestellung.","strip.btn":"Chat starten",
|
||||
"cookie.text":"Wir verwenden Cookies für den Live-Chat und zur Verbesserung Ihrer Erfahrung.","cookie.decline":"Ablehnen","cookie.accept":"Akzeptieren","footer.privacy":"Datenschutzerklärung"
|
||||
},
|
||||
fr: {
|
||||
"nav.products":"Produits","nav.warehouses":"Entrepôts","nav.custom":"Personnalisation","nav.cta":"Discuter",
|
||||
"hero.title":"Bijoux en acier inoxydable & accessoires, <span>grossiste pour PME européennes</span>",
|
||||
"hero.subtitle":"Bijoux en acier inoxydable 316L, accessoires et vêtements — hypoallergéniques, durables, personnalisables. Stock rapide depuis les Pays-Bas, grand choix & bons prix depuis Yiwu.",
|
||||
"badge.min":"Commande min. 30 €","badge.nl":"🇳🇱 Stock NL · 3 jours","badge.yw":"🇨🇳 Yiwu · 15 jours · plus de choix","badge.custom":"Logo perso / OEM",
|
||||
"hero.btn1":"Passer commande","hero.btn2":"Voir les produits",
|
||||
"nl.title":"Entrepôt Pays-Bas — en stock","nl.days":"Livraison en ~3 jours","nl.desc":"Idéal pour les commandes urgentes et les réassorts. Modèles populaires prêts à expédier en Europe.",
|
||||
"yw.title":"Entrepôt Yiwu — sur commande","yw.days":"Livraison en ~15 jours","yw.desc":"Le plus grand choix de modèles, les prix les plus bas. Idéal pour les grosses commandes, nouveaux modèles et articles personnalisés.",
|
||||
"f1.title":"Acier inoxydable 316L","f1.desc":"Hypoallergénique, durable, résistant au ternissement. Colliers, bagues, bracelets, boucles d'oreilles — dorure, or rose, argent.",
|
||||
"f2.title":"Personnalisation","f2.desc":"Gravure, logo personnalisé, emballage OEM. Faites-en votre marque.",
|
||||
"f3.title":"Adapté aux PME","f3.desc":"Pas de MOQ — seulement 30 € de commande minimale. Faible barrière pour petits détaillants et vendeurs en ligne.",
|
||||
"hint":"👇 Cliquez sur la bulle en bas à droite — indiquez votre entreprise et vos besoins.",
|
||||
"strip.title":"Vous cherchez un fournisseur de bijoux fiable ?","strip.text":"Ouvrez le chat, indiquez les produits et quantités voulus — notre assistant affiche prix et stock en direct et vous aide à commander.","strip.btn":"Discuter",
|
||||
"cookie.text":"Nous utilisons des cookies pour le chat en direct et améliorer votre expérience.","cookie.decline":"Refuser","cookie.accept":"Accepter","footer.privacy":"Politique de confidentialité"
|
||||
},
|
||||
es: {
|
||||
"nav.products":"Productos","nav.warehouses":"Almacenes","nav.custom":"Personalización","nav.cta":"Chatear",
|
||||
"hero.title":"Joyería en acero inoxidable y accesorios, <span>venta mayorista para pymes europeas</span>",
|
||||
"hero.subtitle":"Joyería en acero inoxidable 316L, accesorios y ropa — hipoalergénica, duradera, personalizable. Stock rápido desde Países Bajos, gran variedad y buenos precios desde Yiwu.",
|
||||
"badge.min":"Pedido mín. 30 €","badge.nl":"🇳🇱 Stock NL · 3 días","badge.yw":"🇨🇳 Yiwu · 15 días · más variedad","badge.custom":"Logo propio / OEM",
|
||||
"hero.btn1":"Hacer pedido","hero.btn2":"Ver productos",
|
||||
"nl.title":"Almacén Países Bajos — en stock","nl.days":"Entrega en ~3 días","nl.desc":"Ideal para pedidos urgentes y reposiciones. Modelos populares listos para enviar a Europa.",
|
||||
"yw.title":"Almacén Yiwu — bajo pedido","yw.days":"Entrega en ~15 días","yw.desc":"La mayor variedad de modelos, los mejores precios. Ideal para pedidos grandes, modelos nuevos y artículos personalizados.",
|
||||
"f1.title":"Acero inoxidable 316L","f1.desc":"Hipoalergénico, duradero, resistente al mate. Collares, anillos, pulseras, pendientes — chapado en oro, oro rosa, plata.",
|
||||
"f2.title":"Personalización","f2.desc":"Grabado, logo propio, embalaje OEM. Hazlo tu marca.",
|
||||
"f3.title":"Adaptado a pymes","f3.desc":"Sin MOQ — solo 30 € de pedido mínimo. Barrera baja para pequeños minoristas y vendedores online.",
|
||||
"hint":"👇 Haz clic en la burbuja abajo a la derecha — dinos tu empresa y lo que buscas.",
|
||||
"strip.title":"¿Buscas un proveedor de joyería fiable?","strip.text":"Abre el chat, dinos los productos y cantidades que necesitas — nuestro asistente te muestra precios y stock en directo y te ayuda a hacer el pedido.","strip.btn":"Empezar a chatear",
|
||||
"cookie.text":"Usamos cookies para el chat en vivo y mejorar tu experiencia.","cookie.decline":"Rechazar","cookie.accept":"Aceptar","footer.privacy":"Política de privacidad"
|
||||
},
|
||||
it: {
|
||||
"nav.products":"Prodotti","nav.warehouses":"Magazzini","nav.custom":"Personalizzazione","nav.cta":"Chatta",
|
||||
"hero.title":"Gioielli in acciaio inossidabile e accessori, <span>ingrosso per PMI europee</span>",
|
||||
"hero.subtitle":"Gioielli in acciaio inossidabile 316L, accessori e abbigliamento — ipoallergenici, durevoli, personalizzabili. Stock veloce dai Paesi Bassi, grande scelta e buoni prezzi da Yiwu.",
|
||||
"badge.min":"Ordine min. 30 €","badge.nl":"🇳🇱 Stock NL · 3 giorni","badge.yw":"🇨🇳 Yiwu · 15 giorni · più scelta","badge.custom":"Logo personalizzato / OEM",
|
||||
"hero.btn1":"Inizia ordine","hero.btn2":"Vedi prodotti",
|
||||
"nl.title":"Magazzino Paesi Bassi — in stock","nl.days":"Consegna in ~3 giorni","nl.desc":"Ideale per ordini urgenti e riassortimenti. Modelli popolari pronti alla spedizione in Europa.",
|
||||
"yw.title":"Magazzino Yiwu — su richiesta","yw.days":"Consegna in ~15 giorni","yw.desc":"La più ampia scelta di modelli, i prezzi migliori. Ideale per ordini grandi, nuovi modelli e articoli personalizzati.",
|
||||
"f1.title":"Acciaio inossidabile 316L","f1.desc":"Ipoallergenico, durevole, resistente all'opacizzazione. Collane, anelli, bracciali, orecchini — placcatura oro, oro rosa, argento.",
|
||||
"f2.title":"Personalizzazione","f2.desc":"Incisione, logo personalizzato, packaging OEM. Rendilo il tuo brand.",
|
||||
"f3.title":"Adatto alle PMI","f3.desc":"Nessun MOQ — solo 30 € di ordine minimo. Barriera bassa per piccoli rivenditori e venditori online.",
|
||||
"hint":"👇 Clicca sulla bolla in basso a destra — dicci la tua azienda e cosa cerchi.",
|
||||
"strip.title":"Cerchi un fornitore di gioielli affidabile?","strip.text":"Apri la chat, dicci i prodotti e le quantità che ti servono — il nostro assistente mostra prezzi e disponibilità in tempo reale e ti aiuta a ordinare.","strip.btn":"Inizia a chattare",
|
||||
"cookie.text":"Usiamo cookie per la chat live e migliorare la tua esperienza.","cookie.decline":"Rifiuta","cookie.accept":"Accetta","footer.privacy":"Informativa sulla privacy"
|
||||
},
|
||||
nl: {
|
||||
"nav.products":"Producten","nav.warehouses":"Magazijnen","nav.custom":"Maatwerk","nav.cta":"Chat met ons",
|
||||
"hero.title":"Roestvrijstalen sieraden & accessoires, <span>groothandel voor Europese mkb</span>",
|
||||
"hero.subtitle":"316L-roestvrijstalen sieraden, accessoires en kleding — hypoallergeen, duurzaam, aanpasbaar. Snelle voorraad uit Nederland, brede selectie & goede prijzen uit Yiwu.",
|
||||
"badge.min":"Min. bestelling €30","badge.nl":"🇳🇱 NL-voorraad · 3 dagen","badge.yw":"🇨🇳 Yiwu · 15 dagen · meer keuze","badge.custom":"Eigen logo / OEM",
|
||||
"hero.btn1":"Start een bestelling","hero.btn2":"Producten bekijken",
|
||||
"nl.title":"Magazijn Nederland — op voorraad","nl.days":"Levering in ~3 dagen","nl.desc":"Ideaal voor spoedorders en bijbestellingen. Populaire modellen klaar voor verzending in Europa.",
|
||||
"yw.title":"Magazijn Yiwu — op bestelling","yw.days":"Levering in ~15 dagen","yw.desc":"Grootste modelkeuze, voordeligste prijzen. Ideaal voor grotere orders, nieuwe modellen en maatwerk.",
|
||||
"f1.title":"316L-roestvrijstaal","f1.desc":"Hypoallergeen, duurzaam, roestvrij. Kettingen, ringen, armbanden, oorbellen — verguld, roségoud, zilver.",
|
||||
"f2.title":"Maatwerk","f2.desc":"Gravure, eigen logo, OEM-verpakking. Maak het jouw merk.",
|
||||
"f3.title":"Mkb-vriendelijk","f3.desc":"Geen minimumaantal — slechts €30 minimum bestelwaarde. Lage drempel voor kleine winkeliers en online verkopers.",
|
||||
"hint":"👇 Klik op de bel linksonder — vertel ons je bedrijf en wat je zoekt.",
|
||||
"strip.title":"Op zoek naar een betrouwbare sieradenleverancier?","strip.text":"Open de chat, vertel ons welke producten en hoeveel je wilt — onze assistent toont direct prijzen en voorraad en helpt je met bestellen.","strip.btn":"Start chatten",
|
||||
"cookie.text":"We gebruiken cookies voor de live chat en om je ervaring te verbeteren.","cookie.decline":"Weigeren","cookie.accept":"Accepteren","footer.privacy":"Privacybeleid"
|
||||
}
|
||||
};
|
||||
|
||||
function detectLang(){
|
||||
const bl = (navigator.language || navigator.userLanguage || 'en').toLowerCase();
|
||||
if (bl.startsWith('de')) return 'de';
|
||||
if (bl.startsWith('fr')) return 'fr';
|
||||
if (bl.startsWith('es')) return 'es';
|
||||
if (bl.startsWith('it')) return 'it';
|
||||
if (bl.startsWith('nl')) return 'nl';
|
||||
return 'en';
|
||||
}
|
||||
let currentLang = 'en';
|
||||
function applyLang(lang){
|
||||
currentLang = lang;
|
||||
const dict = I18N[lang] || I18N.en;
|
||||
document.documentElement.lang = lang;
|
||||
document.querySelectorAll('[data-i18n]').forEach(el => {
|
||||
const key = el.getAttribute('data-i18n');
|
||||
if (dict[key]) el.innerHTML = dict[key];
|
||||
});
|
||||
document.getElementById('langSel').value = lang;
|
||||
if (window.$chatwoot && typeof window.$chatwoot.setLocale === 'function') {
|
||||
window.$chatwoot.setLocale(lang);
|
||||
}
|
||||
}
|
||||
document.getElementById('langSel').addEventListener('change', e => applyLang(e.target.value));
|
||||
applyLang(detectLang());
|
||||
|
||||
(function(d,t) {
|
||||
var BASE_URL="https://gtm-chatwoot.shine-buy.com";
|
||||
var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
||||
g.src=BASE_URL+"/packs/js/sdk.js";
|
||||
g.async = true;
|
||||
s.parentNode.insertBefore(g,s);
|
||||
g.onload=function(){
|
||||
window.chatwootSDK.run({
|
||||
websiteToken: 'Tj61ZwkH6JhFWmvQZJRHU4vt',
|
||||
baseUrl: BASE_URL,
|
||||
locale: currentLang
|
||||
});
|
||||
}
|
||||
})(document,"script");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user