2022-05-08 20:54:40 +02:00
|
|
|
// This interface is to be used in all the modules of the project
|
|
|
|
|
// Each module should have its own interface and call the following function:
|
|
|
|
|
// TODO: Add a function to register a module
|
|
|
|
|
// Note: Maybe use context to keep track of the modules
|
2022-05-10 18:56:16 +02:00
|
|
|
export interface IModule {
|
2022-05-08 20:54:40 +02:00
|
|
|
title: string;
|
|
|
|
|
description: string;
|
|
|
|
|
icon: React.ReactNode;
|
|
|
|
|
component: React.ComponentType;
|
2022-05-18 22:11:37 +02:00
|
|
|
options?: Option;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
interface Option {
|
|
|
|
|
[x: string]: OptionValues;
|
|
|
|
|
}
|
|
|
|
|
|
2022-05-22 20:42:10 +02:00
|
|
|
export interface OptionValues {
|
2022-05-18 22:11:37 +02:00
|
|
|
name: string;
|
2022-06-28 11:27:23 +02:00
|
|
|
value: boolean | string | string[];
|
|
|
|
|
options?: string[];
|
2022-05-08 20:54:40 +02:00
|
|
|
}
|