Files
clinicpro/assets/admin/lib/tour/registry.ts
T
hamed ecdefa3c24 feat(tour): add onboarding tours for various admin pages
- Integrated TourButton component into SettingsMenuPage, SkillsPage, SmsWalletPage, StaffPage, StaffSessionDetailPage, StaffTreatmentSessionsPage, SubscriptionPage, TagsSettingsPage, TreatmentCasesPage to enhance user onboarding experience.
- Created new tour definitions for appointments, clinics, staff management, financial management, and patient management, ensuring comprehensive guidance for users navigating the admin panel.
- Updated documentation to reflect the addition of tours and their implementation details.
2026-08-10 10:10:20 +03:30

99 lines
3.2 KiB
TypeScript

import type { TourDefinition } from './types';
import { appointmentsTour } from './tours/appointments';
import { appointmentDetailTour, reserveAppointmentsTour } from './tours/appointmentsMore';
import { appointmentCreateTour, appointmentEditTour, patientDetailTour } from './tours/patientDetail';
import { myPatientRecordTour, myPatientsTour } from './tours/myPatients';
import { patientsTour } from './tours/patients';
import {
claimDetailTour, claimsTour, discountsTour, insurancePricingTour, myFinancialTour,
myPaymentDetailTour, myPaymentsTour, smsWalletTour, subscriptionTour,
} from './tours/financial';
import {
clinicServicesTour, inventoryTour, resourceDetailTour, resourcePoolsTour, resourceSkillsTour,
resourceTypesTour, resourcesTour, serviceCategoriesTour, serviceDetailTour, treatmentCasesTour,
} from './tours/services';
import {
accountSettingsTour, appointmentSettingsTour, clinicAppointmentSettingsTour, clinicDoctorsTour,
holidaysTour, practiceDomainTour, recordNumberSettingsTour, settingsMenuTour, tagsSettingsTour,
} from './tours/settings';
import {
clinicDetailTour, clinicsTour, dashboardTour, doctorDetailTour, doctorFormTour, doctorsTour,
mySecretariesTour, secretaryEarningsTour, secretarySettlementTour, staffSessionDetailTour,
staffSessionsTour, staffTour,
} from './tours/clinicStaff';
import {
patientRecordFormTour, representationBlogFormTour, representationBlogsTour,
representationFinanceTour, representationProfileTour, representationSettlementTour,
sessionEditTour, sessionNewTour, sessionPaymentTour,
} from './tours/sessionsAndRepresentation';
/** هر صفحه تور خودش را در tours/ دارد و فقط اینجا ثبت می‌شود. */
const ALL: TourDefinition[] = [
appointmentsTour,
appointmentDetailTour,
reserveAppointmentsTour,
appointmentCreateTour,
appointmentEditTour,
patientsTour,
patientDetailTour,
myPatientsTour,
myPatientRecordTour,
myPaymentsTour,
myPaymentDetailTour,
myFinancialTour,
claimsTour,
claimDetailTour,
insurancePricingTour,
discountsTour,
subscriptionTour,
smsWalletTour,
clinicServicesTour,
serviceDetailTour,
serviceCategoriesTour,
resourcesTour,
resourceTypesTour,
resourcePoolsTour,
resourceSkillsTour,
resourceDetailTour,
inventoryTour,
treatmentCasesTour,
settingsMenuTour,
accountSettingsTour,
tagsSettingsTour,
recordNumberSettingsTour,
appointmentSettingsTour,
clinicAppointmentSettingsTour,
holidaysTour,
practiceDomainTour,
clinicDoctorsTour,
dashboardTour,
clinicsTour,
clinicDetailTour,
doctorsTour,
doctorDetailTour,
doctorFormTour,
mySecretariesTour,
staffTour,
staffSessionsTour,
staffSessionDetailTour,
secretaryEarningsTour,
secretarySettlementTour,
sessionNewTour,
sessionEditTour,
sessionPaymentTour,
patientRecordFormTour,
representationBlogsTour,
representationBlogFormTour,
representationFinanceTour,
representationProfileTour,
representationSettlementTour,
];
export const TOURS: Record<string, TourDefinition> = Object.fromEntries(
ALL.map((tour) => [tour.id, tour]),
);
export function getTour(id?: string): TourDefinition | null {
return id ? TOURS[id] ?? null : null;
}