-
@{client.user!.username}
-
+
writeClipboard(client.user!.username)}>
+ }>
+ @{client.user!.username}
+
+
+
contextClick({ action: 'set_status' })}>
@@ -924,23 +931,21 @@ function ContextMenus(props: Props) {
-
>
)}
diff --git a/src/redux/reducers/index.ts b/src/redux/reducers/index.ts
index 029d5f51..979d36eb 100644
--- a/src/redux/reducers/index.ts
+++ b/src/redux/reducers/index.ts
@@ -46,15 +46,3 @@ export type Action =
| NotificationsAction
| SectionToggleAction
| { type: "__INIT"; state: State };
-
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-export function filter(obj: any, keys: string[]) {
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- const newObj: any = {};
- for (const key of keys) {
- const v = obj[key];
- if (v) newObj[key] = v;
- }
-
- return newObj;
-}
diff --git a/src/redux/reducers/settings.ts b/src/redux/reducers/settings.ts
index d5c898f3..65d367ba 100644
--- a/src/redux/reducers/settings.ts
+++ b/src/redux/reducers/settings.ts
@@ -2,7 +2,6 @@ import type { Theme, ThemeOptions } from "../../context/Theme";
import { setEmojiPack } from "../../components/common/Emoji";
-import { filter } from ".";
import type { Sounds } from "../../assets/sounds/Audio";
import type { SyncUpdateAction } from "./sync";
@@ -67,7 +66,7 @@ export function settings(
return {
...state,
theme: {
- ...filter(state.theme, ["custom", "preset", "ligatures"]),
+ ...state.theme,
...action.theme,
},
};
@@ -94,7 +93,7 @@ export function settings(
return {
...state,
appearance: {
- ...filter(state.appearance, ["emojiPack"]),
+ ...state.appearance,
...action.options,
},
};
diff --git a/src/styles/_context-menu.scss b/src/styles/_context-menu.scss
index d5f15ee1..55f82c17 100644
--- a/src/styles/_context-menu.scss
+++ b/src/styles/_context-menu.scss
@@ -1,5 +1,5 @@
.preact-context-menu .context-menu {
- z-index: 10000;
+ z-index: 5000;
min-width: 190px;
padding: 6px 8px;
user-select: none;
@@ -48,9 +48,17 @@
flex-grow: 1;
display: flex;
flex-direction: column;
+
+ .username {
+ > div {
+ cursor: pointer;
+ width: fit-content;
+ }
+ }
}
.status {
+ cursor: pointer;
max-width: 132px;
font-size: .625rem;
color: var(--secondary-foreground);