allen.yan 3307c062ab 加入 包廂控制紀錄
加入 設備紀錄
加入 歌曲庫 cache 列表
調整 包廂控制邏輯
調整 心跳封包邏輯
調整 驗証包廂狀態邏輯
20250606
2025-06-06 18:11:22 +08:00

66 lines
2.7 KiB
PHP

<?php
use Illuminate\Support\Facades\Auth;
use App\Livewire\Actions\Logout;
use Livewire\Volt\Component;
new class extends Component
{
public array $menus=[
['label' => 'Dashboard', 'route' => 'admin.dashboard', 'icon' => 'home', 'permission' => null],
['label' => 'Song', 'route' => 'admin.song-library-cache', 'icon' => 'clock', 'permission' => null],
['label' => 'ActivityLog', 'route' => 'admin.activity-log', 'icon' => 'clock', 'permission' => null],
['label' => 'RoomStatusLog', 'route' => 'admin.room-status-log', 'icon' => 'clock', 'permission' => null],
['label' => 'MachineStatus', 'route' => 'admin.machine-status', 'icon' => 'clock', 'permission' => null],
['label' => 'User', 'route' => 'admin.users', 'icon' => 'user-circle', 'permission' => 'user-list'],
['label' => 'Branche', 'route' => 'admin.branches', 'icon' => 'building-library', 'permission' => 'room-list'],
['label' => 'Room', 'route' => 'admin.rooms', 'icon' => 'film', 'permission' => 'room-list'],
];
/**
* Log the current user out of the application.
*/
public function logout(Logout $logout): void
{
$logout();
$this->redirect('/', navigate: true);
}
}; ?>
<aside class="w-64 bg-white border-r flex flex-col justify-between h-screen">
{{-- 頂部區塊 --}}
<div>
<div class="p-4 border-b">
<div class="flex items-center justify-between">
<div class="font-bold text-lg">管理後台</div>
<div
class="inline-flex items-center px-2 py-1 text-sm font-medium text-gray-700"
x-data="{ name: '{{ auth()->user()->name }}' }"
x-text="name"
x-on:profile-updated.window="name = $event.detail.name">
</div>
</div>
</div>
{{-- 選單 --}}
<nav class="mt-4">
@foreach ($menus as $menu)
@if (!$menu['permission'] || Auth::user()->can($menu['permission']))
<a href="{{ route($menu['route']) }}"
class="flex items-center px-4 py-2 text-gray-700 hover:bg-gray-100 {{ request()->routeIs($menu['route']) ? 'bg-gray-100 font-semibold' : '' }}">
<x-wireui:icon name="{{ $menu['icon'] }}" class="w-5 h-5 mr-2" />
{{ $menu['label'] }}
</a>
@endif
@endforeach
</nav>
</div>
{{-- 登出按鈕(固定底部) --}}
<div class="p-4 border-t">
<button wire:click="logout"
class="flex items-center text-sm text-gray-700 hover:text-red-600">
{{ __('Log Out') }}
</button>
</div>
</aside>