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

/**
 * Visite de la liste des réservations.
 *
 * Ancres posées dans `resources/js/pages/reservations/index.tsx`.
 * Textes dans `lang/{fr,en}/tours.php`, clés `reservations.<key>.title|content`.
 */
export const reservationsTour: AppTour = {
    id: 'reservations',
    components: ['reservations/index'],
    steps: [
        {
            anchor: 'reservations-filters',
            key: 'filters',
            order: 10,
        },
        {
            anchor: 'reservations-daterange',
            key: 'daterange',
            order: 20,
        },
        {
            anchor: 'reservations-property',
            key: 'property',
            order: 30,
        },
        {
            anchor: 'reservations-sources',
            key: 'sources',
            order: 40,
        },
        {
            anchor: 'reservations-payment',
            key: 'payment',
            order: 50,
        },
        {
            // Réservé au siège.
            anchor: 'reservations-franchise',
            key: 'franchise',
            order: 60,
            adminOnly: true,
            optional: true,
        },
        {
            anchor: 'reservations-create',
            key: 'create',
            order: 70,
        },
        {
            anchor: 'reservations-table',
            key: 'table',
            order: 80,
        },

        // --- Les trois menus d'action, sur la première ligne affichée --------
        // Ils sont `optional` : sans aucune réservation à l'écran, aucune ligne
        // n'est rendue, donc aucune ancre — un état normal, pas un oubli.
        //
        // `openOnEnter` déploie le menu pendant l'étape : ces boutons ne portent
        // qu'une icône, décrire leur contenu sans l'ouvrir ne montrerait rien.
        {
            anchor: 'reservations-row-view',
            key: 'rowView',
            order: 90,
            optional: true,
            openOnEnter: true,
        },
        {
            anchor: 'reservations-row-more',
            key: 'rowMore',
            order: 100,
            optional: true,
            openOnEnter: true,
        },
        {
            anchor: 'reservations-row-send',
            key: 'rowSend',
            order: 110,
            optional: true,
            openOnEnter: true,
        },
    ],
};
