ede064cc11
- Create global styles and theme management - Implement app shell layout with sidebar navigation - Add authentication layout and pages for login and registration - Develop dashboard page with placeholder content - Introduce routing guards for guest-only and authenticated routes - Set up Zustand for state management of authentication and theme - Create API types and structures for CRM entities - Configure Vite with PWA support and Tailwind CSS
14 lines
302 B
TypeScript
14 lines
302 B
TypeScript
import { Navigate, Outlet } from 'react-router-dom'
|
|
|
|
import { useAuthStore } from '@/stores/auth-store'
|
|
|
|
export const GuestOnly = () => {
|
|
const hasSession = useAuthStore((state) => Boolean(state.tokens))
|
|
|
|
if (hasSession) {
|
|
return <Navigate to="/dashboard" replace />
|
|
}
|
|
|
|
return <Outlet />
|
|
}
|