Files
2026-07-24 10:47:01 +01:00

2 lines
3.2 KiB
PHP

<x-layouts.app :title="__('CRM')"><div class="space-y-8"><div><h1 class="text-2xl font-semibold">CRM</h1><p class="text-sm text-zinc-500">Companies, contacts, leads and sales opportunities.</p></div>@if(session('status'))<div class="rounded border border-green-300 bg-green-50 p-3 text-green-800">{{ session('status') }}</div>@endif<div class="grid gap-4 md:grid-cols-4"><div class="rounded-xl border p-4"><div class="text-sm text-zinc-500">Companies</div><div class="text-2xl font-semibold">{{ $companies->total() }}</div></div><div class="rounded-xl border p-4"><div class="text-sm text-zinc-500">Contacts</div><div class="text-2xl font-semibold">{{ \Modules\CRM\Models\Contact::count() }}</div></div><div class="rounded-xl border p-4"><div class="text-sm text-zinc-500">Open leads</div><div class="text-2xl font-semibold">{{ \Modules\CRM\Models\Lead::whereNotIn('status',['won','lost'])->count() }}</div></div><div class="rounded-xl border p-4"><div class="text-sm text-zinc-500">Pipeline</div><div class="text-2xl font-semibold">£{{ number_format($pipelineValue,2) }}</div></div></div><div class="grid gap-6 lg:grid-cols-2"><form method="POST" action="{{ route('administration.crm.companies.store') }}" class="space-y-4 rounded-xl border p-5">@csrf<h2 class="font-semibold">Add company</h2><flux:input name="name" label="Company name" required/><div class="grid gap-4 md:grid-cols-2"><flux:input name="email" type="email" label="Email"/><flux:input name="phone" label="Phone"/><flux:input name="website" label="Website"/><flux:input name="industry" label="Industry"/></div><flux:textarea name="address" label="Address"/><flux:button type="submit" variant="primary">Create company</flux:button></form><form method="POST" action="{{ route('administration.crm.contacts.store') }}" class="space-y-4 rounded-xl border p-5">@csrf<h2 class="font-semibold">Add contact</h2><flux:select name="company_id" label="Company"><option value="">None</option>@foreach($companies as $company)<option value="{{ $company->id }}">{{ $company->name }}</option>@endforeach</flux:select><div class="grid gap-4 md:grid-cols-2"><flux:input name="first_name" label="First name" required/><flux:input name="last_name" label="Last name" required/><flux:input name="email" type="email" label="Email"/><flux:input name="phone" label="Phone"/></div><flux:button type="submit" variant="primary">Create contact</flux:button></form></div><div class="overflow-hidden rounded-xl border"><table class="w-full text-sm"><thead class="bg-zinc-50"><tr><th class="p-3 text-left">Company</th><th class="p-3 text-left">Industry</th><th class="p-3 text-left">Contacts</th><th class="p-3"></th></tr></thead><tbody>@forelse($companies as $company)<tr class="border-t"><td class="p-3 font-medium">{{ $company->name }}</td><td class="p-3">{{ $company->industry ?: '—' }}</td><td class="p-3">{{ $company->contacts_count }}</td><td class="p-3 text-right"><form method="POST" action="{{ route('administration.crm.companies.destroy',$company) }}">@csrf @method('DELETE')<flux:button size="sm" variant="danger" type="submit">Delete</flux:button></form></td></tr>@empty<tr><td colspan="4" class="p-6 text-center text-zinc-500">No companies yet.</td></tr>@endforelse</tbody></table></div>{{ $companies->links() }}</div></x-layouts.app>