generated from VLADIMIR/template_frontend
update game ui
This commit is contained in:
@@ -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. Чек-лист перед сдачей
|
||||
|
||||
Vendored
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+2
-2
@@ -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>
|
||||
|
||||
@@ -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) */
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -744,7 +744,7 @@ const bottomApplications = computed<Application[]>(() => {
|
||||
}
|
||||
|
||||
.font {
|
||||
font-family: 'font_old_typer';
|
||||
font-family: 'font_old_typer', serif;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user