From 3e7d4c6e86110cd4c596a3bcd49d4722a9259e68 Mon Sep 17 00:00:00 2001 From: 9qeklajc <9qeklajc> Date: Sat, 15 Nov 2025 11:40:31 +0100 Subject: [PATCH] add date picker --- ui/app/globals.css | 104 ++++++++++++++++++--------------- ui/app/logs/log-entry-card.tsx | 1 - ui/app/logs/log-filters.tsx | 84 ++++++++++++++++++++------ ui/app/logs/page.tsx | 13 +---- ui/components/ui/calendar.tsx | 72 +++++++++++++++++++++++ 5 files changed, 199 insertions(+), 75 deletions(-) create mode 100644 ui/components/ui/calendar.tsx diff --git a/ui/app/globals.css b/ui/app/globals.css index 9eaa4e84..37756b40 100644 --- a/ui/app/globals.css +++ b/ui/app/globals.css @@ -70,36 +70,36 @@ :root { --radius: 0.5rem; - --background: oklch(0.9900 0 0); + --background: oklch(0.99 0 0); --foreground: oklch(0 0 0); --card: oklch(1 0 0); --card-foreground: oklch(0 0 0); - --popover: oklch(0.9900 0 0); + --popover: oklch(0.99 0 0); --popover-foreground: oklch(0 0 0); --primary: oklch(0 0 0); --primary-foreground: oklch(1 0 0); - --secondary: oklch(0.9400 0 0); + --secondary: oklch(0.94 0 0); --secondary-foreground: oklch(0 0 0); - --muted: oklch(0.9700 0 0); - --muted-foreground: oklch(0.4400 0 0); - --accent: oklch(0.9400 0 0); + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.44 0 0); + --accent: oklch(0.94 0 0); --accent-foreground: oklch(0 0 0); - --destructive: oklch(0.6300 0.1900 23.0300); - --border: oklch(0.9200 0 0); - --input: oklch(0.9400 0 0); + --destructive: oklch(0.63 0.19 23.03); + --border: oklch(0.92 0 0); + --input: oklch(0.94 0 0); --ring: oklch(0 0 0); - --chart-1: oklch(0.8100 0.1700 75.3500); - --chart-2: oklch(0.5500 0.2200 264.5300); - --chart-3: oklch(0.7200 0 0); - --chart-4: oklch(0.9200 0 0); - --chart-5: oklch(0.5600 0 0); - --sidebar: oklch(0.9900 0 0); + --chart-1: oklch(0.81 0.17 75.35); + --chart-2: oklch(0.55 0.22 264.53); + --chart-3: oklch(0.72 0 0); + --chart-4: oklch(0.92 0 0); + --chart-5: oklch(0.56 0 0); + --sidebar: oklch(0.99 0 0); --sidebar-foreground: oklch(0 0 0); --sidebar-primary: oklch(0 0 0); --sidebar-primary-foreground: oklch(1 0 0); - --sidebar-accent: oklch(0.9400 0 0); + --sidebar-accent: oklch(0.94 0 0); --sidebar-accent-foreground: oklch(0 0 0); - --sidebar-border: oklch(0.9400 0 0); + --sidebar-border: oklch(0.94 0 0); --sidebar-ring: oklch(0 0 0); --destructive-foreground: oklch(1 0 0); --font-sans: Geist, sans-serif; @@ -115,11 +115,16 @@ --spacing: 0.25rem; --shadow-2xs: 0px 1px 2px 0px hsl(0 0% 0% / 0.09); --shadow-xs: 0px 1px 2px 0px hsl(0 0% 0% / 0.09); - --shadow-sm: 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 1px 2px -1px hsl(0 0% 0% / 0.18); - --shadow: 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 1px 2px -1px hsl(0 0% 0% / 0.18); - --shadow-md: 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 2px 4px -1px hsl(0 0% 0% / 0.18); - --shadow-lg: 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 4px 6px -1px hsl(0 0% 0% / 0.18); - --shadow-xl: 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 8px 10px -1px hsl(0 0% 0% / 0.18); + --shadow-sm: + 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 1px 2px -1px hsl(0 0% 0% / 0.18); + --shadow: + 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 1px 2px -1px hsl(0 0% 0% / 0.18); + --shadow-md: + 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 2px 4px -1px hsl(0 0% 0% / 0.18); + --shadow-lg: + 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 4px 6px -1px hsl(0 0% 0% / 0.18); + --shadow-xl: + 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 8px 10px -1px hsl(0 0% 0% / 0.18); --shadow-2xl: 0px 1px 2px 0px hsl(0 0% 0% / 0.45); --tracking-normal: 0em; } @@ -127,35 +132,35 @@ .dark { --background: oklch(0 0 0); --foreground: oklch(1 0 0); - --card: oklch(0.1400 0 0); + --card: oklch(0.14 0 0); --card-foreground: oklch(1 0 0); - --popover: oklch(0.1800 0 0); + --popover: oklch(0.18 0 0); --popover-foreground: oklch(1 0 0); --primary: oklch(1 0 0); --primary-foreground: oklch(0 0 0); - --secondary: oklch(0.2500 0 0); + --secondary: oklch(0.25 0 0); --secondary-foreground: oklch(1 0 0); - --muted: oklch(0.2300 0 0); - --muted-foreground: oklch(0.7200 0 0); - --accent: oklch(0.3200 0 0); + --muted: oklch(0.23 0 0); + --muted-foreground: oklch(0.72 0 0); + --accent: oklch(0.32 0 0); --accent-foreground: oklch(1 0 0); - --destructive: oklch(0.6900 0.2000 23.9100); - --border: oklch(0.2600 0 0); - --input: oklch(0.3200 0 0); - --ring: oklch(0.7200 0 0); - --chart-1: oklch(0.8100 0.1700 75.3500); - --chart-2: oklch(0.5800 0.2100 260.8400); - --chart-3: oklch(0.5600 0 0); - --chart-4: oklch(0.4400 0 0); - --chart-5: oklch(0.9200 0 0); - --sidebar: oklch(0.1800 0 0); + --destructive: oklch(0.69 0.2 23.91); + --border: oklch(0.26 0 0); + --input: oklch(0.32 0 0); + --ring: oklch(0.72 0 0); + --chart-1: oklch(0.81 0.17 75.35); + --chart-2: oklch(0.58 0.21 260.84); + --chart-3: oklch(0.56 0 0); + --chart-4: oklch(0.44 0 0); + --chart-5: oklch(0.92 0 0); + --sidebar: oklch(0.18 0 0); --sidebar-foreground: oklch(1 0 0); --sidebar-primary: oklch(1 0 0); --sidebar-primary-foreground: oklch(0 0 0); - --sidebar-accent: oklch(0.3200 0 0); + --sidebar-accent: oklch(0.32 0 0); --sidebar-accent-foreground: oklch(1 0 0); - --sidebar-border: oklch(0.3200 0 0); - --sidebar-ring: oklch(0.7200 0 0); + --sidebar-border: oklch(0.32 0 0); + --sidebar-ring: oklch(0.72 0 0); --destructive-foreground: oklch(0 0 0); --radius: 0.5rem; --font-sans: Geist, sans-serif; @@ -171,11 +176,16 @@ --spacing: 0.25rem; --shadow-2xs: 0px 1px 2px 0px hsl(0 0% 0% / 0.09); --shadow-xs: 0px 1px 2px 0px hsl(0 0% 0% / 0.09); - --shadow-sm: 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 1px 2px -1px hsl(0 0% 0% / 0.18); - --shadow: 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 1px 2px -1px hsl(0 0% 0% / 0.18); - --shadow-md: 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 2px 4px -1px hsl(0 0% 0% / 0.18); - --shadow-lg: 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 4px 6px -1px hsl(0 0% 0% / 0.18); - --shadow-xl: 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 8px 10px -1px hsl(0 0% 0% / 0.18); + --shadow-sm: + 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 1px 2px -1px hsl(0 0% 0% / 0.18); + --shadow: + 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 1px 2px -1px hsl(0 0% 0% / 0.18); + --shadow-md: + 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 2px 4px -1px hsl(0 0% 0% / 0.18); + --shadow-lg: + 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 4px 6px -1px hsl(0 0% 0% / 0.18); + --shadow-xl: + 0px 1px 2px 0px hsl(0 0% 0% / 0.18), 0px 8px 10px -1px hsl(0 0% 0% / 0.18); --shadow-2xl: 0px 1px 2px 0px hsl(0 0% 0% / 0.45); } @@ -201,4 +211,4 @@ .animate-shimmer { animation: shimmer 2s infinite; -} \ No newline at end of file +} diff --git a/ui/app/logs/log-entry-card.tsx b/ui/app/logs/log-entry-card.tsx index f60d151d..20133908 100644 --- a/ui/app/logs/log-entry-card.tsx +++ b/ui/app/logs/log-entry-card.tsx @@ -53,7 +53,6 @@ export function LogEntryCard({ entry, onClick }: LogEntryCardProps) { return (