147 lines
11 KiB
PHP
147 lines
11 KiB
PHP
<div class="bg-gray-800 text-white w-64 min-h-screen flex flex-col">
|
|
<!-- Logo -->
|
|
<div class="p-4 border-b border-gray-700">
|
|
<div class="flex items-center">
|
|
<svg class="w-8 h-8 text-blue-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"></path>
|
|
</svg>
|
|
{{-- <img src="{{ asset('image/logoputih.png') }}" alt="Logo Putih"> --}}
|
|
<span class="ml-2 text-xl font-bold">TailorHub</span>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- User Info -->
|
|
<div class="p-4 border-b border-gray-700">
|
|
<div class="flex items-center">
|
|
<div class="w-10 h-10 rounded-full bg-blue-500 flex items-center justify-center">
|
|
<span class="text-white font-medium">{{ substr(Auth::user()->name, 0, 1) }}</span>
|
|
</div>
|
|
<div class="ml-3">
|
|
<p class="text-sm font-medium">{{ Auth::user()->name }}</p>
|
|
<p class="text-xs text-gray-400">Administrator</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Navigation -->
|
|
<nav class="flex-1 overflow-y-auto py-4">
|
|
<ul class="space-y-1 px-2">
|
|
<li>
|
|
<a href="{{ route('admin.dashboard') }}" class="flex items-center px-4 py-3 text-sm rounded-lg {{ request()->routeIs('admin.dashboard') ? 'bg-blue-600 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<svg class="w-5 h-5 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
|
</svg>
|
|
Dashboard
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ route('admin.user.profile') }}" class="flex items-center px-4 py-3 text-sm rounded-lg {{ request()->routeIs('admin.user.profile') ? 'bg-blue-600 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<svg class="w-5 h-5 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"></path>
|
|
</svg>
|
|
Profil
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ route('admin.customers.index') }}" class="flex items-center px-4 py-3 text-sm rounded-lg {{ request()->routeIs('admin.customers.*') ? 'bg-blue-600 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<svg class="w-5 h-5 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
|
</svg>
|
|
Pelanggan
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ route('admin.tailors.index') }}" class="flex items-center px-4 py-3 text-sm rounded-lg {{ request()->routeIs('admin.tailors.*') ? 'bg-blue-600 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<svg class="w-5 h-5 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"></path>
|
|
</svg>
|
|
Penjahit
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ route('admin.bookings.index') }}" class="flex items-center px-4 py-3 text-sm rounded-lg {{ request()->routeIs('admin.bookings.*') ? 'bg-blue-600 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<svg class="w-5 h-5 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
|
</svg>
|
|
Pesanan
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ route('admin.specializations.index') }}" class="flex items-center px-4 py-3 text-sm rounded-lg {{ request()->routeIs('admin.specializations.*') ? 'bg-blue-600 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<svg class="w-5 h-5 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"/>
|
|
</svg>
|
|
Spesialisasi
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<div x-data="{ open: {{ request()->routeIs('admin.withdrawals.*') ? 'true' : 'false' }} }">
|
|
<button @click="open = !open" class="flex items-center justify-between w-full px-4 py-3 text-sm rounded-lg {{ request()->routeIs('admin.withdrawals.*') ? 'bg-blue-600 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<div class="flex items-center">
|
|
<svg class="w-5 h-5 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
|
</svg>
|
|
Penarikan Dana
|
|
</div>
|
|
<svg :class="{'transform rotate-180': open}" class="w-4 h-4 transition-transform duration-200" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
|
|
</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" class="mt-1 space-y-1 pl-6">
|
|
<a href="{{ route('admin.withdrawals.pending') }}" class="flex items-center px-4 py-2 text-sm rounded-lg {{ request()->routeIs('admin.withdrawals.pending') ? 'bg-blue-500 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<span class="mr-2">•</span>
|
|
Pending
|
|
</a>
|
|
<a href="{{ route('admin.withdrawals.history') }}" class="flex items-center px-4 py-2 text-sm rounded-lg {{ request()->routeIs('admin.withdrawals.history') ? 'bg-blue-500 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<span class="mr-2">•</span>
|
|
Riwayat
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div x-data="{ open: {{ request()->routeIs('admin.bank-accounts.*') ? 'true' : 'false' }} }">
|
|
<button @click="open = !open" class="flex items-center justify-between w-full px-4 py-3 text-sm rounded-lg {{ request()->routeIs('admin.bank-accounts.*') ? 'bg-blue-600 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<div class="flex items-center">
|
|
<svg class="w-5 h-5 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z"></path>
|
|
</svg>
|
|
Akun Bank
|
|
</div>
|
|
<svg :class="{'transform rotate-180': open}" class="w-4 h-4 transition-transform duration-200" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
|
|
</svg>
|
|
</button>
|
|
<div x-show="open" class="pl-4 pr-2 mt-1 space-y-1" style="display: none;">
|
|
<a href="{{ route('admin.bank-accounts.pending') }}" class="flex items-center px-4 py-2 text-sm rounded-lg {{ request()->routeIs('admin.bank-accounts.pending') ? 'bg-gray-700 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<svg class="w-4 h-4 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
</svg>
|
|
Menunggu Verifikasi
|
|
</a>
|
|
<a href="{{ route('admin.bank-accounts.verified') }}" class="flex items-center px-4 py-2 text-sm rounded-lg {{ request()->routeIs('admin.bank-accounts.verified') ? 'bg-gray-700 text-white' : 'text-gray-300 hover:bg-gray-700' }}">
|
|
<svg class="w-4 h-4 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
|
|
</svg>
|
|
Sudah Diverifikasi
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
<!-- Logout -->
|
|
<div class="p-4 border-t border-gray-700">
|
|
<form method="POST" action="{{ route('admin.logout') }}">
|
|
@csrf
|
|
<button type="submit" class="flex items-center w-full px-4 py-3 text-sm text-gray-300 hover:bg-gray-700 rounded-lg">
|
|
<svg class="w-5 h-5 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"></path>
|
|
</svg>
|
|
Logout
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</div>
|