новый дизайн
This commit is contained in:
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user