Files
scrapy-ui/app/globals.css
Sebastian Krüger 971ef5426d feat: initial commit - Scrapyd UI web interface
- Next.js 16.0.1 + React 19.2.0 + Tailwind CSS 4.1.16
- Complete Scrapyd API integration (all 12 endpoints)
- Dashboard with real-time job monitoring
- Projects management (upload, list, delete)
- Spiders management with scheduling
- Jobs monitoring with filtering and cancellation
- System status monitoring
- Dark/light theme toggle with next-themes
- Server-side authentication via environment variables
- Docker deployment with multi-stage builds
- GitHub Actions CI/CD workflow

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 03:32:14 +01:00

111 lines
3.3 KiB
CSS

@import "tailwindcss";
@source "../components/*.{js,ts,jsx,tsx}";
@source "../components/ui/*.{js,ts,jsx,tsx}";
@source "./(dashboard)/*.{js,ts,jsx,tsx}";
@source "./(dashboard)/jobs/*.{js,ts,jsx,tsx}";
@source "./(dashboard)/projects/*.{js,ts,jsx,tsx}";
@source "./(dashboard)/spiders/*.{js,ts,jsx,tsx}";
@source "./(dashboard)/system/*.{js,ts,jsx,tsx}";
@source "*.{js,ts,jsx,tsx}";
@custom-variant dark (&:is(.dark *));
:root {
--radius: 0.5rem;
/* Light Mode Colors - Using OKLCH for better color precision */
--background: oklch(100% 0 0);
--foreground: oklch(9.8% 0 0);
--card: oklch(100% 0 0);
--card-foreground: oklch(9.8% 0 0);
--popover: oklch(100% 0 0);
--popover-foreground: oklch(9.8% 0 0);
--primary: oklch(18% 0 0);
--primary-foreground: oklch(98% 0 0);
--secondary: oklch(96.1% 0 0);
--secondary-foreground: oklch(18% 0 0);
--muted: oklch(96.1% 0 0);
--muted-foreground: oklch(55% 0 0);
--accent: oklch(96.1% 0 0);
--accent-foreground: oklch(18% 0 0);
--destructive: oklch(62.8% 0.257 29.234);
--destructive-foreground: oklch(98% 0 0);
--border: oklch(89.8% 0 0);
--input: oklch(89.8% 0 0);
--ring: oklch(9.8% 0 0);
/* Chart Colors */
--chart-1: oklch(68% 0.14 29);
--chart-2: oklch(55% 0.14 192);
--chart-3: oklch(42% 0.10 218);
--chart-4: oklch(72% 0.15 84);
--chart-5: oklch(70% 0.18 41);
}
@theme inline {
/* Tailwind v4 theme color definitions */
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--color-popover: var(--popover);
--color-popover-foreground: var(--popover-foreground);
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-secondary: var(--secondary);
--color-secondary-foreground: var(--secondary-foreground);
--color-muted: var(--muted);
--color-muted-foreground: var(--muted-foreground);
--color-accent: var(--accent);
--color-accent-foreground: var(--accent-foreground);
--color-destructive: var(--destructive);
--color-destructive-foreground: var(--destructive-foreground);
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--color-chart-1: var(--chart-1);
--color-chart-2: var(--chart-2);
--color-chart-3: var(--chart-3);
--color-chart-4: var(--chart-4);
--color-chart-5: var(--chart-5);
}
.dark {
--background: oklch(15% 0 0);
--foreground: oklch(98% 0 0);
--card: oklch(15% 0 0);
--card-foreground: oklch(98% 0 0);
--popover: oklch(15% 0 0);
--popover-foreground: oklch(98% 0 0);
--primary: oklch(98% 0 0);
--primary-foreground: oklch(18% 0 0);
--secondary: oklch(25% 0 0);
--secondary-foreground: oklch(98% 0 0);
--muted: oklch(25% 0 0);
--muted-foreground: oklch(65% 0 0);
--accent: oklch(25% 0 0);
--accent-foreground: oklch(98% 0 0);
--destructive: oklch(45% 0.15 29);
--destructive-foreground: oklch(98% 0 0);
--border: oklch(25% 0 0);
--input: oklch(25% 0 0);
--ring: oklch(83% 0 0);
/* Chart Colors Dark */
--chart-1: oklch(60% 0.14 250);
--chart-2: oklch(55% 0.12 180);
--chart-3: oklch(65% 0.15 70);
--chart-4: oklch(68% 0.13 310);
--chart-5: oklch(66% 0.14 10);
}
@layer base {
* {
@apply border-border outline-ring/50;
}
body {
@apply bg-background text-foreground;
}
}