app/src/model/routing.ts
Thiago Chaves a8f3bbac49 Refactor hook names and make their usage more uniform
Also ensure that potential "loading" states and IndexedDB
error states are marked to be handled properly
2022-08-29 21:43:52 +03:00

38 lines
881 B
TypeScript

import { createContext } from "react";
export enum AppPath {
Home = "/",
ExpressionSets = "expression-sets",
// ExpressionSetsSettings = "expression-sets/settings",
ExpressionSetsPractice = "expression-sets/practice",
ExpressionSetsDetails = "expression-sets/details",
Settings = "settings",
CardsList = "settings/cards",
CardView = "settings/view-card",
CreateCards = "settings/create-cards",
}
export interface RouteOptions {
// Used in cards view
expression_id?: number;
// Used in practice view
expression_set_id?: number;
expression_id_filters?: number[];
}
export interface AppRoute {
path: AppPath;
options?: RouteOptions;
}
interface AppRoutingType {
route: AppRoute;
setRoute(value: AppRoute): void;
}
export const AppRouting = createContext<AppRoutingType>({
route: { path: AppPath.Home },
setRoute(_value: AppRoute) {},
});