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

/**
 * Visite de la page de réglage d'un logement du Yield Manager (`yield/edit`).
 *
 * Pourquoi une visite À PART de celle du tableau (`yield.tour.ts`) : dans le
 * tableau, l'éditeur de règles vit dans un panneau latéral qui n'est PAS monté
 * au lancement de la visite — ses ancres ne seraient jamais trouvées
 * (TOURS.md §4). Sur cette page, l'éditeur est rendu d'emblée.
 *
 * Les quatre étapes visent des DÉCLENCHEURS d'onglet (dans
 * `components/YieldRuleEditor.tsx`), toujours rendus, et non leur contenu : un
 * onglet inactif n'est pas monté (TOURS.md §6.4). Dans l'ordre des onglets :
 *  - les saisons (`seasons`), sur l'onglet « Saisons » : ce que l'écran ne
 *    dit qu'en badges — une saison « Chaque année » revient d'elle-même, un
 *    événement l'emporte sur la saison qu'il recouvre, un Aïd suit sa date
 *    mobile ;
 *  - « Règle active » (`sectionSwitch`), sur l'onglet « Last-minute » :
 *    l'interrupteur existe dans chacun des quatre onglets de règle. Il était
 *    ancré sur l'onglet Saisons ; deux étapes ne peuvent pas partager une
 *    ancre (registry.test.ts), il a cédé la place à l'étape des saisons ;
 *  - l'OBA (`oba`), sur l'onglet « OBA » : ce que l'écran ne dit pas — le
 *    remplissage ne fait que monter les prix, les baisses viennent de la
 *    dernière minute ;
 *  - la règle week-end (`weekend`), sur l'onglet « Week-end ».
 *
 * Pas d'`openOnEnter` : sur un onglet, la bascule n'est qu'un effet de bord
 * (l'onglet ne se referme pas en quittant l'étape, §6.4), et le `TabsTrigger`
 * Radix s'active au `mousedown` / au focus, pas sur un `click()` seul — rien
 * n'a été vérifié à l'écran pour s'y fier. Les étapes désignent donc l'onglet
 * sans prétendre l'ouvrir : l'utilisateur l'ouvre lui-même.
 *
 * Textes dans `lang/{fr,en}/tours.php`, clés `yieldEdit.<key>.title|content` —
 * courts (2 à 3 phrases), pour tenir sur un téléphone (voir yield-tour.test.ts).
 */
export const yieldEditTour: AppTour = {
    id: 'yieldEdit',
    components: ['yield/edit'],
    steps: [
        {
            anchor: 'yield-edit-seasons',
            key: 'seasons',
            order: 5,
        },
        {
            anchor: 'yield-editor-section-switch',
            key: 'sectionSwitch',
            order: 10,
        },
        {
            anchor: 'yield-edit-oba',
            key: 'oba',
            order: 15,
        },
        {
            anchor: 'yield-edit-weekend',
            key: 'weekend',
            order: 20,
        },
    ],
};
