import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
import { Toaster } from 'react-hot-toast';
import { GuestOnly, RequireAuth, RequireSuperAdmin, RequireOwner } from './utils/guards';
import AdminLayout from './layouts/AdminLayout';
import POSLayout from './layouts/POSLayout';
import Login from './pages/Login';
import Register from './pages/Register';
import LandingPage from './pages/LandingPage';
import Dashboard from './pages/Dashboard';
import POS from './pages/POS';
import Products from './pages/Products';
import Categories from './pages/Categories';
import UsersPage from './pages/Users';
import Orders from './pages/Orders';
import KasirReport from './pages/KasirReport';
import Companies from './pages/Companies';
import Branches from './pages/Branches';
import FeeReport from './pages/FeeReport';
import Members from './pages/Members';
import Wallet from './pages/Wallet';
import Vouchers from './pages/dashboard/Vouchers';
import TopupApprovals from './pages/TopupApprovals';
import AdminTenantSettings from './pages/AdminTenantSettings';
import PrivacyPolicy from './pages/PrivacyPolicy';
import TermsOfService from './pages/TermsOfService';
import ContactSupport from './pages/ContactSupport';
import useAuthStore from './store/useAuthStore';
import { getCompanySlug } from './utils/slug';
function AuthLandingRedirect() {
const user = useAuthStore((s) => s.user);
if (!user) return ;
if (user.role === 'super_admin') return ;
const slug = getCompanySlug(user.company_name);
if (user.role === 'owner') return ;
return ;
}
export default function App() {
return (
{/* Public */}
} />
} />
} />
} />
} />
} />
{/* POS - accessible by all authenticated */}
}>
} />
{/* Shared Admin - accessible by all authenticated */}
}>
} />
} />
}>
} />
} />
} />
} />
} />
} />
{/* Owner */}
}>
} />
} />
} />
} />
} />
} />
} />
} />
} />
{/* Auth redirect fallbacks for legacy/naked paths */}
} />
} />
{/* Default redirect */}
} />
);
}