From 6587863afb1efcc9f89b5b7d51dd2229137ac23b Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Tue, 21 Jan 2025 01:02:51 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=84(frontend)=20use=20dark=20theme=20f?= =?UTF-8?q?or=20menus=20in=20the=20videoconference?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Inspired by GMeet. Actually, these menus are horrible to work with. This is clearly some technical debt. I fixed the styles, but not the code, we should refactor them to make easy to chose between two variant, a light and a dark one. --- .../livekit/components/controls/Options/OptionsButton.tsx | 2 +- .../components/controls/Options/OptionsMenuItems.tsx | 6 +++--- .../livekit/components/controls/SelectToggleDevice.tsx | 5 ++++- .../livekit/prefabs/ControlBar/DesktopControlBar.tsx | 2 ++ src/frontend/src/primitives/Box.tsx | 8 ++++++-- src/frontend/src/primitives/Menu.tsx | 4 +++- src/frontend/src/primitives/MenuList.tsx | 7 ++++++- src/frontend/src/primitives/Separator.tsx | 2 +- src/frontend/src/primitives/menuRecipe.ts | 8 ++++++-- 9 files changed, 32 insertions(+), 12 deletions(-) diff --git a/src/frontend/src/features/rooms/livekit/components/controls/Options/OptionsButton.tsx b/src/frontend/src/features/rooms/livekit/components/controls/Options/OptionsButton.tsx index 70021a37..17afa759 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/Options/OptionsButton.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/Options/OptionsButton.tsx @@ -8,7 +8,7 @@ export const OptionsButton = () => { return ( <> - + diff --git a/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/DesktopControlBar.tsx b/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/DesktopControlBar.tsx index bc82d28f..0dab2b99 100644 --- a/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/DesktopControlBar.tsx +++ b/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/DesktopControlBar.tsx @@ -62,6 +62,7 @@ export function DesktopControlBar({ onActiveDeviceChange={(deviceId) => saveAudioInputDeviceId(deviceId ?? '') } + variant="dark" /> saveVideoInputDeviceId(deviceId ?? '') } + variant="dark" /> {browserSupportsScreenSharing && ( { const [trigger, menu] = children return ( {trigger} - + {menu} diff --git a/src/frontend/src/primitives/MenuList.tsx b/src/frontend/src/primitives/MenuList.tsx index da5022bd..4ce4e75c 100644 --- a/src/frontend/src/primitives/MenuList.tsx +++ b/src/frontend/src/primitives/MenuList.tsx @@ -10,6 +10,7 @@ export const MenuList = ({ onAction, selectedItem, items = [], + variant = 'light', ...menuProps }: { onAction: (key: T) => void @@ -18,7 +19,11 @@ export const MenuList = ({ } & MenuProps & RecipeVariantProps) => { const [variantProps] = menuRecipe.splitVariantProps(menuProps) - const classes = menuRecipe({ extraPadding: true, ...variantProps }) + const classes = menuRecipe({ + extraPadding: true, + variant: variant, + ...variantProps, + }) return (