Skip to content

Commit e014d96

Browse files
committed
๐Ÿ› fix: ์‚ฌ์žฅ๋‹˜ ์•Œ๋ฆผ๋ฒ„ํŠผ ์•ˆ๋ณด์ด๊ฒŒ
1 parent 010eaa7 commit e014d96

File tree

1 file changed

+40
-39
lines changed
  • src/components/layout/header

1 file changed

+40
-39
lines changed

โ€Žsrc/components/layout/header/nav.tsxโ€Ž

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// src/components/layout/header/nav.tsx (์˜ˆ์‹œ ๊ฒฝ๋กœ)
12
import { getUserAlerts, markAlertRead } from '@/api/alerts';
23
import { Icon } from '@/components/ui';
34
import Notification, { type Alert } from '@/components/ui/modal/notification/Notification';
@@ -32,7 +33,7 @@ const Nav = () => {
3233

3334
// 1) ์„œ๋ฒ„ ์•Œ๋ฆผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ (์‚ฌ์žฅ๋‹˜/์•Œ๋ฐ” ๊ณตํ†ต)
3435
useEffect(() => {
35-
if (!isLogin || !user?.id || role !== 'employer') {
36+
if (!isLogin || !user?.id) {
3637
setApiAlerts([]);
3738
return;
3839
}
@@ -72,7 +73,6 @@ const Nav = () => {
7273
// 3) ์‹ค์ œ ํ‘œ์‹œํ•  ์•Œ๋ฆผ: ์„œ๋ฒ„ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ์œผ๋ฉด ์šฐ์„ , ์—†์œผ๋ฉด(ํŠนํžˆ ์ง์›) fallback
7374
const alerts: Alert[] = useMemo(() => {
7475
const base = apiAlerts.length > 0 ? apiAlerts : fallbackAlertsForEmployee;
75-
// ๋กœ์ปฌ ์ฝ์Œ ์„ธํŠธ ๋ฐ˜์˜(์„œ๋ฒ„ ์•Œ๋ฆผ์—๋„ ์ ์šฉ)
7676
return base.map(a => (readIds.has(a.id) ? { ...a, read: true } : a));
7777
}, [apiAlerts, fallbackAlertsForEmployee, readIds]);
7878

@@ -105,48 +105,49 @@ const Nav = () => {
105105
</Link>
106106
))}
107107

108-
{isLogin && role === 'employee' && (
109-
<>
108+
{/* ๋กœ๊ทธ์ธํ•œ ๋ˆ„๊ตฌ๋‚˜ ๋กœ๊ทธ์•„์›ƒ ๋…ธ์ถœ */}
109+
{isLogin && (
110+
<button
111+
type='button'
112+
onClick={e => {
113+
e.preventDefault();
114+
logout('/');
115+
}}
116+
>
117+
๋กœ๊ทธ์•„์›ƒ
118+
</button>
119+
)}
120+
121+
{/* โœ… ์‚ฌ์žฅ๋‹˜(employer)์—๊ฒŒ๋งŒ ์•Œ๋ฆผ ๋ฒ„ํŠผ ์ˆจ๊น€ */}
122+
{isLogin && role !== 'employer' && (
123+
<div className='relative'>
110124
<button
111125
type='button'
112-
onClick={e => {
113-
e.preventDefault();
114-
logout('/');
115-
}}
126+
aria-label='์•Œ๋ฆผ ํ™•์ธํ•˜๊ธฐ'
127+
aria-expanded={open}
128+
aria-controls='notification-panel'
129+
onClick={() => setOpen(v => !v)}
130+
className='relative'
116131
>
117-
๋กœ๊ทธ์•„์›ƒ
132+
<Icon
133+
key={open ? 'bell-on' : 'bell-off'}
134+
iconName={bellIcon}
135+
iconSize='rg'
136+
bigScreenSize='md'
137+
ariaLabel='์•Œ๋ฆผ'
138+
className={bellColor}
139+
/>
118140
</button>
119141

120-
{/* ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž๋Š” ๋ˆ„๊ตฌ๋‚˜ ์•Œ๋ฆผ ๋ฒ„ํŠผ ๋…ธ์ถœ (์‚ฌ์žฅ๋‹˜ ํฌํ•จ) */}
121-
<div className='relative'>
122-
<button
123-
type='button'
124-
aria-label='์•Œ๋ฆผ ํ™•์ธํ•˜๊ธฐ'
125-
aria-expanded={open}
126-
aria-controls='notification-panel'
127-
onClick={() => setOpen(v => !v)}
128-
className='relative'
129-
>
130-
<Icon
131-
key={open ? 'bell-on' : 'bell-off'}
132-
iconName={bellIcon}
133-
iconSize='rg'
134-
bigScreenSize='md'
135-
ariaLabel='์•Œ๋ฆผ'
136-
className={bellColor}
137-
/>
138-
</button>
139-
140-
{open && (
141-
<Notification
142-
alerts={alerts}
143-
onRead={handleRead}
144-
isOpen={open}
145-
onClose={() => setOpen(false)}
146-
/>
147-
)}
148-
</div>
149-
</>
142+
{open && (
143+
<Notification
144+
alerts={alerts}
145+
onRead={handleRead}
146+
isOpen={open}
147+
onClose={() => setOpen(false)}
148+
/>
149+
)}
150+
</div>
150151
)}
151152
</nav>
152153
);

0 commit comments

Comments
ย (0)