removed dark mod and applied fixes for text colors
This commit is contained in:
@@ -87,10 +87,10 @@ new class extends Component {
|
||||
|
||||
<div class="mb-6">
|
||||
<flux:heading size="xl">{{ __('clients.create_company') }}</flux:heading>
|
||||
<flux:text class="mt-1 text-zinc-500 dark:text-zinc-400">{{ __('clients.company_clients') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-500">{{ __('clients.company_clients') }}</flux:text>
|
||||
</div>
|
||||
|
||||
<div class="rounded-lg border border-zinc-200 bg-white p-6 dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white p-6">
|
||||
<form wire:submit="create" class="space-y-6">
|
||||
<div class="grid gap-6 sm:grid-cols-2">
|
||||
<flux:field>
|
||||
@@ -174,7 +174,7 @@ new class extends Component {
|
||||
</flux:field>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-end gap-4 border-t border-zinc-200 pt-6 dark:border-zinc-700">
|
||||
<div class="flex items-center justify-end gap-4 border-t border-zinc-200 pt-6">
|
||||
<flux:button variant="ghost" :href="route('admin.clients.company.index')" wire:navigate>
|
||||
{{ __('clients.cancel') }}
|
||||
</flux:button>
|
||||
|
||||
@@ -111,10 +111,10 @@ new class extends Component {
|
||||
|
||||
<div class="mb-6">
|
||||
<flux:heading size="xl">{{ __('clients.edit_company') }}</flux:heading>
|
||||
<flux:text class="mt-1 text-zinc-500 dark:text-zinc-400">{{ $client->company_name }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-500">{{ $client->company_name }}</flux:text>
|
||||
</div>
|
||||
|
||||
<div class="rounded-lg border border-zinc-200 bg-white p-6 dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white p-6">
|
||||
<form wire:submit="update" class="space-y-6">
|
||||
<div class="grid gap-6 sm:grid-cols-2">
|
||||
<flux:field>
|
||||
@@ -210,7 +210,7 @@ new class extends Component {
|
||||
</flux:field>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-end gap-4 border-t border-zinc-200 pt-6 dark:border-zinc-700">
|
||||
<div class="flex items-center justify-end gap-4 border-t border-zinc-200 pt-6">
|
||||
<flux:button variant="ghost" :href="route('admin.clients.company.index')" wire:navigate>
|
||||
{{ __('clients.cancel') }}
|
||||
</flux:button>
|
||||
|
||||
@@ -55,7 +55,7 @@ new class extends Component {
|
||||
<div class="page-header mb-6">
|
||||
<div>
|
||||
<flux:heading size="xl" class="text-xl sm:text-2xl">{{ __('clients.company_clients') }}</flux:heading>
|
||||
<flux:text class="mt-1 text-zinc-500 dark:text-zinc-400">{{ __('clients.clients') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-500">{{ __('clients.clients') }}</flux:text>
|
||||
</div>
|
||||
<div class="header-actions">
|
||||
<flux:button :href="route('admin.users.export')" wire:navigate icon="arrow-down-tray" class="w-full sm:w-auto justify-center">
|
||||
@@ -67,7 +67,7 @@ new class extends Component {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-6 rounded-lg border border-zinc-200 bg-white p-4 dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="mb-6 rounded-lg border border-zinc-200 bg-white p-4">
|
||||
<div class="flex flex-col gap-4 sm:flex-row sm:items-end">
|
||||
<div class="flex-1">
|
||||
<flux:input
|
||||
@@ -101,50 +101,50 @@ new class extends Component {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="overflow-hidden rounded-lg border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="overflow-hidden rounded-lg border border-zinc-200 bg-white">
|
||||
<div class="table-scroll-wrapper">
|
||||
<table class="min-w-full divide-y divide-zinc-200 dark:divide-zinc-700">
|
||||
<thead class="bg-zinc-50 dark:bg-zinc-900">
|
||||
<table class="min-w-full divide-y divide-zinc-200">
|
||||
<thead class="bg-zinc-50">
|
||||
<tr>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.company_name') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.contact_person') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.email') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.registration_number') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.status') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.created_at') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-end text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-end text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.actions') }}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="divide-y divide-zinc-200 bg-white dark:divide-zinc-700 dark:bg-zinc-800">
|
||||
<tbody class="divide-y divide-zinc-200 bg-white">
|
||||
@forelse ($clients as $client)
|
||||
<tr wire:key="client-{{ $client->id }}">
|
||||
<td class="whitespace-nowrap px-6 py-4">
|
||||
<div class="flex items-center gap-3">
|
||||
<flux:avatar size="sm" :name="$client->company_name" />
|
||||
<span class="font-medium text-zinc-900 dark:text-zinc-100">{{ $client->company_name }}</span>
|
||||
<span class="font-medium text-zinc-900">{{ $client->company_name }}</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600 dark:text-zinc-400">
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600">
|
||||
{{ $client->contact_person_name }}
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600 dark:text-zinc-400">
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600">
|
||||
{{ $client->email }}
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600 dark:text-zinc-400">
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600">
|
||||
{{ $client->company_cert_number }}
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4">
|
||||
@@ -154,7 +154,7 @@ new class extends Component {
|
||||
<flux:badge color="red" size="sm">{{ __('clients.deactivated') }}</flux:badge>
|
||||
@endif
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600 dark:text-zinc-400">
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600">
|
||||
{{ $client->created_at->format('Y-m-d') }}
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4 text-end">
|
||||
@@ -183,7 +183,7 @@ new class extends Component {
|
||||
<td colspan="7" class="px-6 py-12 text-center">
|
||||
<div class="flex flex-col items-center">
|
||||
<flux:icon name="building-office" class="mb-4 h-12 w-12 text-zinc-400" />
|
||||
<flux:text class="text-zinc-500 dark:text-zinc-400">
|
||||
<flux:text class="text-zinc-500">
|
||||
@if ($search || $statusFilter)
|
||||
{{ __('clients.no_companies_match') }}
|
||||
@else
|
||||
@@ -204,7 +204,7 @@ new class extends Component {
|
||||
</div>
|
||||
|
||||
@if ($clients->hasPages())
|
||||
<div class="border-t border-zinc-200 bg-zinc-50 px-6 py-4 dark:border-zinc-700 dark:bg-zinc-900">
|
||||
<div class="border-t border-zinc-200 bg-zinc-50 px-6 py-4">
|
||||
{{ $clients->links() }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@@ -29,7 +29,7 @@ new class extends Component {
|
||||
</flux:button>
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<flux:button variant="ghost" class="border border-amber-500 text-amber-600 hover:bg-amber-50 dark:text-amber-400 dark:hover:bg-amber-900/20" x-data x-on:click="$flux.modal('convert-to-individual').show()" icon="user">
|
||||
<flux:button variant="ghost" class="border border-amber-500 text-amber-600 hover:bg-amber-50" x-data x-on:click="$flux.modal('convert-to-individual').show()" icon="user">
|
||||
{{ __('clients.convert_to_individual') }}
|
||||
</flux:button>
|
||||
<flux:button variant="primary" :href="route('admin.clients.company.edit', $client)" wire:navigate icon="pencil">
|
||||
@@ -40,14 +40,14 @@ new class extends Component {
|
||||
|
||||
<div class="mb-6">
|
||||
<flux:heading size="xl">{{ __('clients.company_profile') }}</flux:heading>
|
||||
<flux:text class="mt-1 text-zinc-500 dark:text-zinc-400">{{ $client->company_name }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-500">{{ $client->company_name }}</flux:text>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-6 lg:grid-cols-3">
|
||||
{{-- Company Information --}}
|
||||
<div class="lg:col-span-2">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="border-b border-zinc-200 px-6 py-4 dark:border-zinc-700">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white">
|
||||
<div class="border-b border-zinc-200 px-6 py-4">
|
||||
<flux:heading size="lg">{{ __('clients.company_information') }}</flux:heading>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
@@ -56,37 +56,37 @@ new class extends Component {
|
||||
<div class="flex-1">
|
||||
<div class="grid gap-6 sm:grid-cols-2">
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.company_name') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->company_name }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.company_name') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->company_name }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.registration_number') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->company_cert_number }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.registration_number') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->company_cert_number }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.contact_person_name') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->contact_person_name }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.contact_person_name') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->contact_person_name }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.contact_person_id') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->contact_person_id }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.contact_person_id') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->contact_person_id }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.email') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->email }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.email') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->email }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.phone') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->phone }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.phone') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->phone }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.preferred_language') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.preferred_language') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">
|
||||
{{ $client->preferred_language === 'ar' ? __('clients.arabic') : __('clients.english') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.status') }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.status') }}</flux:text>
|
||||
<div class="mt-1">
|
||||
@if ($client->status === UserStatus::Active)
|
||||
<flux:badge color="green">{{ __('clients.active') }}</flux:badge>
|
||||
@@ -96,12 +96,12 @@ new class extends Component {
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.member_since') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->created_at->format('Y-m-d') }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.member_since') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->created_at->format('Y-m-d') }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.user_type') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ __('clients.company') }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.user_type') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ __('clients.company') }}</flux:text>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -113,34 +113,34 @@ new class extends Component {
|
||||
{{-- Stats Sidebar --}}
|
||||
<div class="space-y-6">
|
||||
{{-- Consultation Summary --}}
|
||||
<div class="rounded-lg border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="border-b border-zinc-200 px-6 py-4 dark:border-zinc-700">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white">
|
||||
<div class="border-b border-zinc-200 px-6 py-4">
|
||||
<flux:heading size="lg">{{ __('clients.consultation_history') }}</flux:heading>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
<div class="space-y-4">
|
||||
<div class="flex items-center justify-between">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('clients.total_consultations') }}</flux:text>
|
||||
<flux:text class="text-sm text-zinc-500">{{ __('clients.total_consultations') }}</flux:text>
|
||||
<flux:badge color="zinc">{{ $client->consultations_count }}</flux:badge>
|
||||
</div>
|
||||
<div class="flex items-center justify-between">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('clients.pending_consultations') }}</flux:text>
|
||||
<flux:text class="text-sm text-zinc-500">{{ __('clients.pending_consultations') }}</flux:text>
|
||||
<flux:badge color="yellow">{{ $client->pending_consultations_count }}</flux:badge>
|
||||
</div>
|
||||
<div class="flex items-center justify-between">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('clients.completed_consultations') }}</flux:text>
|
||||
<flux:text class="text-sm text-zinc-500">{{ __('clients.completed_consultations') }}</flux:text>
|
||||
<flux:badge color="green">{{ $client->completed_consultations_count }}</flux:badge>
|
||||
</div>
|
||||
</div>
|
||||
@if ($client->consultations_count > 0)
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4 dark:border-zinc-700">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4">
|
||||
<flux:text class="text-sm text-zinc-500">
|
||||
{{ __('clients.view_all_consultations') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
@else
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4 dark:border-zinc-700">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4">
|
||||
<flux:text class="text-sm text-zinc-500">
|
||||
{{ __('clients.no_consultations') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
@@ -149,30 +149,30 @@ new class extends Component {
|
||||
</div>
|
||||
|
||||
{{-- Timeline Summary --}}
|
||||
<div class="rounded-lg border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="border-b border-zinc-200 px-6 py-4 dark:border-zinc-700">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white">
|
||||
<div class="border-b border-zinc-200 px-6 py-4">
|
||||
<flux:heading size="lg">{{ __('clients.timeline_history') }}</flux:heading>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
<div class="space-y-4">
|
||||
<div class="flex items-center justify-between">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('clients.total_timelines') }}</flux:text>
|
||||
<flux:text class="text-sm text-zinc-500">{{ __('clients.total_timelines') }}</flux:text>
|
||||
<flux:badge color="zinc">{{ $client->timelines_count }}</flux:badge>
|
||||
</div>
|
||||
<div class="flex items-center justify-between">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('clients.active_timelines') }}</flux:text>
|
||||
<flux:text class="text-sm text-zinc-500">{{ __('clients.active_timelines') }}</flux:text>
|
||||
<flux:badge color="blue">{{ $client->active_timelines_count }}</flux:badge>
|
||||
</div>
|
||||
</div>
|
||||
@if ($client->timelines_count > 0)
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4 dark:border-zinc-700">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4">
|
||||
<flux:text class="text-sm text-zinc-500">
|
||||
{{ __('clients.view_all_timelines') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
@else
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4 dark:border-zinc-700">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4">
|
||||
<flux:text class="text-sm text-zinc-500">
|
||||
{{ __('clients.no_timelines') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
@@ -183,7 +183,7 @@ new class extends Component {
|
||||
</div>
|
||||
|
||||
{{-- Lifecycle Actions Section --}}
|
||||
<div class="mt-6 rounded-lg border border-zinc-200 bg-white p-6 dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="mt-6 rounded-lg border border-zinc-200 bg-white p-6">
|
||||
<flux:heading size="lg" class="mb-4">{{ __('clients.account_actions') }}</flux:heading>
|
||||
<livewire:admin.clients.lifecycle-actions :client="$client" />
|
||||
</div>
|
||||
|
||||
@@ -54,41 +54,41 @@ new class extends Component
|
||||
<div class="flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4 mb-6">
|
||||
<div>
|
||||
<flux:heading size="xl">{{ __('admin.client_consultations') }}</flux:heading>
|
||||
<p class="text-sm text-zinc-500 dark:text-zinc-400 mt-1">{{ $user->full_name }}</p>
|
||||
<p class="text-sm text-zinc-500 mt-1">{{ $user->full_name }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Statistics -->
|
||||
<div class="grid grid-cols-2 sm:grid-cols-4 gap-4 mb-6">
|
||||
<div class="bg-white dark:bg-zinc-800 rounded-lg p-4 border border-zinc-200 dark:border-zinc-700 text-center">
|
||||
<p class="text-2xl font-bold text-zinc-900 dark:text-zinc-100">{{ $statistics['total'] }}</p>
|
||||
<p class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('admin.total_consultations') }}</p>
|
||||
<div class="bg-white rounded-lg p-4 border border-zinc-200 text-center">
|
||||
<p class="text-2xl font-bold text-zinc-900">{{ $statistics['total'] }}</p>
|
||||
<p class="text-sm text-zinc-500">{{ __('admin.total_consultations') }}</p>
|
||||
</div>
|
||||
<div class="bg-white dark:bg-zinc-800 rounded-lg p-4 border border-zinc-200 dark:border-zinc-700 text-center">
|
||||
<p class="text-2xl font-bold text-green-600 dark:text-green-400">{{ $statistics['completed'] }}</p>
|
||||
<p class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('admin.completed_consultations') }}</p>
|
||||
<div class="bg-white rounded-lg p-4 border border-zinc-200 text-center">
|
||||
<p class="text-2xl font-bold text-green-600">{{ $statistics['completed'] }}</p>
|
||||
<p class="text-sm text-zinc-500">{{ __('admin.completed_consultations') }}</p>
|
||||
</div>
|
||||
<div class="bg-white dark:bg-zinc-800 rounded-lg p-4 border border-zinc-200 dark:border-zinc-700 text-center">
|
||||
<p class="text-2xl font-bold text-red-600 dark:text-red-400">{{ $statistics['cancelled'] }}</p>
|
||||
<p class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('admin.cancelled_consultations') }}</p>
|
||||
<div class="bg-white rounded-lg p-4 border border-zinc-200 text-center">
|
||||
<p class="text-2xl font-bold text-red-600">{{ $statistics['cancelled'] }}</p>
|
||||
<p class="text-sm text-zinc-500">{{ __('admin.cancelled_consultations') }}</p>
|
||||
</div>
|
||||
<div class="bg-white dark:bg-zinc-800 rounded-lg p-4 border border-zinc-200 dark:border-zinc-700 text-center">
|
||||
<p class="text-2xl font-bold text-amber-600 dark:text-amber-400">{{ $statistics['no_show'] }}</p>
|
||||
<p class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('admin.no_show_consultations') }}</p>
|
||||
<div class="bg-white rounded-lg p-4 border border-zinc-200 text-center">
|
||||
<p class="text-2xl font-bold text-amber-600">{{ $statistics['no_show'] }}</p>
|
||||
<p class="text-sm text-zinc-500">{{ __('admin.no_show_consultations') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Consultations List -->
|
||||
<div class="space-y-4">
|
||||
@forelse($consultations as $consultation)
|
||||
<div wire:key="consultation-{{ $consultation->id }}" class="bg-white dark:bg-zinc-800 rounded-lg p-4 border border-zinc-200 dark:border-zinc-700">
|
||||
<div wire:key="consultation-{{ $consultation->id }}" class="bg-white rounded-lg p-4 border border-zinc-200">
|
||||
<div class="flex flex-col sm:flex-row sm:items-center justify-between gap-4">
|
||||
<div class="flex-1">
|
||||
<div class="flex items-center gap-3 mb-2">
|
||||
<span class="font-medium text-zinc-900 dark:text-zinc-100">
|
||||
<span class="font-medium text-zinc-900">
|
||||
{{ $consultation->booking_date->translatedFormat('l, d M Y') }}
|
||||
</span>
|
||||
<span class="text-zinc-500 dark:text-zinc-400">
|
||||
<span class="text-zinc-500">
|
||||
{{ \Carbon\Carbon::parse($consultation->booking_time)->format('g:i A') }}
|
||||
</span>
|
||||
</div>
|
||||
@@ -127,7 +127,7 @@ new class extends Component
|
||||
</div>
|
||||
|
||||
@if($consultation->problem_summary)
|
||||
<p class="mt-2 text-sm text-zinc-600 dark:text-zinc-400 line-clamp-2">
|
||||
<p class="mt-2 text-sm text-zinc-600 line-clamp-2">
|
||||
{{ Str::limit($consultation->problem_summary, 150) }}
|
||||
</p>
|
||||
@endif
|
||||
@@ -144,7 +144,7 @@ new class extends Component
|
||||
</div>
|
||||
</div>
|
||||
@empty
|
||||
<div class="text-center py-12 text-zinc-500 dark:text-zinc-400 bg-white dark:bg-zinc-800 rounded-lg border border-zinc-200 dark:border-zinc-700">
|
||||
<div class="text-center py-12 text-zinc-500 bg-white rounded-lg border border-zinc-200">
|
||||
<flux:icon name="inbox" class="w-12 h-12 mx-auto mb-4" />
|
||||
<p>{{ __('admin.no_consultations') }}</p>
|
||||
</div>
|
||||
|
||||
@@ -99,7 +99,7 @@ new class extends Component {
|
||||
<div class="space-y-6">
|
||||
<div>
|
||||
<flux:heading size="lg">{{ __('clients.convert_to_company') }}</flux:heading>
|
||||
<flux:text class="mt-2 text-zinc-600 dark:text-zinc-400">
|
||||
<flux:text class="mt-2 text-zinc-600">
|
||||
{{ __('clients.convert_to_company_description') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
@@ -146,18 +146,18 @@ new class extends Component {
|
||||
<flux:callout.text>{{ __('clients.confirm_conversion_to_company_message') }}</flux:callout.text>
|
||||
</flux:callout>
|
||||
|
||||
<div class="rounded-lg border border-zinc-200 p-4 dark:border-zinc-700">
|
||||
<div class="rounded-lg border border-zinc-200 p-4">
|
||||
<div class="space-y-2 text-sm">
|
||||
<div class="flex justify-between">
|
||||
<span class="text-zinc-500 dark:text-zinc-400">{{ __('clients.company_name') }}:</span>
|
||||
<span class="text-zinc-500">{{ __('clients.company_name') }}:</span>
|
||||
<span class="font-medium">{{ $company_name }}</span>
|
||||
</div>
|
||||
<div class="flex justify-between">
|
||||
<span class="text-zinc-500 dark:text-zinc-400">{{ __('clients.registration_number') }}:</span>
|
||||
<span class="text-zinc-500">{{ __('clients.registration_number') }}:</span>
|
||||
<span class="font-medium">{{ $company_cert_number }}</span>
|
||||
</div>
|
||||
<div class="flex justify-between">
|
||||
<span class="text-zinc-500 dark:text-zinc-400">{{ __('clients.contact_person_name') }}:</span>
|
||||
<span class="text-zinc-500">{{ __('clients.contact_person_name') }}:</span>
|
||||
<span class="font-medium">{{ $contact_person_name }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -93,7 +93,7 @@ new class extends Component {
|
||||
<div class="space-y-6">
|
||||
<div>
|
||||
<flux:heading size="lg">{{ __('clients.convert_to_individual') }}</flux:heading>
|
||||
<flux:text class="mt-2 text-zinc-600 dark:text-zinc-400">
|
||||
<flux:text class="mt-2 text-zinc-600">
|
||||
{{ __('clients.convert_to_individual_description') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
@@ -132,14 +132,14 @@ new class extends Component {
|
||||
<flux:callout.text>{{ __('clients.confirm_conversion_to_individual_message') }}</flux:callout.text>
|
||||
</flux:callout>
|
||||
|
||||
<div class="rounded-lg border border-zinc-200 p-4 dark:border-zinc-700">
|
||||
<div class="rounded-lg border border-zinc-200 p-4">
|
||||
<div class="space-y-2 text-sm">
|
||||
<div class="flex justify-between">
|
||||
<span class="text-zinc-500 dark:text-zinc-400">{{ __('clients.full_name') }}:</span>
|
||||
<span class="text-zinc-500">{{ __('clients.full_name') }}:</span>
|
||||
<span class="font-medium">{{ $full_name }}</span>
|
||||
</div>
|
||||
<div class="flex justify-between">
|
||||
<span class="text-zinc-500 dark:text-zinc-400">{{ __('clients.national_id') }}:</span>
|
||||
<span class="text-zinc-500">{{ __('clients.national_id') }}:</span>
|
||||
<span class="font-medium">{{ $national_id }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -80,10 +80,10 @@ new class extends Component {
|
||||
|
||||
<div class="mb-6">
|
||||
<flux:heading size="xl">{{ __('clients.create_client') }}</flux:heading>
|
||||
<flux:text class="mt-1 text-zinc-500 dark:text-zinc-400">{{ __('clients.individual_clients') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-500">{{ __('clients.individual_clients') }}</flux:text>
|
||||
</div>
|
||||
|
||||
<div class="rounded-lg border border-zinc-200 bg-white p-6 dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white p-6">
|
||||
<form wire:submit="create" class="space-y-6">
|
||||
<div class="grid gap-6 sm:grid-cols-2">
|
||||
<flux:field>
|
||||
@@ -147,7 +147,7 @@ new class extends Component {
|
||||
</flux:field>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-end gap-4 border-t border-zinc-200 pt-6 dark:border-zinc-700">
|
||||
<div class="flex items-center justify-end gap-4 border-t border-zinc-200 pt-6">
|
||||
<flux:button variant="ghost" :href="route('admin.clients.individual.index')" wire:navigate>
|
||||
{{ __('clients.cancel') }}
|
||||
</flux:button>
|
||||
|
||||
@@ -102,10 +102,10 @@ new class extends Component {
|
||||
|
||||
<div class="mb-6">
|
||||
<flux:heading size="xl">{{ __('clients.edit_client') }}</flux:heading>
|
||||
<flux:text class="mt-1 text-zinc-500 dark:text-zinc-400">{{ $client->full_name }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-500">{{ $client->full_name }}</flux:text>
|
||||
</div>
|
||||
|
||||
<div class="rounded-lg border border-zinc-200 bg-white p-6 dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white p-6">
|
||||
<form wire:submit="update" class="space-y-6">
|
||||
<div class="grid gap-6 sm:grid-cols-2">
|
||||
<flux:field>
|
||||
@@ -181,7 +181,7 @@ new class extends Component {
|
||||
</flux:field>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-end gap-4 border-t border-zinc-200 pt-6 dark:border-zinc-700">
|
||||
<div class="flex items-center justify-end gap-4 border-t border-zinc-200 pt-6">
|
||||
<flux:button variant="ghost" :href="route('admin.clients.individual.index')" wire:navigate>
|
||||
{{ __('clients.cancel') }}
|
||||
</flux:button>
|
||||
|
||||
@@ -55,7 +55,7 @@ new class extends Component {
|
||||
<div class="page-header mb-6">
|
||||
<div>
|
||||
<flux:heading size="xl" class="text-xl sm:text-2xl">{{ __('clients.individual_clients') }}</flux:heading>
|
||||
<flux:text class="mt-1 text-zinc-500 dark:text-zinc-400">{{ __('clients.clients') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-500">{{ __('clients.clients') }}</flux:text>
|
||||
</div>
|
||||
<div class="header-actions">
|
||||
<flux:button :href="route('admin.users.export')" wire:navigate icon="arrow-down-tray" class="w-full sm:w-auto justify-center">
|
||||
@@ -67,7 +67,7 @@ new class extends Component {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-6 rounded-lg border border-zinc-200 bg-white p-4 dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="mb-6 rounded-lg border border-zinc-200 bg-white p-4">
|
||||
<div class="flex flex-col gap-4 sm:flex-row sm:items-end">
|
||||
<div class="flex-1">
|
||||
<flux:input
|
||||
@@ -101,50 +101,50 @@ new class extends Component {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="overflow-hidden rounded-lg border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="overflow-hidden rounded-lg border border-zinc-200 bg-white">
|
||||
<div class="table-scroll-wrapper">
|
||||
<table class="min-w-full divide-y divide-zinc-200 dark:divide-zinc-700">
|
||||
<thead class="bg-zinc-50 dark:bg-zinc-900">
|
||||
<table class="min-w-full divide-y divide-zinc-200">
|
||||
<thead class="bg-zinc-50">
|
||||
<tr>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.full_name') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.email') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.national_id') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.phone') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.status') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-start text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.created_at') }}
|
||||
</th>
|
||||
<th class="px-6 py-3 text-end text-xs font-medium uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
|
||||
<th class="px-6 py-3 text-end text-xs font-medium uppercase tracking-wider text-zinc-500">
|
||||
{{ __('clients.actions') }}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="divide-y divide-zinc-200 bg-white dark:divide-zinc-700 dark:bg-zinc-800">
|
||||
<tbody class="divide-y divide-zinc-200 bg-white">
|
||||
@forelse ($clients as $client)
|
||||
<tr wire:key="client-{{ $client->id }}">
|
||||
<td class="whitespace-nowrap px-6 py-4">
|
||||
<div class="flex items-center gap-3">
|
||||
<flux:avatar size="sm" :name="$client->full_name" />
|
||||
<span class="font-medium text-zinc-900 dark:text-zinc-100">{{ $client->full_name }}</span>
|
||||
<span class="font-medium text-zinc-900">{{ $client->full_name }}</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600 dark:text-zinc-400">
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600">
|
||||
{{ $client->email }}
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600 dark:text-zinc-400">
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600">
|
||||
{{ $client->national_id }}
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600 dark:text-zinc-400">
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600">
|
||||
{{ $client->phone }}
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4">
|
||||
@@ -154,7 +154,7 @@ new class extends Component {
|
||||
<flux:badge color="red" size="sm">{{ __('clients.deactivated') }}</flux:badge>
|
||||
@endif
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600 dark:text-zinc-400">
|
||||
<td class="whitespace-nowrap px-6 py-4 text-zinc-600">
|
||||
{{ $client->created_at->format('Y-m-d') }}
|
||||
</td>
|
||||
<td class="whitespace-nowrap px-6 py-4 text-end">
|
||||
@@ -183,7 +183,7 @@ new class extends Component {
|
||||
<td colspan="7" class="px-6 py-12 text-center">
|
||||
<div class="flex flex-col items-center">
|
||||
<flux:icon name="users" class="mb-4 h-12 w-12 text-zinc-400" />
|
||||
<flux:text class="text-zinc-500 dark:text-zinc-400">
|
||||
<flux:text class="text-zinc-500">
|
||||
@if ($search || $statusFilter)
|
||||
{{ __('clients.no_clients_match') }}
|
||||
@else
|
||||
@@ -204,7 +204,7 @@ new class extends Component {
|
||||
</div>
|
||||
|
||||
@if ($clients->hasPages())
|
||||
<div class="border-t border-zinc-200 bg-zinc-50 px-6 py-4 dark:border-zinc-700 dark:bg-zinc-900">
|
||||
<div class="border-t border-zinc-200 bg-zinc-50 px-6 py-4">
|
||||
{{ $clients->links() }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@@ -29,7 +29,7 @@ new class extends Component {
|
||||
</flux:button>
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<flux:button variant="ghost" class="border border-amber-500 text-amber-600 hover:bg-amber-50 dark:text-amber-400 dark:hover:bg-amber-900/20" x-data x-on:click="$flux.modal('convert-to-company').show()" icon="building-office">
|
||||
<flux:button variant="ghost" class="border border-amber-500 text-amber-600 hover:bg-amber-50" x-data x-on:click="$flux.modal('convert-to-company').show()" icon="building-office">
|
||||
{{ __('clients.convert_to_company') }}
|
||||
</flux:button>
|
||||
<flux:button variant="primary" :href="route('admin.clients.individual.edit', $client)" wire:navigate icon="pencil">
|
||||
@@ -40,14 +40,14 @@ new class extends Component {
|
||||
|
||||
<div class="mb-6">
|
||||
<flux:heading size="xl">{{ __('clients.client_profile') }}</flux:heading>
|
||||
<flux:text class="mt-1 text-zinc-500 dark:text-zinc-400">{{ $client->full_name }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-500">{{ $client->full_name }}</flux:text>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-6 lg:grid-cols-3">
|
||||
{{-- Client Information --}}
|
||||
<div class="lg:col-span-2">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="border-b border-zinc-200 px-6 py-4 dark:border-zinc-700">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white">
|
||||
<div class="border-b border-zinc-200 px-6 py-4">
|
||||
<flux:heading size="lg">{{ __('clients.client_information') }}</flux:heading>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
@@ -56,29 +56,29 @@ new class extends Component {
|
||||
<div class="flex-1">
|
||||
<div class="grid gap-6 sm:grid-cols-2">
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.full_name') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->full_name }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.full_name') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->full_name }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.national_id') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->national_id }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.national_id') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->national_id }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.email') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->email }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.email') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->email }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.phone') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->phone }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.phone') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->phone }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.preferred_language') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.preferred_language') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">
|
||||
{{ $client->preferred_language === 'ar' ? __('clients.arabic') : __('clients.english') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.status') }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.status') }}</flux:text>
|
||||
<div class="mt-1">
|
||||
@if ($client->status === UserStatus::Active)
|
||||
<flux:badge color="green">{{ __('clients.active') }}</flux:badge>
|
||||
@@ -88,12 +88,12 @@ new class extends Component {
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.member_since') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ $client->created_at->format('Y-m-d') }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.member_since') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ $client->created_at->format('Y-m-d') }}</flux:text>
|
||||
</div>
|
||||
<div>
|
||||
<flux:text class="text-sm font-medium text-zinc-500 dark:text-zinc-400">{{ __('clients.user_type') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900 dark:text-zinc-100">{{ __('clients.individual') }}</flux:text>
|
||||
<flux:text class="text-sm font-medium text-zinc-500">{{ __('clients.user_type') }}</flux:text>
|
||||
<flux:text class="mt-1 text-zinc-900">{{ __('clients.individual') }}</flux:text>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -105,34 +105,34 @@ new class extends Component {
|
||||
{{-- Stats Sidebar --}}
|
||||
<div class="space-y-6">
|
||||
{{-- Consultation Summary --}}
|
||||
<div class="rounded-lg border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="border-b border-zinc-200 px-6 py-4 dark:border-zinc-700">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white">
|
||||
<div class="border-b border-zinc-200 px-6 py-4">
|
||||
<flux:heading size="lg">{{ __('clients.consultation_history') }}</flux:heading>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
<div class="space-y-4">
|
||||
<div class="flex items-center justify-between">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('clients.total_consultations') }}</flux:text>
|
||||
<flux:text class="text-sm text-zinc-500">{{ __('clients.total_consultations') }}</flux:text>
|
||||
<flux:badge color="zinc">{{ $client->consultations_count }}</flux:badge>
|
||||
</div>
|
||||
<div class="flex items-center justify-between">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('clients.pending_consultations') }}</flux:text>
|
||||
<flux:text class="text-sm text-zinc-500">{{ __('clients.pending_consultations') }}</flux:text>
|
||||
<flux:badge color="yellow">{{ $client->pending_consultations_count }}</flux:badge>
|
||||
</div>
|
||||
<div class="flex items-center justify-between">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('clients.completed_consultations') }}</flux:text>
|
||||
<flux:text class="text-sm text-zinc-500">{{ __('clients.completed_consultations') }}</flux:text>
|
||||
<flux:badge color="green">{{ $client->completed_consultations_count }}</flux:badge>
|
||||
</div>
|
||||
</div>
|
||||
@if ($client->consultations_count > 0)
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4 dark:border-zinc-700">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4">
|
||||
<flux:text class="text-sm text-zinc-500">
|
||||
{{ __('clients.view_all_consultations') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
@else
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4 dark:border-zinc-700">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4">
|
||||
<flux:text class="text-sm text-zinc-500">
|
||||
{{ __('clients.no_consultations') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
@@ -141,30 +141,30 @@ new class extends Component {
|
||||
</div>
|
||||
|
||||
{{-- Timeline Summary --}}
|
||||
<div class="rounded-lg border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="border-b border-zinc-200 px-6 py-4 dark:border-zinc-700">
|
||||
<div class="rounded-lg border border-zinc-200 bg-white">
|
||||
<div class="border-b border-zinc-200 px-6 py-4">
|
||||
<flux:heading size="lg">{{ __('clients.timeline_history') }}</flux:heading>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
<div class="space-y-4">
|
||||
<div class="flex items-center justify-between">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('clients.total_timelines') }}</flux:text>
|
||||
<flux:text class="text-sm text-zinc-500">{{ __('clients.total_timelines') }}</flux:text>
|
||||
<flux:badge color="zinc">{{ $client->timelines_count }}</flux:badge>
|
||||
</div>
|
||||
<div class="flex items-center justify-between">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">{{ __('clients.active_timelines') }}</flux:text>
|
||||
<flux:text class="text-sm text-zinc-500">{{ __('clients.active_timelines') }}</flux:text>
|
||||
<flux:badge color="blue">{{ $client->active_timelines_count }}</flux:badge>
|
||||
</div>
|
||||
</div>
|
||||
@if ($client->timelines_count > 0)
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4 dark:border-zinc-700">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4">
|
||||
<flux:text class="text-sm text-zinc-500">
|
||||
{{ __('clients.view_all_timelines') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
@else
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4 dark:border-zinc-700">
|
||||
<flux:text class="text-sm text-zinc-500 dark:text-zinc-400">
|
||||
<div class="mt-4 border-t border-zinc-200 pt-4">
|
||||
<flux:text class="text-sm text-zinc-500">
|
||||
{{ __('clients.no_timelines') }}
|
||||
</flux:text>
|
||||
</div>
|
||||
@@ -175,7 +175,7 @@ new class extends Component {
|
||||
</div>
|
||||
|
||||
{{-- Lifecycle Actions Section --}}
|
||||
<div class="mt-6 rounded-lg border border-zinc-200 bg-white p-6 dark:border-zinc-700 dark:bg-zinc-800">
|
||||
<div class="mt-6 rounded-lg border border-zinc-200 bg-white p-6">
|
||||
<flux:heading size="lg" class="mb-4">{{ __('clients.account_actions') }}</flux:heading>
|
||||
<livewire:admin.clients.lifecycle-actions :client="$client" />
|
||||
</div>
|
||||
|
||||
@@ -220,11 +220,11 @@ new class extends Component {
|
||||
|
||||
{{-- Deactivate/Reactivate Button --}}
|
||||
@if ($client->isActive())
|
||||
<flux:button variant="ghost" class="text-amber-600 hover:bg-amber-50 dark:text-amber-400 dark:hover:bg-amber-900/20" icon="pause-circle" wire:click="openDeactivateModal">
|
||||
<flux:button variant="ghost" class="text-amber-600 hover:bg-amber-50" icon="pause-circle" wire:click="openDeactivateModal">
|
||||
{{ __('clients.deactivate') }}
|
||||
</flux:button>
|
||||
@else
|
||||
<flux:button variant="ghost" class="text-green-600 hover:bg-green-50 dark:text-green-400 dark:hover:bg-green-900/20" icon="play-circle" wire:click="openReactivateModal">
|
||||
<flux:button variant="ghost" class="text-green-600 hover:bg-green-50" icon="play-circle" wire:click="openReactivateModal">
|
||||
{{ __('clients.reactivate') }}
|
||||
</flux:button>
|
||||
@endif
|
||||
@@ -246,7 +246,7 @@ new class extends Component {
|
||||
<flux:callout.text>{{ __('clients.deactivate_warning') }}</flux:callout.text>
|
||||
</flux:callout>
|
||||
|
||||
<div class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
<div class="text-sm text-zinc-600">
|
||||
<p class="mb-2">{{ __('clients.deactivate_effects') }}:</p>
|
||||
<ul class="list-disc ps-5 space-y-1">
|
||||
<li>{{ __('clients.deactivate_effect_login') }}</li>
|
||||
@@ -278,7 +278,7 @@ new class extends Component {
|
||||
<flux:callout.text>{{ __('clients.reactivate_message') }}</flux:callout.text>
|
||||
</flux:callout>
|
||||
|
||||
<div class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
<div class="text-sm text-zinc-600">
|
||||
<p class="mb-2">{{ __('clients.reactivate_effects') }}:</p>
|
||||
<ul class="list-disc ps-5 space-y-1">
|
||||
<li>{{ __('clients.reactivate_effect_login') }}</li>
|
||||
@@ -310,7 +310,7 @@ new class extends Component {
|
||||
<flux:callout.text>{{ __('clients.delete_warning') }}</flux:callout.text>
|
||||
</flux:callout>
|
||||
|
||||
<div class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
<div class="text-sm text-zinc-600">
|
||||
<p class="mb-2">{{ __('clients.will_be_deleted') }}:</p>
|
||||
<ul class="list-disc ps-5 space-y-1">
|
||||
<li>{{ __('clients.delete_item_consultations') }}</li>
|
||||
@@ -348,7 +348,7 @@ new class extends Component {
|
||||
<flux:callout.text>{{ __('clients.reset_password_message') }}</flux:callout.text>
|
||||
</flux:callout>
|
||||
|
||||
<div class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
<div class="text-sm text-zinc-600">
|
||||
<p class="mb-2">{{ __('clients.reset_password_effects') }}:</p>
|
||||
<ul class="list-disc ps-5 space-y-1">
|
||||
<li>{{ __('clients.reset_password_effect_generate') }}</li>
|
||||
|
||||
Reference in New Issue
Block a user