diff --git a/.replit b/.replit index 7e8527f..b1b492e 100644 --- a/.replit +++ b/.replit @@ -34,10 +34,6 @@ externalPort = 3000 localPort = 43245 externalPort = 3001 -[[ports]] -localPort = 46543 -externalPort = 5000 - [env] PORT = "5000" diff --git a/attached_assets/Pasted--dataType-undefined-constraint-undefined-file-parse-relation-c-line-1449--1759939679458_1759939679458.txt b/attached_assets/Pasted--dataType-undefined-constraint-undefined-file-parse-relation-c-line-1449--1759939679458_1759939679458.txt new file mode 100644 index 0000000..d88d0aa --- /dev/null +++ b/attached_assets/Pasted--dataType-undefined-constraint-undefined-file-parse-relation-c-line-1449--1759939679458_1759939679458.txt @@ -0,0 +1,204 @@ + dataType: undefined, + + constraint: undefined, + + file: 'parse_relation.c', + + line: '1449', + + routine: 'parserOpenTable' + +} + +3:34:45 PM [express] POST /api/users/6483d405-c6b9-479e-9995-8a9097008c99/page-permissions 500 in 7m… + +4:00:04 PM [express] GET /api/sql/tables 200 in 24ms :: {"tables":[{"tablename":"ai_generations"},{"… + +Error executing SQL: error: relation "user_page_permissions" does not exist + + at /app/node_modules/pg-pool/index.js:45:11 + + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) + + at async file:///app/dist/index.js:1003:22 { + + length: 121, + + severity: 'ERROR', + + code: '42P01', + + detail: undefined, + + hint: undefined, + + position: '159', + + internalPosition: undefined, + + internalQuery: undefined, + + where: undefined, + + schema: undefined, + + table: undefined, + + column: undefined, + + dataType: undefined, + + constraint: undefined, + + file: 'parse_relation.c', + + line: '1449', + + routine: 'parserOpenTable' + +} + +4:00:07 PM [express] POST /api/sql/execute 500 in 21ms :: {"success":false,"error":"relation \"user_… + +Error executing SQL: error: relation "user_page_permissions" does not exist + + at /app/node_modules/pg-pool/index.js:45:11 + + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) + + at async file:///app/dist/index.js:1003:22 { + + length: 121, + + severity: 'ERROR', + + code: '42P01', + + detail: undefined, + + hint: undefined, + + position: '159', + + internalPosition: undefined, + + internalQuery: undefined, + + where: undefined, + + schema: undefined, + + table: undefined, + + column: undefined, + + dataType: undefined, + + constraint: undefined, + + file: 'parse_relation.c', + + line: '1449', + + routine: 'parserOpenTable' + +} + +4:00:23 PM [express] POST /api/sql/execute 500 in 6ms :: {"success":false,"error":"relation \"user_p… + +Error executing SQL: error: relation "user_page_permissions" does not exist + + at /app/node_modules/pg-pool/index.js:45:11 + + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) + + at async file:///app/dist/index.js:1003:22 { + + length: 120, + + severity: 'ERROR', + + code: '42P01', + + detail: undefined, + + hint: undefined, + + position: '68', + + internalPosition: undefined, + + internalQuery: undefined, + + where: undefined, + + schema: undefined, + + table: undefined, + + column: undefined, + + dataType: undefined, + + constraint: undefined, + + file: 'parse_relation.c', + + line: '1449', + + routine: 'parserOpenTable' + +} + +4:07:16 PM [express] POST /api/sql/execute 500 in 4ms :: {"success":false,"error":"relation \"user_p… + +Error executing SQL: error: relation "user_page_permissions" does not exist + + at /app/node_modules/pg-pool/index.js:45:11 + + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) + + at async file:///app/dist/index.js:1003:22 { + + length: 120, + + severity: 'ERROR', + + code: '42P01', + + detail: undefined, + + hint: undefined, + + position: '15', + + internalPosition: undefined, + + internalQuery: undefined, + + where: undefined, + + schema: undefined, + + table: undefined, + + column: undefined, + + dataType: undefined, + + constraint: undefined, + + file: 'parse_relation.c', + + line: '1449', + + routine: 'parserOpenTable' + +} + +4:07:31 PM [express] POST /api/sql/execute 500 in 5ms :: {"success":false,"error":"relation \"user_p… + + + + + \ No newline at end of file diff --git a/attached_assets/image_1759938271003.png b/attached_assets/image_1759938271003.png new file mode 100644 index 0000000..0fac0fe Binary files /dev/null and b/attached_assets/image_1759938271003.png differ diff --git a/attached_assets/image_1759939255341.png b/attached_assets/image_1759939255341.png new file mode 100644 index 0000000..031b946 Binary files /dev/null and b/attached_assets/image_1759939255341.png differ diff --git a/client/src/components/sidebar.tsx b/client/src/components/sidebar.tsx index bbabe38..8e1d9a7 100644 --- a/client/src/components/sidebar.tsx +++ b/client/src/components/sidebar.tsx @@ -1,15 +1,24 @@ -import { Home, PlusCircle, Calendar, Images, Users, Bot, Clock, Settings, Database, UserCog, LogOut } from "lucide-react"; +import { Home, PlusCircle, Calendar, Images, Users, Bot, Clock, Settings, Database, UserCog, LogOut, ChevronLeft, ChevronRight } from "lucide-react"; import { Link, useLocation } from "wouter"; import { useQuery, useMutation } from "@tanstack/react-query"; import { apiRequest, queryClient } from "@/lib/queryClient"; import { useToast } from "@/hooks/use-toast"; import { Button } from "@/components/ui/button"; import { Avatar, AvatarFallback } from "@/components/ui/avatar"; +import { useState, useEffect } from "react"; export default function Sidebar() { const [location] = useLocation(); const [, setLocation] = useLocation(); const { toast } = useToast(); + const [isCollapsed, setIsCollapsed] = useState(() => { + const saved = localStorage.getItem('sidebar-collapsed'); + return saved === 'true'; + }); + + useEffect(() => { + localStorage.setItem('sidebar-collapsed', String(isCollapsed)); + }, [isCollapsed]); const { data: session } = useQuery<{ id: string; username: string; role: string }>({ queryKey: ["/api/auth/session"], @@ -46,7 +55,7 @@ export default function Sidebar() { ]; return ( -