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

/**
 * Visite de la fiche d'un logement (TL-305).
 *
 * Faits vérifiés qui portent les textes :
 *  - « Modifier » en haut ouvre l'assistant à sa première étape ; le « Modifier »
 *    de chaque carte de détail, comme « Gérer les photos », ouvre directement
 *    l'étape qui porte ses champs (`?step=N`, lu par `logements/edit.tsx`) — le
 *    propriétaire se choisit à l'étape 0 ;
 *  - chiffres clés (`PropertyKpiService::occupancyForProperty`) : séjours
 *    confirmés seulement, hors séjours propriétaire ; occupation = nuits
 *    réservées ÷ nuits disponibles, les nuits bloquées au calendrier et celles
 *    d'avant la création du logement étant retirées des disponibles ; la tuile
 *    du mois couvre le mois entier, nuits à venir comprises ;
 *  - « Aujourd'hui » : départ avant arrivée quand les deux tombent le même jour ;
 *  - « Calendrier et planning » : chaque aperçu est une propriété Inertia
 *    facultative, demandée seulement à l'ouverture de son volet ; un clic sur
 *    un jour ou un événement ouvre l'écran complet (calendrier ou planning) ;
 *  - l'onglet Réservations liste tous les statuts, supprimés compris ;
 *    Statistiques ne compte que les séjours confirmés depuis la création,
 *    montants convertis en TND.
 *
 * Textes dans `lang/{fr,en}/tours.php`, clés `logementShow.<key>.title|content`.
 */
export const logementShowTour: AppTour = {
    id: 'logementShow',
    components: ['logements/info-logement/index'],
    steps: [
        { anchor: 'logement-show-edit', key: 'edit', order: 10, permission: 'property.update' },
        // TL-293 — « Historique » : rendu seulement pour le compte TLL master (seul lecteur du journal) ; ailleurs l'ancre est absente et l'étape s'efface.
        { anchor: 'logement-show-history', key: 'history', order: 15, optional: true },
        { anchor: 'logement-show-kpis', key: 'kpis', order: 20 },
        { anchor: 'logement-show-today', key: 'today', order: 30 },
        { anchor: 'logement-show-owner', key: 'owner', order: 40 },
        // Carte absente sans droit sur les réservations (elle mène aux codes d'accès).
        { anchor: 'logement-show-instructions', key: 'instructions', order: 42, optional: true },
        // Carte absente sans droit sur le calendrier ni sur le planning.
        { anchor: 'logement-show-calendars', key: 'calendars', order: 45, optional: true },
        { anchor: 'logement-show-tabs', key: 'tabs', order: 50 },
    ],
};
