voice.toggleFocus(track)}
- use:floating={
- isScreenShare()
- ? undefined
- : {
- // TODO: Conflicts with focusing, maybe only show if clicking name itself
- // userCard: {
- // user: user().user!,
- // member: user().member,
- // },
- contextMenu: () => (
-
- ),
- }
- }
- style={{ ...getHeight() }}
- >
-
-
-
+
+ voice.toggleFocus(track)}
+ use:floating={
+ isScreenShare()
+ ? undefined
+ : {
+ // TODO: Conflicts with focusing, maybe only show if clicking name itself
+ // userCard: {
+ // user: user().user!,
+ // member: user().member,
+ // },
+ contextMenu: () => (
+
+ ),
+ }
}
+ style={{ ...getHeight() }}
>
-
{
- setVideoDims({
- height: videoRef?.videoHeight || 0,
- width: videoRef?.videoWidth || 0,
- });
- }}
- />
-
-
-
- {user().username}
-
- {isScreenShare() ? (
-
- no_sound
-
- ) : (
-
+
- )}
-
-
-
-
+
+ }
+ >
+ {
+ setVideoDims({
+ height: videoRef?.videoHeight || 0,
+ width: videoRef?.videoWidth || 0,
+ });
+ }}
+ />
+
+
+
+ {user().username}
+
+ {isScreenShare() ? (
+
+ no_sound
+
+ ) : (
+
+ )}
+
+
+
+
+
);
}
diff --git a/packages/client/components/ui/components/utils/Form2.tsx b/packages/client/components/ui/components/utils/Form2.tsx
index f4b4fc2f6..0e34bb5b4 100644
--- a/packages/client/components/ui/components/utils/Form2.tsx
+++ b/packages/client/components/ui/components/utils/Form2.tsx
@@ -4,6 +4,7 @@ import {
ComponentProps,
For,
Match,
+ ParentProps,
Show,
Switch,
splitProps,
@@ -16,6 +17,7 @@ import { styled } from "styled-system/jsx";
import { Button, Checkbox, Radio2, Text, TextField } from "../design";
import { TextEditor2 } from "../features/texteditor/TextEditor2";
+import { Row } from "../layout";
import { FileInput } from "./files";
@@ -229,6 +231,48 @@ const FormRadio = (
);
};
+/**
+ * Form element wrapper for button groups
+ */
+const FormButtonGroup = (props: {
+ control: IFormControl