feat: 个人面板菜单选项增加记忆

pull/64/head
moonrailgun 2 years ago
parent b95b8dc047
commit fdb1830e92

@ -2,6 +2,11 @@ import { useSessionStorageState } from './useSessionStorageState';
import { useMemoizedFn } from 'tailchat-shared'; import { useMemoizedFn } from 'tailchat-shared';
interface UserSessionPerference { interface UserSessionPerference {
/**
* 访
*
*/
personLastVisitPanelUrl?: string;
/** /**
* 访id * 访id
* *

@ -1,5 +1,7 @@
import { useUserSessionPreference } from '@/hooks/useUserPreference';
import { pluginCustomPanel } from '@/plugin/common'; import { pluginCustomPanel } from '@/plugin/common';
import React from 'react'; import React, { useEffect } from 'react';
import { useLocation } from 'react-router';
import { Navigate, Route, Routes } from 'react-router-dom'; import { Navigate, Route, Routes } from 'react-router-dom';
import { PageContent } from '../PageContent'; import { PageContent } from '../PageContent';
import { PersonalConverse } from './Converse'; import { PersonalConverse } from './Converse';
@ -8,6 +10,15 @@ import { PluginsPanel } from './Plugins';
import { PersonalSidebar } from './Sidebar'; import { PersonalSidebar } from './Sidebar';
export const Personal: React.FC = React.memo(() => { export const Personal: React.FC = React.memo(() => {
const [lastVisitPanelUrl, setLastVisitPanelUrl] = useUserSessionPreference(
'personLastVisitPanelUrl'
);
const location = useLocation();
useEffect(() => {
setLastVisitPanelUrl(location.pathname);
}, [location.pathname]);
return ( return (
<PageContent data-tc-role="content-personal" sidebar={<PersonalSidebar />}> <PageContent data-tc-role="content-personal" sidebar={<PersonalSidebar />}>
<Routes> <Routes>
@ -24,7 +35,16 @@ export const Personal: React.FC = React.memo(() => {
/> />
))} ))}
<Route path="/" element={<Navigate to="/main/personal/friends" />} /> <Route
path="/"
element={
<Navigate
to={
lastVisitPanelUrl ? lastVisitPanelUrl : '/main/personal/friends'
}
/>
}
/>
</Routes> </Routes>
</PageContent> </PageContent>
); );

Loading…
Cancel
Save