feat: Simplify MainLayout by removing unused icons and notifications, streamlining the navbar for a cleaner user interface
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 5m57s
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 5m57s
This commit is contained in:
+14
-74
@@ -6,23 +6,11 @@ import {
|
||||
IconNetwork,
|
||||
IconSettings,
|
||||
IconHome,
|
||||
IconFileText,
|
||||
IconCloud,
|
||||
IconShield,
|
||||
IconActivity,
|
||||
IconBell,
|
||||
IconChevronDown,
|
||||
IconUser,
|
||||
IconDatabase,
|
||||
IconAlertTriangle,
|
||||
IconAlertCircle,
|
||||
IconServer,
|
||||
IconFilter,
|
||||
IconDownload,
|
||||
IconCreditCard,
|
||||
IconMoon,
|
||||
IconHeart,
|
||||
IconCode
|
||||
IconCreditCard
|
||||
} from '@tabler/icons-react';
|
||||
import ServerManager from './ServerManager';
|
||||
import FilterManager from './FilterManager';
|
||||
@@ -53,17 +41,13 @@ function App() {
|
||||
|
||||
function MainLayout() {
|
||||
const location = useLocation();
|
||||
const [notifications] = useState([
|
||||
{ id: 1, title: 'Новый домен добавлен', message: 'example.com был добавлен в список', time: '2 мин назад' },
|
||||
{ id: 2, title: 'Изменения сохранены', message: 'Список AS обновлен в S3', time: '5 мин назад' }
|
||||
]);
|
||||
// Навбар стал лаконичным: без неиспользуемых уведомлений/иконок
|
||||
|
||||
// Состояние для управления выпадающими меню
|
||||
const [dropdownStates, setDropdownStates] = useState({
|
||||
data: false,
|
||||
management: false,
|
||||
tools: false,
|
||||
settings: false
|
||||
tools: false
|
||||
});
|
||||
|
||||
// Закрытие всех выпадающих меню при клике вне их области
|
||||
@@ -73,8 +57,7 @@ function MainLayout() {
|
||||
setDropdownStates({
|
||||
data: false,
|
||||
management: false,
|
||||
tools: false,
|
||||
settings: false
|
||||
tools: false
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -91,8 +74,7 @@ function MainLayout() {
|
||||
const newState = {
|
||||
data: false,
|
||||
management: false,
|
||||
tools: false,
|
||||
settings: false
|
||||
tools: false
|
||||
};
|
||||
// Открываем только выбранное меню, если оно было закрыто
|
||||
if (!prev[dropdown]) {
|
||||
@@ -138,13 +120,7 @@ function MainLayout() {
|
||||
{ id: 'auto-urls', title: 'Авто URL', path: '/auto-urls', icon: IconDownload }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'settings',
|
||||
title: 'Настройки',
|
||||
icon: IconSettings,
|
||||
path: '/settings',
|
||||
single: true
|
||||
}
|
||||
// Убрали неиспользуемые/неработающие разделы
|
||||
];
|
||||
|
||||
// Определяем активную вкладку по адресу
|
||||
@@ -233,50 +209,14 @@ function MainLayout() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Правая часть навбара */}
|
||||
<div className="navbar-nav flex-row order-md-last">
|
||||
{/* Иконки */}
|
||||
<div className="nav-item dropdown">
|
||||
<a href="#" className="nav-link d-flex lh-1 text-reset p-0 ms-3" aria-label="Source code">
|
||||
<IconCode className="icon icon-tabler" />
|
||||
</a>
|
||||
</div>
|
||||
<div className="nav-item dropdown">
|
||||
<a href="#" className="nav-link d-flex lh-1 text-reset p-0 ms-3" aria-label="Sponsor">
|
||||
<IconHeart className="icon icon-tabler" />
|
||||
</a>
|
||||
</div>
|
||||
<div className="nav-item dropdown">
|
||||
<a href="#" className="nav-link d-flex lh-1 text-reset p-0 ms-3" aria-label="Dark mode">
|
||||
<IconMoon className="icon icon-tabler" />
|
||||
</a>
|
||||
</div>
|
||||
<div className="nav-item dropdown">
|
||||
<a href="#" className="nav-link d-flex lh-1 text-reset p-0 ms-3" aria-label="Notifications">
|
||||
<IconBell className="icon icon-tabler" />
|
||||
</a>
|
||||
</div>
|
||||
<div className="nav-item dropdown">
|
||||
<a href="#" className="nav-link d-flex lh-1 text-reset p-0 ms-3" aria-label="Apps">
|
||||
<IconActivity className="icon icon-tabler" />
|
||||
</a>
|
||||
</div>
|
||||
<div className="nav-item dropdown">
|
||||
<a href="#" className="nav-link d-flex lh-1 text-reset p-0 ms-3" aria-label="Theme settings">
|
||||
<IconSettings className="icon icon-tabler" />
|
||||
<span className="badge bg-red"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{/* Пользователь */}
|
||||
<div className="nav-item dropdown">
|
||||
<a href="#" className="nav-link d-flex lh-1 text-reset p-0 ms-3" aria-label="User menu">
|
||||
<span className="avatar avatar-sm" style={{backgroundImage: 'url(./static/avatars/000m.jpg)'}}></span>
|
||||
<div className="d-none d-xl-block ps-2">
|
||||
<div>Admin User</div>
|
||||
<div className="mt-1 small text-muted">Administrator</div>
|
||||
</div>
|
||||
</a>
|
||||
{/* Правая часть навбара (минимальная) */}
|
||||
<div className="navbar-nav order-md-last">
|
||||
<div className="nav-item d-flex align-items-center">
|
||||
<span className="avatar avatar-sm" style={{backgroundImage: 'url(./static/avatars/000m.jpg)'}}></span>
|
||||
<div className="d-none d-xl-block ps-2">
|
||||
<div>Admin User</div>
|
||||
<div className="mt-1 small text-muted">Administrator</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user