diff --git a/external/components b/external/components index 55709411..ab0fc1af 160000 --- a/external/components +++ b/external/components @@ -1 +1 @@ -Subproject commit 557094115d17a363eb6fb8f27c6e697e049ce623 +Subproject commit ab0fc1af739f877c8f416dcd7e47d25aacbb7eea diff --git a/external/lang b/external/lang index 14d51d68..843cece2 160000 --- a/external/lang +++ b/external/lang @@ -1 +1 @@ -Subproject commit 14d51d68a579ee3796837cd16deda4281f83c923 +Subproject commit 843cece2854185651e17765bcb78109d22eba769 diff --git a/external/revolt.js b/external/revolt.js index 044b1b91..ab064f41 160000 --- a/external/revolt.js +++ b/external/revolt.js @@ -1 +1 @@ -Subproject commit 044b1b91ee583bfb89fff140ecda29a32f6535aa +Subproject commit ab064f41a4154acee7c1751ea5b59d9ee4345a0b diff --git a/src/components/common/user/UserIcon.tsx b/src/components/common/user/UserIcon.tsx index 3c96b9a6..fca6cde3 100644 --- a/src/components/common/user/UserIcon.tsx +++ b/src/components/common/user/UserIcon.tsx @@ -25,6 +25,8 @@ export function useStatusColour(user?: User) { return user?.online && user?.status?.presence !== "Invisible" ? user?.status?.presence === "Idle" ? theme.getVariable("status-away") + : user?.status?.presence === "Focus" + ? theme.getVariable("status-focus") : user?.status?.presence === "Busy" ? theme.getVariable("status-busy") : theme.getVariable("status-online") diff --git a/src/components/common/user/UserStatus.tsx b/src/components/common/user/UserStatus.tsx index 36e866c4..137cf630 100644 --- a/src/components/common/user/UserStatus.tsx +++ b/src/components/common/user/UserStatus.tsx @@ -32,6 +32,10 @@ export default observer(({ user, tooltip }: Props) => { return ; } + if (user.status?.presence === "Focus") { + return ; + } + if (user.status?.presence === "Invisible") { return ; } diff --git a/src/context/Theme.tsx b/src/context/Theme.tsx index 9d8ec18b..f079c9e9 100644 --- a/src/context/Theme.tsx +++ b/src/context/Theme.tsx @@ -31,6 +31,7 @@ export type Variables = | "tooltip" | "status-online" | "status-away" + | "status-focus" | "status-busy" | "status-streaming" | "status-invisible"; @@ -283,6 +284,7 @@ export const PRESETS: Record = { "tertiary-foreground": "#3a3a3a", "status-online": "#3ABF7E", "status-away": "#F39F00", + "status-focus": "#4799F0", "status-busy": "#F84848", "status-streaming": "#977EFF", "status-invisible": "#A5A5A5", @@ -310,6 +312,7 @@ export const PRESETS: Record = { "tertiary-foreground": "#848484", "status-online": "#3ABF7E", "status-away": "#F39F00", + "status-focus": "#4799F0", "status-busy": "#F84848", "status-streaming": "#977EFF", "status-invisible": "#A5A5A5", @@ -336,9 +339,8 @@ export const generateVariables = (theme: Theme) => { if (colour) { const [r, g, b] = colour; return `--${key}: ${theme[key]}; --${key}-rgb: ${r}, ${g}, ${b};`; - } - return `--${key}: ${theme[key]};`; - + } + return `--${key}: ${theme[key]};`; }); }; diff --git a/src/lib/ContextMenus.tsx b/src/lib/ContextMenus.tsx index 6aeb7c41..3298a4aa 100644 --- a/src/lib/ContextMenus.tsx +++ b/src/lib/ContextMenus.tsx @@ -1110,6 +1110,15 @@ export default function ContextMenus() {
+ +
+ +