import {useModalStore} from "../Stores/modals.js"; import {useOnboardingStore} from "../Stores/onboarding.js"; export const tours = { // Приветственный тур для новых пользователей welcomeDuty: { id: 'welcome-duty', name: 'Знакомство с Метрикой', steps: [ { attachTo: { element: '#user-panel' }, route: 'start', // главная страница content: { title: '👋 Добро пожаловать!', description: 'Это ваша панель управления. Сейчас мы покажем вам основные возможности.' }, popper: { placement: 'bottom-start' }, // опционально: позиция тултипа on: { afterStep: () => { const modalStore = useModalStore() modalStore.showSelectDutyUserModal = false }, beforeStep: () => { const modalStore = useModalStore() modalStore.showSelectDutyUserModal = false }, } }, { attachTo: { element: '#new-report-duty' }, route: 'start', // переходим на страницу отчётов content: { title: '✏️ Создать отчёт', description: 'Нажмите эту кнопку, чтобы начать создание нового отчёта.' }, on: { afterStep: () => { const modalStore = useModalStore() const onboarding = useOnboardingStore() if (onboarding.activeStepIndex === 2) modalStore.showSelectDutyUserModal = true if (onboarding.activeStepIndex < 2) modalStore.showSelectDutyUserModal = false }, beforeStep: () => { const modalStore = useModalStore() const onboarding = useOnboardingStore() if (onboarding.activeStepIndex < 2) modalStore.showSelectDutyUserModal = false }, }, }, { attachTo: { element: '#modal-select-user-department' }, route: 'start', content: { title: 'Выберите отделение', description: 'Можете использовать список, либо ввести ФИО для поиска' }, insideModal: true, // флаг, что этот шаг внутри модалки options: { disableInteraction: false } }, { attachTo: { element: '#modal-select-user-doctor' }, route: 'start', content: { title: 'Введите ответственного', description: 'Можете использовать список, либо ввести ФИО для поиска' }, insideModal: true, // флаг, что этот шаг внутри модалки }, { attachTo: { element: '#modal-select-user-submit' }, route: 'start', content: { title: 'Подтвердите ввод' }, insideModal: true, // флаг, что этот шаг внутри модалки manual: true }, { attachTo: { element: '#report-name-input' }, route: 'report', // страница создания отчёта content: { title: '📝 Название отчёта', description: 'Введите название, чтобы легко находить отчёт позже.' } }, { attachTo: { element: '#save-report-btn' }, route: 'reports.create', content: { title: '💾 Сохранить', description: 'После заполнения всех полей нажмите "Сохранить", чтобы завершить.' } } ] }, // Тур по новой функции "Экспорт" duty: { id: 'featureX', name: 'Новая функция: Экспорт', steps: [ { attachTo: { element: '#export-excel-btn' }, route: 'reports.index', content: { title: '📤 Экспорт в Excel', description: 'Теперь вы можете выгрузить отчёт в Excel одним кликом.' } }, { attachTo: { element: '#export-pdf-btn' }, route: 'reports.index', content: { title: '📄 Экспорт в PDF', description: 'А также сохранить отчёт в формате PDF для печати.' } } ] } }