mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-04-25 11:18:22 +00:00
fix: avoid command palette hydration mismatch on macOS (#1563)
# Conflicts: # frontend/src/components/workspace/command-palette.tsx Co-authored-by: luoxiao6645 <luoxiao6645@gmail.com> Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
This commit is contained in:
parent
8049785de6
commit
28474c47cb
@ -32,14 +32,10 @@ import { SettingsDialog } from "./settings";
|
|||||||
export function CommandPalette() {
|
export function CommandPalette() {
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [mounted, setMounted] = useState(false);
|
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
const [shortcutsOpen, setShortcutsOpen] = useState(false);
|
const [shortcutsOpen, setShortcutsOpen] = useState(false);
|
||||||
const [settingsOpen, setSettingsOpen] = useState(false);
|
const [settingsOpen, setSettingsOpen] = useState(false);
|
||||||
|
const [isMac, setIsMac] = useState(false);
|
||||||
useEffect(() => {
|
|
||||||
setMounted(true);
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
const handleNewChat = useCallback(() => {
|
const handleNewChat = useCallback(() => {
|
||||||
router.push("/workspace/chats/new");
|
router.push("/workspace/chats/new");
|
||||||
@ -68,14 +64,12 @@ export function CommandPalette() {
|
|||||||
|
|
||||||
useGlobalShortcuts(shortcuts);
|
useGlobalShortcuts(shortcuts);
|
||||||
|
|
||||||
const isMac = mounted && navigator.userAgent.includes("Mac");
|
useEffect(() => {
|
||||||
|
setIsMac(navigator.userAgent.includes("Mac"));
|
||||||
|
}, []);
|
||||||
const metaKey = isMac ? "⌘" : "Ctrl+";
|
const metaKey = isMac ? "⌘" : "Ctrl+";
|
||||||
const shiftKey = isMac ? "⇧" : "Shift+";
|
const shiftKey = isMac ? "⇧" : "Shift+";
|
||||||
|
|
||||||
if (!mounted) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<SettingsDialog open={settingsOpen} onOpenChange={setSettingsOpen} />
|
<SettingsDialog open={settingsOpen} onOpenChange={setSettingsOpen} />
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user