// extras.jsx — Success/Delivery · Mobile Admin · SEO Landing // + animated hero intro helpers + messaging tab const { useState: _eS, useEffect: _eE } = React; // ═══════════════════════════════════════════════════════════════ // 1) SUCCESS / DELIVERY SCREEN (desktop + mobile) // ═══════════════════════════════════════════════════════════════ function SuccessScreen({ L, lang, theme, listing }) { const [copied, setCopied] = _eS(null); const orderId = 'IS-2026-04-' + String(9184).padStart(5, '0'); const creds = { username: listing.handle.replace('@', ''), email: `${listing.handle.replace('@','')}.delivery@instasatis.com`, pass: 'K7!vm' + (listing.id.slice(-1) + '39aLp') + 'Z', recovery: '+90 5•• ••• •• ••', }; const copy = (k, v) => { navigator.clipboard?.writeText(v); setCopied(k); setTimeout(() => setCopied(null), 1400); }; return (
{/* Celebration hero */}
{/* Confetti dots */} {Array.from({ length: 24 }).map((_, i) => { const seed = (i * 97) % 100; const hue = [0, 35, 300, 350, 180, 120][i % 6]; return
; })}

{lang === 'tr' ? 'Ödeme alındı! 🎉' : 'Payment received! 🎉'}

{lang === 'tr' ? 'Hesap bilgilerin aşağıda. Ayrıca e-posta adresine de gönderildi.' : 'Your account credentials are below. Also sent to your email.'}
{lang === 'tr' ? 'Sipariş No' : 'Order ID'} {orderId}
{/* Content */}
{/* Credentials card */}
{listing.handle}
{fmtNum(listing.followers)} {L.card_followers} · {L[`niche_${listing.niche}`]}
{lang === 'tr' ? 'Devredildi' : 'Transferred'}
{lang === 'tr' ? 'Hesap Erişim Bilgileri' : 'Access Credentials'}
{[ { k: 'username', label: lang === 'tr' ? 'Kullanıcı adı' : 'Username', v: creds.username }, { k: 'email', label: lang === 'tr' ? 'Bağlı e-posta' : 'Linked email', v: creds.email }, { k: 'pass', label: lang === 'tr' ? 'Şifre' : 'Password', v: creds.pass, mono: true }, { k: 'recovery', label: lang === 'tr' ? 'Kurtarma telefonu' : 'Recovery phone', v: creds.recovery, mono: true }, ].map(r => (
{r.label}
{r.v}
))}
{lang === 'tr' ? 'İlk işin şifreyi değiştirmek olsun.' : 'Change the password as your first action.'} {' '}{lang === 'tr' ? 'Bağlı e-postayı ve 2FA’yı kendi cihazına al. 7 gün içinde sorun olursa iade hakkın devam eder.' : 'Link your own email and 2FA. You have 7 days to request a refund if anything goes wrong.'}
{/* Sidebar: timeline + next steps */}
); } function Timeline({ items }) { return (
{items.map((it, i) => (
{it.done && }
{i < items.length - 1 &&
}
{it.t}
{it.sub}
))}
); } // Success mobile function SuccessMobile({ L, lang, theme, listing }) { return (

{lang === 'tr' ? 'Ödeme alındı' : 'Payment received'}

{lang === 'tr' ? 'Bilgiler aşağıda ve e-postanda.' : 'Below and in your email.'}
{listing.handle}
{fmtNum(listing.followers)} {L.card_followers}
{[['Kullanıcı', 'citytrails'], ['Şifre', 'K7!vm…aLpZ'], ['E-posta', 'citytrails.delivery@…']].map(([l, v]) => (
{l}
{v}
))}
); } // ═══════════════════════════════════════════════════════════════ // 2) MOBILE ADMIN (telefondan ilan yönetimi) // ═══════════════════════════════════════════════════════════════ function AdminMobile({ L, lang, theme }) { const [tab, setTab] = _eS('inbox'); const [msgOpen, setMsgOpen] = _eS(false); const chats = [ { h: '@citytrails', who: 'serhat_a', last: 'Taksit yapabilir miyim?', time: '2dk', unread: 2, postsStyle: 'travel' }, { h: '@byte.daily', who: 'emre.ok', last: 'İbanı atar mısın?', time: '14dk', unread: 1, postsStyle: 'tech' }, { h: '@gigglesnap', who: 'ayca.k', last: 'Teşekkürler, hallettim!', time: '1sa', unread: 0, postsStyle: 'meme' }, { h: '@kitchenlab.tr', who: 'mert_47', last: 'Hesap yaşı doğru mu?', time: '3sa', unread: 0, postsStyle: 'food' }, { h: '@velvet.looks', who: 'selin.vg', last: 'Rezerve edebilir miyim?', time: 'dün', unread: 0, postsStyle: 'fashion' }, ]; return (
{/* Header */}
Admin · OKx
{lang === 'tr' ? 'kontrol merkezi' : 'control'}
{/* KPIs — compact */}
{[ { l: 'Aktif', v: '11', g: true }, { l: 'Bu ay', v: '₺184K' }, { l: 'Toplam', v: '1.8K' }, ].map(k => (
{k.l}
{k.v}
))}
{/* Tabs */}
{[ { id: 'inbox', label: 'Mesajlar', badge: 3 }, { id: 'inv', label: 'İlanlar' }, { id: 'sales', label: 'Satış' }, ].map(t => ( ))}
{/* Content */}
{tab === 'inbox' && ( msgOpen ? setMsgOpen(false)} chat={chats[0]}/> :
{chats.map((c, i) => (
setMsgOpen(true)} style={{ display: 'flex', gap: 10, padding: '12px 0', borderBottom: '1px solid var(--line-2)', cursor: 'pointer', alignItems: 'center' }}>
{c.who}
{c.time}
{c.h}
{c.last}
{c.unread > 0 && {c.unread}}
))}
)} {tab === 'inv' && (
{LISTINGS.slice(0, 6).map(l => (
{l.handle}
{fmtNum(l.followers)} · {L[`niche_${l.niche}`]}
{fmtPrice(l.price, lang)}
● Yayında
))}
)} {tab === 'sales' && (
Son 7 gün
{[32, 48, 40, 62, 55, 78, 72].map((v, i) => (
))}
PztSalÇarPerCumCmtBug
{[ { h: '@citytrails', b: 'serhat_a', p: 18500, m: 'Kart', t: '2sa' }, { h: '@byte.daily', b: 'emre.ok', p: 32500, m: 'IBAN', t: '5sa' }, { h: '@gigglesnap', b: 'ayca.k', p: 24800, m: 'Kart', t: 'dün' }, ].map((s, i) => (
{s.h}
{s.b} · {s.m} · {s.t}
{fmtPrice(s.p, lang)}
))}
)}
{/* FAB */}
); } function ChatThread({ onBack, chat }) { const msgs = [ { me: false, t: 'Selam, hesap hala satılık mı?' , time: '14:02' }, { me: true, t: 'Selam, evet satılık, hazır hesap.', time: '14:04' }, { me: false, t: 'Takipçiler organik mi?', time: '14:05' }, { me: true, t: 'Hepsi organik, 3 yıllık aged hesap.', time: '14:06' }, { me: false, t: 'Taksit yapabilir miyim?', time: '14:12' }, ]; return (
{chat.who}
{chat.h}
{msgs.map((m, i) => (
{m.t}
{m.time}
))}
); } // ═══════════════════════════════════════════════════════════════ // 3) SEO LANDING — "Aged Instagram Hesabı Nedir?" + kategori // ═══════════════════════════════════════════════════════════════ function SEOLanding({ L, lang, theme }) { const faq = lang === 'tr' ? [ { q: 'Aged Instagram hesabı nedir?', a: 'En az 1 yıl önce açılmış, organik takipçi ve etkileşim geçmişine sahip Instagram hesaplarına aged (yaşlandırılmış) hesap denir. Yeni açılan hesaplara göre Instagram algoritmasında daha güvenilir görünürler.' }, { q: 'Hesap yaşı neden önemli?', a: 'Yeni hesaplar ilk günlerinde algoritma tarafından daha sıkı denetlenir. 3-5 yıllık bir hesap bu denetim aşamasını çoktan geçmiştir; paylaşımları daha hızlı yayılır, reklam hesabı açarken kısıtlama görme ihtimali düşüktür.' }, { q: 'Konsept hesap ne demek?', a: 'Belirli bir nişe odaklı (seyahat, yemek, mizah, moda vb.) içerik üreten hesaplara konsept hesap denir. Takipçi kitlesi o niş üzerinde toplandığı için reklam ve iş birliği verimi yüksek olur.' }, { q: 'Satın aldığım hesap güvenli mi?', a: 'InstaSatış’ta tüm hesaplar kendi envanterimizden. 7 gün iade garantisi, SSL korumalı ödeme ve şifre/mail/telefon devir desteği sağlıyoruz. Sorun çıkarsa tam iade alırsın.' }, { q: 'Ödeme yöntemleri nedir?', a: 'Kredi/banka kartı (3D Secure korumalı, tek çekim veya 3/6/9 taksit) ve IBAN havalesi/EFT. İki yöntem de SSL ile korunur. Havalede onay ortalama 10 dakika.' }, { q: 'Hesap teslimi ne kadar sürer?', a: 'Ödeme sonrası kart ödemelerinde 5 dk, havalede onay gelince (~10 dk) hesap bilgileri panelinde ve e-postanda olur. Kullanıcı adı, şifre, bağlı e-posta ve kurtarma bilgilerini teslim ederiz.' }, ] : [ { q: 'What is an aged Instagram account?', a: 'An account created at least 1 year ago with organic followers and engagement history. Instagram’s algorithm treats them more favorably than fresh accounts.' }, { q: 'Why does account age matter?', a: 'New accounts face stricter filtering. A 3-5 year account has already passed that phase — posts spread faster and ad accounts face fewer restrictions.' }, { q: 'What is a niche account?', a: 'An account focused on a single niche (travel, food, humor, fashion…). Targeted audiences mean higher ad and sponsorship ROI.' }, { q: 'Is buying accounts safe?', a: 'All accounts on InstaSatış are from our own inventory. 7-day refund, SSL payments, and full credential transfer support.' }, { q: 'Payment methods?', a: 'Credit/debit card (3D Secure, single or 3/6/9 installments) and IBAN wire transfer.' }, { q: 'Delivery time?', a: 'Card: ~5 min. Wire: once confirmed (~10 min). You receive username, password, linked email and recovery details.' }, ]; const categories = [ { n: 'travel', c: 42 }, { n: 'food', c: 38 }, { n: 'fashion', c: 51 }, { n: 'meme', c: 29 }, { n: 'sport', c: 22 }, { n: 'tech', c: 18 }, { n: 'art', c: 24 }, { n: 'lifestyle', c: 33 }, { n: 'music', c: 15 }, { n: 'beauty', c: 27 }, { n: 'fitness', c: 31 }, { n: 'auto', c: 12 }, ]; const [openFaq, setOpenFaq] = _eS(0); return (
{/* Breadcrumb */}
{lang === 'tr' ? 'Anasayfa' : 'Home'} {lang === 'tr' ? 'Rehber' : 'Guide'} {lang === 'tr' ? 'Aged Instagram Hesabı' : 'Aged Instagram Accounts'}
{/* Hero article */}
{lang === 'tr' ? 'REHBER · 7 DK OKUMA' : 'GUIDE · 7 MIN READ'}

{lang === 'tr' ? (<>Aged Instagram hesabı nedir, nasıl seçilir?) : (<>What is an aged Instagram account?)}

{lang === 'tr' ? 'Instagram’da marka kurmanın en hızlı yolu hazır bir temel üzerine inşa etmek. Aged ve konsept hesaplar, yeni açılan hesapların aylarca uğraşacağı algoritmik güveni zaten kazanmış durumda. Bu rehberde doğru hesabı nasıl seçeceğini, nelere bakman gerektiğini ve InstaSatış’ta hesapların nasıl doğrulandığını anlatıyoruz.' : 'The fastest way to build on Instagram is to start on a foundation that already has algorithmic trust. This guide walks through what to look for in aged and niche accounts, and how InstaSatış verifies every listing.'}

{/* TOC */}
{lang === 'tr' ? 'İçindekiler' : 'Contents'}
{[ lang === 'tr' ? '1. Aged hesap tanımı' : '1. Definition', lang === 'tr' ? '2. Neden önemli?' : '2. Why it matters', lang === 'tr' ? '3. Nelere dikkat etmeli?' : '3. What to check', lang === 'tr' ? '4. Doğrulama ve teslimat süreci' : '4. Verification & delivery', lang === 'tr' ? '5. Sık sorulanlar' : '5. FAQ', ].map((t, i) => ( {t} ))}

{lang === 'tr' ? 'Neden aged hesap?' : 'Why aged?'}

{lang === 'tr' ? 'Yeni bir Instagram hesabı kurduğunda algoritma seni ilk 3-6 ay boyunca dikkatle izler. Paylaşımların daha az kişiye gösterilir, story erişimi kısıtlıdır, reklam hesabı açarken doğrulama ister. Bu süreyi atlatmış bir hesapla başlarsan ilk günden itibaren tam hızdasın.' : 'New accounts are throttled for 3-6 months. Aged accounts skip that waiting period.'}

{/* Stat grid — key metrics */}
{[ { k: '3.2×', l: lang === 'tr' ? 'ortalama erişim farkı' : 'avg reach lift' }, { k: '%74', l: lang === 'tr' ? 'daha hızlı reklam onayı' : 'faster ad approval' }, { k: '< 7g', l: lang === 'tr' ? 'iade süresi' : 'refund window' }, ].map((s, i) => (
{s.k}
{s.l}
))}

{lang === 'tr' ? 'Nelere dikkat etmeli?' : 'What to check'}

{[ { t: lang === 'tr' ? 'Hesap yaşı' : 'Account age', d: lang === 'tr' ? 'En az 12 ay — ideal 24-60 ay arası.' : 'Min 12 months, ideal 24-60.' }, { t: lang === 'tr' ? 'Etkileşim oranı (ER)' : 'Engagement rate', d: lang === 'tr' ? '%3 üstü sağlıklıdır. %1 altı şüpheli.' : 'Above 3% is healthy, below 1% is suspect.' }, { t: lang === 'tr' ? 'Konsept tutarlılığı' : 'Niche consistency', d: lang === 'tr' ? 'Tek konuda düzenli paylaşım kitleyi sadık yapar.' : 'A single niche keeps the audience loyal.' }, { t: lang === 'tr' ? 'Takipçi kalitesi' : 'Follower quality', d: lang === 'tr' ? 'Botlu değil, organik ve TR/hedef ülke ağırlıklı.' : 'Organic, not botted, target-country-weighted.' }, ].map((r, i) => (
{i + 1}
{r.t}
{r.d}
))}
{/* Category grid */}

{lang === 'tr' ? 'Kategoriye göre gez' : 'Browse by niche'}

{categories.map(c => ( {/* FAQ */}

{lang === 'tr' ? 'Sık sorulanlar' : 'FAQ'}

{faq.map((f, i) => (
setOpenFaq(openFaq === i ? -1 : i)} style={{ padding: '18px 22px', borderTop: i === 0 ? 'none' : '1px solid var(--line-2)', cursor: 'pointer' }}>
{f.q}
{openFaq === i &&
{f.a}
}
))}
{/* CTA */}
{lang === 'tr' ? 'Doğru hesabı bulalım mı?' : 'Let’s find the right account.'}
{lang === 'tr' ? '265+ aktif ilan, 7 gün iade garantisi.' : '265+ listings, 7-day refund.'}
); } Object.assign(window, { SuccessScreen, SuccessMobile, AdminMobile, SEOLanding });