/* listgetbuy — landing root: header, mode toggle, hero, footer */
const MAIN_LABELS = {
tr: {
buyerLabel: 'Alıcıyım',
sellerLabel: 'Satıcıyım',
login: 'Giriş Yap',
badge: 'LİSTELE, TEKLİF AL',
heroTitle: 'Fiyatı sen kovalama. Sana gelsin.',
heroSubtitle: 'Ne almak istediğini yaz, bütçeni belirle. Satıcılar teklifleriyle rekabet etsin, fiyat sen izlerken düşsün. En iyi teklif kazansın.',
motto: 'Alan memnun, Satan memnun',
startCTA: 'Hemen Başla',
scrollCTA: 'KAYDIR, NASIL ÇALIŞTIĞINI GÖR',
footerTitle: 'Listele. Teklif al. Ucuza al.',
footerSubtitle: 'Bir tarafta ucuza alan alıcı, diğer tarafta reklamsız satan satıcı. İkisi de kazanır.',
footerStartBuyer: 'Alıcı olarak başla',
footerStartSeller: 'Satıcı olarak başla',
howEyebrow: 'NASIL ÇALIŞIR',
howTitle: 'Bütçeni yaz — satıcılar fiyatı senin için düşürsün.',
howSubtitle: 'Klasik pazaryerinin tersi: aramaya değil, sana geliyor. Birden fazla satıcı bütçenin altında, birbirinin altına teklif veriyor. Sen fiyatın eridiğini izliyorsun.',
step1Eyebrow: '1. Sen',
step1Title: 'İstediğini ve bütçeni söyle',
step1Desc: 'Ne almak istediğini bir cümleyle yaz, ödeyebileceğin maks bütçeyi belirle. Süreyi sen seçiyorsun.',
step2Eyebrow: '2. Satıcılar',
step2Title: 'Bütçenin altında yarışıyorlar',
step2Desc: 'Birden fazla satıcı senin için rekabet ediyor. Her yeni teklif bir önceki en düşüğün altına iniyor.',
step3Eyebrow: '3. Sonuç',
step3Title: 'En düşük teklif senin oluyor',
step3Desc: 'Süre bitince ya da sen onayladığında işlem kapanır. Cebinde kalan miktar net.',
demoBudgetLabel: 'Bütçen',
demoLowestLabel: 'En düşük teklif',
demoSavingsLabel: 'Sen tasarruf ettin',
demoSellersCompeting: 'satıcı yarışıyor',
faqEyebrow: 'SIKÇA SORULAN',
faqTitle: 'Aklındaki sorular',
faq: [
{ q: 'ListGetBuy nedir?', a: 'Klasik bir satış pazaryeri değil — alım pazaryeri. Alıcı ne aldığını ve bütçesini söyler; satıcılar bu bütçenin altında rekabet eder. Yön tersine işliyor: ürün sana geliyor, sen ürünün peşinden koşmuyorsun.' },
{ q: 'Kimler satıcı olabilir?', a: 'Herkes — bireysel kullanıcı ya da firma. Telefon doğrulamasıyla satıcı moduna geçilir; istersen firma kaydı yaparak vergi belgenle şirket olarak teklif verebilirsin. Şirket satıcılar profilde "Mağaza" rozetiyle görünür.' },
{ q: 'Ücretsiz mi?', a: 'Listeleme + teklif verme + mesajlaşma tamamen ücretsiz. Komisyon sadece kargolu / online ödemeli işlemlerde, alıcının bütçesinden yaptığı tasarruftan alınır. Yani sıfır cepten maliyet — kazandığın indirimden küçük bir pay platforma kalır.' },
{ q: 'Elden teslimde komisyon var mı?', a: 'Hayır. Elden teslimde hiçbir komisyon yok; alıcı ile satıcı tutarı kendi aralarında halleder.' },
{ q: 'Ödeme güvenliği nasıl?', a: 'Online ödemelerde Stripe Connect pazaryeri sistemi kullanılır. Ödeme alıcıdan tahsil edilir, satıcıya hemen geçmez — iki taraf da teslimi onayladığında para güvenli biçimde satıcıya aktarılır.' },
{ q: 'İade ve anlaşmazlık?', a: 'İade süreçleri alıcı ile satıcı arasındadır. Mesajlaşma altyapısını biz sağlarız, çözümü taraflar kendi aralarında bulur. Mutabakata varılamazsa Stripe üzerinden anlaşmazlık (dispute) açılabilir.' },
{ q: 'Süre dolarsa ne olur?', a: 'Süre bitince en düşük teklif otomatik kazanır, ödeme alınır ve satıcı kargolar. Sen istersen süre dolmadan da kabul edebilirsin.' },
],
sellerCtaEyebrow: 'SATICI MISIN?',
sellerCtaTitle: 'Alıcı sana hazır geliyor.',
sellerCtaDesc: 'Alıcı ne istediğini ve bütçesini söylüyor. Sen sadece teklifini ver. Reklam, mağaza yönetimi, depo yok — sadece satış.',
sellerCtaButton: 'Satıcı sayfasını gör',
sellerCtaBullets: [
'Hazır talep, hazır bütçe',
'Komisyon yalnızca alıcının tasarrufundan, sadece online ödemede',
'Reklam, mağaza, depo yok',
'Stripe pazaryeri — onay sonrası güvenli aktarım',
]
},
en: {
buyerLabel: 'I\'m a Buyer',
sellerLabel: 'I\'m a Seller',
login: 'Log In',
badge: 'LIST, GET OFFERS',
heroTitle: 'Don\'t chase the price. Let it come to you.',
heroSubtitle: 'Write down what you want to buy, set your budget. Sellers underbid each other, watch the price drop. The lowest offer wins.',
motto: 'Happy Buyer, Happy Seller',
startCTA: 'Get Started',
scrollCTA: 'SCROLL TO SEE HOW IT WORKS',
footerTitle: 'List. Get offers. Buy cheaper.',
footerSubtitle: 'On one side, the buyer gets it cheaper; on the other, the seller sells without ads. Both win.',
footerStartBuyer: 'Start as a buyer',
footerStartSeller: 'Start as a seller',
howEyebrow: 'HOW IT WORKS',
howTitle: 'Set your budget — sellers compete to lower the price for you.',
howSubtitle: "The reverse marketplace: it comes to you, not the other way around. Multiple sellers underbid each other below your budget. You watch the price melt.",
step1Eyebrow: '1. You',
step1Title: 'Tell us what & your budget',
step1Desc: 'Write what you want to buy in one line and set the max you would pay. You choose the time window.',
step2Eyebrow: '2. Sellers',
step2Title: 'They compete under your budget',
step2Desc: 'Multiple sellers race for your purchase. Each new bid goes below the previous lowest.',
step3Eyebrow: '3. Result',
step3Title: 'The lowest bid is yours',
step3Desc: 'When the timer ends or you accept, the deal is sealed. What stays in your pocket is clear.',
demoBudgetLabel: 'Your budget',
demoLowestLabel: 'Lowest offer',
demoSavingsLabel: 'You saved',
demoSellersCompeting: 'sellers competing',
faqEyebrow: 'FREQUENTLY ASKED',
faqTitle: 'Things you might wonder',
faq: [
{ q: 'What is ListGetBuy?', a: 'Not a classic selling marketplace — a buying marketplace. The buyer states what they want and their budget; sellers compete under that budget. The flow is reversed: the product comes to you instead of you chasing it.' },
{ q: 'Who can be a seller?', a: 'Anyone — individuals or businesses. Sellers verify by phone; if you wish, register as a company with a tax document and bid as a business. Business sellers show a "Shop" badge on their profile.' },
{ q: 'Is it free?', a: 'Posting a listing, bidding and messaging are completely free. Commission applies only on shipped / online-paid orders and comes out of the buyer\'s savings (the gap between budget and winning bid). Zero out-of-pocket cost — just a small share of what you saved.' },
{ q: 'Any fee for in-person handover?', a: 'No. Zero commission on in-person handovers; the buyer and seller settle the amount between themselves.' },
{ q: 'How safe is the payment?', a: 'Online payments use the Stripe Connect marketplace system. The buyer is charged but the seller is not paid immediately — funds are released to the seller only after both sides confirm delivery.' },
{ q: 'Returns and disputes?', a: 'Returns are handled directly between the buyer and the seller — we provide the messaging layer; the resolution stays with them. If no agreement is reached, a Stripe dispute can be opened.' },
{ q: 'What happens when time runs out?', a: 'The lowest offer wins automatically; payment is taken and the seller ships. You can also accept before the timer ends.' },
],
sellerCtaEyebrow: 'ARE YOU A SELLER?',
sellerCtaTitle: 'The buyer comes ready.',
sellerCtaDesc: 'The buyer tells you what they want and their budget. You just submit your offer. No ads, no storefront, no warehouse — just sales.',
sellerCtaButton: 'See the seller page',
sellerCtaBullets: [
'Ready demand, ready budget',
'Commission only from buyer\'s savings, only on online payments',
'No ads, no storefront, no warehouse',
'Stripe marketplace — secure transfer after confirmation',
]
},
de: {
buyerLabel: 'Ich bin Käufer',
sellerLabel: 'Ich bin Verkäufer',
login: 'Einloggen',
badge: 'INSERIEREN, ANGEBOTE ERHALTEN',
heroTitle: 'Jag dem Preis nicht hinterher. Lass ihn zu dir kommen.',
heroSubtitle: 'Schreibe auf, was du kaufen möchtest, setze dein Budget. Verkäufer unterbieten sich gegenseitig, sieh zu, wie der Preis sinkt. Das niedrigste Angebot gewinnt.',
motto: 'Zufriedener Käufer, Zufriedener Verkäufer',
startCTA: 'Loslegen',
scrollCTA: 'SCROLLEN, UM ZU SEHEN WIE ES FUNKTIONIERT',
footerTitle: 'Inserieren. Angebote erhalten. Günstiger kaufen.',
footerSubtitle: 'Auf der einen Seite kauft der Käufer günstiger, auf der anderen verkauft der Verkäufer ohne Werbung. Beide gewinnen.',
footerStartBuyer: 'Als Käufer starten',
footerStartSeller: 'Als Verkäufer starten',
howEyebrow: 'SO FUNKTIONIERT ES',
howTitle: 'Lege dein Budget fest — Verkäufer drücken den Preis für dich.',
howSubtitle: 'Der umgekehrte Marktplatz: der Preis kommt zu dir, nicht du zum Preis. Mehrere Verkäufer unterbieten sich unter deinem Budget. Du siehst, wie der Preis schmilzt.',
step1Eyebrow: '1. Du',
step1Title: 'Sag, was du willst und dein Budget',
step1Desc: 'Schreibe in einem Satz, was du kaufen möchtest, und lege das maximale Budget fest. Du wählst den Zeitraum.',
step2Eyebrow: '2. Verkäufer',
step2Title: 'Sie konkurrieren unter deinem Budget',
step2Desc: 'Mehrere Verkäufer wetteifern. Jedes neue Angebot liegt unter dem bisherigen niedrigsten.',
step3Eyebrow: '3. Ergebnis',
step3Title: 'Das niedrigste Angebot gehört dir',
step3Desc: 'Wenn die Zeit endet oder du annimmst, ist der Deal besiegelt. Was bei dir bleibt, ist klar.',
demoBudgetLabel: 'Dein Budget',
demoLowestLabel: 'Niedrigstes Angebot',
demoSavingsLabel: 'Du sparst',
demoSellersCompeting: 'Verkäufer im Wettbewerb',
faqEyebrow: 'HÄUFIGE FRAGEN',
faqTitle: 'Was dich vielleicht interessiert',
faq: [
{ q: 'Was ist ListGetBuy?', a: 'Kein klassischer Verkaufsmarktplatz — ein Kaufmarktplatz. Der Käufer nennt, was er sucht, und sein Budget; Verkäufer konkurrieren unter diesem Budget. Der Ablauf ist umgekehrt: das Produkt kommt zu dir, statt dass du es jagst.' },
{ q: 'Wer kann verkaufen?', a: 'Jeder — Privatpersonen oder Firmen. Verkäufer verifizieren sich per Telefon; wer möchte, registriert sich als Firma mit Steuernachweis und bietet gewerblich. Geschäftliche Verkäufer tragen ein "Shop"-Badge im Profil.' },
{ q: 'Ist es kostenlos?', a: 'Listings erstellen, bieten und chatten sind komplett kostenlos. Eine Provision fällt nur bei versendeten / online bezahlten Aufträgen an — und zwar aus der Ersparnis des Käufers (Differenz Budget − Gewinnergebot). Keine Auslagen, nur ein kleiner Anteil deiner Ersparnis.' },
{ q: 'Gibt es eine Gebühr bei Übergabe vor Ort?', a: 'Nein. Keine Provision bei persönlicher Übergabe; Käufer und Verkäufer regeln den Betrag unter sich.' },
{ q: 'Wie ist mein Geld geschützt?', a: 'Online-Zahlungen laufen über Stripe Connect (Marketplace). Der Käufer zahlt, der Verkäufer erhält das Geld aber erst, wenn beide Seiten die Übergabe bestätigt haben.' },
{ q: 'Rückgaben und Streitfälle?', a: 'Rückgaben werden direkt zwischen Käufer und Verkäufer abgewickelt — wir stellen den Nachrichten-Layer; die Lösung bleibt bei euch. Bei Uneinigkeit kann ein Stripe-Dispute eröffnet werden.' },
{ q: 'Was passiert, wenn die Zeit abläuft?', a: 'Das niedrigste Angebot gewinnt automatisch, die Zahlung wird abgewickelt und der Verkäufer versendet. Du kannst auch früher annehmen.' },
],
sellerCtaEyebrow: 'BIST DU VERKÄUFER?',
sellerCtaTitle: 'Der Käufer kommt fertig zu dir.',
sellerCtaDesc: 'Der Käufer sagt, was er möchte und sein Budget. Du gibst nur dein Angebot ab. Keine Werbung, kein Shop, kein Lager — nur Verkauf.',
sellerCtaButton: 'Verkäufer-Seite ansehen',
sellerCtaBullets: [
'Bereite Nachfrage, bereites Budget',
'Provision nur aus der Käufer-Ersparnis, nur bei Online-Zahlung',
'Keine Werbung, kein Shop, kein Lager',
'Stripe-Marketplace — sichere Auszahlung nach Bestätigung',
]
}
};
function detectLanguage() {
// Önce landing kendi anahtarı, sonra webapp anahtarı (kullanıcı /webapp'te dil değiştirdiyse de hatırla)
const saved = localStorage.getItem('listgetbuy_lang') || localStorage.getItem('lgb_lang');
if (saved && ['tr', 'en', 'de'].includes(saved)) return saved;
const browserLang = (navigator.language || navigator.userLanguage || 'tr').toLowerCase();
if (browserLang.startsWith('de')) return 'de';
if (browserLang.startsWith('en')) return 'en';
return 'tr';
}
function Header({ mode, setMode, labels, lang }) {
return (
{labels.heroSubtitle}
{labels.howSubtitle}
{s.desc}
{labels.sellerCtaDesc}
{slide.desc}
{labels.heroTitle.split('. ')[0]}.
{labels.heroTitle.split('. ')[1]}
{labels.howTitle}
{s.title}
{labels.faqTitle}
{labels.sellerCtaTitle}
{slide.title}