Tickets: Ticket als eigene Seite mit Route /tickets/:ref/:tab? (Facts, Reiter, Dialoge verdrahtet)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
200d68f20d
commit
b544b83da0
2 files changed
+303
-2
No files matched your search
+7
-2
@@ -5,6 +5,7 @@ import Sidebar from './components/Navbar'
|
||||
import Logo from './components/Logo'
|
||||
import LoginPage from './pages/LoginPage'
|
||||
import TicketsPage from './pages/TicketsPage'
|
||||
import TicketPage from './pages/TicketPage'
|
||||
import PlanboardPage from './pages/PlanboardPage'
|
||||
import ProjectsPage from './pages/ProjectsPage'
|
||||
import AdminPage from './pages/AdminPage'
|
||||
@@ -48,6 +49,7 @@ function AppRoutes() {
|
||||
<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="/tickets/:ref/:tab?" element={<ProtectedRoute><TicketPage /></ProtectedRoute>} />
|
||||
<Route path="/customers" element={<ProtectedRoute><CustomersPage /></ProtectedRoute>} />
|
||||
{/* Messenger (Kunden -> Chat); statische Pfade gehen in react-router vor /customers/:id */}
|
||||
<Route path="/customers/chat" element={<ProtectedRoute><CustomerChatPage /></ProtectedRoute>} />
|
||||
@@ -87,10 +89,13 @@ function AppContent() {
|
||||
window.scrollTo(0, 0)
|
||||
}, [location.pathname])
|
||||
|
||||
// Esc schliesst die Schublade, nur solange sie offen ist
|
||||
// Esc schliesst die Schublade, nur solange sie offen ist und nur, wenn kein anderer Baustein die Taste schon behandelt hat
|
||||
useEffect(() => {
|
||||
if (!menuOpen) return undefined
|
||||
const onKey = (e) => { if (e.key === 'Escape') setMenuOpen(false) }
|
||||
const onKey = (e) => {
|
||||
if (e.defaultPrevented) return
|
||||
if (e.key === 'Escape') setMenuOpen(false)
|
||||
}
|
||||
document.addEventListener('keydown', onKey)
|
||||
return () => document.removeEventListener('keydown', onKey)
|
||||
}, [menuOpen])
|
||||
|
||||
Reference in new issue
Block a user