Stage 7 polish: app shell + nav + lobby + settings (Parts A/B/C)

- Screen.svelte shell: nav bar grows, ad+content+tabbar pinned bottom (mobile feel)
- AdBanner.svelte + banner.ts rotator (params, mock long/short, linkify); Header CSS chevron + grow; Menu (bigger CSS hamburger); TabBar + HoldConfirm shared components; user-select:none
- Lobby: hide-empty sections, tab order New/Tournaments/Stats, place-based result badges (result.ts)
- Settings: Board style > Labels (beginner/classic/none) + prefs plumbing (boardlabels.ts); i18n keys + ru mirror
This commit is contained in:
Ilia Denisov
2026-06-03 13:20:56 +02:00
parent 03347c5a91
commit 38be7fea96
18 changed files with 871 additions and 244 deletions
+8 -7
View File
@@ -1,16 +1,17 @@
<script lang="ts">
import Header from '../components/Header.svelte';
import Screen from '../components/Screen.svelte';
import { t } from '../lib/i18n/index.svelte';
const version = '0.7.0';
</script>
<Header title={t('about.title')} back="/" />
<main class="page">
<h2>{t('app.title')}</h2>
<p>{t('about.description')}</p>
<p class="muted">{t('about.version', { v: version })}</p>
</main>
<Screen title={t('about.title')} back="/">
<div class="page">
<h2>{t('app.title')}</h2>
<p>{t('about.description')}</p>
<p class="muted">{t('about.version', { v: version })}</p>
</div>
</Screen>
<style>
.page {