-
+
)
diff --git a/src/components/Footer.jsx b/src/components/Footer.jsx
deleted file mode 100644
index f3925d3..0000000
--- a/src/components/Footer.jsx
+++ /dev/null
@@ -1,9 +0,0 @@
-export default function Footer() {
- return (
-
- )
-}
diff --git a/src/components/Logo.jsx b/src/components/Logo.jsx
new file mode 100644
index 0000000..4b6b13a
--- /dev/null
+++ b/src/components/Logo.jsx
@@ -0,0 +1,17 @@
+// WEBklar-Zeichen (Ellipse mit Stern); Pfade aus dem Prototyp. Die Groesse setzen im Menue und auf der Anmeldung die Stile
+// (.brand svg, .login-box svg), size gilt, wo keine Regel greift.
+export default function Logo({ size = 24 }) {
+ return (
+
+ )
+}
diff --git a/src/components/Navbar.jsx b/src/components/Navbar.jsx
index 7ff77e8..774454a 100644
--- a/src/components/Navbar.jsx
+++ b/src/components/Navbar.jsx
@@ -1,52 +1,16 @@
import { useEffect, useState } from 'react'
import { Link, useLocation, useNavigate } from 'react-router-dom'
import { useAuth } from '../context/AuthContext'
-import {
- IconTicket,
- IconUsers,
- IconTargetArrow,
- IconReportMoney,
- IconScale,
- IconActivityHeartbeat,
- IconFolders,
- IconLayoutGrid,
- IconCalendar,
- IconSettings,
- IconLogout,
- IconLayoutSidebarLeftCollapse,
- IconLayoutSidebarLeftExpand,
- IconMessages,
- IconReceiptRefund,
- IconDiscount,
- IconMailCog,
-} from '@tabler/icons-react'
+import Logo from './Logo'
import { serverpulsApi } from '../lib/serverpulsApi'
-import { startsCollapsed } from '../lib/sidebar'
import { buildNavLinks } from '../lib/navLinks'
import { useSidebarCounts } from '../hooks/useSidebarCounts'
-const ICONS = {
- tickets:
,
- planboard:
,
- projects:
,
- services:
,
- customers:
,
- chat:
,
- gutschriften:
,
- angebote:
,
- speicher:
,
- leads:
,
- finance:
,
- legal:
,
- serverpuls:
,
- admin:
,
-}
-
-export default function Sidebar() {
+// Seitenmenue als reine Textliste. onNavigate schliesst die Schublade auf dem Handy (App.jsx).
+export default function Sidebar({ onNavigate }) {
const { user, logout, isAdmin } = useAuth()
const navigate = useNavigate()
const location = useLocation()
- const [collapsed, setCollapsed] = useState(() => startsCollapsed())
const [pulseLevel, setPulseLevel] = useState('ok')
const counts = useSidebarCounts()
@@ -69,7 +33,7 @@ export default function Sidebar() {
navigate('/login')
}
- // Eintraege und Unterpunkte (Kunden -> Chat) aus lib/navLinks.js, Icons ueber key
+ // Eintraege und Unterpunkte (Kunden -> Chat) aus lib/navLinks.js
const links = buildNavLinks({ isAdmin, pulseLevel, counts })
const isActive = (href) =>
@@ -78,79 +42,51 @@ export default function Sidebar() {
const isLinkActive = (link) => isActive(link.href) || (link.also ? isActive(link.also) : false)
return (
-