feat(discord): add option to display artist/title in status (#3692)

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: JellyBrick <shlee1503@naver.com>
This commit is contained in:
pynappo
2025-09-04 23:58:26 -07:00
committed by GitHub
parent f31053cf3c
commit 8e4e2c42f6
5 changed files with 47 additions and 2 deletions

View File

@ -12,11 +12,18 @@ import type { MenuContext } from '@/types/contexts';
import type { DiscordPluginConfig } from './index';
import type { MenuTemplate } from '@/menu';
import { DiscordStatusDisplayType } from './constants';
const registerRefreshOnce = singleton((refreshMenu: () => void) => {
discordService?.registerRefreshCallback(refreshMenu);
});
const DiscordStatusDisplayTypeLabels = {
[DiscordStatusDisplayType.YOUTUBE_MUSIC]: "plugins.discord.menu.set-status-display-type.submenu.youtube-music",
[DiscordStatusDisplayType.ARTIST]: "plugins.discord.menu.set-status-display-type.submenu.artist",
[DiscordStatusDisplayType.TITLE]: "plugins.discord.menu.set-status-display-type.submenu.title",
}
export const onMenu = async ({
window,
getConfig,
@ -92,6 +99,19 @@ export const onMenu = async ({
label: t('plugins.discord.menu.set-inactivity-timeout'),
click: () => setInactivityTimeout(window, config),
},
{
label: t('plugins.discord.menu.set-status-display-type.label'),
submenu: Object.values(DiscordStatusDisplayType).map((statusDisplayType) => ({
label: t(DiscordStatusDisplayTypeLabels[statusDisplayType]),
type: 'radio',
checked: config.statusDisplayType == statusDisplayType,
click() {
setConfig({
statusDisplayType
});
},
})),
},
];
};