Commit Graph

19 Commits

Author SHA1 Message Date
nineap 4b1ef9f951 Цены тарифов — с бэкенда (регион/валюта), не из PocketBase
Build & Push Image / Build and push to Gitea Registry (push) Successful in 2m28s
PocketBase pricing_{lang} остаётся источником переводного маркетингового
контента (название, тэглайн, описание, фичи, порядок) — но сами цифры
price1m/6m/1y теперь подменяются данными с GET /billing/plans нового
бэкенда (см. netrunner-backend::modules::geoip): валюта определяется по
IP посетителя, VPN/датацентр всегда получает базовый USD.

Соответствие тарифа PocketBase к тарифу бэкенда — по полю `name`
(ожидается "GHOST"/"NETRUNNER"/"MAINFRAME"). Бэкенд недоступен или для
конкретного тарифа не нашлось соответствия — тихий фолбэк на цену как
она есть в PocketBase, страница не ломается (тот же принцип, что уже
был у offline-кеша).
2026-07-11 00:55:15 +07:00
nineap 32b4460b66 Локализует лендинг на 10 языков + RTL для арабского и персидского
Добавляет zh-CN, fa, ar, tr, uk, be, vi, uz словари (170 ключей, идентичная
вложенная структура) к существующим en/ru. lib/locales.ts — единый источник
списка локалей/дефолтной локали/RTL-набора вместо захардкоженного ["en","ru"]
в proxy.ts. language-switcher.tsx: переключение языка резало только
двухбуквенные коды регэкспом (/^\/[a-z]{2}/), из-за чего zh-CN никогда не
матчился и путь задваивался — заменено на honest-поиск по списку locales.

app/[lang]/layout.tsx — dir="rtl"/"ltr" на <html> по локали (SSR, в отличие
от реактивного клиентского переключения в netrunner-app). Header.tsx/
Footer.tsx — разбитое на три <span> имя бренда визуально переворачивалось
Flexbox'ом под dir=rtl ("VPNrunnerNet"), исправлено через dir="ltr" на
самом враппере.

BlogPreview/Faq/Pricing и обе blog-страницы: fallback на *_en-коллекцию
PocketBase, если для языка ещё нет переведённого контента (FAQ-ответы,
детали тарифов, посты блога не тянутся автоматически — это отдельный от
статических словарей CMS-контент), плюс i18n-ключи period1m/period6m/
period1y вместо захардкоженных ru/en-подписей периодов в Pricing.tsx.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 22:53:37 +07:00
nineap 0d1cd042bb Переносит FAQ в конец главной страницы
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 22:53:17 +07:00
nineap 899c54e1fc Unify auth with backend cookie sessions; add dev-deploy pipeline
Auth: drop localStorage session token entirely, talk to netrunner-backend
via credentials:"include" HttpOnly cookies shared over the common parent
domain, and redirect to the account subdomain (ЛК) after login instead of
a dead local /profile route.

Config: NEXT_PUBLIC_* values used by client components (API_URL,
ACCOUNT_ORIGIN, BOT_USERNAME, PB_URL) get inlined into the JS bundle at
image build time and can't be overridden by docker-compose environment at
container start. Moved these reads into server components (page.tsx) and
thread them down as props, so one built image can genuinely serve both
prod and dev by config alone.

CI/CD: split the old single auto-deploy-to-prod workflow into build.yml
(build+push on every push to main) and deploy.yml with deploy-dev (auto,
same VPS as netrunner-backend's dev environment) and deploy-prod (manual
dispatch only) — mirrors netrunner-backend's pipeline shape. Added
docker-compose.dev-remote.yml pointing at the dev backend.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-04 15:26:28 +07:00
nineap c04194bb85 docs 2026-07-02 23:13:24 +07:00
nineap 31f354d9ca new cursor, speedtest at another page, remove rubbish 2026-05-11 20:22:27 +07:00
nineap 262806eb55 doom and eyes fixes 2026-05-11 15:12:26 +07:00
nineap 36f75eb454 localization updates, terminal errors, etc 2026-05-03 16:36:21 +07:00
nineap ce77d9e4e3 web speedtest 2026-05-03 14:02:06 +07:00
nineap f22b04df33 move to webgl 2026-04-26 17:16:40 +07:00
nineap e2a1caf720 dockerfile update and login 2026-04-25 17:46:25 +07:00
nineap dc5a28d159 auth, login, new page 2026-04-25 14:57:50 +07:00
nineap b4f07a7b91 first load optimizations and terminal with comments 2026-04-24 14:33:06 +07:00
nineap 84f58220d2 rust gateway for cms and comments filter 2026-04-24 03:33:53 +07:00
nineap e8b9eb5c52 loading and seo optimization, big design update 2026-04-24 01:50:41 +07:00
nineap c1bbea9425 guest book 2026-04-19 14:04:20 +07:00
Трапезников Кирилл Иванович 7acc40ec46 design fixes, tables seperate by language, loading and 404 pages, downloads from cms 2026-04-19 16:05:05 +10:00
Трапезников Кирилл Иванович 4b11fec8cc base with cms integrated 2026-04-18 21:16:55 +10:00
nineap 6404495696 initial commit 2026-04-17 17:06:55 +07:00