fix(ui): 로고 필터 제거, 메뉴 네비게이션 오류 수정
- Header.css: filter brightness/invert 완전 제거, cursor:pointer 추가 - Header.jsx: 상단 메뉴 클릭 시 첫 하위 페이지 이동, 드롭다운 닫힘 딜레이 200ms - SolutionPage.jsx: 폴백 라우트 * 추가
This commit is contained in:
parent
a5b518d0b2
commit
e768136e5d
@ -25,8 +25,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 로고 */
|
/* 로고 */
|
||||||
.logo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
|
.logo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; cursor: pointer; text-decoration: none; }
|
||||||
.logo img { height: 40px; width: auto; filter: brightness(0) invert(1); }
|
.logo img { height: 40px; width: auto; }
|
||||||
.logo-text { color: #fff; font-size: 20px; font-weight: 700; }
|
.logo-text { color: #fff; font-size: 20px; font-weight: 700; }
|
||||||
.logo-text strong { color: var(--accent); }
|
.logo-text strong { color: var(--accent); }
|
||||||
|
|
||||||
|
|||||||
@ -60,6 +60,7 @@ export default function Header() {
|
|||||||
const [activeMenu, setActiveMenu] = useState(null);
|
const [activeMenu, setActiveMenu] = useState(null);
|
||||||
const [mobileOpen, setMobileOpen] = useState(false);
|
const [mobileOpen, setMobileOpen] = useState(false);
|
||||||
const [member, setMember] = useState(null);
|
const [member, setMember] = useState(null);
|
||||||
|
const closeTimer = React.useRef(null);
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
@ -117,10 +118,11 @@ export default function Header() {
|
|||||||
{MENU.map(menu => (
|
{MENU.map(menu => (
|
||||||
<div key={menu.id}
|
<div key={menu.id}
|
||||||
className={`nav-item ${isActive(menu) ? 'active' : ''}`}
|
className={`nav-item ${isActive(menu) ? 'active' : ''}`}
|
||||||
onMouseEnter={() => setActiveMenu(menu.id)}
|
onMouseEnter={() => { clearTimeout(closeTimer.current); setActiveMenu(menu.id); }}
|
||||||
onMouseLeave={() => setActiveMenu(null)}>
|
onMouseLeave={() => { closeTimer.current = setTimeout(() => setActiveMenu(null), 200); }}>
|
||||||
<button className="nav-trigger" aria-haspopup="true"
|
<button className="nav-trigger" aria-haspopup="true"
|
||||||
aria-expanded={activeMenu === menu.id}>
|
aria-expanded={activeMenu === menu.id}
|
||||||
|
onClick={() => navigate(menu.children[0].path)}>
|
||||||
{menu.label}
|
{menu.label}
|
||||||
</button>
|
</button>
|
||||||
{activeMenu === menu.id && (
|
{activeMenu === menu.id && (
|
||||||
|
|||||||
@ -287,6 +287,7 @@ export default function SolutionPage() {
|
|||||||
<Route path="erp" element={<ERP />} />
|
<Route path="erp" element={<ERP />} />
|
||||||
<Route path="crm" element={<CRM />} />
|
<Route path="crm" element={<CRM />} />
|
||||||
<Route path="bi" element={<BI />} />
|
<Route path="bi" element={<BI />} />
|
||||||
|
<Route path="*" element={<ERP />} />
|
||||||
</Routes>
|
</Routes>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user