Files
ragflow/web/src/pages/user-setting/sidebar/hooks.tsx
chanx a8a060676a Refactor: UmiJs -> Vite (#12410)
### What problem does this PR solve?

Refactor: UmiJs -> Vite+React

### Type of change

- [x] Refactoring

---------

Co-authored-by: Liu An <asiro@qq.com>
2026-01-04 19:14:20 +08:00

32 lines
878 B
TypeScript

import { useLogout } from '@/hooks/use-login-request';
import { Routes } from '@/routes';
import { useCallback, useEffect, useState } from 'react';
import { useLocation, useNavigate } from 'react-router';
export const useHandleMenuClick = () => {
const navigate = useNavigate();
const [active, setActive] = useState<Routes>();
const { logout } = useLogout();
const location = useLocation();
useEffect(() => {
const path = (location.pathname.split('/')?.[2] || '') as Routes;
if (path) {
setActive(('/' + path) as Routes);
}
}, [location]);
const handleMenuClick = useCallback(
(key: Routes) => () => {
if (key === Routes.Logout) {
logout();
} else {
setActive(key);
navigate(`${Routes.UserSetting}${key}`);
}
},
[logout, navigate],
);
return { handleMenuClick, active, setActive };
};