From c5a95edc9120ca97bf685e0e672188ecb7947b70 Mon Sep 17 00:00:00 2001 From: Kaj Kowalski Date: Sat, 28 Jun 2025 05:39:13 +0200 Subject: [PATCH] feat: comprehensive UI improvements and new logo design - Replace old logo with modern dashboard tiles design - Improve text selection styling using Tailwind selection variant - Fix session ID display with proper truncation classes - Clean up temporary logo files and showcase page - Enhance dark mode support across company settings and sessions pages - Remove obsolete Alert Configuration from company settings - Add collapsible filters and mobile-optimized view details buttons --- app/dashboard/company/page.tsx | 128 ++++++++++++-------------------- app/dashboard/sessions/page.tsx | 17 +++-- app/globals.css | 13 +--- public/favicon.svg | 84 +++++++++------------ 4 files changed, 94 insertions(+), 148 deletions(-) diff --git a/app/dashboard/company/page.tsx b/app/dashboard/company/page.tsx index ef52c8c..567ae71 100644 --- a/app/dashboard/company/page.tsx +++ b/app/dashboard/company/page.tsx @@ -8,7 +8,7 @@ import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Alert, AlertDescription } from "@/components/ui/alert"; -import { ShieldX, Settings, Save, Database, Bell } from "lucide-react"; +import { ShieldX, Settings, Save, Database } from "lucide-react"; export default function CompanySettingsPage() { const { data: session, status } = useSession(); @@ -18,7 +18,6 @@ export default function CompanySettingsPage() { const [csvUrl, setCsvUrl] = useState(""); const [csvUsername, setCsvUsername] = useState(""); const [csvPassword, setCsvPassword] = useState(""); - const [sentimentThreshold, setSentimentThreshold] = useState(""); const [message, setMessage] = useState(""); const [loading, setLoading] = useState(true); @@ -32,7 +31,6 @@ export default function CompanySettingsPage() { setCompany(data.company); setCsvUrl(data.company.csvUrl || ""); setCsvUsername(data.company.csvUsername || ""); - setSentimentThreshold(data.company.sentimentAlert?.toString() || ""); if (data.company.csvPassword) { setCsvPassword(data.company.csvPassword); } @@ -57,7 +55,6 @@ export default function CompanySettingsPage() { csvUrl, csvUsername, csvPassword, - sentimentThreshold, }), }); @@ -146,85 +143,54 @@ export default function CompanySettingsPage() { }} autoComplete="off" > -
- - -
- - Data Source Configuration -
-
- -
- - setCsvUrl(e.target.value)} - placeholder="https://example.com/data.csv" - autoComplete="off" - /> -
+ + +
+ + Data Source Configuration +
+
+ +
+ + setCsvUrl(e.target.value)} + placeholder="https://example.com/data.csv" + autoComplete="off" + /> +
-
- - setCsvUsername(e.target.value)} - placeholder="Username for CSV access (if needed)" - autoComplete="off" - /> -
+
+ + setCsvUsername(e.target.value)} + placeholder="Username for CSV access (if needed)" + autoComplete="off" + /> +
-
- - setCsvPassword(e.target.value)} - placeholder="Password will be updated only if provided" - autoComplete="new-password" - /> -

- Leave blank to keep current password -

-
-
-
- - - -
- - Alert Configuration -
-
- -
- - setSentimentThreshold(e.target.value)} - placeholder="Threshold value (0-100)" - min="0" - max="100" - autoComplete="off" - /> -

- Percentage of negative sentiment sessions to trigger alert (0-100) -

-
-
-
-
+
+ + setCsvPassword(e.target.value)} + placeholder="Password will be updated only if provided" + autoComplete="new-password" + /> +

+ Leave blank to keep current password +

+
+ +
-
- - {new Date(session.startTime).toLocaleString()} +
+ + + {new Date(session.startTime).toLocaleDateString()} + + + {new Date(session.startTime).toLocaleTimeString()} +
diff --git a/app/globals.css b/app/globals.css index 2ef545f..9b62b83 100644 --- a/app/globals.css +++ b/app/globals.css @@ -163,23 +163,12 @@ @layer base { * { - @apply border-border outline-ring/50; + @apply border-border outline-ring/50 selection:bg-primary/30 selection:text-primary-foreground; } body { @apply bg-background text-foreground; } - /* Custom text selection colors */ - ::selection { - background-color: hsl(var(--primary) / 0.3); - color: hsl(var(--primary-foreground)); - } - - ::-moz-selection { - background-color: hsl(var(--primary) / 0.3); - color: hsl(var(--primary-foreground)); - } - /* Line clamp utility */ .line-clamp-2 { display: -webkit-box; diff --git a/public/favicon.svg b/public/favicon.svg index c69a5bb..ed8b597 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1,50 +1,36 @@ - - - - - - - - - - LD - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file