Javier Feliz 2e95a2a271
Some checks failed
linter / quality (push) Successful in 5m47s
tests / ci (push) Failing after 10m17s
Move tokens to their own page
2025-08-02 15:54:30 -04:00

124 lines
5.1 KiB
PHP

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="dark">
<head>
@include('partials.head')
</head>
<body class="min-h-screen bg-stone-200 dark:bg-zinc-800">
<flux:header container class="border-b border-zinc-200 bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900">
<flux:sidebar.toggle class="lg:hidden" icon="bars-2" inset="left" />
<a href="{{ route('dashboard') }}" class="ms-2 me-5 flex items-center space-x-2 rtl:space-x-reverse lg:ms-0"
wire:navigate>
<x-app-logo />
</a>
<flux:navbar class="-mb-px max-lg:hidden">
<flux:navbar.item icon="layout-grid" :href="route('dashboard')" :current="request()->routeIs('dashboard')"
wire:navigate>
{{ __('Apps') }}
</flux:navbar.item>
<flux:navbar.item icon="key" :href="route('tokens')" :current="request()->routeIs('tokens')"
wire:navigate>
{{ __('Tokens') }}
</flux:navbar.item>
@can('viewAny', App\Models\User::class)
<flux:navbar.item icon="users" :href="route('admin.users')" :current="request()->routeIs('admin.users')"
wire:navigate>
{{ __('User Management') }}
</flux:navbar.item>
@endcan
</flux:navbar>
<flux:spacer />
<flux:navbar>
<flux:radio.group x-data variant="segmented" x-model="$flux.appearance" size="sm">
<flux:radio value="light" icon="sun" />
<flux:radio value="dark" icon="moon" />
<flux:radio value="system" icon="computer-desktop" />
</flux:radio.group>
</flux:navbar>
<!-- Desktop User Menu -->
<flux:dropdown position="top" align="end">
<flux:profile class="cursor-pointer" :initials="auth()->user()->initials()" />
<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">
<span class="relative flex h-8 w-8 shrink-0 overflow-hidden rounded-lg">
<span
class="flex h-full w-full items-center justify-center rounded-lg bg-neutral-200 text-black dark:bg-neutral-700 dark:text-white">
{{ auth()->user()->initials() }}
</span>
</span>
<div class="grid flex-1 text-start text-sm leading-tight">
<span class="truncate font-semibold">{{ auth()->user()->name }}</span>
<span class="truncate text-xs">{{ auth()->user()->email }}</span>
</div>
</div>
</div>
</flux:menu.radio.group>
<flux:menu.separator />
<flux:menu.radio.group>
<flux:modal.trigger name="user-profile">
<flux:menu.item>{{ __('Edit your profile') }}
</flux:menu.item>
</flux:modal.trigger>
</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">
{{ __('Log Out') }}
</flux:menu.item>
</form>
</flux:menu>
</flux:dropdown>
</flux:header>
<!-- Mobile Menu -->
<flux:sidebar stashable sticky
class="lg:hidden border-e border-zinc-200 bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900">
<flux:sidebar.toggle class="lg:hidden" icon="x-mark" />
<a href="{{ route('dashboard') }}" class="ms-1 flex items-center space-x-2 rtl:space-x-reverse" wire:navigate>
<x-app-logo />
</a>
<flux:navlist variant="outline">
<flux:navlist.group :heading="__('Platform')">
<flux:navlist.item icon="layout-grid" :href="route('dashboard')"
:current="request()->routeIs('dashboard')" wire:navigate>
{{ __('Dashboard') }}
</flux:navlist.item>
<flux:navlist.item icon="key" :href="route('tokens')"
:current="request()->routeIs('tokens')" wire:navigate>
{{ __('Tokens') }}
</flux:navlist.item>
@can('viewAny', App\Models\User::class)
<flux:navlist.item icon="users" :href="route('admin.users')"
:current="request()->routeIs('admin.users')" wire:navigate>
{{ __('User Management') }}
</flux:navlist.item>
@endcan
</flux:navlist.group>
</flux:navlist>
<flux:spacer />
</flux:sidebar>
{{ $slot }}
@fluxScripts
</body>
</html>