- Add Jinja2 templates with data-testid attributes for testing - Create light/dark themes based on Gitea color scheme - Add theme switching with localStorage persistence - Create base CSS, components, and layout styles - Add mock web routes for UI demonstration - Register web router and static files in main.py - Add data-testid requirements to AGENTS.md - Install jinja2 dependency
176 lines
5.5 KiB
CSS
176 lines
5.5 KiB
CSS
gitea-theme-meta-info {
|
|
--theme-display-name: "Light";
|
|
--theme-color-scheme: "light";
|
|
}
|
|
|
|
:root {
|
|
--is-dark-theme: false;
|
|
|
|
/* Primary colors */
|
|
--color-primary: #4183c4;
|
|
--color-primary-contrast: #ffffff;
|
|
--color-primary-dark-1: #3876b3;
|
|
--color-primary-dark-2: #31699f;
|
|
--color-primary-dark-3: #2b5c8b;
|
|
--color-primary-dark-4: #254f77;
|
|
--color-primary-dark-5: #193450;
|
|
--color-primary-dark-6: #0c1a28;
|
|
--color-primary-dark-7: #04080c;
|
|
--color-primary-light-1: #548fca;
|
|
--color-primary-light-2: #679cd0;
|
|
--color-primary-light-3: #7aa8d6;
|
|
--color-primary-light-4: #8db5dc;
|
|
--color-primary-light-5: #b3cde7;
|
|
--color-primary-light-6: #d9e6f3;
|
|
--color-primary-light-7: #f4f8fb;
|
|
--color-primary-alpha-10: #4183c419;
|
|
--color-primary-alpha-20: #4183c433;
|
|
--color-primary-alpha-30: #4183c44b;
|
|
--color-primary-alpha-40: #4183c466;
|
|
--color-primary-alpha-50: #4183c480;
|
|
--color-primary-alpha-60: #4183c499;
|
|
--color-primary-alpha-70: #4183c4b3;
|
|
--color-primary-alpha-80: #4183c4cc;
|
|
--color-primary-alpha-90: #4183c4e1;
|
|
--color-primary-hover: var(--color-primary-dark-1);
|
|
--color-primary-active: var(--color-primary-dark-2);
|
|
|
|
/* Secondary colors */
|
|
--color-secondary: #d0d7de;
|
|
--color-secondary-dark-1: #c7ced5;
|
|
--color-secondary-dark-2: #b9c0c7;
|
|
--color-secondary-dark-3: #99a0a7;
|
|
--color-secondary-dark-4: #899097;
|
|
--color-secondary-dark-5: #7a8188;
|
|
--color-secondary-dark-6: #6a7178;
|
|
--color-secondary-dark-7: #5b6269;
|
|
--color-secondary-dark-8: #4b5259;
|
|
--color-secondary-dark-9: #3c434a;
|
|
--color-secondary-dark-10: #2c333a;
|
|
--color-secondary-dark-11: #1d242b;
|
|
--color-secondary-dark-12: #0d141b;
|
|
--color-secondary-dark-13: #00040b;
|
|
--color-secondary-light-1: #dee5ec;
|
|
--color-secondary-light-2: #e4ebf2;
|
|
--color-secondary-light-3: #ebf2f9;
|
|
--color-secondary-light-4: #f1f8ff;
|
|
--color-secondary-alpha-10: #d0d7de19;
|
|
--color-secondary-alpha-20: #d0d7de33;
|
|
--color-secondary-alpha-30: #d0d7de4b;
|
|
--color-secondary-alpha-40: #d0d7de66;
|
|
--color-secondary-alpha-50: #d0d7de80;
|
|
--color-secondary-alpha-60: #d0d7de99;
|
|
--color-secondary-alpha-70: #d0d7deb3;
|
|
--color-secondary-alpha-80: #d0d7decc;
|
|
--color-secondary-alpha-90: #d0d7dee1;
|
|
--color-secondary-button: var(--color-secondary-dark-4);
|
|
--color-secondary-hover: var(--color-secondary-dark-5);
|
|
--color-secondary-active: var(--color-secondary-dark-6);
|
|
|
|
/* Semantic colors */
|
|
--color-red: #db2828;
|
|
--color-orange: #f2711c;
|
|
--color-yellow: #fbbd08;
|
|
--color-olive: #b5cc18;
|
|
--color-green: #21ba45;
|
|
--color-teal: #00b5ad;
|
|
--color-blue: #2185d0;
|
|
--color-violet: #6435c9;
|
|
--color-purple: #a333c8;
|
|
--color-pink: #e03997;
|
|
--color-brown: #a5673f;
|
|
--color-black: #1d2328;
|
|
|
|
/* Light variants */
|
|
--color-red-light: #e45e5e;
|
|
--color-orange-light: #f59555;
|
|
--color-yellow-light: #fcce46;
|
|
--color-olive-light: #d3e942;
|
|
--color-green-light: #46de6a;
|
|
--color-teal-light: #08fff4;
|
|
--color-blue-light: #51a5e3;
|
|
--color-violet-light: #8b67d7;
|
|
--color-purple-light: #bb64d8;
|
|
--color-pink-light: #e86bb1;
|
|
--color-brown-light: #c58b66;
|
|
--color-black-light: #4b5b68;
|
|
|
|
/* Dark variants */
|
|
--color-red-dark-1: #c82121;
|
|
--color-orange-dark-1: #e6630d;
|
|
--color-yellow-dark-1: #e5ac04;
|
|
--color-olive-dark-1: #a3b816;
|
|
--color-green-dark-1: #1ea73e;
|
|
--color-teal-dark-1: #00a39c;
|
|
--color-blue-dark-1: #1e78bb;
|
|
--color-violet-dark-1: #5a30b5;
|
|
--color-purple-dark-1: #932eb4;
|
|
--color-pink-dark-1: #db228a;
|
|
--color-brown-dark-1: #955d39;
|
|
--color-black-dark-1: #2c3339;
|
|
|
|
/* Status colors */
|
|
--color-error-border: #ff818266;
|
|
--color-error-bg: #ffebe9;
|
|
--color-error-bg-active: #ffcecb;
|
|
--color-error-bg-hover: #ffdcd7;
|
|
--color-error-text: #d1242f;
|
|
--color-success-border: #4ac26b66;
|
|
--color-success-bg: #dafbe1;
|
|
--color-success-text: #1a7f37;
|
|
--color-warning-border: #d4a72c66;
|
|
--color-warning-bg: #fff8c5;
|
|
--color-warning-text: #9a6700;
|
|
--color-info-border: #54aeff66;
|
|
--color-info-bg: #ddf4ff;
|
|
--color-info-text: #0969da;
|
|
|
|
/* Target-based colors */
|
|
--color-body: #ffffff;
|
|
--color-box-header: #f1f3f5;
|
|
--color-box-body: #ffffff;
|
|
--color-box-body-highlight: #ecf5fd;
|
|
--color-text-dark: #01050a;
|
|
--color-text: #181c21;
|
|
--color-text-light: #30363b;
|
|
--color-text-light-1: #40474d;
|
|
--color-text-light-2: #5b6167;
|
|
--color-text-light-3: #747c84;
|
|
--color-footer: var(--color-nav-bg);
|
|
--color-timeline: #d0d7de;
|
|
--color-input-text: var(--color-text-dark);
|
|
--color-input-background: #fff;
|
|
--color-input-toggle-background: #d0d7de;
|
|
--color-input-border: var(--color-secondary-dark-1);
|
|
--color-light: #00001706;
|
|
--color-light-border: #0000171d;
|
|
--color-hover: #00001708;
|
|
--color-hover-opaque: #f1f3f5;
|
|
--color-active: #00001714;
|
|
--color-menu: #f8f9fb;
|
|
--color-card: #f8f9fb;
|
|
--color-button: #f8f9fb;
|
|
--color-code-bg: #fafdff;
|
|
--color-shadow: #00001726;
|
|
--color-shadow-opaque: #c7ced5;
|
|
--color-secondary-bg: #f2f5f8;
|
|
--color-expand-button: #cfe8fa;
|
|
--color-placeholder-text: var(--color-text-light-3);
|
|
--color-tooltip-text: #fbfdff;
|
|
--color-tooltip-bg: #000017f0;
|
|
--color-nav-bg: #f6f7fa;
|
|
--color-nav-hover-bg: var(--color-secondary-light-1);
|
|
--color-nav-text: var(--color-text);
|
|
--color-secondary-nav-bg: #f9fafb;
|
|
--color-label-text: var(--color-text);
|
|
--color-label-bg: #949da64b;
|
|
--color-label-hover-bg: #949da6a0;
|
|
--color-label-active-bg: #949da6ff;
|
|
--color-accent: var(--color-primary-light-1);
|
|
--color-small-accent: var(--color-primary-light-6);
|
|
--color-border: #d0d7de;
|
|
|
|
accent-color: var(--color-accent);
|
|
color-scheme: light;
|
|
}
|