Skip to content
This repository was archived by the owner on Oct 1, 2021. It is now read-only.

Commit 4c8b088

Browse files
authored
refactor: use conditional classes for navbar components (#651)
1 parent ae8310f commit 4c8b088

File tree

2 files changed

+17
-11
lines changed

2 files changed

+17
-11
lines changed

resources/views/navbar/items/desktop.blade.php

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@
1919
@isset($navItem['children'])
2020
<a
2121
href="#"
22-
class="relative inline-flex justify-center items-center px-1 pt-px font-semibold leading-5 border-b-2 border-transparent text-theme-secondary-700 hover:text-theme-secondary-800 hover:border-theme-secondary-300 focus:outline-none transition duration-150 ease-in-out h-full dark:text-theme-secondary-500 dark:hover:text-theme-secondary-400
23-
@if(!$loop->first) ml-8 @endif"
22+
@class([
23+
'relative inline-flex justify-center items-center px-1 pt-px font-semibold leading-5 border-b-2 border-transparent text-theme-secondary-700 hover:text-theme-secondary-800 hover:border-theme-secondary-300 focus:outline-none transition duration-150 ease-in-out h-full dark:text-theme-secondary-500 dark:hover:text-theme-secondary-400',
24+
'ml-8' => ! $loop->first,
25+
])
2426
@click="openDropdown = openDropdown === '{{ $navItem['label'] }}' ? null : '{{ $navItem['label'] }}'"
2527
dusk='navbar-{{ Str::slug($navItem['label']) }}'
2628
>
@@ -53,6 +55,9 @@ class="relative inline-flex justify-center items-center px-1 pt-px font-semibold
5355
</div>
5456
</div>
5557
@else
58+
@php
59+
$isCurrentRoute = array_key_exists('route', $navItem) && optional(Route::current())->getName() === $navItem['route'];
60+
@endphp
5661
<a
5762
@if (array_key_exists('href', $navItem))
5863
href="{{ $navItem['href'] }}"
@@ -64,14 +69,12 @@ class="relative inline-flex justify-center items-center px-1 pt-px font-semibold
6469
{{ $attribute }}="{{ $attributeValue }}"
6570
@endforeach
6671
@endif
67-
class="inline-flex items-center px-1 pt-px font-semibold leading-5 border-b-2 space-x-3
68-
focus:outline-none transition duration-150 ease-in-out h-full
69-
@if(array_key_exists('route', $navItem) && optional(Route::current())->getName() === $navItem['route'])
70-
border-theme-primary-600 text-theme-secondary-900 dark:text-theme-secondary-400 focus-visible:border-b-0 focus-visible:pt-0 focus-visible:-mt-px
71-
@else
72-
border-transparent text-theme-secondary-700 hover:text-theme-secondary-800 hover:border-theme-secondary-300 dark:text-theme-secondary-500 dark:hover:text-theme-secondary-400 focus-visible:rounded
73-
@endif
74-
@if(!$loop->first) ml-8 @endif"
72+
@class([
73+
'inline-flex items-center px-1 pt-px font-semibold leading-5 border-b-2 space-x-3 focus:outline-none transition duration-150 ease-in-out h-full',
74+
'border-theme-primary-600 text-theme-secondary-900 dark:text-theme-secondary-400 focus-visible:border-b-0 focus-visible:pt-0 focus-visible:-mt-px' => $isCurrentRoute,
75+
'border-transparent text-theme-secondary-700 hover:text-theme-secondary-800 hover:border-theme-secondary-300 dark:text-theme-secondary-500 dark:hover:text-theme-secondary-400 focus-visible:rounded' => ! $isCurrentRoute,
76+
'ml-8' => ! $loop->first
77+
])
7578
@click="openDropdown = null;"
7679
dusk='navbar-{{ Str::slug($navItem['label']) }}'
7780
>

resources/views/navbar/link-mobile.blade.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
<div class="flex">
44
<a
55
href="{{ $route }}"
6-
class="navbar-mobile-link @if($isCurrent) navbar-mobile-link-current @endif"
6+
@class([
7+
'navbar-mobile-link',
8+
'navbar-mobile-link-current' => $isCurrent,
9+
])
710
>
811
@if($icon ?? false)
912
@svg($icon, 'w-6 mr-4')

0 commit comments

Comments
 (0)