@extends('layouts.app')
@section('title', 'Users & Roles')
@section('breadcrumb')<a href="{{ route('settings.index') }}" class="hover:text-white">Settings</a> <i class="fas fa-chevron-right text-xs mx-1 text-slate-600"></i> <span class="text-white">Users & Roles</span>@endsection

@section('content')
<div class="grid grid-cols-1 lg:grid-cols-4 gap-6" x-data="{ showCreateModal: false, editingUser: null }">
    <!-- Settings Nav -->
    <div class="card p-3 h-fit">
        <nav class="space-y-1">
            <a href="{{ route('settings.index') }}" class="nav-item"><i class="fas fa-cog"></i> General</a>
            <a href="{{ route('settings.users') }}" class="nav-item active"><i class="fas fa-users"></i> Users & Roles</a>
        </nav>
    </div>

    <div class="lg:col-span-3 space-y-6">

        @if(session('success'))
        <div class="card p-4 border-green-600 bg-green-900/20 text-green-300 flex items-center gap-2">
            <i class="fas fa-check-circle"></i> {{ session('success') }}
        </div>
        @endif
        @if(session('error'))
        <div class="card p-4 border-red-600 bg-red-900/20 text-red-300 flex items-center gap-2">
            <i class="fas fa-exclamation-circle"></i> {{ session('error') }}
        </div>
        @endif

        <!-- Team Members -->
        <div class="card overflow-hidden">
            <div class="p-5 border-b border-slate-700 flex items-center justify-between">
                <h3>Team Members</h3>
                <button @click="showCreateModal = true" class="btn btn-primary">
                    <i class="fas fa-user-plus"></i> Add User
                </button>
            </div>
            <div class="divide-y divide-slate-700">
                @forelse($users as $user)
                <div class="px-5 py-4 flex items-center gap-4">
                    <div class="w-10 h-10 rounded-full {{ $user->is_active ? 'bg-blue-900' : 'bg-slate-700' }} flex items-center justify-center font-bold {{ $user->is_active ? 'text-blue-300' : 'text-slate-500' }} flex-shrink-0">
                        {{ $user->initials }}
                    </div>
                    <div class="flex-1 min-w-0">
                        <div class="text-sm font-medium text-white">{{ $user->name }}</div>
                        <div class="text-xs text-slate-400">{{ $user->email }}{{ $user->phone ? ' · '.$user->phone : '' }}</div>
                    </div>
                    <div class="flex items-center gap-3">
                        <span class="badge badge-blue">{{ $user->role_name }}</span>
                        <span class="badge {{ $user->is_active ? 'badge-green' : '' }}" style="{{ !$user->is_active ? 'background:#1e293b;color:#64748b;' : '' }}">
                            {{ $user->is_active ? 'Active' : 'Inactive' }}
                        </span>
                    </div>
                    <div class="flex gap-1">
                        @if($user->id !== auth()->id())
                        <form method="POST" action="{{ route('settings.users.toggle', $user) }}" class="inline">@csrf
                            <button type="submit" class="w-7 h-7 rounded flex items-center justify-center hover:bg-slate-700 text-slate-400 hover:text-{{ $user->is_active ? 'red' : 'green' }}-400" title="{{ $user->is_active ? 'Deactivate' : 'Activate' }}">
                                <i class="fas fa-{{ $user->is_active ? 'ban' : 'check' }} text-xs"></i>
                            </button>
                        </form>
                        @endif
                    </div>
                </div>
                @empty
                <div class="px-5 py-8 text-center text-slate-500">No users found.</div>
                @endforelse
            </div>
        </div>

        <!-- Roles -->
        <div class="card p-5">
            <div class="flex items-center justify-between mb-4">
                <h3>Roles & Permissions</h3>
                <a href="{{ route('settings.permissions') }}" class="btn btn-secondary text-xs"><i class="fas fa-shield-alt"></i> Manage Permissions</a>
            </div>
            <div class="grid grid-cols-1 md:grid-cols-2 gap-3">
                @foreach([
                    ['Office Admin',      'office_admin',     'Full system access — all modules, settings, user management', 'red',    'key'],
                    ['Project Manager',   'project_manager',  'All modules except user management',                          'purple', 'briefcase'],
                    ['Sales Consultant',  'sales_consultant', 'Leads, quotes, contacts, calendar, contracts',                'blue',   'handshake'],
                    ['Lead Installer',    'lead_installer',   'Delivery, installation, completion, jobs (read)',             'green',  'tools'],
                    ['Check Measurer',    'check_measurer',   'Check measure, calendar, jobs (read)',                        'orange', 'ruler-combined'],
                    ['Factory Employee',  'factory_employee', 'Timesheet, timer, invoices, jobs (read)',                     'teal',   'hard-hat'],
                    ['Processor',         'processor',        'Timesheet, timer, invoices, processing (read)',               'indigo', 'industry'],
                    ['Trades',            'trades',           'Timesheet, timer, invoices, jobs (read)',                     'yellow', 'wrench'],
                    ['Accounts',          'accounts',         'Invoices approval, contracts, reports',                       'pink',   'calculator'],
                    ['Estimator',         'estimator',        'Quotes, jobs and contacts (read)',                            'gray',   'calculator'],
                    ['Designer',          'designer',         'Jobs and contacts (read), calendar',                          'blue',   'drafting-compass'],
                    ['Maintenance',       'maintenance',      'Timesheet, timer, jobs (read)',                               'orange', 'screwdriver-wrench'],
                    ['Purchasing Officer','purchasing',       'Processing orders, contacts, jobs (read)',                    'green',  'shopping-cart'],
                ] as [$name, $key, $desc, $color, $icon])
                <div class="p-4 rounded-xl" style="background: #0f172a; border: 1px solid #334155;">
                    <div class="flex items-center gap-3 mb-2">
                        <div class="w-8 h-8 rounded-lg flex items-center justify-center" style="background: rgba(59,130,246,0.15)">
                            <i class="fas fa-{{ $icon }} text-sm text-blue-400"></i>
                        </div>
                        <span class="text-sm font-medium text-white">{{ $name }}</span>
                        <span class="ml-auto text-xs text-slate-500">{{ $users->where('role.name', $key)->count() }} user(s)</span>
                    </div>
                    <p class="text-xs text-slate-500">{{ $desc }}</p>
                </div>
                @endforeach
            </div>
        </div>
    </div>

    <!-- Create User Modal -->
    <div x-show="showCreateModal" x-cloak class="fixed inset-0 z-50 flex items-center justify-center p-4" style="background: rgba(0,0,0,0.7)">
        <div class="card w-full max-w-md p-6" @click.outside="showCreateModal = false">
            <div class="flex items-center justify-between mb-5">
                <h3 class="flex items-center gap-2"><i class="fas fa-user-plus text-blue-400"></i> Add Team Member</h3>
                <button @click="showCreateModal = false" class="text-slate-400 hover:text-white"><i class="fas fa-times"></i></button>
            </div>
            <form method="POST" action="{{ route('settings.users.store') }}" class="space-y-4">
                @csrf
                <div>
                    <label class="block text-sm text-slate-400 mb-1">Full Name *</label>
                    <input type="text" name="name" class="input" required placeholder="Jane Smith">
                </div>
                <div>
                    <label class="block text-sm text-slate-400 mb-1">Email *</label>
                    <input type="email" name="email" class="input" required placeholder="jane@degabriele.com.au">
                </div>
                <div>
                    <label class="block text-sm text-slate-400 mb-1">Password *</label>
                    <input type="password" name="password" class="input" required minlength="8" placeholder="Min 8 characters">
                </div>
                <div>
                    <label class="block text-sm text-slate-400 mb-1">Role</label>
                    <select name="role_id" class="input">
                        <option value="">— Select Role —</option>
                        @foreach($roles as $role)
                        <option value="{{ $role->id }}">{{ $role->display_name }}</option>
                        @endforeach
                    </select>
                </div>
                <div>
                    <label class="block text-sm text-slate-400 mb-1">Phone</label>
                    <input type="text" name="phone" class="input" placeholder="0400 000 000">
                </div>
                <div class="grid grid-cols-2 gap-3">
                    <div>
                        <label class="block text-sm text-slate-400 mb-1">Hourly Rate ($)</label>
                        <input type="number" step="0.01" min="0" name="hourly_rate" class="input" placeholder="0.00">
                    </div>
                    <div>
                        <label class="block text-sm text-slate-400 mb-1">Employee Type</label>
                        <select name="employee_type" class="input">
                            <option value="">— N/A —</option>
                            <option value="processor">Processor</option>
                            <option value="employee">Employee</option>
                            <option value="trades">Trades</option>
                        </select>
                    </div>
                </div>
                <div class="flex gap-3 pt-2">
                    <button type="button" @click="showCreateModal = false" class="btn btn-secondary flex-1">Cancel</button>
                    <button type="submit" class="btn btn-primary flex-1"><i class="fas fa-user-plus mr-2"></i>Create User</button>
                </div>
            </form>
        </div>
    </div>
</div>

<style>[x-cloak]{display:none!important}</style>
@endsection
