новый дизайн

This commit is contained in:
2026-07-25 18:36:45 +04:00
parent df7f98fe8b
commit c43a73e148
54 changed files with 4234 additions and 1110 deletions
+39
View File
@@ -0,0 +1,39 @@
<script setup>
import { Link } from '@inertiajs/vue3';
import PortalLayout from './PortalLayout.vue';
defineProps({
site: { type: Object, required: true },
auth: { type: Object, required: true },
urls: { type: Object, required: true },
flash: { type: Object, default: () => ({}) },
current: { type: String, required: true },
});
const items = [
{ key: 'accounts', label: 'Аккаунты', url: 'admin_accounts', number: '01' },
{ key: 'balances', label: 'Слёзы Элуны', url: 'admin_balances', number: '02' },
{ key: 'shop', label: 'Магазин', url: 'admin_shop', number: '03' },
{ key: 'news', label: 'Новости', url: 'admin_news', number: '04' },
{ key: 'login-news', label: 'Новости WoW', url: 'admin_login_news', number: '05' },
];
</script>
<template>
<PortalLayout :site="site" :auth="auth" :urls="urls" :flash="flash">
<div class="admin-bar">
<nav class="wrap admin-bar__inner" aria-label="Разделы админки">
<Link
v-for="item in items"
:key="item.key"
:class="{ active: current === item.key }"
:href="urls[item.url]"
>
<small>{{ item.number }}</small>
{{ item.label }}
</Link>
</nav>
</div>
<slot />
</PortalLayout>
</template>
+43
View File
@@ -0,0 +1,43 @@
<script setup>
import { Head } from '@inertiajs/vue3';
import { onMounted } from 'vue';
import SiteFooter from '../Components/SiteFooter.vue';
import SiteHeader from '../Components/SiteHeader.vue';
import Background from '../Pages/Landing/Components/Background.vue';
defineProps({
site: { type: Object, required: true },
auth: { type: Object, required: true },
urls: { type: Object, required: true },
flash: { type: Object, default: () => ({}) },
});
onMounted(() => {
document.documentElement.lang = 'ru';
document.body.dataset.variant = 'forest';
});
</script>
<template>
<Head>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
</Head>
<Background />
<div class="portal-shell">
<SiteHeader :site="site" :auth="auth" :urls="urls" />
<div v-if="flash.status || flash.error" class="wrap portal-alerts" aria-live="polite">
<div v-if="flash.status" class="portal-alert portal-alert--success">{{ flash.status }}</div>
<div v-if="flash.error" class="portal-alert portal-alert--error">{{ flash.error }}</div>
</div>
<main class="portal-main">
<slot />
</main>
<SiteFooter :site="site" :urls="urls" />
</div>
</template>