update game ui

This commit is contained in:
2026-09-01 21:57:43 +07:00
parent b9c3fe73f1
commit 59502749c9
9 changed files with 33 additions and 42 deletions
+4 -4
View File
@@ -51,9 +51,9 @@
| Фон страницы | `#111` |
| Панели / карточки / блоки | `#222` (border-radius: 10px) |
| Основной текст | `#eee` |
| Вторичный текст (подписи, служебное) | `#aaa`, `#777` |
| Вторичный текст (подписи, служебное, в тёмных UI-панелях) | `#aaa`, `#777` |
| Акцент hover/active | `#63e2b7` |
| Бронза (заголовки на бумаге, PDF-ссылки) | `--second-color: rgb(97 74 22)` |
| Бронза (PDF-ссылки) | `--second-color: rgb(97 74 22)` |
| Золото (ключи, «требуемые ключи») | `gold` |
| Кнопки-действия на бумаге | текст `#bfa07d`, фон — текстура `belt.png` |
| Подписи улик/приложений | `burlywood` |
@@ -62,7 +62,7 @@
### 4.2 Типографика
- **UI (формы, панели, навигация):** системный стек из `base.css`, 15px.
- **Бумажные листы дел:** `font-family: 'font_old_typer'` (шрифт подключён в `main.css`, файл `src/assets/fonts/a_OldTyper.ttf`). Контент — 18px, заголовок вступления — 26px с `letter-spacing: 3px`.
- **Бумажные листы дел:** `font-family: 'font_old_typer'` (шрифт подключён в `main.css`, файл `src/assets/fonts/a_OldTyper.ttf`). Контент — 18px, вес 500; заголовки всех карточек на экране игры (вступление, вопросы, точки, QR) — как заголовок точки: 18px, чёрный, по левому краю, без `letter-spacing`, вес 400.
- Никогда не используй `font_old_typer` для UI-элементов (кнопки, формы, меню).
### 4.3 Бумажный лист (компонент MessagePaper)
@@ -92,7 +92,7 @@
### 4.6 Поведение и состояния
- Hover интерактивных элементов — только `#63e2b7` (не изобретай новые цвета).
- Заголовки и служебные подписи — вторичные цвета палитры (`#aaa`/`#777`), без ярких акцентов.
- Заголовки и служебные подписи — вторичные цвета палитры (`#aaa`/`#777`), без ярких акцентов. На бумажных листах дел подписи и подсказки — чёрные (текст бумаги, раздел 4.1); `#aaa`/`#777` — для тёмных UI-панелей.
- Новые цвета/токены добавлять только через `src/assets/base.css` в `:root` (существующие: `--main-color`, `--second-color`, `--main-back-color`, `--main-back-item-color`) — и только если без них нельзя обойтись палитрой.
## 5. Чек-лист перед сдачей
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -5,8 +5,8 @@
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Вечерний детектив</title>
<script type="module" crossorigin src="/assets/index-DiCkfjcL.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-BYrJ5ELh.css">
<script type="module" crossorigin src="/assets/index-CZ9dQCFm.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-D9RjYkhO.css">
</head>
<body>
<div id="app"></div>
+4 -12
View File
@@ -50,7 +50,7 @@ const removeAudio = () => {
<!-- Просмотр вступления командой (первый лист дела) -->
<div v-if="mode == 'show'">
<MessagePaper>
<div class="intro-title font">Вступление</div>
<div class="font">Вступление</div>
<hr class="intro-hr" />
<div class="intro-text font">{{ introduction.text }}</div>
<div v-if="hasAudio" class="intro-audio-block">
@@ -108,27 +108,19 @@ const removeAudio = () => {
<style scoped>
/* Бумажный лист вступления (просмотр командой и в каталоге) */
.font {
font-family: 'font_old_typer';
font-family: 'font_old_typer', serif;
font-size: 18px;
}
.intro-title {
text-align: center;
font-size: 26px;
letter-spacing: 3px;
color: var(--second-color);
}
.intro-hr {
margin: 10px 0;
border: dashed 1px;
border-color: #222;
border-color: black;
margin: 10px 0;
}
.intro-text {
font-weight: 500;
white-space: pre-wrap;
line-height: 1.5;
}
/* Панели в стиле блоков точек (см. PlaceBlock.vue) */
+4 -4
View File
@@ -22,13 +22,13 @@
}
.message-cloud {
margin: 15px 0;
padding: 16px;
font-family: main;
color: black;
line-height: 20px;
font-family: 'font_old_typer', serif;
font-size: 18px;
font-weight: 900;
line-height: 20px;
margin: 15px 0;
padding: 16px;
position: relative;
}
+1 -1
View File
@@ -744,7 +744,7 @@ const bottomApplications = computed<Application[]>(() => {
}
.font {
font-family: 'font_old_typer';
font-family: 'font_old_typer', serif;
font-size: 18px;
}
+15 -16
View File
@@ -194,10 +194,10 @@ const paperControlsOverrides = {
colorDisabled: 'transparent',
colorFocus: 'transparent',
fontSizeMedium: '18px',
placeholderColor: '#777',
placeholderColorDisabled: '#777',
placeholderColor: 'black',
placeholderColorDisabled: 'black',
textColor: 'black',
textColorDisabled: '#777',
textColorDisabled: 'black',
},
}
@@ -231,7 +231,7 @@ useSimplePolling(() => {
</IntroBlock>
<MessagePaper v-if="hasQuestions && game?.status && game.status != 'draft'" class="questions-block">
<div class="questions-title font">Вопросы дела</div>
<div class="font">Вопросы дела</div>
<hr class="questions-hr" />
<p class="questions-hint font">
Ответьте на вопросы дела. Ответы можно менять, пока игра идёт.
@@ -296,13 +296,6 @@ useSimplePolling(() => {
align-items: center;
}
.questions-title {
text-align: center;
font-size: 26px;
letter-spacing: 3px;
color: var(--second-color);
}
.questions-hr {
margin: 10px 0;
border: dashed 1px;
@@ -310,7 +303,7 @@ useSimplePolling(() => {
}
.questions-hint {
color: #777;
color: black;
}
.question-item {
@@ -319,7 +312,7 @@ useSimplePolling(() => {
.question-text {
margin-bottom: 6px;
font-weight: 600;
font-weight: 500;
}
.questions-actions {
@@ -330,7 +323,7 @@ useSimplePolling(() => {
текстура ремня, бронзовый текст печатной машинки */
.paper-button {
display: inline-block;
margin-top: 5px;
margin-top: 10px;
padding: 5px 12px;
border: 0;
border-radius: 5px;
@@ -338,7 +331,7 @@ useSimplePolling(() => {
background-size: cover;
color: #bfa07d;
font-family: 'font_old_typer', serif;
font-size: 18px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
}
@@ -353,8 +346,14 @@ useSimplePolling(() => {
}
.qr-main-block-text {
text-align: left;
font-family: 'font_old_typer', serif;
font-size: 18px;
margin: 10px 0;
text-align: left;
}
p.qr-main-block-text {
font-weight: 500;
}
.qr-block {