31 lines
664 B
TypeScript
31 lines
664 B
TypeScript
import type Shepherd from "shepherd.js";
|
|
|
|
export enum TourId {
|
|
InterfaceAccountSettings = "interface-account-settings",
|
|
InterfaceHomepage = "interface-homepage",
|
|
Introduction = "introduction",
|
|
}
|
|
|
|
export type TourRequirement = {
|
|
mustBeLoggedIn: boolean;
|
|
path: string;
|
|
};
|
|
|
|
export type TourStepEvent = {
|
|
event: "show" | "destroy";
|
|
handler: Parameters<Shepherd.Step["on"]>[1];
|
|
};
|
|
|
|
export type TourData = {
|
|
description: string;
|
|
displayInOptionsPage: boolean;
|
|
eventHandlers: Array<{
|
|
eventHandlers: TourStepEvent[];
|
|
stepId: string;
|
|
}>;
|
|
id: TourId;
|
|
requirements: TourRequirement;
|
|
steps: Shepherd.Step.StepOptions[];
|
|
title: string;
|
|
};
|