|
|
@ -23,7 +23,7 @@ import { Settings } from "@api/Settings";
|
|
|
|
import ErrorBoundary from "@components/ErrorBoundary";
|
|
|
|
import ErrorBoundary from "@components/ErrorBoundary";
|
|
|
|
import { Devs } from "@utils/constants";
|
|
|
|
import { Devs } from "@utils/constants";
|
|
|
|
import definePlugin, { OptionType } from "@utils/types";
|
|
|
|
import definePlugin, { OptionType } from "@utils/types";
|
|
|
|
import { findByCodeLazy, findStoreLazy } from "@webpack";
|
|
|
|
import { findByPropsLazy, findStoreLazy } from "@webpack";
|
|
|
|
import { PresenceStore, Tooltip, UserStore } from "@webpack/common";
|
|
|
|
import { PresenceStore, Tooltip, UserStore } from "@webpack/common";
|
|
|
|
import { User } from "discord-types/general";
|
|
|
|
import { User } from "discord-types/general";
|
|
|
|
|
|
|
|
|
|
|
@ -55,13 +55,13 @@ const Icons = {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
type Platform = keyof typeof Icons;
|
|
|
|
type Platform = keyof typeof Icons;
|
|
|
|
|
|
|
|
|
|
|
|
const getStatusColor = findByCodeLazy(".TWITCH", ".STREAMING", ".INVISIBLE");
|
|
|
|
const StatusUtils = findByPropsLazy("getStatusColor", "StatusTypes");
|
|
|
|
|
|
|
|
|
|
|
|
const PlatformIcon = ({ platform, status, small }: { platform: Platform, status: string; small: boolean; }) => {
|
|
|
|
const PlatformIcon = ({ platform, status, small }: { platform: Platform, status: string; small: boolean; }) => {
|
|
|
|
const tooltip = platform[0].toUpperCase() + platform.slice(1);
|
|
|
|
const tooltip = platform[0].toUpperCase() + platform.slice(1);
|
|
|
|
const Icon = Icons[platform] ?? Icons.desktop;
|
|
|
|
const Icon = Icons[platform] ?? Icons.desktop;
|
|
|
|
|
|
|
|
|
|
|
|
return <Icon color={`var(--${getStatusColor(status)}`} tooltip={tooltip} small={small} />;
|
|
|
|
return <Icon color={`var(--${StatusUtils.getStatusColor(status)}`} tooltip={tooltip} small={small} />;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const getStatus = (id: string): Record<Platform, string> => PresenceStore.getState()?.clientStatuses?.[id];
|
|
|
|
const getStatus = (id: string): Record<Platform, string> => PresenceStore.getState()?.clientStatuses?.[id];
|
|
|
|