feat: API и веб-интерфейс — поиск, сравнение цен, экран верификации, загрузка архива
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# Дизайн-заготовка (фирменная палитра)
|
||||
|
||||
Готовые токены для фронта (агент D). Полная дизайн-система: `Base/_Inbox/Хакатон Medtech/Дизайн-система`.
|
||||
|
||||
## Применение
|
||||
|
||||
1. `tailwind.tokens.ts` → импортировать в `tailwind.config.ts`, разложить в `theme.extend`.
|
||||
2. `globals.css` → переменные в `:root` (shadcn/ui).
|
||||
3. Шрифт **Geologica** — `next/font` или `<link>` на fonts.bunny.net (веса 300–700).
|
||||
|
||||
## Шпаргалка
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Primary (CTA) | `#ff4713`, текст белый, `rounded-lg`, hover `#e63e0f` |
|
||||
| Вторичный | `#6b788e` (t-gray) |
|
||||
| Фон страницы / карточек | `#f3f4f6` / белый `rounded-2xl shadow-card` |
|
||||
| Успех / ошибка | `#0f973d` / `#dc2626` (фон `#fbe9e9`) |
|
||||
| Шрифт | Geologica (заголовки 600–700, текст 400) |
|
||||
| Контейнер | `max-w-container` (1280px) |
|
||||
|
||||
## Ключевой компонент — таблица сравнения цен
|
||||
|
||||
- Шапка `bg-light-gray`, текст `t-gray` 600/14px.
|
||||
- Строки белые, разделители `#ebedf0`, hover `bg-brand-soft`, цены вправо `tabular-nums`.
|
||||
- Лучшая/нормализованная цена — бейдж `bg-brand text-white rounded-full`.
|
||||
- Статусы нормализации: success `#0f973d` · конфликт `#dc2626` · «проверить» `#ff4713`.
|
||||
- shadcn: `Table` + `Badge` (variants default=оранжевый / success / destructive) + TanStack `DataTable`.
|
||||
@@ -0,0 +1,26 @@
|
||||
/* shadcn/ui тема (фирменная палитра) — вставить в app/globals.css (:root)
|
||||
Подключить шрифт Geologica: next/font или
|
||||
<link href="https://fonts.bunny.net/css?family=geologica:300,400,500,600,700&display=swap"> */
|
||||
:root {
|
||||
--radius: 0.5rem; /* база кнопок/инпутов */
|
||||
--background: 220 14% 96%; /* #f3f4f6 фон страницы */
|
||||
--foreground: 222 47% 11%; /* #111827 текст */
|
||||
--card: 0 0% 100%; /* белые карточки */
|
||||
--card-foreground: 222 47% 11%;
|
||||
--popover: 0 0% 100%;
|
||||
--popover-foreground: 222 47% 11%;
|
||||
--primary: 11 100% 54%; /* #ff4713 бренд-оранжевый */
|
||||
--primary-foreground: 0 0% 100%;
|
||||
--secondary: 218 15% 49%; /* #6b788e t-gray */
|
||||
--secondary-foreground: 0 0% 100%;
|
||||
--muted: 210 20% 97%; /* #f5f7f9 light-gray */
|
||||
--muted-foreground: 220 9% 46%; /* #6b7280 */
|
||||
--accent: 16 100% 95%; /* #ffede7 brand-soft */
|
||||
--accent-foreground: 11 100% 45%;
|
||||
--destructive: 0 72% 51%; /* #dc2626 */
|
||||
--destructive-foreground: 0 0% 100%;
|
||||
--success: 142 82% 32%; /* #0f973d */
|
||||
--border: 220 13% 91%; /* #ebedf0 */
|
||||
--input: 220 13% 85%; /* #d1d5db */
|
||||
--ring: 11 100% 54%; /* оранжевое кольцо фокуса */
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// Дизайн-токены (фирменная палитра) — вставить в tailwind.config.ts → theme.extend
|
||||
export const brandTheme = {
|
||||
colors: {
|
||||
brand: { DEFAULT: "#ff4713", soft: "#ffede7", dark: "#e63e0f" }, // бренд-оранжевый
|
||||
"t-gray": "#6b788e", // сине-серый (вторичный)
|
||||
"light-gray": "#f5f7f9", // фон секций/карточек
|
||||
link: "#2563eb",
|
||||
success: { DEFAULT: "#0f973d", soft: "#e7f6ec" },
|
||||
error: { DEFAULT: "#dc2626", soft: "#fbe9e9" },
|
||||
ink: "#111827", // основной текст
|
||||
},
|
||||
fontFamily: {
|
||||
sans: ["Geologica", "ui-sans-serif", "system-ui", "sans-serif"],
|
||||
},
|
||||
borderRadius: { lg: "0.5rem", xl: "0.75rem", "2xl": "1rem", "3xl": "1.5rem" },
|
||||
maxWidth: { container: "80rem" }, // 1280px — контейнер
|
||||
boxShadow: { card: "0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1)" },
|
||||
};
|
||||
Reference in New Issue
Block a user