import type { AppTour } from '../types';

/**
 * Visite du reçu à signer.
 *
 * ATTENTION — cette page ne passe pas par `AppLayout` : elle n'a pas d'en-tête,
 * donc pas de bouton « ? ». Le lanceur a été ajouté à la barre d'outils de la
 * page, DANS le bloc réservé aux utilisateurs connectés : l'adresse du reçu est
 * publique, et un visiteur extérieur ne doit rien voir de l'outil interne.
 *
 * Faits vérifiés dans `ReceiptController` :
 *  - seul le RECEVEUR désigné peut signer, avec SON code — pas celui de la
 *    personne connectée ;
 *  - cinq codes faux bloquent le reçu DÉFINITIVEMENT (aucune route de
 *    déblocage n'existe), et verrouillent en plus 10 minutes le compte de qui
 *    a tapé si ce n'est pas le destinataire ;
 *  - la signature déclenche en cascade la reconnaissance des encaissements,
 *    l'activation d'une allocation en attente et les écritures de caisse ;
 *  - le receveur ne se désigne qu'UNE fois ;
 *  - le bouton courriel envoie le LIEN, pas le document.
 *
 * Textes dans `lang/{fr,en}/tours.php`, clés `recuShow.<key>.title|content`.
 */
export const recuShowTour: AppTour = {
    id: 'recuShow',
    components: ['recus/show'],
    steps: [
        { anchor: 'recu-toolbar', key: 'toolbar', order: 10 },
        { anchor: 'recu-signature', key: 'signature', order: 20, optional: true },
        // Seulement tant qu'aucun receveur n'a été désigné.
        { anchor: 'recu-receiver', key: 'receiver', order: 30, optional: true },
        // Seulement quand un receveur attend de signer.
        { anchor: 'recu-pin', key: 'pin', order: 40, optional: true },
    ],
};
