@extends('admin.layout') @section('title', __('Invitations')) @section('content')

{{ __('Invitations') }}

Uitnodigingen sturen

Stuur gerichte uitnodigingen naar nieuwe gebruikers via e-mail of koppel ze aan een preset-template.

  1. Maak een preset aan met onderwerp en inhoud (eenmalig per campagne).
  2. Voeg uitnodigingen toe — één per e-mailadres, of importeer een CSV.
  3. Bekijk de preview via het oogje om de e-mail te controleren.
  4. Stuur een testmail naar jezelf voordat je verstuurt.
  5. Klik Verstuur om de uitnodiging daadwerkelijk te versturen.

Verstuurde uitnodigingen zijn gemarkeerd en kunnen niet opnieuw worden verstuurd.

{{-- Flash messages --}} @foreach (['success','warning','error','preset_success','preset_error'] as $key) @if (session($key))
{{ session($key) }}
@endif @endforeach {{-- ─── Presets beheer ─────────────────────────────────────────────────── --}}
{{-- Bestaande presets --}} @forelse ($presets as $preset)
{{-- Weergave --}}
{{ $preset->name }} {{ ucfirst($preset->tier) }} {{ $preset->days }} {{ __('days free') }} · {{ __('Token valid') }}: {{ $preset->token_validity_days }} {{ __('days') }}
@csrf @method('DELETE')
{{-- Bewerk-formulier --}}
@csrf @method('PUT')
@empty

{{ __('No presets yet.') }}

@endforelse {{-- Nieuw preset formulier --}}
@csrf
{{-- ─── Nieuw contact toevoegen ─────────────────────────────────────────── --}}

{{ __('Add contact') }}

@csrf
{{-- Actiepreset --}}
{{-- hidden veld voor action_name, gevuld door Alpine --}}
{{-- Tier --}}
{{-- Voornaam --}}
{{-- Familienaam --}}
{{-- Praktijk --}}
{{-- E-mail --}}
{{-- Taal --}}
{{-- Gratis dagen --}}
{{-- Token geldigheidsduur --}}
{{-- Bericht --}}
{{-- ─── CSV-import ──────────────────────────────────────────────────────── --}}

{{ __('CSV columns (header row required):') }} {{ __('comma or semicolon separated') }}. {{ __('All columns optional — form defaults apply when empty.') }}

{{ __('Column') }} {{ __('Accepted values') }} {{ __('Aliases') }}
voornaamtekstfirst_name, firstname
familienaamtekstlast_name, achternaam
emailgeldig e-mailadrese-mail, mail
praktijktekstpractice, organisatie, bedrijf
presetnaam van een preset
abonnementsniveaupro / premiumtier, niveau
gratis dagengetal 1–3650days, dagen
geldigheidsduurgetal 1–3650token_validity_days, geldigheid
taalnl / fr / de / es / enlanguage, lang
@csrf
{{-- CSV-bestand --}}
{{-- Actiepreset --}}
{{-- Tier --}}
{{-- Gratis dagen --}}
{{-- Token geldigheid --}}
{{-- Standaard taal --}}
{{-- ─── Overzichtstabel ─────────────────────────────────────────────────── --}}

{{ __('Invitations') }}

{{ $invitations->total() }} {{ __('total') }}
{{-- Zoekveld --}}
@if ($search !== '') @endif
@if ($invitations->isEmpty())

{{ $search !== '' ? __('No results for ":query".', ['query' => $search]) : __('No invitations created yet.') }}

@else
@foreach ($invitations as $inv) @endforeach
{{ __('Date') }} {{ __('Preset') }} {{ __('First name') }} {{ __('Last name') }} {{ __('Practice') }} E-mail {{ __('Language') }} {{ __('Profile URL') }} {{ __('Tier') }} {{ __('Source') }} {{ __('Last contact') }} {{ __('Days') }} Token {{ __('Expires') }} {{ __('Email sent') }} {{ __('Status') }} {{ __('Used by') }} {{ __('Action') }}
{{ $inv->created_at->format('d/m/y H:i') }} {{ $inv->action_name ?: '—' }} {{ $inv->contact_first_name ?: '—' }} {{ $inv->contact_last_name ?: '—' }} {{ $inv->practice ?: '—' }} {{ $inv->contact_email ?: '—' }} @if ($inv->language) {{ $inv->language }} @else @endif @if ($inv->profile_url) {{ $inv->profile_url }} @else @endif @if ($inv->tier === 'pro') Pro @else Premium @endif @if ($inv->source === 'form_filler') Form Filler @else {{ __('Manual') }} @endif @if ($inv->last_contact_method === 'form_filler') Form Filler @elseif ($inv->last_contact_method === 'email') E-mail @elseif ($inv->last_contact_method) {{ __('Manual') }} @else @endif {{ $inv->days }} {{ substr($inv->token, 0, 8) }}… {{ $inv->expires_at ? $inv->expires_at->format('d/m/y') : '—' }} {{ $inv->email_sent_at ? $inv->email_sent_at->format('d/m/y H:i') : '—' }} @if ($inv->used_at) {{ __('Used') }}
{{ $inv->used_at->format('d/m/y') }}
@else {{ __('Unused') }} @endif
@if ($inv->usedByUser) {{ $inv->usedByUser->name }} @else @endif
{{-- Preview-knop (altijd zichtbaar als er een e-mail is) --}} @if ($inv->contact_email) @endif {{-- Versturen (alleen als nog niet gebruikt) --}} @if ($inv->contact_email && ! $inv->used_at)
@csrf
@endif @if (! $inv->contact_email) @endif
{{ $invitations->links() }}
@endif
{{-- ─── Preview modal ───────────────────────────────────────────────────────── --}}
{{-- Backdrop --}}
{{-- Modal --}}
{{-- Header --}}
{{ __('Email preview') }}
{{-- Stuur testmail naar admin --}}
@csrf
{{-- Iframe laadt de preview-URL rechtstreeks --}}
{{-- einde modal --}}
{{-- einde outer x-data wrapper --}} @endsection