diff --git a/Website/src/activitys/ModuleViewActivity/tabs/OverviewTab.tsx b/Website/src/activitys/ModuleViewActivity/tabs/OverviewTab.tsx index 5d8d82c2..755b7066 100644 --- a/Website/src/activitys/ModuleViewActivity/tabs/OverviewTab.tsx +++ b/Website/src/activitys/ModuleViewActivity/tabs/OverviewTab.tsx @@ -32,12 +32,35 @@ import { Build } from "@Native/Build"; import { os } from "@Native/Os"; import { useFetch } from "@Hooks/useFetch"; +const colorHandler = (color?: ModuleNoteColors) => { + switch (color) { + case "green": + case "success": + return "success"; + + case "info": + case "blue": + return "info"; + + case "warning": + case "yellow": + return "warning"; + + case "error": + case "red": + return "error"; + + default: + return "info"; + } +}; + const OverviewTab = () => { const { strings } = useStrings(); const { context, extra } = useActivity(); const { settings } = useSettings(); const { modules } = useRepos(); - const { id, name, description, versions, minApi, track } = extra; + const { id, name, description, versions, minApi, note, track } = extra; const { icon, screenshots, require, readme: moduleReadme, categories } = useModuleInfo(extra); @@ -55,6 +78,13 @@ const OverviewTab = () => { return ( <> + {note && ( + + {note.title && {note.title}} + {note.message} + + )} + {isLowQuality && ( {strings("low_quality_module")} diff --git a/Website/src/typings/global.d.ts b/Website/src/typings/global.d.ts index e7c7d3dc..044198ec 100644 --- a/Website/src/typings/global.d.ts +++ b/Website/src/typings/global.d.ts @@ -162,6 +162,13 @@ declare global { description: string; } + export type ModuleNoteColors = "success" | "green" | "info" | "blue" | "warning" | "yellow" | "error" | "red"; + export interface ModuleNote { + title?: string; + message?: string; + color?: ModuleNoteColors; + } + export interface Module extends BaseModule { updateJson?: string; added: number; @@ -185,6 +192,7 @@ declare global { categories?: string[]; stars?: number; readme?: string; + note?: ModuleNote; /** * Non-user definable