Files
2026-09-08 15:21:23 +07:00

37 lines
985 B
TypeScript

import React from 'react';
import AppContent from './AppContent.tsx';
import AccountAdminShell from './components/AccountAdminShell.tsx';
import { AuthProvider, useAuth } from './context/AuthContext.tsx';
import { FarmProvider } from './context/FarmContext.tsx';
import AuthPage from './components/auth/AuthPage.tsx';
import { Spinner } from './components/ui/Feedback.tsx';
const Gate: React.FC = () => {
const { user, loading } = useAuth();
if (loading) {
return (
<div className="min-h-screen flex items-center justify-center bg-gray-100">
<Spinner />
</div>
);
}
if (!user) return <AuthPage />;
// Account Admin: User Management only. Superuser uses ops shell + Manajemen Akun nav.
if (user.status === 'account_admin') {
return <AccountAdminShell />;
}
return (
<FarmProvider>
<AppContent />
</FarmProvider>
);
};
const App: React.FC = () => (
<AuthProvider>
<Gate />
</AuthProvider>
);
export default App;