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

/**
 * Visite des fournisseurs & fiches fiscales.
 *
 * Trois faits vérifiés dans `BeneficiaireController` :
 *
 *  - **rien ne part jamais tout seul** vers l'administration : aucun traitement
 *    planifié, aucun automatisme ; le seul émetteur est le clic « Envoyer » ;
 *  - la suppression a **deux issues opposées**, décidées avant le clic selon
 *    qu'une ligne de retenue cite la fiche ou non ;
 *  - l'écran réunit deux natures de fiches — fournisseurs et propriétaires —
 *    qui ne se modifient pas au même endroit, l'identité d'un propriétaire
 *    étant réécrite depuis son compte à chaque rafraîchissement.
 *
 * Textes dans `lang/{fr,en}/tours.php`, clés `fournisseurs.<key>.title|content`.
 */
export const fournisseursTour: AppTour = {
    id: 'fournisseurs',
    components: ['fournisseurs/index'],
    steps: [
        // Onglets du groupe, dans la barre du haut (FinanceBarre) : absents quand un seul écran est permis.
        { anchor: 'fournisseurs-onglets', key: 'onglets', order: 5, optional: true },
        // Les deux boutons dépendent des droits d'écriture.
        { anchor: 'fournisseurs-actions', key: 'actions', order: 10, optional: true },
        { anchor: 'fournisseurs-filters', key: 'filters', order: 20 },
        { anchor: 'fournisseurs-table', key: 'table', order: 30 },
        // Actions de ligne, sur le premier fournisseur affiché. Toutes les trois
        // dépendent d'un droit, et la corbeille n'apparaît que si la suppression
        // serait DÉFINITIVE — d'où `optional` sur les trois.
        { anchor: 'fournisseurs-row-tej', key: 'rowTej', order: 40, optional: true },
        { anchor: 'fournisseurs-row-edit', key: 'rowEdit', order: 50, optional: true },
        { anchor: 'fournisseurs-row-delete', key: 'rowDelete', order: 60, optional: true },
    ],
};
