Files
ABSDEV/resources/themes/common/views/components/layouts/app/sidebar.blade.php
T

126 lines
13 KiB
PHP

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="dark">
<head>@include('stylist-theme-common::partials.head')</head>
<body class="min-h-screen bg-white dark:bg-zinc-800">
<flux:sidebar sticky collapsible="mobile" class="border-e border-zinc-200 bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900">
<flux:sidebar.header>
<x-stylist-theme-common::app-logo :sidebar="true" href="{{ route('dashboard') }}" wire:navigate />
<flux:sidebar.collapse class="lg:hidden" />
</flux:sidebar.header>
<flux:sidebar.nav>
<flux:sidebar.group :heading="__('Platform')" expandable :expanded="request()->routeIs('dashboard', 'administration.enterprise.*', 'administration.sites.*')" class="grid">
<flux:sidebar.item icon="home" :href="route('dashboard')" :current="request()->routeIs('dashboard')" wire:navigate>{{ __('Dashboard') }}</flux:sidebar.item>
<flux:sidebar.item icon="server-stack" :href="route('administration.enterprise.index')" :current="request()->routeIs('administration.enterprise.*')" wire:navigate>{{ __('Enterprise Services') }}</flux:sidebar.item>
<flux:sidebar.item icon="globe-alt" :href="route('administration.sites.index')" :current="request()->routeIs('administration.sites.*')" wire:navigate>{{ __('Sites') }}</flux:sidebar.item>
</flux:sidebar.group>
<flux:sidebar.group :heading="__('Publishing')" expandable :expanded="request()->routeIs('administration.blog.*', 'administration.news.*', 'administration.categories.*', 'administration.tags.*', 'administration.authors.*', 'administration.comments.*')" class="grid">
<flux:sidebar.item icon="newspaper" :href="route('administration.blog.index')" :current="request()->routeIs('administration.blog.*')" wire:navigate>{{ __('Blog') }}</flux:sidebar.item>
<flux:sidebar.item icon="megaphone" :href="route('administration.news.index')" :current="request()->routeIs('administration.news.*')" wire:navigate>{{ __('News') }}</flux:sidebar.item>
<flux:sidebar.item icon="folder" :href="route('administration.categories.index')" :current="request()->routeIs('administration.categories.*')" wire:navigate>{{ __('Categories') }}</flux:sidebar.item>
<flux:sidebar.item icon="tag" :href="route('administration.tags.index')" :current="request()->routeIs('administration.tags.*')" wire:navigate>{{ __('Tags') }}</flux:sidebar.item>
<flux:sidebar.item icon="pencil-square" :href="route('administration.authors.index')" :current="request()->routeIs('administration.authors.*')" wire:navigate>{{ __('Authors') }}</flux:sidebar.item>
<flux:sidebar.item icon="chat-bubble-oval-left" :href="route('administration.comments.index')" :current="request()->routeIs('administration.comments.*')" wire:navigate>{{ __('Comments') }}</flux:sidebar.item>
</flux:sidebar.group>
<flux:sidebar.group :heading="__('Content')" expandable :expanded="request()->routeIs('administration.pages.*', 'administration.menus.*', 'administration.redirects.*', 'administration.forms.*', 'administration.documents.*', 'administration.banners.*', 'administration.faq.*', 'administration.team.*', 'administration.testimonials.*')" class="grid">
<flux:sidebar.item icon="document-text" :href="route('administration.pages.index')" :current="request()->routeIs('administration.pages.*')" wire:navigate>{{ __('Pages') }}</flux:sidebar.item>
<flux:sidebar.item icon="bars-3-bottom-left" :href="route('administration.menus.index')" :current="request()->routeIs('administration.menus.*')" wire:navigate>{{ __('Menus') }}</flux:sidebar.item>
<flux:sidebar.item icon="arrow-uturn-right" :href="route('administration.redirects.index')" :current="request()->routeIs('administration.redirects.*')" wire:navigate>{{ __('Redirects') }}</flux:sidebar.item>
<flux:sidebar.item icon="rectangle-stack" :href="route('administration.forms.index')" :current="request()->routeIs('administration.forms.*')" wire:navigate>{{ __('Forms') }}</flux:sidebar.item>
<flux:sidebar.item icon="folder" :href="route('administration.documents.index')" :current="request()->routeIs('administration.documents.*')" wire:navigate>{{ __('Documents') }}</flux:sidebar.item>
<flux:sidebar.item icon="megaphone" :href="route('administration.banners.index')" :current="request()->routeIs('administration.banners.*')" wire:navigate>{{ __('Banners') }}</flux:sidebar.item>
<flux:sidebar.item icon="question-mark-circle" :href="route('administration.faq.index')" :current="request()->routeIs('administration.faq.*')" wire:navigate>{{ __('FAQ') }}</flux:sidebar.item>
<flux:sidebar.item icon="user-group" :href="route('administration.team.index')" :current="request()->routeIs('administration.team.*')" wire:navigate>{{ __('Team') }}</flux:sidebar.item>
<flux:sidebar.item icon="chat-bubble-left-right" :href="route('administration.testimonials.index')" :current="request()->routeIs('administration.testimonials.*')" wire:navigate>{{ __('Testimonials') }}</flux:sidebar.item>
</flux:sidebar.group>
<flux:sidebar.group :heading="__('Business')" expandable :expanded="request()->routeIs('administration.commerce.*', 'administration.crm.*', 'administration.newsletter.*', 'administration.events.*', 'administration.careers.*', 'administration.locations.*')" class="grid">
<flux:sidebar.item icon="shopping-bag" :href="route('administration.commerce.index')" :current="request()->routeIs('administration.commerce.*')" wire:navigate>{{ __('Commerce') }}</flux:sidebar.item>
<flux:sidebar.item icon="building-office-2" :href="route('administration.crm.index')" :current="request()->routeIs('administration.crm.*')" wire:navigate>{{ __('CRM') }}</flux:sidebar.item>
<flux:sidebar.item icon="envelope" :href="route('administration.newsletter.index')" :current="request()->routeIs('administration.newsletter.*')" wire:navigate>{{ __('Newsletter') }}</flux:sidebar.item>
<flux:sidebar.item icon="calendar-days" :href="route('administration.events.index')" :current="request()->routeIs('administration.events.*')" wire:navigate>{{ __('Events') }}</flux:sidebar.item>
<flux:sidebar.item icon="briefcase" :href="route('administration.careers.index')" :current="request()->routeIs('administration.careers.*')" wire:navigate>{{ __('Careers') }}</flux:sidebar.item>
<flux:sidebar.item icon="map-pin" :href="route('administration.locations.index')" :current="request()->routeIs('administration.locations.*')" wire:navigate>{{ __('Locations') }}</flux:sidebar.item>
</flux:sidebar.group>
<flux:sidebar.group :heading="__('Management')" expandable :expanded="request()->routeIs('administration.users.*', 'administration.roles.*', 'administration.media.*', 'administration.search.*')" class="grid">
<flux:sidebar.item icon="users" :href="route('administration.users.index')" :current="request()->routeIs('administration.users.*')" wire:navigate>{{ __('Users') }}</flux:sidebar.item>
<flux:sidebar.item icon="shield-check" :href="route('administration.roles.index')" :current="request()->routeIs('administration.roles.*')" wire:navigate>{{ __('Roles & Permissions') }}</flux:sidebar.item>
<flux:sidebar.item icon="photo" :href="route('administration.media.index')" :current="request()->routeIs('administration.media.*')" wire:navigate>{{ __('Media') }}</flux:sidebar.item>
<flux:sidebar.item icon="magnifying-glass" :href="route('administration.search.index')" :current="request()->routeIs('administration.search.*')" wire:navigate>{{ __('Search') }}</flux:sidebar.item>
</flux:sidebar.group>
<flux:sidebar.group :heading="__('Workflow & Automation')" expandable :expanded="request()->routeIs('administration.workflows.*', 'administration.automation.*', 'administration.ai.*')" class="grid">
<flux:sidebar.item icon="arrows-right-left" :href="route('administration.workflows.index')" :current="request()->routeIs('administration.workflows.*')" wire:navigate>{{ __('Review Queue') }}</flux:sidebar.item>
<flux:sidebar.item icon="bolt" :href="route('administration.automation.index')" :current="request()->routeIs('administration.automation.*')" wire:navigate>{{ __('Automation') }}</flux:sidebar.item>
<flux:sidebar.item icon="sparkles" :href="route('administration.ai.index')" :current="request()->routeIs('administration.ai.*')" wire:navigate>{{ __('AI Platform') }}</flux:sidebar.item>
</flux:sidebar.group>
<flux:sidebar.group :heading="__('Security')" expandable :expanded="request()->routeIs('administration.security.*')" class="grid">
<flux:sidebar.item icon="shield-check" :href="route('administration.security.index')" :current="request()->routeIs('administration.security.*')" wire:navigate>{{ __('Security Centre') }}</flux:sidebar.item>
</flux:sidebar.group>
<flux:sidebar.group :heading="__('Developer')" expandable :expanded="request()->routeIs('administration.api.*', 'administration.developer.*')" class="grid">
<flux:sidebar.item icon="code-bracket" :href="route('administration.api.index')" :current="request()->routeIs('administration.api.*')" wire:navigate>{{ __('API & Webhooks') }}</flux:sidebar.item>
<flux:sidebar.item icon="command-line" :href="route('administration.developer.index')" :current="request()->routeIs('administration.developer.*')" wire:navigate>{{ __('Developer Tools') }}</flux:sidebar.item>
</flux:sidebar.group>
<flux:sidebar.group :heading="__('Configuration')" expandable :expanded="request()->routeIs('administration.localization.*', 'administration.seo.*', 'administration.settings.*', 'administration.modules.*', 'administration.audit.*')" class="grid">
<flux:sidebar.item icon="language" :href="route('administration.localization.index')" :current="request()->routeIs('administration.localization.*')" wire:navigate>{{ __('Localisation') }}</flux:sidebar.item>
<flux:sidebar.item icon="globe-alt" :href="route('administration.seo.index')" :current="request()->routeIs('administration.seo.*')" wire:navigate>{{ __('SEO') }}</flux:sidebar.item>
<flux:sidebar.item icon="cog-6-tooth" :href="route('administration.settings.index')" :current="request()->routeIs('administration.settings.*')" wire:navigate>{{ __('Settings') }}</flux:sidebar.item>
<flux:sidebar.item icon="cube" :href="route('administration.modules.index')" :current="request()->routeIs('administration.modules.*')" wire:navigate>{{ __('Modules') }}</flux:sidebar.item>
<flux:sidebar.item icon="clipboard-document-list" :href="route('administration.audit.index')" :current="request()->routeIs('administration.audit.*')" wire:navigate>{{ __('Audit Log') }}</flux:sidebar.item>
</flux:sidebar.group>
<flux:sidebar.group :heading="__('Operations')" expandable :expanded="request()->routeIs('administration.cloud-devops.*')" class="grid">
<flux:sidebar.item icon="cloud-arrow-up" :href="route('administration.cloud-devops.index')" :current="request()->routeIs('administration.cloud-devops.*')" wire:navigate>{{ __('Cloud & DevOps') }}</flux:sidebar.item>
</flux:sidebar.group>
</flux:sidebar.nav>
<flux:spacer />
<x-stylist-theme-common::desktop-user-menu class="hidden lg:block" :name="auth()->user()->name" />
</flux:sidebar>
<flux:header class="lg:hidden">
<flux:sidebar.toggle class="lg:hidden" icon="bars-2" inset="left" />
<flux:spacer />
<flux:dropdown position="top" align="end">
<flux:profile :initials="auth()->user()->initials()" icon-trailing="chevron-down" />
<flux:menu>
<flux:menu.radio.group>
<div class="p-0 text-sm font-normal">
<div class="flex items-center gap-2 px-1 py-1.5 text-start text-sm">
<flux:avatar :name="auth()->user()->name" :initials="auth()->user()->initials()" />
<div class="grid flex-1 text-start text-sm leading-tight">
<flux:heading class="truncate">{{ auth()->user()->name }}</flux:heading>
<flux:text class="truncate">{{ auth()->user()->email }}</flux:text>
</div>
</div>
</div>
</flux:menu.radio.group>
<flux:menu.separator />
<flux:menu.radio.group>
<flux:menu.item :href="route('profile.edit')" icon="cog" wire:navigate>{{ __('Settings') }}</flux:menu.item>
</flux:menu.radio.group>
<flux:menu.separator />
<form method="POST" action="{{ route('logout') }}" class="w-full">
@csrf
<flux:menu.item as="button" type="submit" icon="arrow-right-start-on-rectangle" class="w-full cursor-pointer" data-test="logout-button">{{ __('Log out') }}</flux:menu.item>
</form>
</flux:menu>
</flux:dropdown>
</flux:header>
{{ $slot }}
@persist('toast')
<flux:toast.group><flux:toast /></flux:toast.group>
@endpersist
@fluxScripts
</body>
</html>