// === Learn promo + Contributors + Testimonials + Pricing + Newsletter + FAQ + Footer === const LearnPromo = () => { const cards = [ { cn: "搭子", py: "dāzi" }, { cn: "班味", py: "bān wèi" }, { cn: "上头", py: "shàng tóu" }, ]; const [idx, setIdx] = React.useState(0); React.useEffect(() => { const id = setInterval(() => setIdx((i) => (i + 1) % cards.length), 2800); return () => clearInterval(id); }, []); return (
Learn mode

Learn slang the way natives use it.

Five minutes a day. Real Weibo screenshots. Native voice recordings. Spaced repetition that respects the fact you have a life.

  • Daily 5-minute slang drills, tuned to your level.
  • Audio from native Beijing & Shanghai speakers.
  • Context examples ripped straight from real Weibo posts.
  • Spaced repetition that actually sticks.
); }; const CONTRIBS = [ { name: "Mei L.", loc: "Shanghai", count: 312, init: "M", hue: "#C8392E" }, { name: "Jin W.", loc: "Beijing", count: 287, init: "J", hue: "#1A1A1A" }, { name: "Anna H.", loc: "Taipei", count: 241, init: "A", hue: "#B8893A" }, { name: "Kenzo T.", loc: "Chengdu", count: 198, init: "K", hue: "#6B6B6B" }, { name: "Lily X.", loc: "Guangzhou", count: 176, init: "L", hue: "#A12C22" }, { name: "Marcus C.",loc: "Hong Kong", count: 154, init: "M", hue: "#2a2a2a" }, ]; const Contributors = () => (
The byline

Built by people who actually speak the language.

{CONTRIBS.map((c, i) => (
{c.init}
{c.name}
{c.loc.toUpperCase()}
{c.count} entries
))}
); const TESTI = [ { q: "Finally a dictionary that gets why 'yyds' isn't just 'GOAT' — it's GOAT with affection.", who: "@langnerd_", sub: "Twitter", stamp: "好" }, { q: "I used to feel old reading Xiaohongshu comments. Now I sound like I belong there.", who: "Sarah K.", sub: "HSK 5 learner", stamp: "赞" }, { q: "The example sentences alone are worth the subscription.", who: "Featured in", sub: "The Mandarin Companion newsletter", stamp: "推" }, ]; const Testimonials = () => (
What readers say
{TESTI.map((t, i) => (
"

{t.q}

{t.who}, {t.sub}
{t.stamp}
))}
); const PLANS = [ { tier: "Free", amt: "$0", per: "", desc: "Browse the dictionary. 50 lookups/day. Daily entry email.", feats: ["Browse all 8,420 entries", "50 lookups per day", "Daily entry email", "Basic search & filters"], cta: "Get started" }, { tier: "Pro", amt: "$4.99", per: "/ month", desc: "Unlimited lookups. Audio. Learn mode. Save lists. Most popular.", feats: ["Everything in Free", "Unlimited lookups", "Native audio for every entry", "Learn mode + flashcards", "Personal saved lists"], cta: "Start free trial", popular: true }, { tier: "Scholar", amt: "$9.99", per: "/ month", desc: "Everything in Pro plus downloadable decks, API access, Anki export.", feats: ["Everything in Pro", "Downloadable HSK decks", "REST API access", "Anki & Quizlet export", "Priority new-entry alerts"], cta: "Go scholarly", scholar: true }, ]; const Pricing = () => (
Plans

Pay for the curation, not the words.

{PLANS.map((p, i) => (
{p.popular &&
MOST POPULAR
}
{p.tier}
{p.amt}{p.per}

{p.desc}

    {p.feats.map((f, j) => (
  • {f}
  • ))}
))}
); const Newsletter = () => { const [email, setEmail] = React.useState(""); return (
Morning slang

One slang phrase.
Every morning. Free.

Join 42,300+ readers who learn the phrase China is talking about today — before it hits TikTok.

{ e.preventDefault(); }}> setEmail(e.target.value)} type="email" aria-label="Email" />
NO SPAM · UNSUBSCRIBE IN ONE TAP
); }; const FAQS = [ { q: "Where do new slang entries come from?", a: "Our team of 142 native-speaker contributors spend their days on Weibo, Xiaohongshu, Bilibili and Douyin — anything that hits the front page or trends on the WeChat moments of their group chats becomes a candidate. Editors fact-check, source, and write." }, { q: "How often is the dictionary updated?", a: "Daily. The editorial team commits new entries every morning around 9am Shanghai time. Trending phrases are flagged in real time so you can see what's hot before the wider internet does." }, { q: "Is this for HSK / formal Chinese learning?", a: "No — and that's the point. HSK and most apps will teach you the Chinese of a 1995 textbook. We teach the Chinese of a 2026 group chat. Use us alongside HSK study, not instead of it." }, { q: "Can I submit my own slang?", a: "Yes. Free users can submit; Pro and Scholar tiers get priority review. We credit every accepted submission with a contributor byline." }, { q: "Do you cover Taiwanese / Cantonese / Singaporean Chinese slang?", a: "Yes. The Regional & Dialect category covers Taiwanese Mandarin, Cantonese (粤语), Singaporean Mandarin, and major regional dialects. Every regional entry is tagged so you can filter by origin." }, ]; const FAQ = () => { const [open, setOpen] = React.useState(0); return (
Common questions

Answers, briefly.

{FAQS.map((f, i) => (
{f.a}
))}
); }; const Footer = () => ( ); Object.assign(window, { LearnPromo, Contributors, Testimonials, Pricing, Newsletter, FAQ, Footer });