import React, { useEffect } from 'react';
import { Box } from 'ink';
import { AuthProvider, useAuth } from './state/auth-context.js';
import { NavigationProvider, useNavigation } from './state/navigation-context.js';
import { LoginScreen } from './components/auth/LoginScreen.js';
import { MainMenu } from './components/MainMenu.js';
import { MainLayout } from './components/layout/MainLayout.js';
import { LoadingSpinner } from './components/shared/LoadingSpinner.js';
import { UserListScreen } from './components/users/UserListScreen.js';
import { UserCreateScreen } from './components/users/UserCreateScreen.js';
import { UserDetailScreen } from './components/users/UserDetailScreen.js';
import { ChangePasswordScreen } from './components/users/ChangePasswordScreen.js';
import { RoleListScreen } from './components/roles/RoleListScreen.js';
import { RoleDetailScreen } from './components/roles/RoleDetailScreen.js';
function ScreenRouter() {
const { isAuthenticated, loading } = useAuth();
const { current, navigate } = useNavigation();
// Redirect zu main-menu nach erfolgreichem Login
useEffect(() => {
if (isAuthenticated && current === 'login') {
navigate('main-menu');
}
}, [isAuthenticated, current, navigate]);
if (loading) {
return (
);
}
if (!isAuthenticated) {
return (
);
}
return (
{current === 'main-menu' && }
{current === 'user-list' && }
{current === 'user-create' && }
{current === 'user-detail' && }
{current === 'change-password' && }
{current === 'role-list' && }
{current === 'role-detail' && }
);
}
export function App() {
return (
);
}