Move admin links to dropdown menu

This commit is contained in:
Matt Young 2024-06-05 22:06:06 -05:00
parent 3079ff36b9
commit e82bb8c457
6 changed files with 127 additions and 58 deletions

View File

@ -18,25 +18,13 @@
<script src="https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js"></script>
</head>
<body class="h-full">
<div class="bg-indigo-800 border-b border-b-indigo-900">
<div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
<div class="flex h-8 items-center justify-between">
<div>
<span class="text-white rounded-md px-3 py-2 text-sm text-m font-medium">AuditionAdmin</span><span class="text-white rounded-md px-3 py-2 text-sm">{{ Settings::auditionName() }}</span>
</div>
<div>
[ ADMIN ]
</div>
</div>
</div>
</div>
<div class="min-h-full">
@if(request()->is('*admin*'))
<x-layout.navbar-admin />
@else
<x-layout.navbar />
@endif
{{-- @if(request()->is('*admin*'))--}}
{{-- <x-layout.navbar.navbar-admin />--}}
{{-- @else--}}
{{-- <x-layout.navbar.navbar />--}}
{{-- @endif--}}
<x-layout.navbar.navbar />
@if($page_title)
<x-layout.page-header>
{{ $page_title }}

View File

@ -0,0 +1,44 @@
<div x-data="{ open: false }" class="relative">
{{-- <button type="button" class="inline-flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900" aria-expanded="false" @on:click=" open = ! open">--}}
<button type="button" class="inline-flex items-center gap-x-1 text-white rounded-md px-3 py-2 text-sm font-medium hover:bg-indigo-500 hover:bg-opacity-75" aria-expanded="false" @click=" open = ! open">
<span>Admin</span>
<svg class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
<path fill-rule="evenodd" d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z" clip-rule="evenodd" />
</svg>
</button>
<!--
Flyout menu, show/hide based on flyout menu state.
Entering: "transition ease-out duration-200"
From: "opacity-0 translate-y-1"
To: "opacity-100 translate-y-0"
Leaving: "transition ease-in duration-150"
From: "opacity-100 translate-y-0"
To: "opacity-0 translate-y-1"
-->
<div class="absolute left-1/2 z-10 mt-5 flex w-screen max-w-min -translate-x-1/2 px-4" x-show="open" x-cloak>
<div class="w-56 shrink rounded-xl bg-white p-4 text-sm font-semibold leading-6 text-gray-900 shadow-lg ring-1 ring-gray-900/5">
<a href="/admin" class="block p-2 hover:text-indigo-600">Admin Dashboard</a>
<a href="/admin/users" class="block p-2 hover:text-indigo-600">Users</a>
<a href="/admin/schools" class="block p-2 hover:text-indigo-600">Schools</a>
<a href="/admin/students" class="block p-2 hover:text-indigo-600">Students</a>
<a href="/admin/entries" class="block p-2 hover:text-indigo-600">Entries</a>
<a href="/admin/auditions" class="block p-2 hover:text-indigo-600">Auditions</a>
<a href="/admin/scoring" class="block p-2 hover:text-indigo-600">Scoring</a>
<a href="/admin/rooms" class="block p-2 hover:text-indigo-600">Rooms</a>
<a href="/admin/rooms/judging_assignments" class="block p-2 hover:text-indigo-600">Judges</a>
<form method="POST" action="/logout">
@csrf
<button
class="block p-2 hover:text-indigo-600"
role="menuitem"
tabindex="-1"
id="user-menu-item-2">
Sign out
</button>
</form>
</div>
</div>
</div>

View File

@ -0,0 +1,39 @@
<div x-data="{ open: false }">
{{-- <button type="button" class="inline-flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900" aria-expanded="false" @on:click=" open = ! open">--}}
<button type="button" class="inline-flex items-center gap-x-1 text-white rounded-md px-3 py-2 text-sm font-medium hover:bg-indigo-500 hover:bg-opacity-75" aria-expanded="false" @click=" open = ! open">
<span>My Auditions</span>
<svg class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
<path fill-rule="evenodd" d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z" clip-rule="evenodd" />
</svg>
</button>
<!--
Flyout menu, show/hide based on flyout menu state.
Entering: "transition ease-out duration-200"
From: "opacity-0 translate-y-1"
To: "opacity-100 translate-y-0"
Leaving: "transition ease-in duration-150"
From: "opacity-100 translate-y-0"
To: "opacity-0 translate-y-1"
-->
<div class="absolute left-1/2 z-10 mt-5 flex w-screen max-w-min -translate-x-1/2 px-4" x-show="open" x-cloak>
<div class="w-56 shrink rounded-xl bg-white p-4 text-sm font-semibold leading-6 text-gray-900 shadow-lg ring-1 ring-gray-900/5">
<a href="/students" class="block p-2 hover:text-indigo-600">My Students</a>
<a href="/entries" class="block p-2 hover:text-indigo-600">My Entries</a>
<a href="my_school" class="block p-2 hover:text-indigo-600">My School</a>
<a href="/profile" class="block p-2 hover:text-indigo-600">My Profile</a>
<form method="POST" action="/logout">
@csrf
<button
class="block p-2 hover:text-indigo-600""
role="menuitem"
tabindex="-1"
id="user-menu-item-2">
Sign out
</button>
</form>
</div>
</div>
</div>

View File

@ -10,45 +10,30 @@
<div class="flex h-16 items-center justify-between">
<div class="flex items-center">
<div class="flex-shrink-0">
<img class="h-8 w-8" src="https://tailwindui.com/img/logos/mark.svg?color=indigo&shade=300" alt="Your Company">
<img class="h-8 w-8" src="https://tailwindui.com/img/logos/mark.svg?color=indigo&shade=300"
alt="Your Company">
</div>
<div class="hidden md:block"
@if(Auth::user()->is_admin)x-data="{
redirectToDashboard(event) {
const selectedValue = event.target.value;
if (selectedValue === 'admin') {
window.location.href = '/admin';
} else if (selectedValue === 'user') {
window.location.href = '/dashboard';
}
}
}"@endif>
<div class="hidden md:block">
<div class="ml-10 flex items-baseline space-x-4">
<!-- Current: "bg-indigo-700 text-white",
Default: "text-white hover:bg-indigo-500 hover:bg-opacity-75" -->
<x-layout.navbar.nav-link href="/dashboard" :active="request()->is('dashboard')">Dashboard</x-layout.navbar.nav-link>
<x-layout.navbar.nav-link href="/students" :active="request()->is('students')">Students</x-layout.navbar.nav-link>
<x-layout.navbar.nav-link href="/entries" :active="request()->is('entries')">Entries</x-layout.navbar.nav-link>
@if(Auth::user()->is_admin)
<x-form.select name="mode" @change="redirectToDashboard">
<option value="user" selected>Director</option>
<option value="admin" >Admin</option>
</x-form.select>
@include('components.layout.navbar.menus.admin')
@endif
<x-layout.nav-link href="/dashboard" :active="request()->is('dashboard')">Dashboard</x-layout.nav-link>
<x-layout.nav-link href="/students" :active="request()->is('students')">Students</x-layout.nav-link>
<x-layout.nav-link href="/entries" :active="request()->is('entries')">Entries</x-layout.nav-link>
{{-- <a href="/dashboard" class="bg-indigo-700 text-white rounded-md px-3 py-2 text-sm font-medium" aria-current="page">Dashboard</a>--}}
{{-- <a href="/students" class="text-white hover:bg-indigo-500 hover:bg-opacity-75 rounded-md px-3 py-2 text-sm font-medium">Students</a>--}}
</div>
</div>
</div>
<div class="hidden md:block">
<div class="ml-4 flex items-center md:ml-6">
<button type="button" class="relative rounded-full bg-indigo-600 p-1 text-indigo-200 hover:text-white focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-indigo-600">
<button type="button"
class="relative rounded-full bg-indigo-600 p-1 text-indigo-200 hover:text-white focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-indigo-600">
<span class="absolute -inset-1.5"></span>
<span class="sr-only">View notifications</span>
<svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75v-.7V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0" />
<svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round"
d="M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75v-.7V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0"/>
</svg>
</button>
@ -78,7 +63,7 @@
<span class="absolute -inset-1.5"></span>
<span class="sr-only">Open user menu</span>
<img class="h-8 w-8 rounded-full" src="{{ Auth::user()->profile_image_url }}" alt="">
{{-- <p class="text-white">{{ Auth::user()->full_name() }} &nbsp; &#9660;</p>--}}
{{-- <p class="text-white">{{ Auth::user()->full_name() }} &nbsp; &#9660;</p>--}}
</button>
</div>
@ -109,9 +94,11 @@
aria-labelledby="user-menu-button"
tabindex="-1">
<!-- Active: "bg-gray-100", Not Active: "" -->
<a href="/profile" class="block px-4 py-2 text-sm text-gray-700" role="menuitem" tabindex="-1"
<a href="/profile" class="block px-4 py-2 text-sm text-gray-700" role="menuitem"
tabindex="-1"
id="user-menu-item-0">Your Profile</a>
<a href="/my_school" class="block px-4 py-2 text-sm text-gray-700" role="menuitem" tabindex="-1"
<a href="/my_school" class="block px-4 py-2 text-sm text-gray-700" role="menuitem"
tabindex="-1"
id="user-menu-item-1">Your School</a>
<form method="POST" action="/logout">
@csrf
@ -138,13 +125,15 @@
<span class="absolute -inset-0.5"></span>
<span class="sr-only">Open main menu</span>
<!-- Menu open: "hidden", Menu closed: "block" -->
<svg class=" h-6 w-6" :class="mobile_menu_open ? 'hidden' : 'block'" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
<svg class=" h-6 w-6" :class="mobile_menu_open ? 'hidden' : 'block'" fill="none" viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round"
d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"/>
</svg>
<!-- Menu open: "block", Menu closed: "hidden" -->
<svg class=" h-6 w-6" :class="mobile_menu_open ? 'block' : 'hidden'" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
<svg class=" h-6 w-6" :class="mobile_menu_open ? 'block' : 'hidden'" fill="none" viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
</svg>
@ -158,8 +147,10 @@
<div class="md:hidden" id="mobile-menu" x-show="mobile_menu_open">
<div class="space-y-1 px-2 pb-3 pt-2 sm:px-3">
<!-- Current: "bg-indigo-700 text-white", Default: "text-white hover:bg-indigo-500 hover:bg-opacity-75" -->
<a href="/dashboard" class="bg-indigo-700 text-white block rounded-md px-3 py-2 text-base font-medium" aria-current="page">Dashboard</a>
<a href="/students" class="text-white hover:bg-indigo-500 hover:bg-opacity-75 block rounded-md px-3 py-2 text-base font-medium">Students</a>
<a href="/dashboard" class="bg-indigo-700 text-white block rounded-md px-3 py-2 text-base font-medium"
aria-current="page">Dashboard</a>
<a href="/students"
class="text-white hover:bg-indigo-500 hover:bg-opacity-75 block rounded-md px-3 py-2 text-base font-medium">Students</a>
</div>
<div class="border-t border-indigo-700 pb-3 pt-4">
<div class="flex items-center px-5">
@ -170,17 +161,24 @@
<div class="text-base font-medium text-white">{{ Auth::user()->full_name() }}</div>
<div class="text-sm font-medium text-indigo-300">{{ Auth::user()->email }}</div>
</div>
<button type="button" class="relative ml-auto flex-shrink-0 rounded-full bg-indigo-600 p-1 text-indigo-200 hover:text-white focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-indigo-600">
<button type="button"
class="relative ml-auto flex-shrink-0 rounded-full bg-indigo-600 p-1 text-indigo-200 hover:text-white focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-indigo-600">
<span class="absolute -inset-1.5"></span>
<span class="sr-only">View notifications</span>
<svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75v-.7V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0" />
<svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round"
d="M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75v-.7V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0"/>
</svg>
</button>
</div>
<div class="mt-3 space-y-1 px-2">
<a href="/profile" class="block rounded-md px-3 py-2 text-base font-medium text-white hover:bg-indigo-500 hover:bg-opacity-75">Your Profile</a>
<a href="/my_school" class="block rounded-md px-3 py-2 text-base font-medium text-white hover:bg-indigo-500 hover:bg-opacity-75">Your School</a>
<a href="/profile"
class="block rounded-md px-3 py-2 text-base font-medium text-white hover:bg-indigo-500 hover:bg-opacity-75">Your
Profile</a>
<a href="/my_school"
class="block rounded-md px-3 py-2 text-base font-medium text-white hover:bg-indigo-500 hover:bg-opacity-75">Your
School</a>
<form method="POST" action="/logout">
@csrf
<button