73 lines
1.7 KiB
TypeScript
73 lines
1.7 KiB
TypeScript
"use client";
|
|
|
|
import React, { useEffect } from "react";
|
|
import { TourGuide } from "./TourGuide";
|
|
import { useHelpStore } from "../lib/help-store";
|
|
import { WELCOME_TOUR_STEPS } from "../lib/tours";
|
|
|
|
export function WelcomeTour() {
|
|
const { hasSeenWelcomeTour, autoShowTours, markTourAsSeen } = useHelpStore();
|
|
|
|
// Ne pas afficher si déjà vu ou si les tours sont désactivés
|
|
if (hasSeenWelcomeTour || !autoShowTours) {
|
|
return null;
|
|
}
|
|
|
|
const handleComplete = () => {
|
|
markTourAsSeen("welcome");
|
|
};
|
|
|
|
const handleSkip = () => {
|
|
markTourAsSeen("welcome");
|
|
};
|
|
|
|
return (
|
|
<TourGuide
|
|
steps={WELCOME_TOUR_STEPS}
|
|
open={!hasSeenWelcomeTour && autoShowTours}
|
|
onOpenChange={(open) => {
|
|
if (!open) {
|
|
markTourAsSeen("welcome");
|
|
}
|
|
}}
|
|
onComplete={handleComplete}
|
|
onSkip={handleSkip}
|
|
closeOnOutsideClick={false}
|
|
showProgress={true}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export function CorrelationTour() {
|
|
const { hasSeenCorrelationTour, autoShowTours, markTourAsSeen } = useHelpStore();
|
|
|
|
if (hasSeenCorrelationTour || !autoShowTours) {
|
|
return null;
|
|
}
|
|
|
|
// Ce tour sera déclenché manuellement depuis l'onglet corrélation
|
|
return null;
|
|
}
|
|
|
|
export function RegressionTour() {
|
|
const { hasSeenRegressionTour, autoShowTours, markTourAsSeen } = useHelpStore();
|
|
|
|
if (hasSeenRegressionTour || !autoShowTours) {
|
|
return null;
|
|
}
|
|
|
|
// Ce tour sera déclenché manuellement depuis la config de régression
|
|
return null;
|
|
}
|
|
|
|
export function OutlierTour() {
|
|
const { hasSeenOutlierTour, autoShowTours, markTourAsSeen } = useHelpStore();
|
|
|
|
if (hasSeenOutlierTour || !autoShowTours) {
|
|
return null;
|
|
}
|
|
|
|
// Ce tour sera déclenché manuellement depuis la grille
|
|
return null;
|
|
}
|