Skip to content

Commit 6baeb47

Browse files
committed
fix: header poppver
1 parent 25d32ca commit 6baeb47

File tree

4 files changed

+41
-46
lines changed

4 files changed

+41
-46
lines changed

src/components/layout/header/internal/HeaderContent.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import React, { memo } from 'react'
44
import clsx from 'clsx'
55
import {
66
AnimatePresence,
7+
LayoutGroup,
78
m,
89
useMotionTemplate,
910
useMotionValue,
@@ -23,12 +24,12 @@ import { MenuPopover } from './MenuPopover'
2324

2425
export const HeaderContent = () => {
2526
return (
26-
<>
27+
<LayoutGroup>
2728
<AnimatedMenu>
2829
<ForDesktop />
2930
</AnimatedMenu>
3031
<AccessibleMenu />
31-
</>
32+
</LayoutGroup>
3233
)
3334
}
3435

src/components/layout/header/internal/MenuPopover.tsx

+11-15
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,19 @@ export const MenuPopover: Component<{
2323
offset={10}
2424
headless
2525
popoverWrapperClassNames="z-[19] relative"
26-
popoverClassNames="rounded-xl !p-0 focus-visible:!shadow-none focus-visible:!ring-0"
26+
popoverClassNames={clsxm([
27+
'select-none rounded-xl bg-white/60 outline-none dark:bg-neutral-900/60',
28+
'shadow-lg shadow-zinc-800/5 border border-zinc-900/5 backdrop-blur-md',
29+
'dark:from-zinc-900/70 dark:to-zinc-800/90 dark:border-zinc-100/10',
30+
'relative flex w-[130px] flex-col py-1',
31+
'focus-visible:!ring-0',
32+
])}
2733
TriggerComponent={TriggerComponent}
2834
>
29-
{!!subMenu.length && (
30-
<div
31-
className={clsxm(
32-
'select-none rounded-xl bg-white/60 outline-none dark:bg-neutral-900/60',
33-
'shadow-lg shadow-zinc-800/5 ring-1 ring-zinc-900/5 backdrop-blur-md',
34-
'dark:from-zinc-900/70 dark:to-zinc-800/90 dark:ring-zinc-100/10',
35-
'relative flex w-[130px] flex-col py-1',
36-
)}
37-
>
38-
{subMenu.map((m) => {
39-
return <Item key={m.title} currentId={currentId} {...m} />
40-
})}
41-
</div>
42-
)}
35+
{!!subMenu.length &&
36+
subMenu.map((m) => {
37+
return <Item key={m.title} currentId={currentId} {...m} />
38+
})}
4339
</FloatPopover>
4440
)
4541
})

src/components/ui/float-popover/FloatPopover.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,15 @@ export const FloatPopover = function FloatPopover<T extends {}>(
8585
return
8686
}
8787
setOpen(false)
88-
}, [debug, animate])
88+
}, [debug])
8989

9090
const doPopoverShow = useEventCallback(() => {
9191
setOpen(true)
9292
})
9393

9494
const handleMouseOut = useCallback(() => {
9595
doPopoverDisappear()
96-
}, [])
96+
}, [doPopoverDisappear])
9797

9898
const listener = useMemo(() => {
9999
const baseListener = {

src/components/ui/form/Form.tsx

+25-27
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useCallback, useMemo, useRef } from 'react'
1+
import { useCallback, useMemo } from 'react'
22
import { produce } from 'immer'
33
import { atom } from 'jotai'
44
import type {
@@ -24,33 +24,31 @@ export const Form = (
2424
const fieldsAtom = useRefValue(() => atom({}))
2525
return (
2626
<FormContext.Provider
27-
value={
28-
useRef({
29-
showErrorMessage,
30-
fields: fieldsAtom,
31-
getField: (name: string) => {
32-
// @ts-expect-error
33-
return jotaiStore.get(fieldsAtom)[name]
34-
},
35-
addField: (name: string, field: Field) => {
36-
jotaiStore.set(fieldsAtom, (p) => {
37-
return {
38-
...p,
39-
[name]: field,
40-
}
41-
})
42-
},
27+
value={useRefValue(() => ({
28+
showErrorMessage,
29+
fields: fieldsAtom,
30+
getField: (name: string) => {
31+
// @ts-expect-error
32+
return jotaiStore.get(fieldsAtom)[name]
33+
},
34+
addField: (name: string, field: Field) => {
35+
jotaiStore.set(fieldsAtom, (p) => {
36+
return {
37+
...p,
38+
[name]: field,
39+
}
40+
})
41+
},
4342

44-
removeField: (name: string) => {
45-
jotaiStore.set(fieldsAtom, (p) => {
46-
const pp = { ...p }
47-
// @ts-expect-error
48-
delete pp[name]
49-
return pp
50-
})
51-
},
52-
}).current
53-
}
43+
removeField: (name: string) => {
44+
jotaiStore.set(fieldsAtom, (p) => {
45+
const pp = { ...p }
46+
// @ts-expect-error
47+
delete pp[name]
48+
return pp
49+
})
50+
},
51+
}))}
5452
>
5553
<FormConfigContext.Provider
5654
value={useMemo(() => ({ showErrorMessage }), [showErrorMessage])}

0 commit comments

Comments
 (0)