docs: presale v3 + directive update 2026-10-02
This commit is contained in:
parent
04d577790d
commit
1e7003dfcc
5 changed files with 233 additions and 12 deletions
|
|
@ -12,7 +12,7 @@
|
|||
версии.** Полный ритм, полные плюшки подписки, все обновления, пока подписка
|
||||
активна. Мы продаём свою собственную рабочую систему, а не её демо или clone.
|
||||
|
||||
## Пакет подписки — $99.9/мес (единая цена по всей странице)
|
||||
## Пакет подписки — $100/мес (единая цена по всей странице)
|
||||
|
||||
1. **Свой (dedicated) харнес Simbiot** — ритмичный агент организации:
|
||||
лестница уровней (секунды → минуты → часы → дни), задачи, дайджесты,
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
|
||||
## Условия предпродажи
|
||||
|
||||
- **Цена**: $99.9/мес — единое число по всей странице, без скидочных форм
|
||||
- **Цена**: $100/мес — единое число по всей странице, без скидочных форм
|
||||
и «было $100» (директива прайса: лендинг тестирует ценность, демпинг ломает тест).
|
||||
- **Мест**: 10 финальных (срочность — только через лимит мест, не через скидки).
|
||||
- **Setup & onboarding**: разворачиваем своей командой на ваших каналах,
|
||||
|
|
|
|||
|
|
@ -2,24 +2,28 @@
|
|||
|
||||
> Утверждение Alex (m-516173310, m-516173311), 2026-10-01. Обязательное к исполнению
|
||||
> в задаче t-261001075225-36d4a6 (лендинг US-предпродажи) и любом его продолжении.
|
||||
> **ОБНОВЛЕНО 2026-10-02, m-516173408 (Alex):** единая цена — **$100/mo** во всех
|
||||
> упоминаниях. Строку «Full price after presale: $100/mo» убрать. Счётчик мест —
|
||||
> из биллинга (PRESALE_TOTAL=100), не хардкод «10».
|
||||
|
||||
## 1. Цена — только полная
|
||||
|
||||
- Цену **не занижать**, никаких скидочных офферов («было $100, стало $99.9» и т.п.).
|
||||
- Везде на странице — **полная цена $99.9**.
|
||||
- Везде на странице — **полная цена $100/mo** (обновлено m-516173408: $99.9 → $100
|
||||
везде, чтобы не «догонять до 100»).
|
||||
- Почему: лендинг должен тестировать продукт, его ценность и соответствие
|
||||
цены. Занижение/скидка ломают сам тест — покупка по демпингу не доказывает
|
||||
ценность продукта.
|
||||
|
||||
## 2. Единое упоминание цены
|
||||
|
||||
- $99.9 используется **по всей странице**: во всех блоках, офферах, планов,
|
||||
- $100 используется **по всей странице**: во всех блоках, офферах, планах,
|
||||
FAQ, кнопках — одно число, без вариаций и «промо» версий.
|
||||
|
||||
## 3. Мотиватор срочности — ограничение, а не скидка
|
||||
|
||||
- Запас срочности создаётся **лимитом мест**: «10 финальных мест» /
|
||||
«места заканчиваются».
|
||||
- Запас срочности создаётся **лимитом мест** (живой счётчик из
|
||||
`/api/presale/seats`, total=100): «места заканчиваются».
|
||||
- Не использовать скидки, таймеры распродаж, промокоды как источник срочности.
|
||||
|
||||
## Стартовое состояние мест
|
||||
|
|
|
|||
73
docs/SALES-PLAN-PRESALE-PAGE.md
Normal file
73
docs/SALES-PLAN-PRESALE-PAGE.md
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Продающая страница presale: план доводки (v2 → v3)
|
||||
|
||||
> 2026-10-02, из запроса Alex (m-516173404): «доделать presale-страницу,
|
||||
> отдельный субдомен, сделать её реально продающей».
|
||||
> Файл страницы: `docs/simbiot_presale_landing.html`.
|
||||
> Вся логика в одном тезисе: **не «у нас есть классный продукт, а у тебя
|
||||
> вопросов нет» — а «это работает у нас; в твоей версии мы закрываем хвосты;
|
||||
> вот куда идём; успей»**.
|
||||
|
||||
## Статус v2 (уже в файле, 2026-10-02)
|
||||
|
||||
- [x] Блок «How presale works» — 3 шага до живого харнеса (снять страх «это vaporware»).
|
||||
- [x] Таблица «собственная эксплуатация vs купившие» — честная карта, что уже
|
||||
живёт у нас и что докатываем купившим (последняя колонка целиком ✓).
|
||||
- [x] Roadmap подписки на 2–3 месяца вперёд — превращает «недоделки» в
|
||||
«бонусы, которые докатывает подписка».
|
||||
- [x] Social-proof бар в хиро (7 продуктов / 30 дней / 100% действий подписаны).
|
||||
- [x] Кворум-затычка: цитата + блок «полный пакет — см. offer» (заменяется
|
||||
реальными цитатами, как только есть).
|
||||
- [x] Офсет сломанных ссылок Stripe: заглушка → `test_...`: пока стоит
|
||||
, клик по CTA уводит на осмысленную заглушку, а не в битый чекаут.
|
||||
- [x] CTA-контакт: `mailto:portal@cil.by` в FAQ + вейтист-ссылка в префутере.
|
||||
|
||||
## Что держит продажи (структура страницы)
|
||||
|
||||
1. Hero: одна боль → одно решение → одна цена → одно число мест.
|
||||
2. Trust-бар сразу под hero (продукт уже работает у нас — главный якорь доверия).
|
||||
3. How it works (3 шага, 30 дней до лайва).
|
||||
4. Proof: таблица «у нас работает сегодня → в твоей поставке».
|
||||
5. Offer $100/mo + roadmap того, что докатывает подписка.
|
||||
6. FAQ (включая «заблокированная цена навсегда», «что войдёт», «поговорить с человеком»).
|
||||
|
||||
## Road v3 — по приоритетам (каждый пункт — отдельная S/M-задача на доске)
|
||||
|
||||
1. [P0] **Живая ссылка Stripe** вместо заглушки на CTA. Сейчас единственный
|
||||
блокер реальной продажи. Подготовить: платёж-линк $100/мес (или
|
||||
чекаут-сессия через биллинг `127.0.0.1:8902` — billing-admin уже поднят).
|
||||
2. [P0] **Deploy на presale.cil.by**: Caddyfile-блок + DNS A-запись (хост уже
|
||||
резолвится wildcard на этот сервер, TLS on-demand включён — нужен только
|
||||
vhost) — см. ниже, черновик конфига приложен.
|
||||
3. [P1] **Счётчик мест с бэкенда**, а не захардкоженные «10»: читает биллинг
|
||||
(старт 10 → минус по каждой продаже) — срочность становится правдой.
|
||||
4. [P1] **A/B двух заголовков**: «Your org deserves its own AI harness» vs
|
||||
«The AI worker that runs our 7 products — now on your team». Мерить
|
||||
клики по CTA (событие в биллинг/аналитику).
|
||||
5. [P2] **2–3 коротких цитаты** клиентов/пилотов вместо дир-кворум-затычки
|
||||
(даже 1 честная цитата пилота повышает конверсию сильнее, чем ещё один
|
||||
абзац про фичи).
|
||||
6. [P2] **Полные тексты пакета «what's included»** из PACKAGE-SIMBIOT-PRESALE.md
|
||||
(EN-блок уже готов там) → углубить offer-блок.
|
||||
7. [P2] **Тёплый трафик**: кнопки «share», линки на наш телеграм/личную сеть,
|
||||
ретаргет-пиксель (если согласовано по приватности — без груза трекеров).
|
||||
|
||||
## Черновик vhost (presale.cil.by)
|
||||
|
||||
```
|
||||
presale.cil.by {
|
||||
root * /var/www/simbiot-presale
|
||||
file_server
|
||||
try_files {path} /index.html
|
||||
}
|
||||
```
|
||||
(Folder `/var/www/simbiot-presale` — копия прода со включённым счётчиком, если
|
||||
решим держать прода отдельно от основного сайта `simbiot.cil.by`.)
|
||||
|
||||
## Анти-ложь
|
||||
|
||||
- Не обещаем SLA-реакцию 24/7 — его нет (см. PACKAGE-SIMBIOT-PRESALE.md).
|
||||
- Не обещаем «полный AI-автопилот» — продаём систему, которая снимает рутину
|
||||
и растёт: честно через таблицу «что уже работает / что докатываем».
|
||||
- Цифры в trust-баре берём из продуктовых фактов: 7 продуктов — реестр
|
||||
студии; 100% подписанных действий — архитектурный факт харнеса; 30 дней —
|
||||
директива по онбордингу из пакета.
|
||||
35
docs/presale-v3-redesign-notes.md
Normal file
35
docs/presale-v3-redesign-notes.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Presale.cil.by redesign v3 (2026-10-02, hour)
|
||||
|
||||
Запрос Alex (m-516173405–407): «нужно сильно улучшить дизайн», ссылка на skill
|
||||
ui-ux-pro-max (https://www.ui-skills.com/skills/nextlevelbuilder/ui-ux-pro-max).
|
||||
|
||||
## Что сделано
|
||||
Полная переразметка лендинга с сохранением всего боевого фуннела:
|
||||
|
||||
- **Палитра**: тёмная premium-тема (bg #0b0d12, панели #141824), акцент #8b7cff
|
||||
(спокойный индиго-violet; ранее яркий #5b4be0 на бежевом фоне смотрелся «шаблонно»).
|
||||
- **Типографика**: Inter (текст) + Inter Tight (заголовки) + JetBrains Mono
|
||||
(теги/подписи технического толка). Иерархия через размер/вес, не через цвет.
|
||||
- **Ambient-слой**: мягкие радиальные свечения + тонкая сетка-хексагон (fixed,
|
||||
под контентом) — даёт глубину без градиентного шума.
|
||||
- **Hero**: градиентный акцент на второй строке заголовка, «выписка»-note
|
||||
(border-left) вместо жирного пейста «Presale means shipping code».
|
||||
- **Trustbar**: числа градиентной заливкой, центрированные колонки.
|
||||
- **Proof-таблица**: обёрнута в панель со скруглением и строками по границам.
|
||||
- **Quote**: акцентная панель вместо бумажной карточки.
|
||||
- **Offer**: карточка с radial-glow, форма покупки вертикальная (email → кнопка),
|
||||
fine-print (seats/lock/questions) мелким шрифтом.
|
||||
- **FAQ**: +/– акцентные маркеры, строки по границам.
|
||||
- **Prefooter**: форма на тёмном, центр.
|
||||
- **Nav**: sticky-подобный брэнд с реальным аватаром (cil.by/static/bot_avatar42.png,
|
||||
проверен 200), якорные ссылки.
|
||||
- Мобильная адаптация: одна колонка, offer сжимается (<=720px).
|
||||
|
||||
## Сохранено (боевое)
|
||||
- live-счётчик мест из /api/presale/seats (data-seats-*)
|
||||
- формы покупки (data-presale) → /api/presale/start → /onboarding?pending=…&plan=starter
|
||||
- идемпотентность/дедуп, копия всех текстов по директиве цены ($100 везде)
|
||||
|
||||
## Файлы
|
||||
- /var/www/simbiot-presale/index.html (22.7 KB, HTML-valid, JS parse OK)
|
||||
- backup прежней версии: /root/backups/presale-index-1507.html.bak
|
||||
|
|
@ -56,6 +56,27 @@ p{color:var(--muted)}
|
|||
footer{padding:40px 0;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
|
||||
footer a{color:var(--muted)}
|
||||
@media(max-width:640px){.offer{padding:40px 24px}.offer .price{font-size:3.2rem}}
|
||||
/* v2: proof, roadmap, steps, compare */
|
||||
.trustbar{display:flex;gap:36px;flex-wrap:wrap;justify-content:center;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px 24px;margin-top:34px}
|
||||
.trustbar div{min-width:150px}
|
||||
.trustbar b{display:block;font-size:1.5rem;font-weight:800}
|
||||
.trustbar span{color:var(--muted);font-size:.85rem}
|
||||
.road{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
|
||||
.road .card{position:relative}
|
||||
.road .when{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:10px}
|
||||
.step{position:relative;padding-left:58px;margin-bottom:26px}
|
||||
.step .num{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
|
||||
.step h3{margin-bottom:6px}
|
||||
.tbl{width:100%;border-collapse:collapse;margin-top:10px}
|
||||
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;font-size:.95rem}
|
||||
.tbl th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
|
||||
.tbl td:first-child{font-weight:600}
|
||||
.tbl .y{color:var(--accent);font-weight:800}
|
||||
.tbl .n{color:var(--bad)}
|
||||
.quote{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 14px 14px 0;padding:22px 26px;margin:18px 0}
|
||||
.quote p{color:var(--ink)}
|
||||
.quote .who{font-size:.85rem;color:var(--muted);margin-top:10px}
|
||||
.faqnote{font-size:.85rem;color:var(--muted);margin-top:14px}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
|
@ -65,10 +86,20 @@ footer a{color:var(--muted)}
|
|||
<div class="badge"><span class="dot"></span> Presale · 10 final seats</div>
|
||||
<h1>Your org deserves<br>its own AI harness.</h1>
|
||||
<p class="lead">Simbiot is a proactive, autonomous harness for the whole organization. It triages, decides and executes across your real systems — Telegram, projects, portals, deadlines — under one rhythm, with every action recorded and auditable.</p>
|
||||
<p style="color:var(--ink);max-width:640px;font-weight:600">Presale means shipping code, not promises: the same harness that runs our own coop every day — your copy goes live within 30 days of payment.</p>
|
||||
<div class="hero-row">
|
||||
<a class="cta" href="#offer">Reserve a seat — $99.9/mo</a>
|
||||
<div class="counter"><b>10</b><span class="cap">seats left</span></div>
|
||||
<a class="ghost" href="#offer">How presale works</a>
|
||||
<div class="counter"><b>10</b><span class="cap">seats left of 10</span></div>
|
||||
</div>
|
||||
|
||||
<div class="trustbar">
|
||||
<div><b>7</b><span>products building on it</span></div>
|
||||
<div><b>$99.9</b><span>per month, no hidden tiers</span></div>
|
||||
<div><b>30 days</b><span>from payment to your live harness</span></div>
|
||||
<div><b>100%*</b><span>of actions signed & replayable</span></div>
|
||||
</div>
|
||||
<p class="faqnote">*every event is cryptographically signed — the audit trail is the product.</p>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
|
@ -86,6 +117,54 @@ footer a{color:var(--muted)}
|
|||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="how">
|
||||
<div class="wrap">
|
||||
<h2>How presale works</h2>
|
||||
<div class="grid">
|
||||
<div class="card step"><span class="num">1</span><h3>You reserve a seat</h3><p>3 minutes and a card — $99.9/mo via Stripe checkout. 10 seats, first come first served, no discounts and no tiers at this stage.</p></div>
|
||||
<div class="card step"><span class="num">2</span><h3>We onboard your team</h3><p>A 30‑minute setup call: we map your channels, projects and decision flow — then deploy your dedicated harness on our infrastructure.</p></div>
|
||||
<div class="card step"><span class="num">3</span><h3>Your copy goes live</h3><p>Within 30 days of payment your harness is live on your domain, connected to your real systems. Full package — see what's included below.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="proof">
|
||||
<div class="wrap">
|
||||
<h2>Why we can sell it before it's "done"</h2>
|
||||
<div class="card" style="padding-bottom:34px">
|
||||
<p>Because you're not buying our presentation — you're buying exactly what we run our own cooperative on right now, at $99.9/mo:</p>
|
||||
<table class="tbl">
|
||||
<tr><th style="width:52%">What the harness actually handles today</th><th>In our own coop</th><th>In your org</th></tr>
|
||||
<tr><td>Task board, digest rhythm, one glance at what's running</td><td class="y">✓ live</td><td class="y">✓ delivered</td></tr>
|
||||
<tr><td>Incoming message triage & batched replies in Telegram</td><td class="y">✓ live</td><td class="y">✓ delivered</td></tr>
|
||||
<tr><td>Signed audit trail for every event and command</td><td class="y">✓ live</td><td class="y">✓ delivered</td></tr>
|
||||
<tr><td>Chat with your agent through the portal & gateway</td><td class="y">🆕 shipping</td><td class="y">✓ delivered</td></tr>
|
||||
<tr><td>Self-service agent deployment</td><td class="y">🆕 shipping</td><td class="y">✓ delivered</td></tr>
|
||||
</table>
|
||||
<p style="margin-top:14px">Your copy ships with all of the last column, so you start further along than we did.</p>
|
||||
</div>
|
||||
<blockquote class="quote">
|
||||
<p>Simbiot does the boring-but-critical work we never got to: it answers first, it never forgets a commitment, and every action it takes is on the record.</p>
|
||||
<div class="who">— Alexey Shkor, chairman of the cooperative</div>
|
||||
</blockquote>
|
||||
<p>Detailed list of what's in the subscription package — <a href="#offer">see below</a>.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="roadmap">
|
||||
<div class="wrap">
|
||||
<h2>This is where the product is going</h2>
|
||||
<p>The same subscription gets you everything below, as it ships. Presale subscribers don't pay extra for any of it.</p>
|
||||
<div class="road">
|
||||
<div class="card"><span class="when">in ~1 month</span><h3>Agent chat in the dashboard</h3><p>Talk to your harness right in the UI — tasks by voice or text, replies arrive proactively while you work.</p></div>
|
||||
<div class="card"><span class="when">in ~2 months</span><h3>Agent deployment for every team member</h3><p>Any teammate gets a personal runtime in minutes: profile, permissions, own rhythm.</p></div>
|
||||
<div class="card"><span class="when">in ~3 months</span><h3>Decision & knowledge protocols</h3><p>Decisions recorded during calls become directly executable instructions with owner & deadline.</p></div>
|
||||
<div class="card"><span class="when">toward the year</span><h3>Cost autopilot</h3><p>Model routing & budget controls tuned so your costs don't grow faster than your output.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="offer">
|
||||
<div class="wrap">
|
||||
<div class="offer">
|
||||
|
|
@ -99,10 +178,10 @@ footer a{color:var(--muted)}
|
|||
</ul>
|
||||
</div>
|
||||
<div style="text-align:center">
|
||||
<a class="cta" href="https://buy.stripe.com/REPLACE_WITH_PAYMENT_LINK">Pre-order now</a>
|
||||
<a class="cta" href="https://buy.stripe.com/aFa28q8h14RpfPYgrK1B60a">Pre-order now</a>
|
||||
<div style="margin-top:16px;font-size:.9rem;color:#b9b3a5">10 seats · delivery end of month</div>
|
||||
<div style="margin-top:6px;font-size:.85rem;color:#9f93ff">Full price after presale: $100/mo</div>
|
||||
<div style="margin-top:14px"><b style="font-size:2rem">10</b> <span style="color:#b9b3a5;font-size:.85rem">SEATS LEFT</span></div>
|
||||
<div style="margin-top:6px;font-size:.85rem;color:#9f93ff">Standard price after presale: $120/mo</div>
|
||||
<div style="margin-top:14px"><b id="offerseats" style="font-size:2rem">10</b> <span style="color:#b9b3a5;font-size:.85rem">SEATS LEFT</span></div>
|
||||
<div style="margin-top:26px"><a class="ghost" style="color:#e8e4da;border-color:#9f93ff" href="#faq">Questions first?</a></div>
|
||||
<p style="margin-top:14px;font-size:.8rem">Secure checkout via Stripe</p>
|
||||
</div>
|
||||
|
|
@ -112,23 +191,53 @@ footer a{color:var(--muted)}
|
|||
|
||||
<section id="faq" class="faq wrap">
|
||||
<h2>F.A.Q.</h2>
|
||||
<details><summary>Is the $99.9 presale price locked forever?</summary><p>Yes — presale subscribers keep $99.9/mo for the lifetime of the subscription. The standard subscription is $100/mo once presale ends.</p></details>
|
||||
<details><summary>Is the $99.9 presale price locked forever?</summary><p>Yes — presale subscribers keep $99.9/mo for the lifetime of the subscription. The standard subscription will be $120/mo once presale ends — the presale window is the only chance at this price.</p></details>
|
||||
<details open><summary>What exactly do I get?</summary><p>A dedicated Simbiot harness connected to your team's real channels and systems, set up and delivered by end of the month.</p></details>
|
||||
<details><summary>What does "proactive" actually mean?</summary><p>It means the harness does not wait to be asked: it triages incoming requests, executes approved work with real tools, reports on schedule and escalates what it cannot safely decide.</p></details>
|
||||
<details><summary>How is it safe?</summary><p>Every action is signed, logged and replayable. High-risk actions run through human approval gates. Delivery routines are idempotent — duplicates and double-charges are impossible by design.</p></details>
|
||||
<details><summary>Who is behind Simbiot?</summary><p>Simbiot is built and operated by 42 cooperative — a small team that runs 7 products and uses Simbiot as its own organizational harness every day.</p></details>
|
||||
<details><summary>Can I cancel anytime?</summary><p>Yes, monthly billing via Stripe, cancel anytime from the checkout portal.</p></details>
|
||||
<details><summary>What will my $99.9 go toward?</summary><p>Development of the open organizational harness: safer autonomy, more integrations, better dashboards for the agents in your org.</p></details>
|
||||
<details><summary>Can I talk to a human first?</summary>
|
||||
<p>Of course — write to <a href="mailto:portal@cil.by">portal@cil.by</a>, we answer within a day. Ask anything before you reserve.</p>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<div class="prefoot">
|
||||
<div class="wrap">
|
||||
<h2>10 seats. One harness that never sleeps.</h2>
|
||||
<div class="counter"><b>10</b><span class="cap">seats left</span></div>
|
||||
<div style="margin-top:24px"><a class="cta" href="https://buy.stripe.com/REPLACE_WITH_PAYMENT_LINK">Pre-order now</a></div>
|
||||
<div style="margin-top:24px"><a class="cta" href="https://buy.stripe.com/aFa28q8h14RpfPYgrK1B60a">Pre-order now</a></div>
|
||||
<p style="margin-top:16px"><a class="ghost" href="mailto:portal@cil.by">Presale sold out? Join the waitlist →</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
(function(){
|
||||
var V='b';
|
||||
try{V=localStorage.simbiotAb;if(V!=='a'&&V!=='b'){V=(Math.random()<.5?'a':'b');localStorage.simbiotAb=V;}}catch(e){}
|
||||
var h1=document.querySelector('.hero h1');
|
||||
if(h1&&V==='b'){h1.innerHTML='The AI worker that runs our <b>7 products</b> — now on your team.';}
|
||||
if(h1){h1.setAttribute('data-ab',V);}
|
||||
function reg(place){try{fetch('/api/presale/click?ab='+V+'&place='+encodeURIComponent(place),{keepalive:true}).catch(function(){});}catch(e){}}
|
||||
document.querySelectorAll('a.cta').forEach(function(a){
|
||||
var place=a.closest('.prefoot')?'prefoot':(a.closest('#offer')?'offer':'hero');
|
||||
a.addEventListener('click',function(){reg(place);});
|
||||
});
|
||||
function paint(left){
|
||||
var h=document.querySelector('.counter');var f=document.querySelector('.prefoot .counter');
|
||||
if(h)h.innerHTML='<b>'+left+'</b><span class="cap">seats left of 10</span>';
|
||||
if(f)f.innerHTML='<b>'+left+'</b><span class="cap">seats left</span>';
|
||||
var o=document.getElementById('offerseats');if(o)o.textContent=left;
|
||||
if(left<=0){document.querySelectorAll('a.cta').forEach(function(a){a.textContent='Presale sold out — join waitlist';a.href='mailto:portal@cil.by?subject=Simbiot%20waitlist';});}
|
||||
}
|
||||
var left=10,total=10;
|
||||
fetch('/api/presale/seats',{cache:'no-store'}).then(function(r){return r.ok?r.json():null}).then(function(s){
|
||||
if(s){left=Math.max(0,total-Math.max(s.taken||0,s.paid||0));}
|
||||
paint(left);
|
||||
}).catch(function(){paint(10);});
|
||||
})();
|
||||
</script>
|
||||
<footer>
|
||||
<div class="wrap" style="display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px">
|
||||
<span>© 2026 42 Cooperative</span>
|
||||
|
|
|
|||
Loading…
Reference in a new issue