diff --git a/.replit b/.replit
index b1b492e..192bb32 100644
--- a/.replit
+++ b/.replit
@@ -30,6 +30,10 @@ externalPort = 4200
localPort = 40537
externalPort = 3000
+[[ports]]
+localPort = 42011
+externalPort = 5000
+
[[ports]]
localPort = 43245
externalPort = 3001
diff --git a/client/src/components/sidebar.tsx b/client/src/components/sidebar.tsx
index a96a03d..071eec8 100644
--- a/client/src/components/sidebar.tsx
+++ b/client/src/components/sidebar.tsx
@@ -7,7 +7,11 @@ import { Button } from "@/components/ui/button";
import { Avatar, AvatarFallback } from "@/components/ui/avatar";
import { useState, useEffect } from "react";
-export default function Sidebar() {
+interface SidebarProps {
+ onLinkClick?: () => void;
+}
+
+export default function Sidebar({ onLinkClick }: SidebarProps = {}) {
const [location] = useLocation();
const [, setLocation] = useLocation();
const { toast } = useToast();
@@ -27,6 +31,12 @@ export default function Sidebar() {
const isAdmin = session?.role === "admin";
+ const handleLinkClick = () => {
+ if (onLinkClick) {
+ onLinkClick();
+ }
+ };
+
const logoutMutation = useMutation({
mutationFn: async () => {
const res = await apiRequest("POST", "/api/auth/logout", {});
@@ -84,6 +94,7 @@ export default function Sidebar() {
-
+ setSidebarOpen(false)} />
diff --git a/client/src/pages/calendar.tsx b/client/src/pages/calendar.tsx
index b97aca3..aa758db 100644
--- a/client/src/pages/calendar.tsx
+++ b/client/src/pages/calendar.tsx
@@ -19,7 +19,7 @@ export default function Calendar() {
fixed lg:static inset-y-0 left-0 z-50 transform transition-transform duration-300 ease-in-out
${sidebarOpen ? 'translate-x-0' : '-translate-x-full lg:translate-x-0'}
`}>
-
+ setSidebarOpen(false)} />
diff --git a/client/src/pages/dashboard.tsx b/client/src/pages/dashboard.tsx
index e930508..c019d3e 100644
--- a/client/src/pages/dashboard.tsx
+++ b/client/src/pages/dashboard.tsx
@@ -21,7 +21,7 @@ export default function Dashboard() {
fixed lg:static inset-y-0 left-0 z-50 transform transition-transform duration-300 ease-in-out
${sidebarOpen ? 'translate-x-0' : '-translate-x-full lg:translate-x-0'}
`}>
-
+ setSidebarOpen(false)} />
diff --git a/client/src/pages/history.tsx b/client/src/pages/history.tsx
index e24f20a..f50fb36 100644
--- a/client/src/pages/history.tsx
+++ b/client/src/pages/history.tsx
@@ -31,7 +31,7 @@ export default function History() {
fixed lg:static inset-y-0 left-0 z-50 transform transition-transform duration-300 ease-in-out
${sidebarOpen ? 'translate-x-0' : '-translate-x-full lg:translate-x-0'}
`}>
-
+ setSidebarOpen(false)} />
diff --git a/client/src/pages/media.tsx b/client/src/pages/media.tsx
index f46e7cd..86b530e 100644
--- a/client/src/pages/media.tsx
+++ b/client/src/pages/media.tsx
@@ -19,7 +19,7 @@ export default function Media() {
fixed lg:static inset-y-0 left-0 z-50 transform transition-transform duration-300 ease-in-out
${sidebarOpen ? 'translate-x-0' : '-translate-x-full lg:translate-x-0'}
`}>
-
+ setSidebarOpen(false)} />
diff --git a/client/src/pages/new-post.tsx b/client/src/pages/new-post.tsx
index 107f6fc..6b6b44f 100644
--- a/client/src/pages/new-post.tsx
+++ b/client/src/pages/new-post.tsx
@@ -202,7 +202,7 @@ export default function NewPost() {
fixed lg:static inset-y-0 left-0 z-50 transform transition-transform duration-300 ease-in-out
${sidebarOpen ? 'translate-x-0' : '-translate-x-full lg:translate-x-0'}
`}>
-
+ setSidebarOpen(false)} />
diff --git a/client/src/pages/pages.tsx b/client/src/pages/pages.tsx
index ebe9e2d..bbda1e7 100644
--- a/client/src/pages/pages.tsx
+++ b/client/src/pages/pages.tsx
@@ -55,7 +55,7 @@ export default function PagesManagement() {
fixed lg:static inset-y-0 left-0 z-50 transform transition-transform duration-300 ease-in-out
${sidebarOpen ? 'translate-x-0' : '-translate-x-full lg:translate-x-0'}
`}>
-
+ setSidebarOpen(false)} />
diff --git a/client/src/pages/settings.tsx b/client/src/pages/settings.tsx
index b9aa3c4..9e7fd43 100644
--- a/client/src/pages/settings.tsx
+++ b/client/src/pages/settings.tsx
@@ -132,7 +132,7 @@ export default function Settings() {
fixed lg:static inset-y-0 left-0 z-50 transform transition-transform duration-300 ease-in-out
${sidebarOpen ? 'translate-x-0' : '-translate-x-full lg:translate-x-0'}
`}>
-
+ setSidebarOpen(false)} />
diff --git a/client/src/pages/sql.tsx b/client/src/pages/sql.tsx
index 3b7f892..d7fd7e0 100644
--- a/client/src/pages/sql.tsx
+++ b/client/src/pages/sql.tsx
@@ -87,7 +87,7 @@ export default function SqlAdmin() {
fixed lg:static inset-y-0 left-0 z-50 transform transition-transform duration-300 ease-in-out
${sidebarOpen ? 'translate-x-0' : '-translate-x-full lg:translate-x-0'}
`}>
-
+ setSidebarOpen(false)} />
diff --git a/client/src/pages/users-admin.tsx b/client/src/pages/users-admin.tsx
index 6fd3d60..3901a3f 100644
--- a/client/src/pages/users-admin.tsx
+++ b/client/src/pages/users-admin.tsx
@@ -290,7 +290,7 @@ export default function UsersAdmin() {
fixed lg:static inset-y-0 left-0 z-50 transform transition-transform duration-300 ease-in-out
${sidebarOpen ? 'translate-x-0' : '-translate-x-full lg:translate-x-0'}
`}>
-
+ setSidebarOpen(false)} />