diff --git a/backend/src/api/docs.ts b/backend/src/api/docs.ts
index cee346a0..8bc1b049 100644
--- a/backend/src/api/docs.ts
+++ b/backend/src/api/docs.ts
@@ -98,13 +98,13 @@ function formatZodConfigSchema(schema: z.ZodTypeAny) {
}
export function initDocs(router: express.Router) {
- const docsPluginNames = Object.keys(guildPluginInfo).filter((k) => guildPluginInfo[k].showInDocs);
+ const docsPluginNames = Object.keys(guildPluginInfo).filter((k) => guildPluginInfo[k].type === "stable" || guildPluginInfo[k].type === "legacy");
router.get("/docs/plugins", (req: express.Request, res: express.Response) => {
res.json(
docsPluginNames.map((pluginName) => {
- const info = guildPluginInfo[pluginName];
- const thinInfo = info ? { prettyName: info.prettyName, legacy: info.legacy ?? false } : {};
+ const info = guildPluginInfo[pluginName]!;
+ const thinInfo = { prettyName: info.prettyName, type: info.type };
return {
name: pluginName,
info: thinInfo,
diff --git a/backend/src/plugins/AutoDelete/info.ts b/backend/src/plugins/AutoDelete/info.ts
index dc4ac730..36c95fd5 100644
--- a/backend/src/plugins/AutoDelete/info.ts
+++ b/backend/src/plugins/AutoDelete/info.ts
@@ -2,7 +2,7 @@ import { ZeppelinPluginInfo } from "../../types.js";
import { zAutoDeleteConfig } from "./types.js";
export const autoDeletePluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Auto-delete",
description: "Allows Zeppelin to auto-delete messages from a channel after a delay",
configurationGuide: "Maximum deletion delay is currently 5 minutes",
diff --git a/backend/src/plugins/AutoReactions/info.ts b/backend/src/plugins/AutoReactions/info.ts
index a2817502..60ff9504 100644
--- a/backend/src/plugins/AutoReactions/info.ts
+++ b/backend/src/plugins/AutoReactions/info.ts
@@ -3,7 +3,7 @@ import { trimPluginDescription } from "../../utils.js";
import { zAutoReactionsConfig } from "./types.js";
export const autoReactionsInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Auto-reactions",
description: trimPluginDescription(`
Allows setting up automatic reactions to all new messages on a channel
diff --git a/backend/src/plugins/Automod/info.ts b/backend/src/plugins/Automod/info.ts
index 5c3efeaf..8d83e23b 100644
--- a/backend/src/plugins/Automod/info.ts
+++ b/backend/src/plugins/Automod/info.ts
@@ -3,7 +3,7 @@ import { trimPluginDescription } from "../../utils.js";
import { zAutomodConfig } from "./types.js";
export const automodPluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Automod",
configSchema: zAutomodConfig,
description: trimPluginDescription(`
diff --git a/backend/src/plugins/Cases/info.ts b/backend/src/plugins/Cases/info.ts
index 4cda78db..c30abb29 100644
--- a/backend/src/plugins/Cases/info.ts
+++ b/backend/src/plugins/Cases/info.ts
@@ -3,7 +3,7 @@ import { trimPluginDescription } from "../../utils.js";
import { zCasesConfig } from "./types.js";
export const casesPluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Cases",
configSchema: zCasesConfig,
description: trimPluginDescription(`
diff --git a/backend/src/plugins/Censor/info.ts b/backend/src/plugins/Censor/info.ts
index 3cb0cc5f..abe70c10 100644
--- a/backend/src/plugins/Censor/info.ts
+++ b/backend/src/plugins/Censor/info.ts
@@ -3,8 +3,7 @@ import { trimPluginDescription } from "../../utils.js";
import { zCensorConfig } from "./types.js";
export const censorPluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
- legacy: true,
+ type: "legacy",
prettyName: "Censor",
configSchema: zCensorConfig,
description: trimPluginDescription(`
diff --git a/backend/src/plugins/CompanionChannels/info.ts b/backend/src/plugins/CompanionChannels/info.ts
index d4fb7860..59b5c487 100644
--- a/backend/src/plugins/CompanionChannels/info.ts
+++ b/backend/src/plugins/CompanionChannels/info.ts
@@ -3,7 +3,7 @@ import { trimPluginDescription } from "../../utils.js";
import { zCompanionChannelsConfig } from "./types.js";
export const companionChannelsPluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Companion channels",
configSchema: zCompanionChannelsConfig,
description: trimPluginDescription(`
diff --git a/backend/src/plugins/ContextMenus/info.ts b/backend/src/plugins/ContextMenus/info.ts
index 508ca811..8922d705 100644
--- a/backend/src/plugins/ContextMenus/info.ts
+++ b/backend/src/plugins/ContextMenus/info.ts
@@ -2,7 +2,7 @@ import { ZeppelinPluginInfo } from "../../types.js";
import { zContextMenusConfig } from "./types.js";
export const contextMenuPluginInfo: ZeppelinPluginInfo = {
- showInDocs: false,
+ type: "stable",
prettyName: "Context menu",
configSchema: zContextMenusConfig,
};
diff --git a/backend/src/plugins/Counters/info.ts b/backend/src/plugins/Counters/info.ts
index abf07c70..a0aa90af 100644
--- a/backend/src/plugins/Counters/info.ts
+++ b/backend/src/plugins/Counters/info.ts
@@ -3,7 +3,7 @@ import { zCountersConfig } from "./types.js";
export const countersPluginInfo: ZeppelinPluginInfo = {
prettyName: "Counters",
- showInDocs: true,
+ type: "stable",
description:
"Keep track of per-user, per-channel, or global numbers and trigger specific actions based on this number",
configurationGuide: "See Counters setup guide",
diff --git a/backend/src/plugins/CustomEvents/info.ts b/backend/src/plugins/CustomEvents/info.ts
index f9a8cec0..82aae5a7 100644
--- a/backend/src/plugins/CustomEvents/info.ts
+++ b/backend/src/plugins/CustomEvents/info.ts
@@ -3,6 +3,6 @@ import { zCustomEventsConfig } from "./types.js";
export const customEventsPluginInfo: ZeppelinPluginInfo = {
prettyName: "Custom events",
- showInDocs: false,
+ type: "internal",
configSchema: zCustomEventsConfig,
};
diff --git a/backend/src/plugins/GuildConfigReloader/info.ts b/backend/src/plugins/GuildConfigReloader/info.ts
index 00aaa653..36d4309c 100644
--- a/backend/src/plugins/GuildConfigReloader/info.ts
+++ b/backend/src/plugins/GuildConfigReloader/info.ts
@@ -3,6 +3,6 @@ import { zGuildConfigReloaderPlugin } from "./types.js";
export const guildConfigReloaderPluginInfo: ZeppelinPluginInfo = {
prettyName: "Guild config reloader",
- showInDocs: false,
+ type: "internal",
configSchema: zGuildConfigReloaderPlugin,
};
diff --git a/backend/src/plugins/GuildInfoSaver/info.ts b/backend/src/plugins/GuildInfoSaver/info.ts
index 7256e8cc..1ea148d5 100644
--- a/backend/src/plugins/GuildInfoSaver/info.ts
+++ b/backend/src/plugins/GuildInfoSaver/info.ts
@@ -3,6 +3,6 @@ import { zGuildInfoSaverConfig } from "./types.js";
export const guildInfoSaverPluginInfo: ZeppelinPluginInfo = {
prettyName: "Guild info saver",
- showInDocs: false,
+ type: "internal",
configSchema: zGuildInfoSaverConfig,
};
diff --git a/backend/src/plugins/GuildMemberCache/info.ts b/backend/src/plugins/GuildMemberCache/info.ts
index 8b2da421..dc8857c0 100644
--- a/backend/src/plugins/GuildMemberCache/info.ts
+++ b/backend/src/plugins/GuildMemberCache/info.ts
@@ -3,6 +3,6 @@ import { zGuildMemberCacheConfig } from "./types.js";
export const guildMemberCachePluginInfo: ZeppelinPluginInfo = {
prettyName: "Guild member cache",
- showInDocs: false,
+ type: "internal",
configSchema: zGuildMemberCacheConfig,
};
diff --git a/backend/src/plugins/InternalPoster/info.ts b/backend/src/plugins/InternalPoster/info.ts
index 35870b23..33d33168 100644
--- a/backend/src/plugins/InternalPoster/info.ts
+++ b/backend/src/plugins/InternalPoster/info.ts
@@ -3,6 +3,6 @@ import { zInternalPosterConfig } from "./types.js";
export const internalPosterPluginInfo: ZeppelinPluginInfo = {
prettyName: "Internal poster",
- showInDocs: false,
+ type: "internal",
configSchema: zInternalPosterConfig,
};
diff --git a/backend/src/plugins/LocateUser/info.ts b/backend/src/plugins/LocateUser/info.ts
index ee7cc3f7..e7b06582 100644
--- a/backend/src/plugins/LocateUser/info.ts
+++ b/backend/src/plugins/LocateUser/info.ts
@@ -4,11 +4,11 @@ import { zLocateUserConfig } from "./types.js";
export const locateUserPluginInfo: ZeppelinPluginInfo = {
prettyName: "Locate user",
+ type: "stable",
description: trimPluginDescription(`
This plugin allows users with access to the commands the following:
* Instantly receive an invite to the voice channel of a user
* Be notified as soon as a user switches or joins a voice channel
`),
configSchema: zLocateUserConfig,
- showInDocs: true,
};
diff --git a/backend/src/plugins/Logs/info.ts b/backend/src/plugins/Logs/info.ts
index 6d9f200a..f16862ba 100644
--- a/backend/src/plugins/Logs/info.ts
+++ b/backend/src/plugins/Logs/info.ts
@@ -4,5 +4,5 @@ import { zLogsConfig } from "./types.js";
export const logsPluginInfo: ZeppelinPluginInfo = {
prettyName: "Logs",
configSchema: zLogsConfig,
- showInDocs: true,
+ type: "stable",
};
diff --git a/backend/src/plugins/MessageSaver/info.ts b/backend/src/plugins/MessageSaver/info.ts
index 7d62a72a..3402a22c 100644
--- a/backend/src/plugins/MessageSaver/info.ts
+++ b/backend/src/plugins/MessageSaver/info.ts
@@ -3,6 +3,6 @@ import { zMessageSaverConfig } from "./types.js";
export const messageSaverPluginInfo: ZeppelinPluginInfo = {
prettyName: "Message saver",
- showInDocs: false,
+ type: "internal",
configSchema: zMessageSaverConfig,
};
diff --git a/backend/src/plugins/ModActions/info.ts b/backend/src/plugins/ModActions/info.ts
index 736de0ce..c293ce07 100644
--- a/backend/src/plugins/ModActions/info.ts
+++ b/backend/src/plugins/ModActions/info.ts
@@ -4,7 +4,7 @@ import { zModActionsConfig } from "./types.js";
export const modActionsPluginInfo: ZeppelinPluginInfo = {
prettyName: "Mod actions",
- showInDocs: true,
+ type: "stable",
description: trimPluginDescription(`
This plugin contains the 'typical' mod actions such as warning, muting, kicking, banning, etc.
`),
diff --git a/backend/src/plugins/Mutes/info.ts b/backend/src/plugins/Mutes/info.ts
index 6654afed..7bfda480 100644
--- a/backend/src/plugins/Mutes/info.ts
+++ b/backend/src/plugins/Mutes/info.ts
@@ -3,6 +3,6 @@ import { zMutesConfig } from "./types.js";
export const mutesPluginInfo: ZeppelinPluginInfo = {
prettyName: "Mutes",
- showInDocs: true,
+ type: "stable",
configSchema: zMutesConfig,
};
diff --git a/backend/src/plugins/NameHistory/info.ts b/backend/src/plugins/NameHistory/info.ts
index 985652dd..aafae4be 100644
--- a/backend/src/plugins/NameHistory/info.ts
+++ b/backend/src/plugins/NameHistory/info.ts
@@ -3,6 +3,6 @@ import { zNameHistoryConfig } from "./types.js";
export const nameHistoryPluginInfo: ZeppelinPluginInfo = {
prettyName: "Name history",
- showInDocs: false,
+ type: "internal",
configSchema: zNameHistoryConfig,
};
diff --git a/backend/src/plugins/Persist/info.ts b/backend/src/plugins/Persist/info.ts
index 122b3eeb..da406eff 100644
--- a/backend/src/plugins/Persist/info.ts
+++ b/backend/src/plugins/Persist/info.ts
@@ -9,5 +9,5 @@ export const persistPluginInfo: ZeppelinPluginInfo = {
Mute roles are re-applied automatically, this plugin is not required for that.
`),
configSchema: zPersistConfig,
- showInDocs: true,
+ type: "stable",
};
diff --git a/backend/src/plugins/Phisherman/info.ts b/backend/src/plugins/Phisherman/info.ts
index 88922112..a1231959 100644
--- a/backend/src/plugins/Phisherman/info.ts
+++ b/backend/src/plugins/Phisherman/info.ts
@@ -4,6 +4,7 @@ import { zPhishermanConfig } from "./types.js";
export const phishermanPluginInfo: ZeppelinPluginInfo = {
prettyName: "Phisherman",
+ type: "stable",
description: trimPluginDescription(`
Match scam/phishing links using the Phisherman API. See https://phisherman.gg/ for more details!
`),
@@ -40,5 +41,4 @@ export const phishermanPluginInfo: ZeppelinPluginInfo = {
~~~
`),
configSchema: zPhishermanConfig,
- showInDocs: true,
};
diff --git a/backend/src/plugins/PingableRoles/info.ts b/backend/src/plugins/PingableRoles/info.ts
index f0823fc8..bd7f4237 100644
--- a/backend/src/plugins/PingableRoles/info.ts
+++ b/backend/src/plugins/PingableRoles/info.ts
@@ -4,5 +4,5 @@ import { zPingableRolesConfig } from "./types.js";
export const pingableRolesPluginInfo: ZeppelinPluginInfo = {
prettyName: "Pingable roles",
configSchema: zPingableRolesConfig,
- showInDocs: true,
+ type: "stable",
};
diff --git a/backend/src/plugins/Post/info.ts b/backend/src/plugins/Post/info.ts
index 94b30941..9a9dc9a9 100644
--- a/backend/src/plugins/Post/info.ts
+++ b/backend/src/plugins/Post/info.ts
@@ -4,5 +4,5 @@ import { zPostConfig } from "./types.js";
export const postPluginInfo: ZeppelinPluginInfo = {
prettyName: "Post",
configSchema: zPostConfig,
- showInDocs: true,
+ type: "stable",
};
diff --git a/backend/src/plugins/ReactionRoles/info.ts b/backend/src/plugins/ReactionRoles/info.ts
index 6cc21dd3..a89bbcd3 100644
--- a/backend/src/plugins/ReactionRoles/info.ts
+++ b/backend/src/plugins/ReactionRoles/info.ts
@@ -4,7 +4,6 @@ import { zReactionRolesConfig } from "./types.js";
export const reactionRolesPluginInfo: ZeppelinPluginInfo = {
prettyName: "Reaction roles",
description: "Consider using the [Role buttons](https://zeppelin.gg/docs/plugins/role_buttons) plugin instead.",
- legacy: true,
+ type: "legacy",
configSchema: zReactionRolesConfig,
- showInDocs: true,
};
diff --git a/backend/src/plugins/Reminders/info.ts b/backend/src/plugins/Reminders/info.ts
index 02f04cac..c010791c 100644
--- a/backend/src/plugins/Reminders/info.ts
+++ b/backend/src/plugins/Reminders/info.ts
@@ -4,5 +4,5 @@ import { zRemindersConfig } from "./types.js";
export const remindersPluginInfo: ZeppelinPluginInfo = {
prettyName: "Reminders",
configSchema: zRemindersConfig,
- showInDocs: true,
+ type: "stable",
};
diff --git a/backend/src/plugins/RoleButtons/info.ts b/backend/src/plugins/RoleButtons/info.ts
index 7eaedaba..14a13931 100644
--- a/backend/src/plugins/RoleButtons/info.ts
+++ b/backend/src/plugins/RoleButtons/info.ts
@@ -3,7 +3,7 @@ import { trimPluginDescription } from "../../utils.js";
import { zRoleButtonsConfig } from "./types.js";
export const roleButtonsPluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Role buttons",
description: trimPluginDescription(`
Allow users to pick roles by clicking on buttons
diff --git a/backend/src/plugins/RoleManager/info.ts b/backend/src/plugins/RoleManager/info.ts
index 9b532990..b1da2150 100644
--- a/backend/src/plugins/RoleManager/info.ts
+++ b/backend/src/plugins/RoleManager/info.ts
@@ -3,6 +3,6 @@ import { zRoleManagerConfig } from "./types.js";
export const roleManagerPluginInfo: ZeppelinPluginInfo = {
prettyName: "Role manager",
- showInDocs: false,
+ type: "internal",
configSchema: zRoleManagerConfig,
};
diff --git a/backend/src/plugins/Roles/info.ts b/backend/src/plugins/Roles/info.ts
index d946bf4f..808c843a 100644
--- a/backend/src/plugins/Roles/info.ts
+++ b/backend/src/plugins/Roles/info.ts
@@ -3,7 +3,7 @@ import { trimPluginDescription } from "../../utils.js";
import { zRolesConfig } from "./types.js";
export const rolesPluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Roles",
description: trimPluginDescription(`
Enables authorised users to add and remove whitelisted roles with a command.
diff --git a/backend/src/plugins/SelfGrantableRoles/info.ts b/backend/src/plugins/SelfGrantableRoles/info.ts
index 40b6d451..c9c8b6f0 100644
--- a/backend/src/plugins/SelfGrantableRoles/info.ts
+++ b/backend/src/plugins/SelfGrantableRoles/info.ts
@@ -3,7 +3,7 @@ import { trimPluginDescription } from "../../utils.js";
import { zSelfGrantableRolesConfig } from "./types.js";
export const selfGrantableRolesPluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Self-grantable roles",
description: trimPluginDescription(`
Allows users to grant themselves roles via a command
diff --git a/backend/src/plugins/Slowmode/info.ts b/backend/src/plugins/Slowmode/info.ts
index b223b39c..3e303b56 100644
--- a/backend/src/plugins/Slowmode/info.ts
+++ b/backend/src/plugins/Slowmode/info.ts
@@ -2,7 +2,7 @@ import { ZeppelinPluginInfo } from "../../types.js";
import { zSlowmodeConfig } from "./types.js";
export const slowmodePluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Slowmode",
configSchema: zSlowmodeConfig,
};
diff --git a/backend/src/plugins/Spam/info.ts b/backend/src/plugins/Spam/info.ts
index 7b3bac6a..f5b02651 100644
--- a/backend/src/plugins/Spam/info.ts
+++ b/backend/src/plugins/Spam/info.ts
@@ -3,12 +3,11 @@ import { trimPluginDescription } from "../../utils.js";
import { zSpamConfig } from "./types.js";
export const spamPluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "legacy",
prettyName: "Spam protection",
description: trimPluginDescription(`
Basic spam detection and auto-muting.
For more advanced spam filtering, check out the Automod plugin!
`),
- legacy: true,
configSchema: zSpamConfig,
};
diff --git a/backend/src/plugins/Starboard/info.ts b/backend/src/plugins/Starboard/info.ts
index bc51d961..aea2929c 100644
--- a/backend/src/plugins/Starboard/info.ts
+++ b/backend/src/plugins/Starboard/info.ts
@@ -3,7 +3,7 @@ import { trimPluginDescription } from "../../utils.js";
import { zStarboardConfig } from "./types.js";
export const starboardPluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Starboard",
description: trimPluginDescription(`
This plugin allows you to set up starboards on your server. Starboards are like user voted pins where messages with enough reactions get immortalized on a "starboard" channel.
diff --git a/backend/src/plugins/Tags/info.ts b/backend/src/plugins/Tags/info.ts
index 0b7b7b12..6ee8f4c3 100644
--- a/backend/src/plugins/Tags/info.ts
+++ b/backend/src/plugins/Tags/info.ts
@@ -4,7 +4,7 @@ import { TemplateFunctions } from "./templateFunctions.js";
import { TemplateFunction, zTagsConfig } from "./types.js";
export const tagsPluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Tags",
description: "Tags are a way to store and reuse information.",
configurationGuide: trimPluginDescription(`
diff --git a/backend/src/plugins/TimeAndDate/info.ts b/backend/src/plugins/TimeAndDate/info.ts
index 3ce217e6..a7388fee 100644
--- a/backend/src/plugins/TimeAndDate/info.ts
+++ b/backend/src/plugins/TimeAndDate/info.ts
@@ -3,7 +3,7 @@ import { trimPluginDescription } from "../../utils.js";
import { zTimeAndDateConfig } from "./types.js";
export const timeAndDatePluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Time and date",
description: trimPluginDescription(`
Allows controlling the displayed time/date formats and timezones
diff --git a/backend/src/plugins/UsernameSaver/info.ts b/backend/src/plugins/UsernameSaver/info.ts
index 68a65f31..898909da 100644
--- a/backend/src/plugins/UsernameSaver/info.ts
+++ b/backend/src/plugins/UsernameSaver/info.ts
@@ -2,7 +2,7 @@ import { ZeppelinPluginInfo } from "../../types.js";
import { zUsernameSaverConfig } from "./types.js";
export const usernameSaverPluginInfo: ZeppelinPluginInfo = {
- showInDocs: false,
+ type: "internal",
prettyName: "Username saver",
configSchema: zUsernameSaverConfig,
};
diff --git a/backend/src/plugins/Utility/info.ts b/backend/src/plugins/Utility/info.ts
index 9fea0438..f7a562c1 100644
--- a/backend/src/plugins/Utility/info.ts
+++ b/backend/src/plugins/Utility/info.ts
@@ -2,7 +2,7 @@ import { ZeppelinPluginInfo } from "../../types.js";
import { zUtilityConfig } from "./types.js";
export const utilityPluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Utility",
configSchema: zUtilityConfig,
};
diff --git a/backend/src/plugins/WelcomeMessage/info.ts b/backend/src/plugins/WelcomeMessage/info.ts
index a8a4c339..f3e529b2 100644
--- a/backend/src/plugins/WelcomeMessage/info.ts
+++ b/backend/src/plugins/WelcomeMessage/info.ts
@@ -2,7 +2,7 @@ import { ZeppelinPluginInfo } from "../../types.js";
import { zWelcomeMessageConfig } from "./types.js";
export const welcomeMessagePluginInfo: ZeppelinPluginInfo = {
- showInDocs: true,
+ type: "stable",
prettyName: "Welcome message",
configSchema: zWelcomeMessageConfig,
};
diff --git a/backend/src/types.ts b/backend/src/types.ts
index 25319889..522ec812 100644
--- a/backend/src/types.ts
+++ b/backend/src/types.ts
@@ -33,14 +33,15 @@ export type TZeppelinKnub = Knub;
*/
export type TMarkdown = string;
+export type ZeppelinPluginType = "stable" | "legacy" | "internal";
+
export interface ZeppelinPluginInfo {
- showInDocs: boolean;
+ type: ZeppelinPluginType;
prettyName: string;
configSchema: ZodTypeAny;
description?: TMarkdown;
usageGuide?: TMarkdown;
configurationGuide?: TMarkdown;
- legacy?: boolean;
}
export interface CommandInfo {
diff --git a/dashboard/src/components/docs/DocsLayout.vue b/dashboard/src/components/docs/DocsLayout.vue
index be7e8e5e..838f05be 100644
--- a/dashboard/src/components/docs/DocsLayout.vue
+++ b/dashboard/src/components/docs/DocsLayout.vue
@@ -156,14 +156,14 @@
...menu,
{
label: 'Plugins',
- items: this.plugins.filter(plugin => !plugin.info.legacy).map(plugin => ({
+ items: this.plugins.filter(plugin => plugin.info.type === "stable").map(plugin => ({
label: plugin.info.prettyName || plugin.name,
to: `/docs/plugins/${plugin.name}`,
})),
},
{
label: "Legacy Plugins",
- items: this.plugins.filter(plugin => plugin.info.legacy).map(plugin => ({
+ items: this.plugins.filter(plugin => plugin.info.type === "legacy").map(plugin => ({
label: plugin.info.prettyName || plugin.name,
to: `/docs/plugins/${plugin.name}`,
})),
diff --git a/dashboard/src/components/docs/Plugin.vue b/dashboard/src/components/docs/Plugin.vue
index 4023ebab..2bfdcfb2 100644
--- a/dashboard/src/components/docs/Plugin.vue
+++ b/dashboard/src/components/docs/Plugin.vue
@@ -8,16 +8,13 @@