Merge pull request #81: feat: refresh dashboard design with fantasy RPG aesthetic
Deploy Telegram Bot / build-and-push (push) Successful in 3m57s
Deploy Telegram Bot / scan-images (push) Successful in 1m4s
Deploy Telegram Bot / deploy (push) Successful in 11s

🎨 Dashboard design refresh
- Complete fantasy RPG aesthetic overhaul
- Glass-morphism cards with gradient borders
- Cinzel + Jura typography
- Atmospheric backgrounds with noise texture

🧹 Chore: migrated k8s manifests to gmrelay-k8s repo

Bump version → 2.1.0

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 11:29:16 +03:00
8 changed files with 570 additions and 127 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ on:
- main - main
env: env:
VERSION: 2.0.1 VERSION: 2.1.0
jobs: jobs:
# ЧАСТЬ 1: Собираем образы и кладем в Gitea (чтобы делиться с ребятами) # ЧАСТЬ 1: Собираем образы и кладем в Gitea (чтобы делиться с ребятами)
+1 -1
View File
@@ -1,6 +1,6 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<Version>2.0.1</Version> <Version>2.1.0</Version>
<TargetFramework>net10.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<LangVersion>preview</LangVersion> <LangVersion>preview</LangVersion>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
+2 -2
View File
@@ -49,7 +49,7 @@ services:
crond -f crond -f
bot: bot:
image: git.codeanddice.ru/toutsu/gmrelay-bot:2.0.1 image: git.codeanddice.ru/toutsu/gmrelay-bot:2.1.0
restart: always restart: always
depends_on: depends_on:
db: db:
@@ -67,7 +67,7 @@ services:
retries: 3 retries: 3
web: web:
image: git.codeanddice.ru/toutsu/gmrelay-web:2.0.1 image: git.codeanddice.ru/toutsu/gmrelay-web:2.1.0
restart: always restart: always
depends_on: depends_on:
db: db:
+1 -1
View File
@@ -10,7 +10,7 @@
<ResourcePreloader /> <ResourcePreloader />
<link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" /> <link href="https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Cinzel:wght@400;600;700&family=Jura:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="@Assets["app.css"]" /> <link rel="stylesheet" href="@Assets["app.css"]" />
<link rel="stylesheet" href="@Assets["GmRelay.Web.styles.css"]" /> <link rel="stylesheet" href="@Assets["GmRelay.Web.styles.css"]" />
<script src="https://telegram.org/js/telegram-web-app.js"></script> <script src="https://telegram.org/js/telegram-web-app.js"></script>
@@ -30,8 +30,9 @@
/* === Error UI === */ /* === Error UI === */
#blazor-error-ui { #blazor-error-ui {
background: var(--bg-secondary); background: var(--status-danger-bg);
border-top: 1px solid var(--border-color); color: var(--status-danger);
border-top: 1px solid rgba(239, 68, 68, 0.15);
bottom: 0; bottom: 0;
box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.3); box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.3);
box-sizing: border-box; box-sizing: border-box;
@@ -41,8 +42,9 @@
position: fixed; position: fixed;
width: 100%; width: 100%;
z-index: 1000; z-index: 1000;
color: var(--text-secondary);
font-size: 0.875rem; font-size: 0.875rem;
font-family: 'Jura', sans-serif;
font-weight: 500;
} }
#blazor-error-ui .reload { #blazor-error-ui .reload {
@@ -56,7 +56,7 @@
</button> </button>
</form> </form>
<div class="nav-version">v2.0.1</div> <div class="nav-version">v2.1.0</div>
</div> </div>
</Authorized> </Authorized>
<NotAuthorized> <NotAuthorized>
@@ -23,12 +23,11 @@
} }
.nav-brand-text { .nav-brand-text {
font-family: 'Cinzel Decorative', 'Cinzel', serif;
font-size: 1.125rem; font-size: 1.125rem;
font-weight: 700; font-weight: 700;
background: var(--accent-gradient); letter-spacing: 0.04em;
-webkit-background-clip: text; color: var(--text-primary);
-webkit-text-fill-color: transparent;
background-clip: text;
} }
.nav-toggle { .nav-toggle {
@@ -87,9 +86,10 @@
} }
.nav-section ::deep .nav-item.active { .nav-section ::deep .nav-item.active {
background: rgba(124, 58, 237, 0.15); background: linear-gradient(135deg, rgba(139, 92, 246, 0.15) 0%, rgba(34, 211, 238, 0.08) 100%);
color: var(--accent-primary); color: var(--text-accent);
border: 1px solid rgba(124, 58, 237, 0.2); border: 1px solid rgba(139, 92, 246, 0.25);
box-shadow: 0 0 12px rgba(139, 92, 246, 0.1);
} }
.nav-icon { .nav-icon {
@@ -145,7 +145,7 @@
border: 1px solid transparent; border: 1px solid transparent;
border-radius: var(--radius-sm); border-radius: var(--radius-sm);
color: var(--text-muted); color: var(--text-muted);
font-family: 'Inter', sans-serif; font-family: 'Jura', sans-serif;
font-size: 0.8125rem; font-size: 0.8125rem;
cursor: pointer; cursor: pointer;
transition: all var(--transition-normal); transition: all var(--transition-normal);
File diff suppressed because it is too large Load Diff