Projektarten: Login behaelt Ziel-Link, Hinweise im Ticket-Dialog

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-09-30 18:03:40 +00:00
1 parent c16049d266
commit 471c7a056d
5 files changed
+49 -7

No files matched your search

+6 -3
View File
@@ -1,4 +1,4 @@
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
import { BrowserRouter, Routes, Route, Navigate, useLocation } from 'react-router-dom'
import { AuthProvider, useAuth } from './context/AuthContext'
import Sidebar from './components/Navbar'
import Footer from './components/Footer'
@@ -14,9 +14,11 @@ import LegalPage from './pages/LegalPage'
import AssignProjectPage from './pages/AssignProjectPage'
import ServicesPage from './pages/ServicesPage'
import ServerpulsPage from './pages/ServerpulsPage'
import { safeReturnPath } from './lib/returnPath'
function ProtectedRoute({ children }) {
const { user, loading } = useAuth()
const location = useLocation()
if (loading) {
return (
@@ -28,7 +30,7 @@ function ProtectedRoute({ children }) {
}
if (!user) {
return <Navigate to="/login" replace />
return <Navigate to="/login" state={{ from: location }} replace />
}
return children
@@ -36,10 +38,11 @@ function ProtectedRoute({ children }) {
function AppRoutes() {
const { user } = useAuth()
const location = useLocation()
return (
<Routes>
<Route path="/login" element={user ? <Navigate to="/tickets" replace /> : <LoginPage />} />
<Route path="/login" element={user ? <Navigate to={safeReturnPath(location.state?.from)} replace /> : <LoginPage />} />
<Route path="/" element={<Navigate to="/tickets" replace />} />
<Route path="/tickets" element={<ProtectedRoute><TicketsPage /></ProtectedRoute>} />
<Route path="/customers" element={<ProtectedRoute><CustomersPage /></ProtectedRoute>} />