Files
termanager2/resources/views/components/whatsapp.blade.php
Francesco Picone fc8623f7db Posta configurabile dall'app, contatti dei proclamatori, conferma email
- Server di posta in Impostazioni (password cifrata, email di prova): se
  compilato prende il posto del .env; non si esporta e l'import XML non lo
  cancella. MAIL_SCHEME=tls nel .env.example non era valido per Laravel 11.
- Proclamatori con email e telefono facoltativi, cifrati, nell'XML e
  cancellati dall'anonimizzazione; il numero apre WhatsApp.
- Dopo l'assegnazione un riquadro in evidenza con il link del PDF,
  "Invia su WhatsApp" con il messaggio pronto e la scelta "inviato /
  non ancora", che resta finché non si sceglie.
- Conferma dell'email obbligatoria per tutti gli utenti, anche esistenti:
  email in italiano, link valido senza login, nuova conferma a ogni cambio
  di indirizzo, "Reinvia conferma" in Utenti. Senza conferma restano
  raggiungibili profilo, cambio password e, per l'admin, il server di
  posta; comando utenti:conferma-email per l'emergenza.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 17:12:31 +02:00

27 lines
1.4 KiB
PHP

{{--
Il numero di un proclamatore che, cliccato, apre WhatsApp (wa.me: app sul
telefono, WhatsApp Web sul computer). Niente se il numero manca o non è
utilizzabile.
proclamatore: il Proclamatore.
messaggio: testo già scritto nella chat (facoltativo).
compatto: solo l'icona, per le righe di un elenco.
--}}
@props(['proclamatore', 'messaggio' => null, 'compatto' => false])
@php($url = $proclamatore?->whatsappUrl($messaggio))
@if($url)
<a href="{{ $url }}" target="_blank" rel="noopener"
{{ $attributes->merge(['class' => 'tm-whatsapp' . ($compatto ? ' tm-whatsapp-compatto' : '')]) }}
title="Scrivi su WhatsApp a {{ $proclamatore->nome_completo }}"
@if($compatto) aria-label="Scrivi su WhatsApp a {{ $proclamatore->nome_completo }}" @endif>
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"/></svg>
@unless($compatto)
<span>{{ $proclamatore->telefono }}</span>
@endunless
</a>
@elseif(! $compatto && trim((string) $proclamatore?->telefono) !== '')
<span {{ $attributes }}>{{ $proclamatore->telefono }}</span>
@endif