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

/**
 * Visite des paiements en ligne.
 *
 * Le fait le plus lourd de conséquences, vérifié dans `ClicToPayController` :
 * un paiement en ligne encaissé **ne crée aucune ligne de recouvrement** et ne
 * solde donc aucune réservation. Les deux mondes ne communiquent pas — le
 * rapprochement reste manuel.
 *
 * Deux autres : « Rafraîchir le statut » n'est pas une lecture, c'est un appel
 * au prestataire qui ENREGISTRE ce qu'il rapporte ; et un remboursement, même
 * partiel, rend la transaction définitivement remboursée — il n'y en aura pas
 * de second.
 *
 * Textes dans `lang/{fr,en}/tours.php`, clés `clictopay.<key>.title|content`.
 */
export const clictopayTour: AppTour = {
    id: 'clictopay',
    components: ['paiements/clictopay/index'],
    steps: [
        // Onglets du groupe, dans la barre du haut (FinanceBarre) : absents quand un seul écran est permis.
        { anchor: 'clictopay-onglets', key: 'onglets', order: 5, optional: true },
        { anchor: 'clictopay-generate', key: 'generate', order: 10 },
        { anchor: 'clictopay-filters', key: 'filters', order: 20 },
        { anchor: 'clictopay-table', key: 'table', order: 30 },
        // Actions de ligne, sur la première transaction affichée. Le bouton de
        // copie n'existe que si la transaction a bien un lien de paiement.
        { anchor: 'clictopay-row-view', key: 'rowView', order: 40, optional: true },
        { anchor: 'clictopay-row-copy', key: 'rowCopy', order: 50, optional: true },
    ],
};
