Add the SqlitePool to the AppState for Janky data storage
This commit is contained in:
parent
c736b2b5a2
commit
0a3b14b942
13
src/main.rs
13
src/main.rs
|
@ -9,15 +9,18 @@ use async_std::sync::{Arc, RwLock};
|
|||
use dotenv::dotenv;
|
||||
use handlebars::Handlebars;
|
||||
use log::*;
|
||||
use sqlx::SqlitePool;
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct AppState<'a> {
|
||||
pub db: SqlitePool,
|
||||
hb: Arc<RwLock<Handlebars<'a>>>,
|
||||
}
|
||||
|
||||
impl AppState<'_> {
|
||||
fn new() -> Self {
|
||||
fn new(db: SqlitePool) -> Self {
|
||||
Self {
|
||||
db: db,
|
||||
hb: Arc::new(RwLock::new(Handlebars::new())),
|
||||
}
|
||||
}
|
||||
|
@ -85,8 +88,12 @@ async fn main() -> Result<(), tide::Error> {
|
|||
pretty_env_logger::init();
|
||||
dotenv().ok();
|
||||
|
||||
//let database_url = std::env::var("DATABASE_URL").expect("DATABASE_URL must be set");
|
||||
let state = AppState::new();
|
||||
let database_url = std::env::var("DATABASE_URL").unwrap_or(":memory:".to_string());
|
||||
let state = AppState::new(
|
||||
SqlitePool::connect(&database_url)
|
||||
.await
|
||||
.expect("Failed to open SqlitePool"),
|
||||
);
|
||||
state.register_templates().await;
|
||||
let mut app = tide::with_state(state);
|
||||
|
||||
|
|
|
@ -0,0 +1,636 @@
|
|||
[data-theme=dark], .app-theme-picker__picker[data-theme=dark] {
|
||||
--dark-theme-bg-black: hsl(240, 6%, 10%);
|
||||
--dark-theme-bg-dark: #222;
|
||||
--dark-theme-bg-medium: #2d2b2b;
|
||||
--dark-theme-bg-dark-grey: #333;
|
||||
--dark-theme-bg-medium-grey: #444;
|
||||
--dark-theme-bg-light-grey: #555;
|
||||
--dark-theme-bg-very-light-grey: #444;
|
||||
--background: hsl(240, 6%, 13%);
|
||||
--very-light-grey: var(--dark-theme-bg-very-light-grey);
|
||||
--light-grey: var(--dark-theme-bg-medium);
|
||||
--medium-grey: var(--dark-theme-bg-medium-grey);
|
||||
--white: var(--dark-theme-bg-dark-grey);
|
||||
--black: var(--dark-theme-bg-light-grey);
|
||||
--primary: #53c1ff;
|
||||
/* Text */
|
||||
--text-color: rgb(250, 250, 255);
|
||||
--text-color-secondary: rgb(160, 160, 165);
|
||||
--call-to-action-text-color: var(--dark-theme-bg-medium);
|
||||
--call-to-action-link-color: var(--call-to-action-text-color);
|
||||
/* Alerts */
|
||||
--alert-success-text-color: #fff;
|
||||
--alert-success-bg-color: #007e33;
|
||||
--alert-success-border-color: var(--alert-success-bg-color);
|
||||
--alert-info-text-color: #fff;
|
||||
--alert-info-bg-color: #0099cc;
|
||||
--alert-info-border-color: var(--alert-info-bg-color);
|
||||
--alert-warning-text-color: #fff;
|
||||
--alert-warning-bg-color: #ff8800;
|
||||
--alert-warning-border-color: var(--alert-warning-bg-color);
|
||||
--alert-danger-text-color: #fff;
|
||||
--alert-danger-bg-color: #cc0000;
|
||||
--alert-danger-border-color: var(--alert-danger-bg-color);
|
||||
/* Buttons */
|
||||
--btn-primary-bg: #53c1ff;
|
||||
--btn-secondary-bg: var(--dark-theme-bg-dark);
|
||||
--btn-secondary-color: var(--btn-primary-color);
|
||||
--btn-link-bg--hover: var(--dark-theme-bg-dark-grey);
|
||||
--btn-link-bg--active: var(--dark-theme-bg-dark-grey);
|
||||
/* Help area */
|
||||
--help-area-bg-color: var(--dark-theme-bg-dark-grey);
|
||||
--configure-job-help-area-bg-color: var(--dark-theme-bg-dark);
|
||||
/* Header */
|
||||
--logo-bg: var(--dark-theme-bg-dark);
|
||||
--brand-link-color: var(--primary);
|
||||
--header-link-color: var(--text-color);
|
||||
--header-link-color-active: var(--text-color);
|
||||
--header-bg-classic: #000;
|
||||
--search-bg: #4d545d;
|
||||
--search-input-color: var(--text-color);
|
||||
/* Breadcrumbs */
|
||||
--breadcrumbs-bg: var(--dark-theme-bg-black);
|
||||
--breadcrumbs-bg-color--hover: var(--dark-theme-bg-dark);
|
||||
--breadcrumbs-text-color: var(--text-color);
|
||||
--breadcrumbs-item-bg-color--hover: var(--dark-theme-bg-dark);
|
||||
--breadcrumbs-border: var(--dark-theme-bg-dark-grey);
|
||||
--breadcrumbs-bar-background: hsl(240, 6%, 9%, 0.8);
|
||||
/* Footer */
|
||||
--footer-background: hsl(240, 6%, 9%, 0.8);
|
||||
/* Tooltips */
|
||||
--tooltip-background: hsl(240, 6%, 23%);
|
||||
--tooltip-backdrop-filter: contrast(0.6) saturate(4) brightness(0.4) blur(15px);
|
||||
--tooltip-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05),
|
||||
0 0 8px 2px rgba(0, 0, 30, 0.05),
|
||||
0 0 1px 1px rgba(0, 0, 20, 0.025),
|
||||
0 10px 20px rgba(0, 0, 20, 0.15);
|
||||
/* Dropdowns */
|
||||
--dropdown-backdrop-filter: contrast(0.85) saturate(2) brightness(0.7) blur(20px);
|
||||
--dropdown-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05),
|
||||
0 0 8px 2px rgba(0, 0, 30, 0.05),
|
||||
0 0 1px 1px rgba(0, 0, 20, 0.025),
|
||||
0 10px 20px rgba(0, 0, 20, 0.3);
|
||||
/* Links */
|
||||
--link-color: #53c1ff;
|
||||
--link-visited-color: #53c1ff;
|
||||
/* Table */
|
||||
--table-background: var(--dark-theme-bg-black);
|
||||
--table-header-foreground: rgb(240, 240, 245);
|
||||
--table-body-background: var(--background);
|
||||
--table-body-foreground: rgb(240, 240, 245);
|
||||
/* Deprecated */
|
||||
--bigtable-header-bg: var(--dark-theme-bg-black);
|
||||
--bigtable-header-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--bigtable-header-text-color: var(--text-color);
|
||||
--bigtable-row-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--even-row-color: #020202;
|
||||
--table-striped-bg--hover: var(--dark-theme-bg-dark-grey);
|
||||
/* Pane widget */
|
||||
--pane-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--pane-header-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--pane-header-color: var(--dark-theme-bg-black);
|
||||
/* Tab bar */
|
||||
--tabs-background: var(--dark-theme-bg-black);
|
||||
--tabs-item-background: transparent;
|
||||
--tabs-item-background--hover: rgba(255, 255, 255, 0.05);
|
||||
--tabs-item-background--active: rgba(255, 255, 255, 0.1);
|
||||
--tabs-item-background--selected: rgba(255, 255, 255, 0.05);
|
||||
/* Deprecated */
|
||||
--tab-link-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--tab-link-text-color: #999;
|
||||
--tab-link-checked-bg: var(--dark-theme-bg-black);
|
||||
--tab-link-checked-text-color: var(--primary);
|
||||
--tab-link-bg--hover: var(--dark-theme-bg-dark-grey);
|
||||
--tab-link-bg--active: var(--dark-theme-bg-dark-grey);
|
||||
/* Side panel */
|
||||
--panel-header-bg-color: var(--dark-theme-bg-black);
|
||||
--panel-border-color: rgb(50, 50, 55);
|
||||
--panel-border-color--hover: var(--dark-theme-bg-black);
|
||||
--task-link-bg-color--hover: var(--dark-theme-bg-medium-grey);
|
||||
/* Form */
|
||||
--input-color: rgb(40, 40, 42);
|
||||
--input-border: rgb(120, 120, 130);
|
||||
--input-border-hover: rgb(140, 140, 150);
|
||||
--focus-input-border: #4bbeff;
|
||||
--focus-input-glow: rgba(43, 116, 160, 0.4);
|
||||
--pre-background: var(--dark-theme-bg-black);
|
||||
--selection-color: rgba(75, 190, 255, 0.5);
|
||||
--header-search-border: var(--dark-theme-bg-dark-grey);
|
||||
--input-hidden-password-bg-color: var(--input-color);
|
||||
/* Text area handle */
|
||||
--text-area-handle-border: var(--dark-theme-bg-dark-grey);
|
||||
--text-area-handle-bg-color: var(--text-area-handle-border);
|
||||
/* Pop out menus */
|
||||
--menu-bg-color: var(--dark-theme-bg-medium);
|
||||
--menu-text-color: var(--text-color);
|
||||
--menu-selected-color: var(--dark-theme-bg-dark);
|
||||
--menu-box-shadow: none;
|
||||
/* Manage component */
|
||||
--manage-option-bg-color--hover: var(--dark-theme-bg-light-grey);
|
||||
--manage-option-bg-color--active: var(--dark-theme-bg-light-grey);
|
||||
--manage-option-border-color: var(--dark-theme-bg-light-grey);
|
||||
/* Add form widget */
|
||||
--light-bg-color: var(--dark-theme-bg-medium);
|
||||
--light-bg-color--hover: var(--dark-theme-bg-dark);
|
||||
--bright-bg-color: var(--dark-theme-bg-dark-grey);
|
||||
--brightest-bg-color: var(--input-color);
|
||||
--add-item-btn-decorator-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--add-item-categories-bg-color--hover: var(--dark-theme-bg-dark-grey);
|
||||
--add-item-btn-decorator-bg-color: var(--dark-theme-bg-dark-grey);
|
||||
--configure-job-bottom-sticker-bg-color: var(--dark-theme-bg-dark-grey);
|
||||
--configure-job-bottom-sticker-border-color: var(--dark-theme-bg-dark-grey);
|
||||
/* Plugin manager */
|
||||
--plugin-manager-bg-color-already-upgraded: var(--dark-theme-bg-medium);
|
||||
--plugin-manager-category-link-bg-color: #5d5b5b;
|
||||
--plugin-manager-category-link-bg-color--hover: var(--dark-theme-bg-dark-grey);
|
||||
--plugin-manager-category-link-border-color--hover: var(--dark-theme-bg-black);
|
||||
--plugin-manager-category-text-color: var(--text-color);
|
||||
--plugin-manager-category-link-color--hover: #a5a3a3;
|
||||
--plugin-manager-unavailable-bg-color: var(--dark-theme-bg-medium);
|
||||
--plugin-manager-unavailable-label-color: var(--text-color);
|
||||
/* Auto complete */
|
||||
--auto-complete-bg-color--prehighlight: var(--primary);
|
||||
}
|
||||
[data-theme=dark] body, .app-theme-picker__picker[data-theme=dark] body {
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
[data-theme=dark] {
|
||||
--light-blue: #8cc6ff;
|
||||
--blue: hsl(210deg, 100%, 55%);
|
||||
--dark-blue: #0054a8;
|
||||
--light-brown: #d1b9a0;
|
||||
--brown: hsl(30deg, 35%, 45%);
|
||||
--dark-brown: #5d452d;
|
||||
--light-cyan: #b3e6ff;
|
||||
--cyan: hsl(200deg, 100%, 70%);
|
||||
--dark-cyan: #008fd6;
|
||||
--light-green: #9bf1b0;
|
||||
--green: hsl(135deg, 75%, 55%);
|
||||
--dark-green: #159335;
|
||||
--light-indigo: #b3a6f2;
|
||||
--indigo: hsl(250deg, 75%, 60%);
|
||||
--dark-indigo: #2e17a1;
|
||||
--light-orange: #ffca80;
|
||||
--orange: hsl(35deg, 100%, 50%);
|
||||
--dark-orange: #995900;
|
||||
--light-pink: #ff99aa;
|
||||
--pink: hsl(350deg, 100%, 60%);
|
||||
--dark-pink: #b8001f;
|
||||
--light-purple: #daa1f7;
|
||||
--purple: hsl(280deg, 85%, 60%);
|
||||
--dark-purple: #760eaa;
|
||||
--light-red: #ffa299;
|
||||
--red: hsl(5deg, 100%, 60%);
|
||||
--dark-red: #b80f00;
|
||||
--light-yellow: #ffec8c;
|
||||
--yellow: hsl(50deg, 100%, 55%);
|
||||
--dark-yellow: #a88c00;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default {
|
||||
font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default.CodeMirror {
|
||||
background: #2B2B2B;
|
||||
color: #A9B7C6;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-meta {
|
||||
color: #BBB529;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-number {
|
||||
color: #6897BB;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-keyword {
|
||||
color: #CC7832;
|
||||
line-height: 1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-def {
|
||||
color: #A9B7C6;
|
||||
font-style: italic;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-variable {
|
||||
color: #A9B7C6;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-variable-2 {
|
||||
color: #A9B7C6;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-variable-3 {
|
||||
color: #9876AA;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-type {
|
||||
color: #AABBCC;
|
||||
font-weight: bold;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-property {
|
||||
color: #FFC66D;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-operator {
|
||||
color: #A9B7C6;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-string {
|
||||
color: #6A8759;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-string-2 {
|
||||
color: #6A8759;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-comment {
|
||||
color: #61A151;
|
||||
font-style: italic;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-link {
|
||||
color: #CC7832;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-atom {
|
||||
color: #CC7832;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-error {
|
||||
color: #BC3F3C;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-tag {
|
||||
color: #629755;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
text-decoration: underline;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-attribute {
|
||||
color: #6897bb;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-qualifier {
|
||||
color: #6A8759;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-bracket {
|
||||
color: #A9B7C6;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-builtin {
|
||||
color: #FF9E59;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-special {
|
||||
color: #FF9E59;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-matchhighlight {
|
||||
color: #FFFFFF;
|
||||
background-color: rgba(50, 89, 48, 0.7);
|
||||
font-weight: normal;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default span.cm-searching {
|
||||
color: #FFFFFF;
|
||||
background-color: rgba(61, 115, 59, 0.7);
|
||||
font-weight: normal;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default .CodeMirror-cursor {
|
||||
border-left: 1px solid #A9B7C6;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default .CodeMirror-activeline-background {
|
||||
background: #323232;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default .CodeMirror-gutter {
|
||||
background: #313335;
|
||||
border-right: 1px solid #313335;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default .CodeMirror-guttermarker {
|
||||
color: #FFEE80;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default .CodeMirror-guttermarker-subtle {
|
||||
color: #D0D0D0;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default .CodeMirrir-linenumber {
|
||||
color: #606366;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default .CodeMirror-matchingbracket {
|
||||
background-color: #3B514D;
|
||||
color: #FFEF28 !important;
|
||||
font-weight: bold;
|
||||
}
|
||||
[data-theme=dark] #jenkins .cm-s-default div.CodeMirror-selected {
|
||||
background: #214283;
|
||||
}
|
||||
[data-theme=dark] #jenkins .CodeMirror-hints.default {
|
||||
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||
color: #9C9E9E;
|
||||
background-color: #3B3E3F !important;
|
||||
}
|
||||
[data-theme=dark] #jenkins .CodeMirror-hints.default .CodeMirror-hint-active {
|
||||
background-color: #494D4E !important;
|
||||
color: #9C9E9E !important;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
[data-theme=dark-system], .app-theme-picker__picker[data-theme=dark-system] {
|
||||
--dark-theme-bg-black: hsl(240, 6%, 10%);
|
||||
--dark-theme-bg-dark: #222;
|
||||
--dark-theme-bg-medium: #2d2b2b;
|
||||
--dark-theme-bg-dark-grey: #333;
|
||||
--dark-theme-bg-medium-grey: #444;
|
||||
--dark-theme-bg-light-grey: #555;
|
||||
--dark-theme-bg-very-light-grey: #444;
|
||||
--background: hsl(240, 6%, 13%);
|
||||
--very-light-grey: var(--dark-theme-bg-very-light-grey);
|
||||
--light-grey: var(--dark-theme-bg-medium);
|
||||
--medium-grey: var(--dark-theme-bg-medium-grey);
|
||||
--white: var(--dark-theme-bg-dark-grey);
|
||||
--black: var(--dark-theme-bg-light-grey);
|
||||
--primary: #53c1ff;
|
||||
/* Text */
|
||||
--text-color: rgb(250, 250, 255);
|
||||
--text-color-secondary: rgb(160, 160, 165);
|
||||
--call-to-action-text-color: var(--dark-theme-bg-medium);
|
||||
--call-to-action-link-color: var(--call-to-action-text-color);
|
||||
/* Alerts */
|
||||
--alert-success-text-color: #fff;
|
||||
--alert-success-bg-color: #007e33;
|
||||
--alert-success-border-color: var(--alert-success-bg-color);
|
||||
--alert-info-text-color: #fff;
|
||||
--alert-info-bg-color: #0099cc;
|
||||
--alert-info-border-color: var(--alert-info-bg-color);
|
||||
--alert-warning-text-color: #fff;
|
||||
--alert-warning-bg-color: #ff8800;
|
||||
--alert-warning-border-color: var(--alert-warning-bg-color);
|
||||
--alert-danger-text-color: #fff;
|
||||
--alert-danger-bg-color: #cc0000;
|
||||
--alert-danger-border-color: var(--alert-danger-bg-color);
|
||||
/* Buttons */
|
||||
--btn-primary-bg: #53c1ff;
|
||||
--btn-secondary-bg: var(--dark-theme-bg-dark);
|
||||
--btn-secondary-color: var(--btn-primary-color);
|
||||
--btn-link-bg--hover: var(--dark-theme-bg-dark-grey);
|
||||
--btn-link-bg--active: var(--dark-theme-bg-dark-grey);
|
||||
/* Help area */
|
||||
--help-area-bg-color: var(--dark-theme-bg-dark-grey);
|
||||
--configure-job-help-area-bg-color: var(--dark-theme-bg-dark);
|
||||
/* Header */
|
||||
--logo-bg: var(--dark-theme-bg-dark);
|
||||
--brand-link-color: var(--primary);
|
||||
--header-link-color: var(--text-color);
|
||||
--header-link-color-active: var(--text-color);
|
||||
--header-bg-classic: #000;
|
||||
--search-bg: #4d545d;
|
||||
--search-input-color: var(--text-color);
|
||||
/* Breadcrumbs */
|
||||
--breadcrumbs-bg: var(--dark-theme-bg-black);
|
||||
--breadcrumbs-bg-color--hover: var(--dark-theme-bg-dark);
|
||||
--breadcrumbs-text-color: var(--text-color);
|
||||
--breadcrumbs-item-bg-color--hover: var(--dark-theme-bg-dark);
|
||||
--breadcrumbs-border: var(--dark-theme-bg-dark-grey);
|
||||
--breadcrumbs-bar-background: hsl(240, 6%, 9%, 0.8);
|
||||
/* Footer */
|
||||
--footer-background: hsl(240, 6%, 9%, 0.8);
|
||||
/* Tooltips */
|
||||
--tooltip-background: hsl(240, 6%, 23%);
|
||||
--tooltip-backdrop-filter: contrast(0.6) saturate(4) brightness(0.4) blur(15px);
|
||||
--tooltip-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05),
|
||||
0 0 8px 2px rgba(0, 0, 30, 0.05),
|
||||
0 0 1px 1px rgba(0, 0, 20, 0.025),
|
||||
0 10px 20px rgba(0, 0, 20, 0.15);
|
||||
/* Dropdowns */
|
||||
--dropdown-backdrop-filter: contrast(0.85) saturate(2) brightness(0.7) blur(20px);
|
||||
--dropdown-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05),
|
||||
0 0 8px 2px rgba(0, 0, 30, 0.05),
|
||||
0 0 1px 1px rgba(0, 0, 20, 0.025),
|
||||
0 10px 20px rgba(0, 0, 20, 0.3);
|
||||
/* Links */
|
||||
--link-color: #53c1ff;
|
||||
--link-visited-color: #53c1ff;
|
||||
/* Table */
|
||||
--table-background: var(--dark-theme-bg-black);
|
||||
--table-header-foreground: rgb(240, 240, 245);
|
||||
--table-body-background: var(--background);
|
||||
--table-body-foreground: rgb(240, 240, 245);
|
||||
/* Deprecated */
|
||||
--bigtable-header-bg: var(--dark-theme-bg-black);
|
||||
--bigtable-header-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--bigtable-header-text-color: var(--text-color);
|
||||
--bigtable-row-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--even-row-color: #020202;
|
||||
--table-striped-bg--hover: var(--dark-theme-bg-dark-grey);
|
||||
/* Pane widget */
|
||||
--pane-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--pane-header-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--pane-header-color: var(--dark-theme-bg-black);
|
||||
/* Tab bar */
|
||||
--tabs-background: var(--dark-theme-bg-black);
|
||||
--tabs-item-background: transparent;
|
||||
--tabs-item-background--hover: rgba(255, 255, 255, 0.05);
|
||||
--tabs-item-background--active: rgba(255, 255, 255, 0.1);
|
||||
--tabs-item-background--selected: rgba(255, 255, 255, 0.05);
|
||||
/* Deprecated */
|
||||
--tab-link-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--tab-link-text-color: #999;
|
||||
--tab-link-checked-bg: var(--dark-theme-bg-black);
|
||||
--tab-link-checked-text-color: var(--primary);
|
||||
--tab-link-bg--hover: var(--dark-theme-bg-dark-grey);
|
||||
--tab-link-bg--active: var(--dark-theme-bg-dark-grey);
|
||||
/* Side panel */
|
||||
--panel-header-bg-color: var(--dark-theme-bg-black);
|
||||
--panel-border-color: rgb(50, 50, 55);
|
||||
--panel-border-color--hover: var(--dark-theme-bg-black);
|
||||
--task-link-bg-color--hover: var(--dark-theme-bg-medium-grey);
|
||||
/* Form */
|
||||
--input-color: rgb(40, 40, 42);
|
||||
--input-border: rgb(120, 120, 130);
|
||||
--input-border-hover: rgb(140, 140, 150);
|
||||
--focus-input-border: #4bbeff;
|
||||
--focus-input-glow: rgba(43, 116, 160, 0.4);
|
||||
--pre-background: var(--dark-theme-bg-black);
|
||||
--selection-color: rgba(75, 190, 255, 0.5);
|
||||
--header-search-border: var(--dark-theme-bg-dark-grey);
|
||||
--input-hidden-password-bg-color: var(--input-color);
|
||||
/* Text area handle */
|
||||
--text-area-handle-border: var(--dark-theme-bg-dark-grey);
|
||||
--text-area-handle-bg-color: var(--text-area-handle-border);
|
||||
/* Pop out menus */
|
||||
--menu-bg-color: var(--dark-theme-bg-medium);
|
||||
--menu-text-color: var(--text-color);
|
||||
--menu-selected-color: var(--dark-theme-bg-dark);
|
||||
--menu-box-shadow: none;
|
||||
/* Manage component */
|
||||
--manage-option-bg-color--hover: var(--dark-theme-bg-light-grey);
|
||||
--manage-option-bg-color--active: var(--dark-theme-bg-light-grey);
|
||||
--manage-option-border-color: var(--dark-theme-bg-light-grey);
|
||||
/* Add form widget */
|
||||
--light-bg-color: var(--dark-theme-bg-medium);
|
||||
--light-bg-color--hover: var(--dark-theme-bg-dark);
|
||||
--bright-bg-color: var(--dark-theme-bg-dark-grey);
|
||||
--brightest-bg-color: var(--input-color);
|
||||
--add-item-btn-decorator-border-color: var(--dark-theme-bg-dark-grey);
|
||||
--add-item-categories-bg-color--hover: var(--dark-theme-bg-dark-grey);
|
||||
--add-item-btn-decorator-bg-color: var(--dark-theme-bg-dark-grey);
|
||||
--configure-job-bottom-sticker-bg-color: var(--dark-theme-bg-dark-grey);
|
||||
--configure-job-bottom-sticker-border-color: var(--dark-theme-bg-dark-grey);
|
||||
/* Plugin manager */
|
||||
--plugin-manager-bg-color-already-upgraded: var(--dark-theme-bg-medium);
|
||||
--plugin-manager-category-link-bg-color: #5d5b5b;
|
||||
--plugin-manager-category-link-bg-color--hover: var(--dark-theme-bg-dark-grey);
|
||||
--plugin-manager-category-link-border-color--hover: var(--dark-theme-bg-black);
|
||||
--plugin-manager-category-text-color: var(--text-color);
|
||||
--plugin-manager-category-link-color--hover: #a5a3a3;
|
||||
--plugin-manager-unavailable-bg-color: var(--dark-theme-bg-medium);
|
||||
--plugin-manager-unavailable-label-color: var(--text-color);
|
||||
/* Auto complete */
|
||||
--auto-complete-bg-color--prehighlight: var(--primary);
|
||||
}
|
||||
[data-theme=dark-system] body, .app-theme-picker__picker[data-theme=dark-system] body {
|
||||
color-scheme: dark;
|
||||
}
|
||||
[data-theme=dark-system] {
|
||||
--light-blue: #8cc6ff;
|
||||
--blue: hsl(210deg, 100%, 55%);
|
||||
--dark-blue: #0054a8;
|
||||
--light-brown: #d1b9a0;
|
||||
--brown: hsl(30deg, 35%, 45%);
|
||||
--dark-brown: #5d452d;
|
||||
--light-cyan: #b3e6ff;
|
||||
--cyan: hsl(200deg, 100%, 70%);
|
||||
--dark-cyan: #008fd6;
|
||||
--light-green: #9bf1b0;
|
||||
--green: hsl(135deg, 75%, 55%);
|
||||
--dark-green: #159335;
|
||||
--light-indigo: #b3a6f2;
|
||||
--indigo: hsl(250deg, 75%, 60%);
|
||||
--dark-indigo: #2e17a1;
|
||||
--light-orange: #ffca80;
|
||||
--orange: hsl(35deg, 100%, 50%);
|
||||
--dark-orange: #995900;
|
||||
--light-pink: #ff99aa;
|
||||
--pink: hsl(350deg, 100%, 60%);
|
||||
--dark-pink: #b8001f;
|
||||
--light-purple: #daa1f7;
|
||||
--purple: hsl(280deg, 85%, 60%);
|
||||
--dark-purple: #760eaa;
|
||||
--light-red: #ffa299;
|
||||
--red: hsl(5deg, 100%, 60%);
|
||||
--dark-red: #b80f00;
|
||||
--light-yellow: #ffec8c;
|
||||
--yellow: hsl(50deg, 100%, 55%);
|
||||
--dark-yellow: #a88c00;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default {
|
||||
font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default.CodeMirror {
|
||||
background: #2B2B2B;
|
||||
color: #A9B7C6;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-meta {
|
||||
color: #BBB529;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-number {
|
||||
color: #6897BB;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-keyword {
|
||||
color: #CC7832;
|
||||
line-height: 1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-def {
|
||||
color: #A9B7C6;
|
||||
font-style: italic;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-variable {
|
||||
color: #A9B7C6;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-variable-2 {
|
||||
color: #A9B7C6;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-variable-3 {
|
||||
color: #9876AA;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-type {
|
||||
color: #AABBCC;
|
||||
font-weight: bold;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-property {
|
||||
color: #FFC66D;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-operator {
|
||||
color: #A9B7C6;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-string {
|
||||
color: #6A8759;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-string-2 {
|
||||
color: #6A8759;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-comment {
|
||||
color: #61A151;
|
||||
font-style: italic;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-link {
|
||||
color: #CC7832;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-atom {
|
||||
color: #CC7832;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-error {
|
||||
color: #BC3F3C;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-tag {
|
||||
color: #629755;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
text-decoration: underline;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-attribute {
|
||||
color: #6897bb;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-qualifier {
|
||||
color: #6A8759;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-bracket {
|
||||
color: #A9B7C6;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-builtin {
|
||||
color: #FF9E59;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-special {
|
||||
color: #FF9E59;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-matchhighlight {
|
||||
color: #FFFFFF;
|
||||
background-color: rgba(50, 89, 48, 0.7);
|
||||
font-weight: normal;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default span.cm-searching {
|
||||
color: #FFFFFF;
|
||||
background-color: rgba(61, 115, 59, 0.7);
|
||||
font-weight: normal;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default .CodeMirror-cursor {
|
||||
border-left: 1px solid #A9B7C6;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default .CodeMirror-activeline-background {
|
||||
background: #323232;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default .CodeMirror-gutter {
|
||||
background: #313335;
|
||||
border-right: 1px solid #313335;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default .CodeMirror-guttermarker {
|
||||
color: #FFEE80;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default .CodeMirror-guttermarker-subtle {
|
||||
color: #D0D0D0;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default .CodeMirrir-linenumber {
|
||||
color: #606366;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default .CodeMirror-matchingbracket {
|
||||
background-color: #3B514D;
|
||||
color: #FFEF28 !important;
|
||||
font-weight: bold;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .cm-s-default div.CodeMirror-selected {
|
||||
background: #214283;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .CodeMirror-hints.default {
|
||||
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||
color: #9C9E9E;
|
||||
background-color: #3B3E3F !important;
|
||||
}
|
||||
[data-theme=dark-system] #jenkins .CodeMirror-hints.default .CodeMirror-hint-active {
|
||||
background-color: #494D4E !important;
|
||||
color: #9C9E9E !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=theme.css.map */
|
|
@ -0,0 +1,19 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Janky</title>
|
||||
<link type="text/css" rel="stylesheet" href="/theme.css"/>
|
||||
</head>
|
||||
|
||||
<body class="text-center">
|
||||
<div class="cover-container d-flex h-100 p-3 mx-auto flex-column">
|
||||
<main role="main" class="inner cover">
|
||||
<p>
|
||||
This is so Janky
|
||||
</p>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
Loading…
Reference in New Issue