From 38569ff7fc6f0471b30aa6f958a28c2e4dfdcf22 Mon Sep 17 00:00:00 2001 From: MacRimi Date: Sun, 28 Sep 2025 22:57:15 +0200 Subject: [PATCH] Update AppImage --- AppImage/app/globals.css | 165 ++++++++++++++++++++------------------- AppImage/app/layout.tsx | 21 ++++- AppImage/app/page.tsx | 4 +- 3 files changed, 102 insertions(+), 88 deletions(-) diff --git a/AppImage/app/globals.css b/AppImage/app/globals.css index f08e712..2cfb3a7 100644 --- a/AppImage/app/globals.css +++ b/AppImage/app/globals.css @@ -4,6 +4,7 @@ @custom-variant dark (&:is(.dark *)); :root { + /* Proxmox light theme colors */ --background: oklch(1 0 0); --foreground: oklch(0.145 0 0); --card: oklch(1 0 0); @@ -31,11 +32,10 @@ --radius: 0.625rem; --sidebar: oklch(0.985 0 0); --sidebar-foreground: oklch(0.145 0 0); - --header-bg: oklch(1 0 0); - --header-foreground: oklch(0.145 0 0); } .dark { + /* Proxmox dark theme with proper gray background (#2b2f36) */ --background: oklch(0.205 0.005 240); /* Proxmox dark gray #2b2f36 */ --foreground: oklch(0.985 0 0); --card: oklch(0.235 0.005 240); /* Slightly lighter gray for cards #363c45 */ @@ -55,15 +55,12 @@ --border: oklch(0.335 0.005 240); /* More visible borders */ --input: oklch(0.285 0.005 240); --ring: oklch(0.439 0 0); + /* Updated chart colors to be more vibrant and visible in dark mode */ --chart-1: oklch(0.65 0.2 220); /* Bright Blue */ --chart-2: oklch(0.65 0.2 140); /* Bright Green */ --chart-3: oklch(0.7 0.2 50); /* Bright Yellow */ --chart-4: oklch(0.65 0.2 300); /* Bright Purple */ --chart-5: oklch(0.65 0.2 20); /* Bright Orange */ - --radius-sm: calc(var(--radius) - 4px); - --radius-md: calc(var(--radius) - 2px); - --radius-lg: var(--radius); - --radius-xl: calc(var(--radius) + 4px); --sidebar: oklch(0.205 0 0); --sidebar-foreground: oklch(0.985 0 0); --sidebar-primary: oklch(0.488 0.243 264.376); @@ -72,13 +69,12 @@ --sidebar-accent-foreground: oklch(0.985 0 0); --sidebar-border: oklch(0.285 0.005 240); --sidebar-ring: oklch(0.439 0 0); + /* Header is black only in dark mode */ --header-bg: oklch(0 0 0); --header-foreground: oklch(1 0 0); } @theme inline { - --font-sans: var(--font-geist-sans); - --font-mono: var(--font-geist-mono); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); @@ -115,6 +111,9 @@ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); + /* Custom header colors */ + --color-header-bg: var(--header-bg); + --color-header-foreground: var(--header-foreground); } @layer base { @@ -124,78 +123,80 @@ body { @apply bg-background text-foreground; } - .header-bg { - background-color: var(--header-bg); - color: var(--header-foreground); - backdrop-filter: none; /* Remove any blur effects */ - } - /* Custom scrollbar with better contrast */ - ::-webkit-scrollbar { - width: 6px; - } - - ::-webkit-scrollbar-track { - background: var(--background); - } - - ::-webkit-scrollbar-thumb { - background: var(--muted); - border-radius: 3px; - } - - ::-webkit-scrollbar-thumb:hover { - background: var(--muted-foreground); - } - - /* Better contrast for dark mode content */ - .dark .metric-card { - background: var(--card); - border: 1px solid var(--border); - } - - .dark .metric-value { - color: var(--foreground); - font-weight: 600; - } - - .dark .metric-label { - color: var(--muted-foreground); - } - - /* Fix chart axis visibility in dark mode */ - .dark .recharts-cartesian-axis-tick-value { - fill: var(--muted-foreground) !important; - } - - .dark .recharts-text { - fill: var(--muted-foreground) !important; - } - - /* Improve server info layout in header - clean design without transparency */ - .server-info { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.25rem 0.75rem; - border-radius: 0.375rem; - border: 1px solid rgba(255, 255, 255, 0.2); - } - - .dark .server-info { - border: 1px solid rgba(255, 255, 255, 0.1); - } - - /* Better spacing for VM/LXC badges */ - .vm-badges { - display: flex; - flex-wrap: wrap; - gap: 0.25rem; - align-items: center; - } - - .vm-badge { - font-size: 0.75rem; - padding: 0.125rem 0.5rem; - white-space: nowrap; - } +} + +/* Header styling that adapts to theme */ +.header-bg { + background-color: var(--header-bg); + color: var(--header-foreground); +} + +/* Custom scrollbar with better contrast */ +::-webkit-scrollbar { + width: 6px; +} + +::-webkit-scrollbar-track { + background: var(--background); +} + +::-webkit-scrollbar-thumb { + background: var(--muted); + border-radius: 3px; +} + +::-webkit-scrollbar-thumb:hover { + background: var(--muted-foreground); +} + +/* Better contrast for dark mode content */ +.dark .metric-card { + background: var(--card); + border: 1px solid var(--border); +} + +.dark .metric-value { + color: var(--foreground); + font-weight: 600; +} + +.dark .metric-label { + color: var(--muted-foreground); +} + +/* Fix chart axis visibility in dark mode */ +.dark .recharts-cartesian-axis-tick-value { + fill: var(--muted-foreground) !important; +} + +.dark .recharts-text { + fill: var(--muted-foreground) !important; +} + +/* Improve server info layout in header - clean design without transparency */ +.server-info { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0.25rem 0.75rem; + border-radius: 0.375rem; + border: 1px solid rgba(255, 255, 255, 0.2); +} + +.dark .server-info { + border: 1px solid rgba(255, 255, 255, 0.1); +} + +/* Better spacing for VM/LXC badges */ +.vm-badges { + display: flex; + flex-wrap: wrap; + gap: 0.25rem; + align-items: center; +} + +.vm-badge { + font-size: 0.75rem; + padding: 0.125rem 0.5rem; + white-space: nowrap; } diff --git a/AppImage/app/layout.tsx b/AppImage/app/layout.tsx index f4009cc..27a5ad7 100644 --- a/AppImage/app/layout.tsx +++ b/AppImage/app/layout.tsx @@ -9,8 +9,21 @@ import "./globals.css" export const metadata: Metadata = { title: "ProxMenux Monitor", - description: "Proxmox System Dashboard", + description: "Proxmox System Dashboard and Monitor", generator: "v0.app", + manifest: "/manifest.json", + icons: { + icon: [ + { url: "/favicon-16x16.png", sizes: "16x16", type: "image/png" }, + { url: "/favicon-32x32.png", sizes: "32x32", type: "image/png" }, + ], + apple: [{ url: "/apple-touch-icon.png", sizes: "180x180", type: "image/png" }], + }, + viewport: "width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no", + themeColor: [ + { media: "(prefers-color-scheme: light)", color: "#ffffff" }, + { media: "(prefers-color-scheme: dark)", color: "#1a1a1a" }, + ], } export default function RootLayout({ @@ -20,13 +33,13 @@ export default function RootLayout({ }>) { return ( - - + + Loading...}> {children} + - ) diff --git a/AppImage/app/page.tsx b/AppImage/app/page.tsx index c6d59e1..47629db 100644 --- a/AppImage/app/page.tsx +++ b/AppImage/app/page.tsx @@ -1,6 +1,6 @@ -import { ProxmoxDashboard } from "../AppImage/components/proxmox-dashboard" +import { ProxmoxDashboard } from "../components/proxmox-dashboard" -export default function Page() { +export default function Home() { return (