Files

113 lines
4.9 KiB
PHP

@extends('layouts.app')
@section('content')
<section class="page-wrap">
<header class="topbar">
<div class="title">
<a href="{{ route('contacts.index', ['group' => $group->id]) }}" class="link">Retour aux contacts</a>
<h1 class="h-offset">Modifier le groupe</h1>
<p>{{ $group->contacts_count }} contact(s) · groupe local</p>
</div>
</header>
<form method="POST" action="{{ route('contact-groups.update', $group) }}" class="panel">
@csrf
@method('PUT')
<input type="hidden" name="members_submitted" value="1">
<div class="panel-header">
<h2>Informations</h2>
</div>
<div class="panel-body stack">
<div class="form-grid cols-2">
<div class="field">
<label for="name">Nom</label>
<input id="name" name="name" value="{{ old('name', $group->name) }}" required class="input">
@error('name')
<p class="notice error">{{ $message }}</p>
@enderror
</div>
<label class="field-label inline-badges">
<input name="is_favorite" type="checkbox" value="1" @checked(old('is_favorite', $group->is_favorite))>
Favori
</label>
</div>
<div class="field">
<label for="description">Description</label>
<textarea id="description" name="description" rows="4" class="textarea">{{ old('description', $group->description) }}</textarea>
</div>
</div>
<div class="panel-header">
<h2>Membres</h2>
<span class="pill">{{ count($selectedContactIds) }} selectionne(s)</span>
</div>
<div class="table-wrap">
<table class="data-table">
<thead>
<tr>
<th>Inclure</th>
<th>Contact</th>
<th>Telephone</th>
<th>Source</th>
</tr>
</thead>
<tbody>
@forelse ($contacts as $contact)
@php($primaryPhone = $contact->phoneNumbers->firstWhere('is_primary', true) ?? $contact->phoneNumbers->first())
<tr>
<td>
<input
name="contact_ids[]"
type="checkbox"
value="{{ $contact->id }}"
@checked(in_array($contact->id, old('contact_ids', $selectedContactIds), false))
>
</td>
<td>
{{ $contact->displayName() }}
<div class="muted truncate">{{ $contact->email ?: $contact->organization ?: 'Sans detail' }}</div>
</td>
<td>{{ $primaryPhone?->normalized_number ?: $primaryPhone?->raw_number ?: 'Aucun' }}</td>
<td>
<span class="badge {{ $contact->source === 'local' ? '' : 'pending' }}">
{{ ucfirst($contact->source) }}
</span>
</td>
</tr>
@empty
<tr>
<td colspan="4" class="empty-state">Aucun contact disponible.</td>
</tr>
@endforelse
</tbody>
</table>
</div>
<div class="panel-body">
<div class="actions">
<button type="submit" class="primary">Enregistrer</button>
<a href="{{ route('contacts.index', ['group' => $group->id]) }}" class="secondary">Annuler</a>
</div>
</div>
</form>
<form method="POST" action="{{ route('contact-groups.destroy', $group) }}" onsubmit="return confirm('Supprimer ce groupe ?')" class="panel">
@csrf
@method('DELETE')
<div class="panel-header">
<h2>Suppression</h2>
</div>
<div class="panel-body stack-sm">
<p class="muted">La suppression retire le groupe des contacts associes.</p>
<button type="submit" class="danger">Supprimer le groupe</button>
</div>
</form>
</section>
@endsection