Skip to content

Repository files navigation

SSMC Wiki App

Модульная веб-база и набор инструментов для Space Stories Marine Corps. Приложение показывает опубликованные данные из DeferW/ssmc-wiki-data и не разбирает игровые YAML самостоятельно.

Полное руководство по архитектуре и разработке: Markdown · DOCX.

Что уже работает

  • каталог снаряжения с поиском, категориями и адаптивной карточкой предмета;
  • характеристики оружия, боеприпасов, брони, обвесов, хранилищ, медицины, связи и учебных предметов;
  • каталог химических реагентов с поиском, рецептами, дозами и эффектами;
  • планировщик приготовления химии в 100u-мензурках или баке до 1000u с разбиением на партии и точной последовательностью режимов химмастера;
  • кликабельные связи между предметами;
  • локальный CFG положения карточки;
  • тестовый admin-редактор категорий с групповыми правками и сохранением через Cloudflare Worker;
  • заглушки зарегистрированных будущих модулей без перехода на 404.

Архитектура

src/
  admin/equipment/       admin API, черновик и admin-страница каталога
  modules/
    registry.tsx         единый реестр и маршруты модулей
    equipment/           рабочий модуль каталога
    chemistry/           каталог реагентов и планировщик приготовления
  pages/                 главная, placeholder и 404
  styles/                общая тема, страницы и responsive-правила
docs/                    руководство контрибьютора
public/                  статические ассеты

Новый модуль создаётся как src/modules/<module-id>/. Его карточка и маршрут объявляются одной записью в src/modules/registry.tsx:

  • status: "planned" открывает PlaceholderPage;
  • status: "active" вместе с Component включает готовую страницу.

URL модуля имеет вид /<module-id>, без промежуточного /module.

Данные модулей

Production читает data/catalog/catalog.json из ssmc-wiki-data. data/catalog/index.json является диагностическим файлом сборщика и не является контрактом сайта.

Модуль химии читает data/chemistry/catalog.json. URL источников задаются независимо, поэтому каталог и химия могут публиковаться и обновляться отдельно:

$env:VITE_CATALOG_DATA_ROOT="https://example.org/data/catalog/"
$env:VITE_CHEMISTRY_DATA_ROOT="https://example.org/data/chemistry/"

Для локального источника задайте корень, обязательно с / в конце:

$env:VITE_CATALOG_DATA_ROOT="http://127.0.0.1:4173/catalog-data/"

vite.config.ts проксирует /catalog-data на http://127.0.0.1:4174 и /admin-api на Cloudflare Worker.

Локальный запуск

Требуются Node.js 22 и npm.

npm ci
npm run dev

Проверки перед commit/PR:

npm run lint
npm run test
npm run build

dist/ и node_modules/ не коммитятся.

Палитра интерфейса

Цветовые токены находятся в src/styles/base.css:

  • зелёный — действия, выбор, успешное состояние и обычный акцент;
  • жёлтый — только редакторская отметка EDITED и статус «В разработке»;
  • красный — только настоящие ошибки;
  • белые и приглушённые зелёно-серые оттенки — текст и вторичная информация.

Не добавляйте произвольные цветовые литералы в стили компонента: используйте существующие CSS-переменные.

Admin-режим

Маршрут: #/equipment/admin.

Страница доступна всем в тестовом режиме. Категории можно менять до ввода пароля: черновик сохраняется локально. Пароль требуется только для полной перезаписи config/catalog-overrides.json через Worker и не записывается в localStorage.

Скрытые — полноценная категория override. Такие предметы отсутствуют в обычной выдаче, но остаются доступными по прямой ссылке и через связи других предметов.

Текущая защита операции записи и требования к будущей закрытой admin-версии описаны в src/admin/README.md.

About

Space Stories Marine Corps Wiki App (Renyata's Project)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages