Feat: Dropdown for faculty navigation

This commit is contained in:
Sallu9007
2025-03-31 18:17:27 +05:30
parent 28aeeeb4c3
commit 5942e55916

View File

@@ -1,4 +1,4 @@
<nav x-data="{ open: false }" class="bg-white border-b border-gray-100">
<nav x-data="{ open: false, activitiesAttendedOpen: false, activitiesOrganisedOpen: false, ivOrganisedOpen: false }" class="bg-white border-b border-gray-100">
<!-- Primary Navigation Menu -->
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
@@ -27,6 +27,7 @@
<x-nav-link :href="route('admin.IvOrganisedResponses')" :active="request()->routeIs('admin.IvOrganisedResponses')">
{{ __('IV Organised') }}
</x-nav-link>
<!-- Coordinator Routes -->
@elseif(auth()->user()->role->name === 'Coordinator')
<x-nav-link :href="route('coordinator.ActivitiesAttendedResponses')" :active="request()->routeIs('coordinator.ActivitiesAttendedResponses')">
@@ -38,17 +39,59 @@
<x-nav-link :href="route('coordinator.IvOrganisedResponses')" :active="request()->routeIs('coordinator.IvOrganisedResponses')">
{{ __('IV Organised') }}
</x-nav-link>
<!-- Faculty Routes -->
<!-- Faculty Routes with Dropdowns -->
@elseif(auth()->user()->role->name === 'Faculty')
<x-nav-link :href="route('faculty.ActivitiesAttendedForm')" :active="request()->routeIs('faculty.ActivitiesAttendedForm')">
<!-- Activities Attended Dropdown -->
<div class="hidden gap-2 sm:flex sm:items-center sm:ms-6">
<div class="relative" x-data="{ open: false }">
<button @click="open = !open" @click.away="open = false" class="inline-flex items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition duration-150 ease-in-out">
{{ __('Activities Attended') }}
</x-nav-link>
<x-nav-link :href="route('faculty.ActivitiesOrganisedForm')" :active="request()->routeIs('faculty.ActivitiesOrganisedForm')">
<svg class="ml-1 -mr-0.5 h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<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" />
</svg>
</button>
<div x-show="open" x-transition:enter="transition ease-out duration-100" x-transition:enter-start="transform opacity-0 scale-95" x-transition:enter-end="transform opacity-100 scale-100" x-transition:leave="transition ease-in duration-75" x-transition:leave-start="transform opacity-100 scale-100" x-transition:leave-end="transform opacity-0 scale-95" class="absolute z-50 mt-2 w-48 rounded-md shadow-lg origin-top-right right-0" style="display: none;">
<div class="rounded-md ring-1 ring-black ring-opacity-5 py-1 bg-white">
<a href="{{ route('faculty.ActivitiesAttendedForm') }}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">{{ __('Submit Response') }}</a>
<a href="{{ route('faculty.ActivitiesAttendedResponses') }}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">{{ __('View Responses') }}</a>
</div>
</div>
</div>
<!-- Activities Organised Dropdown -->
<div class="relative" x-data="{ open: false }">
<button @click="open = !open" @click.away="open = false" class="inline-flex items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition duration-150 ease-in-out">
{{ __('Activities Organised') }}
</x-nav-link>
<x-nav-link :href="route('faculty.IvOrganisedForm')" :active="request()->routeIs('faculty.IvOrganisedForm')">
{{ __('Iv Organised') }}
</x-nav-link>
<svg class="ml-1 -mr-0.5 h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<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" />
</svg>
</button>
<div x-show="open" x-transition:enter="transition ease-out duration-100" x-transition:enter-start="transform opacity-0 scale-95" x-transition:enter-end="transform opacity-100 scale-100" x-transition:leave="transition ease-in duration-75" x-transition:leave-start="transform opacity-100 scale-100" x-transition:leave-end="transform opacity-0 scale-95" class="absolute z-50 mt-2 w-48 rounded-md shadow-lg origin-top-right right-0" style="display: none;">
<div class="rounded-md ring-1 ring-black ring-opacity-5 py-1 bg-white">
<a href="{{ route('faculty.ActivitiesOrganisedForm') }}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">{{ __('Submit Response') }}</a>
<a href="{{ route('faculty.ActivitiesOrganisedResponses') }}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">{{ __('View Responses') }}</a>
</div>
</div>
</div>
<!-- IV Organised Dropdown -->
<div class="relative" x-data="{ open: false }">
<button @click="open = !open" @click.away="open = false" class="inline-flex items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition duration-150 ease-in-out">
{{ __('IV Organised') }}
<svg class="ml-1 -mr-0.5 h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<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" />
</svg>
</button>
<div x-show="open" x-transition:enter="transition ease-out duration-100" x-transition:enter-start="transform opacity-0 scale-95" x-transition:enter-end="transform opacity-100 scale-100" x-transition:leave="transition ease-in duration-75" x-transition:leave-start="transform opacity-100 scale-100" x-transition:leave-end="transform opacity-0 scale-95" class="absolute z-50 mt-2 w-48 rounded-md shadow-lg origin-top-right right-0" style="display: none;">
<div class="rounded-md ring-1 ring-black ring-opacity-5 py-1 bg-white">
<a href="{{ route('faculty.IvOrganisedForm') }}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">{{ __('Submit Response') }}</a>
<a href="{{ route('faculty.IvOrganisedResponses') }}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">{{ __('View Responses') }}</a>
</div>
</div>
</div>
</div>
@endif
</div>
</div>
@@ -110,14 +153,69 @@
<x-responsive-nav-link :href="route('admin.ActivitiesAttendedResponses')" :active="request()->routeIs('admin.ActivitiesAttendedResponses')">
{{ __('Activities Attended') }}
</x-responsive-nav-link>
<!-- Add other admin links here -->
@elseif(auth()->user()->role->name === 'Coordinator')
<x-responsive-nav-link :href="route('coordinator.ActivitiesAttendedResponses')" :active="request()->routeIs('coordinator.ActivitiesAttendedResponses')">
{{ __('Activities Attended') }}
</x-responsive-nav-link>
<!-- Add other coordinator links here -->
@elseif(auth()->user()->role->name === 'Faculty')
<x-responsive-nav-link :href="route('faculty.ActivitiesAttendedForm')" :active="request()->routeIs('faculty.ActivitiesAttendedForm')">
<!-- Mobile Faculty Dropdown for Activities Attended -->
<div x-data="{ open: false }">
<button @click="open = !open" class="w-full flex items-center text-left px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-100">
{{ __('Activities Attended') }}
<svg class="ml-auto h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<path x-show="!open" 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" />
<path x-show="open" fill-rule="evenodd" d="M14.707 12.707a1 1 0 01-1.414 0L10 9.414l-3.293 3.293a1 1 0 01-1.414-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 010 1.414z" clip-rule="evenodd" />
</svg>
</button>
<div x-show="open" class="pl-4">
<x-responsive-nav-link :href="route('faculty.ActivitiesAttendedForm')" :active="request()->routeIs('faculty.ActivitiesAttendedForm')">
{{ __('Submit Response') }}
</x-responsive-nav-link>
<x-responsive-nav-link :href="route('faculty.ActivitiesAttendedResponses')" :active="request()->routeIs('faculty.ActivitiesAttendedResponses')">
{{ __('View Responses') }}
</x-responsive-nav-link>
</div>
</div>
<!-- Mobile Faculty Dropdown for Activities Organised -->
<div x-data="{ open: false }">
<button @click="open = !open" class="w-full flex items-center text-left px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-100">
{{ __('Activities Organised') }}
<svg class="ml-auto h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<path x-show="!open" 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" />
<path x-show="open" fill-rule="evenodd" d="M14.707 12.707a1 1 0 01-1.414 0L10 9.414l-3.293 3.293a1 1 0 01-1.414-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 010 1.414z" clip-rule="evenodd" />
</svg>
</button>
<div x-show="open" class="pl-4">
<x-responsive-nav-link :href="route('faculty.ActivitiesOrganisedForm')" :active="request()->routeIs('faculty.ActivitiesOrganisedForm')">
{{ __('Submit Response') }}
</x-responsive-nav-link>
<x-responsive-nav-link :href="route('faculty.ActivitiesOrganisedResponses')" :active="request()->routeIs('faculty.ActivitiesOrganisedResponses')">
{{ __('View Responses') }}
</x-responsive-nav-link>
</div>
</div>
<!-- Mobile Faculty Dropdown for IV Organised -->
<div x-data="{ open: false }">
<button @click="open = !open" class="w-full flex items-center text-left px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-100">
{{ __('IV Organised') }}
<svg class="ml-auto h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<path x-show="!open" 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" />
<path x-show="open" fill-rule="evenodd" d="M14.707 12.707a1 1 0 01-1.414 0L10 9.414l-3.293 3.293a1 1 0 01-1.414-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 010 1.414z" clip-rule="evenodd" />
</svg>
</button>
<div x-show="open" class="pl-4">
<x-responsive-nav-link :href="route('faculty.IvOrganisedForm')" :active="request()->routeIs('faculty.IvOrganisedForm')">
{{ __('Submit Response') }}
</x-responsive-nav-link>
<x-responsive-nav-link :href="route('faculty.IvOrganisedResponses')" :active="request()->routeIs('faculty.IvOrganisedResponses')">
{{ __('View Responses') }}
</x-responsive-nav-link>
</div>
</div>
@endif
</div>