Files
MemoryBear/web/src/components/Layout/BasicAuthLayout.tsx
2026-02-28 17:28:55 +08:00

45 lines
1.1 KiB
TypeScript

/*
* @Author: ZhaoYing
* @Date: 2026-02-02 15:12:42
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-02-28 17:28:41
*/
/**
* BasicAuthLayout Component
*
* A minimal layout wrapper that provides:
* - User information initialization
* - Storage type initialization
* - Simple container for child routes without navigation UI
*
* Used for pages that don't require sidebar/header (e.g., login, public pages).
*
* @component
*/
import { Outlet } from 'react-router-dom';
import { useEffect, type FC } from 'react';
import { useUser } from '@/store/user';
/**
* Basic layout component for pages without navigation UI.
* Fetches user info and storage type on mount, then renders child routes.
*/
const BasicAuthLayout: FC = () => {
const { getUserInfo } = useUser();
// Fetch user information and storage type on component mount
useEffect(() => {
getUserInfo(undefined, true); // Pass true to skip navigation jump
}, [getUserInfo]);
return (
<div className="rb:relative rb:h-full rb:w-full">
{/* Render child routes without additional UI */}
<Outlet />
</div>
)
};
export default BasicAuthLayout;