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

/**
 * Visite du fond de caisse.
 *
 * Le fait central, vérifié dans `FondDeCaisseController` : le **solde affiché
 * n'est pas la somme des lignes visibles**. Il se calcule sur toutes les
 * écritures de la caisse jusqu'à la fin de la fenêtre, filtres de type, de
 * source et de recherche ignorés — un solde se reporte d'un mois sur l'autre,
 * alors que les cartes de synthèse, elles, ne totalisent que la fenêtre.
 *
 * Second fait : l'écran s'ouvre avec n'importe quelle permission `fond_caisse.*`
 * mais les actions d'écriture sont réservées au siège — un membre d'équipe voit
 * donc l'écran et n'agit que sur ses propres allocations.
 *
 * Textes dans `lang/{fr,en}/tours.php`, clés `caisse.<key>.title|content`.
 */
export const fondDeCaisseTour: AppTour = {
    id: 'caisse',
    components: ['fond-de-caisse/index'],
    steps: [
        // Onglets du groupe, dans la barre du haut (FinanceBarre) : absents quand un seul écran est permis.
        { anchor: 'caisse-onglets', key: 'onglets', order: 5, optional: true },
        { anchor: 'caisse-actions', key: 'actions', order: 10 },
        { anchor: 'caisse-filters', key: 'filters', order: 20 },
        { anchor: 'caisse-summary', key: 'summary', order: 30 },
        // Tableau de bureau uniquement : sur mobile la liste est en cartes.
        { anchor: 'caisse-ledger', key: 'ledger', order: 40, optional: true },
    ],
};
