MCPcopy Create free account
hub / github.com/cloudflare/meet / OverflowMenu

Function OverflowMenu

app/components/OverflowMenu.tsx:17–112  ·  view source on GitHub ↗
({ bugReportsEnabled })

Source from the content-addressed store, hash-verified

15}
16
17export const OverflowMenu: FC<OverflowMenuProps> = ({ bugReportsEnabled }) => {
18 const {
19 room: { otherUsers, identity },
20 dataSaverMode,
21 setDataSaverMode,
22 audioOnlyMode,
23 setAudioOnlyMode,
24 simulcastEnabled,
25 userMedia: { turnCameraOff },
26 } = useRoomContext()
27 const [settingsMenuOpen, setSettingMenuOpen] = useState(false)
28 const [bugReportMenuOpen, setBugReportMenuOpen] = useState(false)
29 const [participantsMenuOpen, setParticipantsMenuOpen] = useState(false)
30 const roomUrl = useRoomUrl()
31 return (
32 <>
33 <DropdownMenu.Root>
34 <DropdownMenu.Trigger asChild>
35 <Button displayType="secondary">
36 <VisuallyHidden>More options</VisuallyHidden>
37 <Icon type="EllipsisVerticalIcon" />
38 </Button>
39 </DropdownMenu.Trigger>
40 <DropdownMenu.Portal>
41 <DropdownMenu.Content sideOffset={5}>
42 {simulcastEnabled && (
43 <DropdownMenu.Item
44 onSelect={() => setDataSaverMode(!dataSaverMode)}
45 >
46 <Icon type="WifiIcon" className="mr-2" />
47 {dataSaverMode ? 'Disable Data Saver' : 'Enable Data Saver'}
48 </DropdownMenu.Item>
49 )}
50 <DropdownMenu.Item
51 onSelect={() => {
52 setAudioOnlyMode(!audioOnlyMode)
53 turnCameraOff()
54 }}
55 >
56 <Icon type="PhoneIcon" className="mr-2" />
57 {audioOnlyMode ? 'Disable Audio Only' : 'Enable Audio Only'}
58 </DropdownMenu.Item>
59 <DropdownMenu.Item
60 onSelect={() => navigator.clipboard.writeText(roomUrl)}
61 >
62 <Icon type="ClipboardDocumentIcon" className="mr-2" />
63 Copy URL
64 </DropdownMenu.Item>
65 <DropdownMenu.Item
66 onSelect={() => {
67 setSettingMenuOpen(true)
68 }}
69 >
70 <Icon type="cog" className="mr-2" />
71 Settings
72 </DropdownMenu.Item>
73 {bugReportsEnabled && (
74 <DropdownMenu.Item

Callers

nothing calls this directly

Calls 3

useRoomContextFunction · 0.90
useRoomUrlFunction · 0.90
participantCountFunction · 0.90

Tested by

no test coverage detected