fix: Superadmin wird direkt zu /admin weitergeleitet
- Login: superadmin → /admin, alle anderen → /search - Cached-Session: superadmin → /admin - Search-Seite: superadmin wird sofort zu /admin umgeleitet Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+6
-4
@@ -18,8 +18,9 @@ export default function LoginPage() {
|
||||
|
||||
useEffect(() => {
|
||||
// Only redirect if we have a cached session — no API call, no loop risk
|
||||
if (getCachedUser() !== null) {
|
||||
router.replace("/search");
|
||||
const cached = getCachedUser();
|
||||
if (cached !== null) {
|
||||
router.replace(cached.role === "superadmin" ? "/admin" : "/search");
|
||||
}
|
||||
}, [router]);
|
||||
|
||||
@@ -29,8 +30,9 @@ export default function LoginPage() {
|
||||
setLoading(true);
|
||||
|
||||
try {
|
||||
await login(username, password);
|
||||
router.push("/search");
|
||||
const res = await login(username, password);
|
||||
const role = res?.user?.role ?? "";
|
||||
router.push(role === "superadmin" ? "/admin" : "/search");
|
||||
} catch {
|
||||
setError("Anmeldung fehlgeschlagen. Bitte Zugangsdaten pruefen.");
|
||||
} finally {
|
||||
|
||||
@@ -114,9 +114,16 @@ export default function SearchPage() {
|
||||
[query, fromFilter, toFilter, dateFrom, dateTo, sort, hasAttachment, selectedLabelId]
|
||||
);
|
||||
|
||||
// Superadmin has no mail access — redirect to admin dashboard
|
||||
useEffect(() => {
|
||||
if (user?.role === "superadmin") {
|
||||
router.replace("/admin");
|
||||
}
|
||||
}, [user, router]);
|
||||
|
||||
// Alle Mails beim Öffnen der Seite laden — direkt, ohne useCallback-Closure
|
||||
useEffect(() => {
|
||||
if (!user) return;
|
||||
if (!user || user.role === "superadmin") return;
|
||||
setSearching(true);
|
||||
searchEmails({ page: 1, page_size: PAGE_SIZE })
|
||||
.then((res) => {
|
||||
|
||||
Reference in New Issue
Block a user