comparison stubs/default/resources/views/layouts/navigation.blade.php @ 1:a2a3059de103

Updates to some styles and general automation of creation
author luka
date Thu, 14 Aug 2025 21:09:25 -0400
parents 90e38de8f2ba
children ac199a7a8931
comparison
equal deleted inserted replaced
0:90e38de8f2ba 1:a2a3059de103
1 <nav x-data="{ open: false }" class="bg-white dark:bg-gray-800 border-b border-gray-100 dark:border-gray-700"> 1 <nav x-data="{ open: false }" class="navbar navbar-expand-lg navbar-light bg-light border-bottom">
2 <!-- Primary Navigation Menu --> 2 <!-- Primary Navigation Menu -->
3 <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> 3 <div class="container-fluid">
4 <div class="flex justify-between h-16"> 4 <a class="navbar-brand" href="{{ route('dashboard') }}">
5 <div class="flex"> 5 <x-application-logo class="d-inline-block align-text-top" />
6 <!-- Logo --> 6 </a>
7 <div class="shrink-0 flex items-center"> 7 <button class="navbar-toggler" type="button" @click="open = ! open" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
8 <a href="{{ route('dashboard') }}"> 8 <span class="navbar-toggler-icon"></span>
9 <x-application-logo class="block h-9 w-auto fill-current text-gray-800 dark:text-gray-200" /> 9 </button>
10 <div :class="{ 'collapse': !open, 'navbar-collapse': open }" class="collapse navbar-collapse" id="navbarNav">
11 <ul class="navbar-nav me-auto mb-2 mb-lg-0">
12 <li class="nav-item">
13 <x-nav-link :href="route('projects.index')" :active="request()->routeIs('projects.index')" class="nav-link">
14 {{ __('Projects') }}
15 </x-nav-link>
16 </li>
17 </ul>
18 <ul class="navbar-nav ms-auto">
19 <li class="nav-item dropdown">
20 <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
21 {{ Auth::user()->name }}
10 </a> 22 </a>
11 </div> 23 <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown">
12 24 <li>
13 <!-- Navigation Links --> 25 <x-dropdown-link :href="route('profile.edit')" class="dropdown-item">
14 <div class="hidden space-x-8 sm:-my-px sm:ms-10 sm:flex"> 26 {{ __('Profile') }}
15 <x-nav-link :href="route('dashboard')" :active="request()->routeIs('dashboard')">
16 {{ __('Dashboard') }}
17 </x-nav-link>
18 </div>
19 </div>
20
21 <!-- Settings Dropdown -->
22 <div class="hidden sm:flex sm:items-center sm:ms-6">
23 <x-dropdown align="right" width="48">
24 <x-slot name="trigger">
25 <button class="inline-flex items-center px-3 py-2 border border-transparent text-sm leading-4 font-medium rounded-md text-gray-500 dark:text-gray-400 bg-white dark:bg-gray-800 hover:text-gray-700 dark:hover:text-gray-300 focus:outline-none transition ease-in-out duration-150">
26 <div>{{ Auth::user()->name }}</div>
27
28 <div class="ms-1">
29 <svg class="fill-current h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
30 <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
31 </svg>
32 </div>
33 </button>
34 </x-slot>
35
36 <x-slot name="content">
37 <x-dropdown-link :href="route('profile.edit')">
38 {{ __('Profile') }}
39 </x-dropdown-link>
40
41 <!-- Authentication -->
42 <form method="POST" action="{{ route('logout') }}">
43 @csrf
44
45 <x-dropdown-link :href="route('logout')"
46 onclick="event.preventDefault();
47 this.closest('form').submit();">
48 {{ __('Log Out') }}
49 </x-dropdown-link> 27 </x-dropdown-link>
50 </form> 28 </li>
51 </x-slot> 29 <li>
52 </x-dropdown> 30 <form method="POST" action="{{ route('logout') }}">
53 </div> 31 @csrf
54 32 <x-dropdown-link :href="route('logout')" class="dropdown-item"
55 <!-- Hamburger --> 33 onclick="event.preventDefault(); this.closest('form').submit();">
56 <div class="-me-2 flex items-center sm:hidden"> 34 {{ __('Log Out') }}
57 <button @click="open = ! open" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-900 focus:outline-none focus:bg-gray-100 dark:focus:bg-gray-900 focus:text-gray-500 dark:focus:text-gray-400 transition duration-150 ease-in-out"> 35 </x-dropdown-link>
58 <svg class="h-6 w-6" stroke="currentColor" fill="none" viewBox="0 0 24 24"> 36 </form>
59 <path :class="{'hidden': open, 'inline-flex': ! open }" class="inline-flex" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" /> 37 </li>
60 <path :class="{'hidden': ! open, 'inline-flex': open }" class="hidden" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> 38 </ul>
61 </svg> 39 </li>
62 </button> 40 </ul>
63 </div>
64 </div>
65 </div>
66
67 <!-- Responsive Navigation Menu -->
68 <div :class="{'block': open, 'hidden': ! open}" class="hidden sm:hidden">
69 <div class="pt-2 pb-3 space-y-1">
70 <x-responsive-nav-link :href="route('dashboard')" :active="request()->routeIs('dashboard')">
71 {{ __('Dashboard') }}
72 </x-responsive-nav-link>
73 </div>
74
75 <!-- Responsive Settings Options -->
76 <div class="pt-4 pb-1 border-t border-gray-200 dark:border-gray-600">
77 <div class="px-4">
78 <div class="font-medium text-base text-gray-800 dark:text-gray-200">{{ Auth::user()->name }}</div>
79 <div class="font-medium text-sm text-gray-500">{{ Auth::user()->email }}</div>
80 </div>
81
82 <div class="mt-3 space-y-1">
83 <x-responsive-nav-link :href="route('profile.edit')">
84 {{ __('Profile') }}
85 </x-responsive-nav-link>
86
87 <!-- Authentication -->
88 <form method="POST" action="{{ route('logout') }}">
89 @csrf
90
91 <x-responsive-nav-link :href="route('logout')"
92 onclick="event.preventDefault();
93 this.closest('form').submit();">
94 {{ __('Log Out') }}
95 </x-responsive-nav-link>
96 </form>
97 </div>
98 </div> 41 </div>
99 </div> 42 </div>
100 </nav> 43 </nav>