Some checks are pending
CI / POS (WPF, Windows) (push) Waiting to run
CI / Backend (.NET 8) (push) Successful in 1m4s
CI / Web (React + Vite) (push) Successful in 40s
Docker Public / Build + push Public (push) Successful in 25s
Docker Public / Deploy Public on stage (push) Successful in 10s
Phase 6 контентная часть — частично: Блог (3 поста из /tmp/content/blog-and-kb.md, content collection): - launch — запуск Food Market - import-moysklad — пошаговый гид миграции (внутренняя инструкция, frontmatter) - cash-with-scales — почему касса с весами Масса-К из коробки База знаний (5 статей, content collection с category + order): - quickstart, import-moysklad, pos-setup, billing, faq Страницы /blog и /kb перерисованы — рендерят список из коллекций с группировкой по категориям, отдельные [slug].astro template'ы рендерят markdown с типографикой prose-md. /about и /contacts наполнены реальным контентом из /tmp/content/about-contacts-pricing-features.md (без заглушек). Контакты — 4 канала (email/phone/чат/реквизиты) с placeholder-ами для будущих контактов после регистрации юр.лица. Очистка от упоминаний конкурентов (по правилу: не сравнивать с конкретными системами и не выводить чужие цены публично): - Hero/FAQ на главной — заменено «Импорт из МойСклад» на «импорт каталога одной кнопкой», убран FAQ-вопрос «Чем отличаетесь от...», заменён на общий «Чем хорош Food Market?». - Footer: пункт «Импорт из МойСклад» → «Импорт каталога». - /migration-from-moysklad удалён (содержал сравнительную таблицу с ценами МойСклад). Возможен возврат как KB-инструкция позже. - features/pos/pricing/integrations/changelog/for-grocery/for-pharmacy — sed-замена «МойСклад» → «другие системы», ссылки на /migration-from-moysklad → /features. - В content-collections блог/KB остались упоминания (юзер пришлёт PATCH-версии текстов отдельно). Контейнер пересобран и задеплоен на стенд: 30 страниц, smoke на /, /blog, /kb, /about, /blog/launch — все 200. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
28 lines
2.1 KiB
Plaintext
28 lines
2.1 KiB
Plaintext
---
|
||
import BaseLayout from '@/layouts/BaseLayout.astro'
|
||
const releases = [
|
||
{ date: '2026-04', title: 'Phase 6 — Публичный сайт', items: ['Маркетинговый сайт food-market.zat.kz','Регистрация без админа платформы','Тарифы Старт / Бизнес-конструктор / Сеть'] },
|
||
{ date: '2026-04', title: 'Phase 4 — SuperAdmin консоль', items: ['Управление организациями','Журнал действий','Read-only «открыть как…»','Edit-mode с reason + audit-trail','Настраиваемый retention period'] },
|
||
{ date: '2026-04', title: 'Phase 3 — Цены и роли', items: ['Расширенная модель цен','Сотрудники и роли','Системные роли (Администратор, Кассир)'] },
|
||
{ date: '2026-04', title: 'Phase 2 — Закупки и приёмки', items: ['Документ приёмки со сканером','Skользящее среднее себестоимости','Inline quick-add позиций'] },
|
||
{ date: '2026-03', title: 'Phase 1 — Каталог и tenant-изоляция', items: ['Multi-tenant архитектура','Товары, группы, штрихкоды, остатки','Импорт из другие системы'] },
|
||
]
|
||
---
|
||
<BaseLayout title="Changelog" description="История релизов Food Market: что нового в продукте.">
|
||
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-14">
|
||
<h1 class="text-4xl font-extrabold">Changelog</h1>
|
||
<p class="text-slate-500 mt-2">История релизов Food Market.</p>
|
||
<div class="mt-10 space-y-8">
|
||
{releases.map((r) => (
|
||
<article class="rounded-xl border border-slate-200 bg-white p-5">
|
||
<div class="flex items-baseline justify-between mb-3">
|
||
<h2 class="font-bold text-lg">{r.title}</h2>
|
||
<span class="text-xs text-slate-500 font-mono">{r.date}</span>
|
||
</div>
|
||
<ul class="space-y-1.5 text-sm">{r.items.map((it) => <li>• {it}</li>)}</ul>
|
||
</article>
|
||
))}
|
||
</div>
|
||
</section>
|
||
</BaseLayout>
|