This commit is contained in:
arys
2026-04-10 12:50:08 +05:00
parent 5432d679fa
commit e7eae6a877
21 changed files with 2117 additions and 1027 deletions
+13 -2
View File
@@ -37,9 +37,20 @@ const model = ref([
]
},
{
label: 'Admin',
label: 'Сервисы',
items: [
{ label: 'Users', icon: 'pi pi-fw pi-users', to: '/admin/users' },
{
label: 'CRM колл-центр',
icon: 'pi pi-fw pi-external-link',
url: 'https://call-center.konturai.kz/operator#workspace',
target: '_blank'
}
]
},
{
label: 'Администрирование',
items: [
{ label: 'Пользователи', icon: 'pi pi-fw pi-users', to: '/admin/users' },
{ label: 'Управление парсером', icon: 'pi pi-fw pi-cog', to: '/admin/news' }
]
}
+9 -1
View File
@@ -71,7 +71,15 @@ function checkActiveRoute(item) {
<template>
<li :class="{ 'layout-root-menuitem': root, 'active-menuitem': isActiveMenu }">
<div v-if="root && item.visible !== false" class="layout-menuitem-root-text">{{ item.label }}</div>
<a v-if="(!item.to || item.items) && item.visible !== false" :href="item.url" @click="itemClick($event, item, index)" :class="item.class" :target="item.target" tabindex="0">
<a
v-if="(!item.to || item.items) && item.visible !== false"
:href="item.url"
@click="itemClick($event, item, index)"
:class="item.class"
:target="item.target"
:rel="item.target === '_blank' ? 'noopener noreferrer' : null"
tabindex="0"
>
<i :class="item.icon" class="layout-menuitem-icon"></i>
<span class="layout-menuitem-text">{{ item.label }}</span>
<i class="pi pi-fw pi-angle-down layout-submenu-toggler" v-if="item.items"></i>
+2 -5
View File
@@ -4,7 +4,7 @@ import AuthService from '@/service/AuthService';
import { useRouter } from 'vue-router';
import AppConfigurator from './AppConfigurator.vue';
const { toggleMenu, toggleDarkMode, isDarkTheme } = useLayout();
const { toggleMenu } = useLayout();
const router = useRouter();
async function onLogout() {
@@ -44,9 +44,6 @@ async function onLogout() {
<div class="layout-topbar-actions">
<div class="layout-config-menu">
<button type="button" class="layout-topbar-action" @click="toggleDarkMode">
<i :class="['pi', { 'pi-moon': isDarkTheme, 'pi-sun': !isDarkTheme }]"></i>
</button>
<div class="relative">
<button
v-styleclass="{ selector: '@next', enterFromClass: 'hidden', enterActiveClass: 'animate-scalein', leaveToClass: 'hidden', leaveActiveClass: 'animate-fadeout', hideOnOutsideClick: true }"
@@ -78,7 +75,7 @@ async function onLogout() {
</button> -->
<button type="button" class="layout-topbar-action" @click="onLogout">
<i class="pi pi-sign-out"></i>
<span>Logout</span>
<span>Выйти</span>
</button>
</div>
</div>
+6 -9
View File
@@ -24,18 +24,13 @@ export function useLayout() {
};
const toggleDarkMode = () => {
if (!document.startViewTransition) {
executeDarkModeToggle();
return;
}
document.startViewTransition(() => executeDarkModeToggle(event));
layoutConfig.darkTheme = false;
document.documentElement.classList.remove('app-dark');
};
const executeDarkModeToggle = () => {
layoutConfig.darkTheme = !layoutConfig.darkTheme;
document.documentElement.classList.toggle('app-dark');
layoutConfig.darkTheme = false;
document.documentElement.classList.remove('app-dark');
};
const toggleMenu = () => {
@@ -58,6 +53,8 @@ export function useLayout() {
const getSurface = computed(() => layoutConfig.surface);
executeDarkModeToggle();
return {
layoutConfig,
layoutState,