Преглед на файлове

Create some consistency between the theme files

Remove the bootstrap sass variables from the cyberpunk theme, doesn't
look like they're needed.
JC Brand преди 11 месеца
родител
ревизия
5646effc0f
променени са 4 файла, в които са добавени 356 реда и са изтрити 577 реда
  1. 1 1
      src/plugins/profile/templates/password-reset.js
  2. 148 182
      src/shared/styles/themes/classic.scss
  3. 113 273
      src/shared/styles/themes/cyberpunk.scss
  4. 94 121
      src/shared/styles/themes/dracula.scss

+ 1 - 1
src/plugins/profile/templates/password-reset.js

@@ -42,7 +42,7 @@ export default el => {
             ${el.passwords_mismatched ? html`<span class="error">${i18n_passwords_must_match}</span>` : ''}
         </div>
 
-        <input class="py-3 save-form btn btn-primary"
+        <input class="save-form btn btn-primary"
                type="submit"
                value=${i18n_submit}
                ?disabled="${el.alert_message}" />

+ 148 - 182
src/shared/styles/themes/classic.scss

@@ -1,186 +1,152 @@
 body.converse-fullscreen,
 converse-bg.theme-classic,
 converse-root.theme-classic {
-    // Theme-defined variables:
-    --green: #3AA569;
-    --dark-green: #1E9652;
-    --blue: #387592;
-    --dark-blue: #397491;
-    --redder-orange: #E77051;
-    --orange: #E7A151;
-    --light-blue: #578EA9;
-    --lighter-blue: #eff4f7;
-    --dark-red: #D24E2B;
-    --comment: #A8ABA1;
-    --gray: #818479;
-
-    // Base variables
-    --foreground: #666;
-    --background: white;
-    --subdued-color: var(--comment);
-    --muc-color: var(--redder-orange);
-    --chat-color: var(--green);
-    --disabled-color-bg: lightgray;
-    --disabled-color: gray;
-    --error-color: var(--dark-red);
-    --focus-color: var(--background);
-    --header-color: var(--foreground);
-
-    // ---
-
-    --icon-hover-color: var(--text-color);
-    --info-color: var(--dark-green);
-
-    --chat-status-online: var(--green);
-    --chat-status-busy: var(--redder-orange);
-    --chat-status-away: var(--orange);
-
-    --brand-heading-color: var(--blue); // $blue
-
-    --completion-light-color: #FFB9A7; // $lightest-red
-    --completion-normal-color: var(--redder-orange);
-    --completion-dark-color: #D24E2B; // $dark-red
-
-    --dark-link-color: #206485; // $dark-blue
-    --inverse-link-color: var(--background);
-    --link-color: var(--light-blue);
-    --link-hover-color: #345566;
-
-    --global-background-color: var(--dark-blue);
-    --modal-background-color: var(--background);
-
-    --img-thumbnail-background-color: var(--background);
-    --img-thumbnail-border-color: #DEE2E6;
-
-    --text-shadow-color: #FAFAFA;
-    --text-color: var(--foreground);
-    --controlbox-text-color: var(--foreground);
-    --message-author-color: var(--text-color);
-    --text-color-invert: var(--background);
-
-    --message-text-color: #555;
-    --message-receipt-color: var(--green);
-
-    --save-button-color: var(--green);
-
-    --button-text-color: var(--background);
-    --button-hover-text-color: var(--background);
-
-    --chat-background-color: var(--background);
-    --chat-textarea-color: var(--foreground);
-    --chat-textarea-background-color: var(--background);
-    --chat-textarea-disabled-bg-color: #EEE;
-    --chat-textarea-height: 60px;
-
-    --chat-correcting-color: var(--comment);
-    --chat-head-fg-color: var(--background);
-    --chat-head-color-dark: var(--dark-green);
-    --chat-head-color-darker: #0E763B;
-    --chat-head-color: var(--green);
-    --chat-head-text-color: var(--background);
-    --chat-toolbar-btn-color: var(--green);
-    --chat-toolbar-btn-disabled-color: gray;
-
-    --toolbar-btn-text-color: var(--background);
-
-    --chat-content-background-color: var(--background);
-
-    --chat-info-color: var(--chatroom-head-bg-color);
-
-    --danger-color-dark: #A93415; // darker red
-    --danger-color: var(--redder-orange); // dark-red
-    --highlight-color-darker: #B0E8E2;
-    --highlight-color: #DCF9F6;
-    --primary-color-dark:  var(--dark-blue);
-    --primary-color: var(--light-blue);
-    --primary-color-light: var(--lighter-blue);
-    --secondary-color-dark: #585B51;
-    --secondary-color: var(--gray);
-    --warning-color-dark: #D2842B;
-    --warning-color: var(--orange);
-
-    --light-background-color: #FCFDFD;
-
-
-    --groupchats-header-color: var(--chatroom-head-bg-color);
-    --groupchats-header-color-dark: var(--chatroom-head-bg-color-dark);
-
-    --controlbox-head-color: var(--light-blue);
-    --controlbox-heading-color: inherit;
-    --controlbox-heading-font-weight: bold;
-    --controlbox-heading-top-margin: 0.75em;
-    --controlbox-pane-background-color: var(--background);
-    --controlbox-pane-bg-hover-color: #eff4f7;
-    --panel-divider-color: #e7e7e7;
-
-    // TODO: figure out a way to concatenate custom properties with strings.
-    // --font-path: "webfonts/icomoon/fonts/";
-
-    --heading-display: block;
-    --heading-color: var(--background);
-
-    --badge-color: var(--background);
-
-    --chatroom-color: var(--redder-orange);
-    --chatroom-badge-color: var(--chatroom-head-bg-color);
-    --chatroom-badge-hover-color: var(--chatroom-head-bg-color-dark);
-    --chatroom-correcting-color: #fadfd7; // lighten($red, 30%)
-    --chatroom-head-bg-color-dark: #D24E2B; // $red
-    --chatroom-head-bg-color: var(--redder-orange);
-    --chatroom-head-border-bottom: 0px;
-    --chatroom-head-button-color: var(--chatroom-head-bg-color);
-    --chatroom-head-color: var(--background);
-    --chatroom-head-description-display: block;
-    --chatroom-head-description-link-color: var(--background);
-    --chatroom-head-fg-color: var(--background);
-    --chatroom-head-title-font-weight: normal;
-    --chatroom-head-title-padding-right: 0px;
-    --muc-toolbar-btn-color: var(--redder-orange);
-    --muc-toolbar-btn-disabled-color: gray;
-
-    --headlines-color: var(--orange);
-    --headlines-head-text-color: var(--background);
-    --headlines-head-fg-color: var(--background);
-    --headlines-head-bg-color: var(--headlines-color);
-    --headline-message-color: #D2842B;
-    --headline-separator-border-bottom: 2px solid var(--headlines-color);
-
-    --chatbox-button-size: 14px;
-    --fullpage-chatbox-button-size: 16px;
-
-    --separator-text-color: var(--message-text-color);
-    --chat-separator-border-bottom: 2px solid var(--chat-color);
-    --chatroom-separator-border-bottom: 2px solid var(--chatroom-head-bg-color);
-
-    --chatbox-message-input-border-top: 4px solid var(--chat-head-color);
-    --chatroom-message-input-border-top: 4px solid var(--chatroom-head-bg-color);
-
-    --occupants-background-color: var(--background);
-    --occupants-border-left: 0.2rem solid var(--panel-divider-color);
-    --occupants-border-bottom: 1px solid lightgrey;
-
-    --fullpage-chat-height: calc(var(--vh, 1vh) * 100);
-    --fullpage-chat-width: 100%;
-    --fullpage-emoji-picker-height: 300px;
-    --fullpage-max-chat-textarea-height: 15em;
-
-    --overlayed-badge-color: var(--gray);
-
-    --list-toggle-color: var(--gray);
-    --list-toggle-hover-color: #585B51;
-    --list-item-hover-color: rgba(0, 0, 0, 0.035);
-    --list-item-action-color: #e3eef3; // lighten($lightest-blue, 25%)
-    --list-item-link-color: inherit;
-    --list-item-link-hover-color: var(--dark-link-color);
-    --list-item-open-color: var(--controlbox-head-color);
-    --list-item-open-hover-color: var(--controlbox-head-color);
-    --list-dot-circle-color: #f6dec1; // lighten($orange, 25%)
-    --list-item-action-hover-color: var(--inverse-link-color);
-    --list-group-item-bg-color: var(--background);
-
-    --chat-msg-quote-color: var(--subdued-color);
-    --chat-msg-hover-color: var(--list-item-hover-color);
-
-    --close-color: var(--text-color);
-    --close-color: #585B51;
+	$theme: 'classic' !default;
+
+	// Theme-defined variables:
+	// Hex color values
+	--background: white;
+	--blue: #387592;
+	--comment: #a8aba1;
+	--dark-blue: #397491;
+	--dark-green: #1e9652;
+	--dark-red: #d24e2b;
+	--foreground: #666;
+	--gray: #818479;
+	--green: #3aa569;
+	--header-color: var(--foreground);
+	--light-blue: #578ea9;
+	--lighter-blue: #eff4f7;
+	--orange: #e7a151;
+	--redder-orange: #e77051;
+	--subdued-color: var(--comment);
+
+	// Common variables
+	--badge-color: var(--background);
+	--brand-heading-color: var(--blue);
+	--button-hover-text-color: var(--background);
+	--button-text-color: var(--background);
+	--chat-background-color: var(--background);
+	--chat-color: var(--green);
+	--chat-content-background-color: var(--background);
+	--chat-correcting-color: var(--comment);
+	--chat-head-border-bottom: 0;
+	--chat-head-color-dark: var(--dark-green);
+	--chat-head-color-darker: #0e763b;
+	--chat-head-color: var(--green);
+	--chat-head-fg-color: var(--background);
+	--chat-head-text-color: var(--background);
+	--chat-info-color: var(--chatroom-head-bg-color);
+	--chat-msg-hover-color: var(--list-item-hover-color);
+	--chat-msg-quote-color: var(--subdued-color);
+	--chat-separator-border-bottom: 2px solid var(--chat-color);
+	--chat-status-away: var(--orange);
+	--chat-status-busy: var(--redder-orange);
+	--chat-status-online: var(--green);
+	--chat-textarea-background-color: var(--background);
+	--chat-textarea-color: var(--foreground);
+	--chat-textarea-disabled-bg-color: #eee;
+	--chat-textarea-height: 60px;
+	--chat-toolbar-btn-color: var(--green);
+	--chat-toolbar-btn-disabled-color: gray;
+	--chatbox-button-size: 14px;
+	--chatbox-message-input-border-top: 4px solid var(--chat-head-color);
+	--chatroom-badge-color: var(--chatroom-head-bg-color);
+	--chatroom-badge-hover-color: var(--chatroom-head-bg-color-dark);
+	--chatroom-color: var(--redder-orange);
+	--chatroom-correcting-color: #fadfd7; // lighten($red, 30%)
+	--chatroom-head-bg-color-dark: #d24e2b; // $red
+	--chatroom-head-bg-color: var(--redder-orange);
+	--chatroom-head-border-bottom: 0px;
+	--chatroom-head-button-color: var(--chatroom-head-bg-color);
+	--chatroom-head-color: var(--background);
+	--chatroom-head-description-display: block;
+	--chatroom-head-description-link-color: var(--background);
+	--chatroom-head-fg-color: var(--background);
+	--chatroom-head-title-font-weight: normal;
+	--chatroom-head-title-padding-right: 0px;
+	--chatroom-message-input-border-top: 4px solid var(--chatroom-head-bg-color);
+	--chatroom-separator-border-bottom: 2px solid var(--chatroom-head-bg-color);
+	--close-color: #585b51;
+	--close-color: var(--text-color);
+	--completion-dark-color: #d24e2b; // $dark-red
+	--completion-light-color: #ffb9a7; // $lightest-red
+	--completion-normal-color: var(--redder-orange);
+	--controlbox-head-color: var(--light-blue);
+	--controlbox-heading-color: inherit;
+	--controlbox-heading-font-weight: bold;
+	--controlbox-heading-top-margin: 0.75em;
+	--controlbox-pane-background-color: var(--background);
+	--controlbox-pane-bg-hover-color: #eff4f7;
+	--controlbox-text-color: var(--foreground);
+	--danger-color-dark: #a93415; // darker red
+	--danger-color: var(--redder-orange); // dark-red
+	--dark-link-color: #206485; // $dark-blue
+	--disabled-color-bg: lightgray;
+	--disabled-color: gray;
+	--error-color: var(--dark-red);
+	--focus-color: var(--background);
+	--fullpage-chat-height: calc(var(--vh, 1vh) * 100);
+	--fullpage-chat-width: 100%;
+	--fullpage-chatbox-button-size: 16px;
+	--fullpage-emoji-picker-height: 300px;
+	--fullpage-max-chat-textarea-height: 15em;
+	--global-background-color: var(--dark-blue);
+	--groupchats-header-color-dark: var(--chatroom-head-bg-color-dark);
+	--groupchats-header-color: var(--chatroom-head-bg-color);
+	--heading-color: var(--background);
+	--heading-display: block;
+	--headline-message-color: #d2842b;
+	--headline-separator-border-bottom: 2px solid var(--headlines-color);
+	--headlines-color: var(--orange);
+	--headlines-head-bg-color: var(--headlines-color);
+	--headlines-head-fg-color: var(--background);
+	--headlines-head-text-color: var(--background);
+	--highlight-color-darker: #b0e8e2;
+	--highlight-color: #dcf9f6;
+	--icon-hover-color: var(--text-color);
+	--img-thumbnail-background-color: var(--background);
+	--img-thumbnail-border-color: #dee2e6;
+	--info-color: var(--dark-green);
+	--inverse-link-color: var(--background);
+	--light-background-color: #fcfdfd;
+	--link-color: var(--light-blue);
+	--link-hover-color: #345566;
+	--list-dot-circle-color: #f6dec1; // lighten($orange, 25%)
+	--list-group-item-bg-color: var(--background);
+	--list-item-action-color: #e3eef3; // lighten($lightest-blue, 25%)
+	--list-item-action-hover-color: var(--inverse-link-color);
+	--list-item-hover-color: rgba(0, 0, 0, 0.035);
+	--list-item-link-color: inherit;
+	--list-item-link-hover-color: var(--dark-link-color);
+	--list-item-open-color: var(--controlbox-head-color);
+	--list-item-open-hover-color: var(--controlbox-head-color);
+	--list-toggle-color: var(--gray);
+	--list-toggle-hover-color: #585b51;
+	--message-author-color: var(--text-color);
+	--message-receipt-color: var(--green);
+	--message-text-color: #555;
+	--modal-background-color: var(--background);
+	--muc-color: var(--redder-orange);
+	--muc-toolbar-btn-color: var(--redder-orange);
+	--muc-toolbar-btn-disabled-color: gray;
+	--occupants-background-color: var(--background);
+	--occupants-border-bottom: 1px solid lightgrey;
+	--occupants-border-left: 0.2rem solid var(--panel-divider-color);
+	--overlayed-badge-color: var(--gray);
+	--panel-divider-color: #e7e7e7;
+	--primary-color-dark: var(--dark-blue);
+	--primary-color-light: var(--lighter-blue);
+	--primary-color: var(--light-blue);
+	--save-button-color: var(--green);
+	--secondary-color-dark: #585b51;
+	--secondary-color: var(--gray);
+	--separator-text-color: var(--message-text-color);
+	--text-color-invert: var(--background);
+	--text-color: var(--foreground);
+	--text-shadow-color: #fafafa;
+	--toolbar-btn-text-color: var(--background);
+	--unread-msgs-color: var(--orange);
+	--warning-color-dark: #d2842b;
+	--warning-color: var(--orange);
 }

+ 113 - 273
src/shared/styles/themes/cyberpunk.scss

@@ -1,146 +1,9 @@
+// https://bootswatch.com/vapor
 converse-bg.theme-cyberpunk,
 converse-root.theme-cyberpunk {
-	// Theme-defined variables:
-	// https://bootswatch.com/vapor
 	$theme: 'vapor' !default;
 
-	//
-	// Color system
-	//
-	$white: #fff !default;
-	$gray-100: #f8f9fa !default;
-	$gray-200: #e9ecef !default;
-	$gray-300: #dee2e6 !default;
-	$gray-400: #ced4da !default;
-	$gray-500: #adb5bd !default;
-	$gray-600: #6c757d !default;
-	$gray-700: #495057 !default;
-	$gray-800: #343a40 !default;
-	$gray-900: #170229 !default;
-	$black: #000 !default;
-
-	$blue: #1ba2f6 !default;
-	$indigo: #6610f2 !default;
-	$purple: #6f42c1 !default;
-	$pink: #ea39b8 !default;
-	$red: #e44c55 !default;
-	$orange: #f1b633 !default;
-	$yellow: #ffc107 !default;
-	$green: #3cf281 !default;
-	$teal: #3f81a2 !default;
-	$cyan: #32fbe2 !default;
-
-	$primary: $purple !default;
-	$secondary: $pink !default;
-	$success: $green !default;
-	$info: $blue !default;
-	$warning: $yellow !default;
-	$danger: $red !default;
-	$light: #44d9e8 !default;
-	$dark: $gray-900 !default;
-
-	$min-contrast-ratio: 1.2 !default;
-
-	// Options
-	$enable-rounded: false !default;
-
-	// Body
-	$body-bg: #1a0933 !default;
-	$body-color: $cyan !default;
-
-	// Links
-	$link-color: $body-color !default;
-
-	// Components
-	$border-width: 0 !default;
-	$border-radius: 0.15rem !default;
-	$border-radius-sm: 0.05rem !default;
-
-	$component-active-bg: $pink !default;
-
-	// Fonts
-	// stylelint-disable-next-line value-keyword-case
-	$font-family-sans-serif:
-		Lato,
-		-apple-system,
-		BlinkMacSystemFont,
-		'Segoe UI',
-		Roboto,
-		'Helvetica Neue',
-		Arial,
-		sans-serif,
-		'Apple Color Emoji',
-		'Segoe UI Emoji',
-		'Segoe UI Symbol' !default;
-	$text-muted: rgba($body-color, 0.3) !default;
-	$blockquote-footer-color: $text-muted !default;
-
-	// Tables
-	$table-color: $white !default;
-	$table-bg-scale: 0% !default;
-
-	// Forms
-	$input-bg: lighten($body-bg, 10%) !default;
-	$input-disabled-color: $gray-500 !default;
-	$input-disabled-bg: lighten($body-bg, 5%) !default;
-	$input-color: $white !default;
-	$input-placeholder-color: rgba($white, 0.4) !default;
-	$input-group-addon-bg: $input-disabled-bg !default;
-
-	$form-select-disabled-color: $input-placeholder-color !default;
-	$form-select-disabled-bg: $input-disabled-bg !default;
-
-	$form-file-button-bg: $input-group-addon-bg !default;
-	$form-file-button-hover-bg: darken($form-file-button-bg, 2%) !default;
-
-	$form-range-track-bg: $input-bg !default;
-	$form-range-thumb-disabled-bg: $purple !default;
-
-	// Navs
-	$nav-link-disabled-color: $text-muted !default;
-	$nav-tabs-link-active-color: $component-active-bg !default;
-
-	// Dropdowns
-	$dropdown-link-hover-bg: rgba($white, 0.15) !default;
-
-	// Cards
-	$card-border-width: 2px !default;
-	$card-cap-color: $white !default;
-	$card-color: $white !default;
-
-	// Tooltips
-	$tooltip-opacity: 1 !default;
-
-	// Popovers
-	$popover-bg: $primary !default;
-	$popover-header-color: $white !default;
-	$popover-body-color: $white !default;
-
-	// Toasts
-	$toast-color: $white !default;
-	$toast-background-color: $primary !default;
-
-	$toast-header-color: $toast-color !default;
-	$toast-header-background-color: $toast-background-color !default;
-
-	// Modals
-	$modal-content-color: $white !default;
-	$modal-content-bg: $primary !default;
-
-	// Progress bars
-	$progress-bg: $input-disabled-bg !default;
-
-	// List group
-	$list-group-color: $white !default;
-	$list-group-bg: $input-disabled-bg !default;
-	$list-group-hover-bg: $pink !default;
-	$list-group-disabled-color: $text-muted !default;
-	$list-group-action-color: $body-color !default;
-	$list-group-action-hover-color: $white !default;
-	$list-group-action-active-bg: $list-group-hover-bg !default;
-
 	// Hex color values
-	--white: #fff;
 	--black: #000;
 	--blue: #1ba2f6;
 	--cyan: #32fbe2;
@@ -151,173 +14,150 @@ converse-root.theme-cyberpunk {
 	--purple: #6f42c1;
 	--red: #e44c55;
 	--teal: #3f81a2;
+	--white: #fff;
 	--yellow: #ffc107;
 
+	// Base variables
+	--background: var(--body-bg);
+	--body-bg-alt: rgb(48, 17, 94);
+	--body-bg: #1a0933;
+	--body-color: var(--cyan);
+	--danger: var(--red);
+	--dark: var(--gray-900);
+	--foreground: var(--white);
+	--info: var(--blue);
+	--light: #44d9e8;
 	--primary: var(--purple);
 	--secondary: var(--pink);
 	--success: var(--green);
-	--info: var(--blue);
 	--warning: var(--yellow);
-	--danger: var(--red);
-	--light: #44d9e8;
-	--dark: var(--gray-900);
-
-	--body-bg: #1a0933;
-	--body-bg-alt: rgb(48, 17, 94);
-	--body-color: var(--cyan);
-
-	// Links
-	--link-color: var(--body-color);
-	--inverse-link-color: var(--foreground);
-	--dark-link-color: var(--cyan);
-	--link-hover-color: var(--green);
 
-	--background: var(--body-bg);
+	// Common variables
+	--badge-color: var(--background);
+	--brand-heading-color: var(--cyan);
+	--button-hover-text-color: var(--background);
+	--button-text-color: var(--background);
+	--chat-background-color: var(--background);
+	--chat-color: var(--green);
+	--chat-content-background-color: var(--background);
+	--chat-correcting-color: var(--comment);
+	--chat-head-border-bottom: 0.15em solid var(--chat-color);
+	--chat-head-color-dark: var(--chat-color);
+	--chat-head-color-darker: var(--chat-color);
+	--chat-head-color: var(--background);
+	--chat-head-fg-color: var(--chat-color);
+	--chat-head-text-color: var(--chat-color);
+	--chat-info-color: var(--orange);
+	--chat-msg-hover-color: var(--body-bg-alt);
+	--chat-msg-quote-color: var(--pink);
+	--chat-separator-border-bottom: 2px solid var(--chat-color);
+	--chat-status-away: var(--orange);
+	--chat-status-busy: var(--red);
+	--chat-status-online: var(--green);
+	--chat-textarea-background-color: var(--background);
+	--chat-textarea-color: var(--foreground);
+	--chat-textarea-disabled-bg-color: var(--disabled-color);
+	--chat-toolbar-btn-color: var(--chat-color);
+	--chat-toolbar-btn-color: var(--green);
+	--chatbox-message-input-border-top: 0.15em solid var(--chat-color);
+	--chatroom-correcting-color: var(--comment);
+	--chatroom-head-bg-color-dark: var(--muc-color);
+	--chatroom-head-bg-color: var(--background);
+	--chatroom-head-border-bottom: 0.15em solid var(--muc-color);
+	--chatroom-head-color: var(--muc-color);
+	--chatroom-head-description-link-color: var(--link-color);
+	--chatroom-head-fg-color: var(--muc-color);
+	--chatroom-message-input-border-top: 0.15em solid var(--muc-color);
+	--chatroom-separator-border-bottom: 0.15em solid var(--muc-color);
+	--close-color-hover: var(--purple);
+	--close-color: var(--foreground);
 	--comment: var(--secondary);
+	--completion-dark-color: var(--current-line);
+	--completion-light-color: var(--pink);
+	--completion-normal-color: var(--red);
+	--controlbox-head-color: var(--purple);
+	--close-color: var(--text-color);
+	--completion-normal-color: var(--redder-orange);
+	--controlbox-head-color: var(--light-blue);
+	--controlbox-heading-color: inherit;
+	--controlbox-heading-font-weight: bold;
+	--controlbox-heading-top-margin: 0.75em;
+	--controlbox-pane-background-color: var(--background);
+	--controlbox-pane-bg-hover-color: var(--list-item-hover-color);
+	--controlbox-text-color: var(--foreground);
 	--current-line: var(--primary);
-	--foreground: var(--white);
-
-	// Base theme variables
-	--subdued-color: var(--comment);
-	--muc-color: var(--orange);
-	--chat-color: var(--green);
+	--danger-color-dark: var(--pink);
+	--dark-link-color: var(--cyan);
 	--disabled-color-bg: lightgray;
 	--disabled-color: var(--comment);
+	--error-color: var(--danger);
 	--error-color: var(--red);
 	--focus-color: var(--comment);
+	--global-background-color: var(--background);
 	--gray-color: var(--current-line);
+	--groupchats-header-color-dark: var(--muc-color);
+	--groupchats-header-color: var(--muc-color);
 	--header-color: var(--pink);
 	--heading-color: var(--purple);
-
-	--headlines-color: var(--pink);
-	--headlines-head-text-color: var(--headlines-color);
-	--headlines-head-fg-color: var(--headlines-color);
-	--headlines-head-bg-color: var(--background);
 	--headline-message-color: var(--headlines-color);
 	--headline-separator-border-bottom: 2px solid var(--headlines-color);
+	--headlines-color: var(--pink);
+	--headlines-head-bg-color: var(--background);
 	--headlines-head-border-bottom: 0.15em solid var(--headlines-color);
-
-	--icon-hover-color: var(--cyan);
-
-	--highlight-color: var(--foreground);
+	--headlines-head-fg-color: var(--headlines-color);
+	--headlines-head-text-color: var(--headlines-color);
 	--highlight-color-darker: var(--comment);
-
-	--redder-orange: var(--muc-color);
-
-	--light-background-color: var(--background);
-
-	--chat-background-color: var(--background);
-	--chat-content-background-color: var(--background);
-	--chat-textarea-background-color: var(--background);
-	--chat-textarea-disabled-bg-color: var(--disabled-color);
-	--controlbox-pane-background-color: var(--background);
-	--controlbox-pane-bg-hover-color: var(--list-item-hover-color);
-
-	.card {
-		--converse-card-border-color: var(--comment);
-	}
-	.nav {
-		--converse-nav-link-color: var(--primary-color);
-	}
-
-	--chat-msg-quote-color: var(--pink);
-	--chat-msg-hover-color: var(--body-bg-alt);
-	--chat-textarea-color: var(--foreground);
-
-	--close-color: var(--foreground);
-	--close-color-hover: var(--purple);
-
-	--global-background-color: var(--background);
-	--groupchats-header-color-dark: var(--muc-color);
-	--groupchats-header-color: var(--muc-color);
+	--highlight-color: var(--foreground);
+	--icon-hover-color: var(--cyan);
 	--img-thumbnail-background-color: var(--comment);
 	--img-thumbnail-border-color: black;
+	--info-color: var(--yellow);
+	--inverse-link-color: var(--foreground);
+	--light-background-color: var(--background);
+	--link-color: var(--body-color);
+	--link-hover-color: var(--green);
+	--list-dot-circle-color: var(--orange);
+	--list-group-item-bg-color: var(--comment);
+	--list-item-action-color: var(--comment);
+	--list-item-action-hover-color: var(--cyan);
+	--list-item-hover-color: var(--current-line);
+	--list-item-link-color: var(--foreground);
+	--list-item-link-hover-color: var(--link-color);
+	--list-item-open-color: var(--current-line);
+	--list-item-open-hover-color: var(--current-line);
+	--list-toggle-color: var(--comment);
+	--list-toggle-hover-color: var(--comment);
+	--message-author-color: var(--cyan);
+	--message-receipt-color: var(--green);
+	--message-text-color: var(--foreground);
 	--modal-background-color: var(--background);
-	--occupants-background-color: var(--background);
-
-	--raised-el-shadow: 1px 1px 10px black;
-
-	--badge-color: var(--background);
-
-	--chatroom-correcting-color: var(--comment);
-	--chatroom-head-bg-color-dark: var(--muc-color);
-	--chatroom-head-bg-color: var(--background);
-	--chatroom-head-border-bottom: 0.15em solid var(--muc-color);
-	--chatroom-head-fg-color: var(--muc-color);
-	--chatroom-head-color: var(--muc-color);
-	--chatroom-head-description-link-color: var(--link-color);
-	--chatroom-message-input-border-top: 0.15em solid var(--muc-color);
-	--chatroom-separator-border-bottom: 0.15em solid var(--muc-color);
+	--muc-color: var(--orange);
 	--muc-toolbar-btn-disabled-color: var(--disabled-color);
-
-	--occupants-border-left: 0.15em solid var(--muc-color);
+	--occupants-background-color: var(--background);
 	--occupants-border-bottom: 0.15em solid var(--muc-color);
-
-	--chat-correcting-color: var(--comment);
-	--chat-head-border-bottom: 0.15em solid var(--chat-color);
-	--chat-head-fg-color: var(--chat-color);
-	--chat-head-color-dark: var(--chat-color);
-	--chat-head-color-darker: var(--chat-color);
-	--chat-head-color: var(--background);
-	--chat-head-text-color: var(--chat-color);
-	--chat-toolbar-btn-color: var(--chat-color);
-	--chat-toolbar-btn-color: var(--green);
-	--chatbox-message-input-border-top: 0.15em solid var(--chat-color);
-
-	--toolbar-btn-text-color: var(--background);
-
-	--unread-msgs-color: var(--yellow);
-
+	--occupants-border-left: 0.15em solid var(--muc-color);
 	--panel-divider-color: var(--comment);
-
-	--chat-status-online: var(--green);
-	--chat-status-busy: var(--red);
-	--chat-status-away: var(--orange);
-
-	--chat-info-color: var(--orange);
-
-	--brand-heading-color: var(--cyan);
-
-	--completion-light-color: var(--pink);
-	--completion-normal-color: var(--red);
-	--completion-dark-color: var(--current-line);
-
-	--button-text-color: var(--background);
-	--button-hover-text-color: var(--background);
-
-	--controlbox-text-color: var(--foreground);
-	--message-text-color: var(--foreground);
-	--text-color: var(--foreground);
-	--text-color-invert: var(--background);
-
-	--message-author-color: var(--cyan);
-	--message-receipt-color: var(--green);
-
-	--controlbox-head-color: var(--purple);
-
-	--primary-color: var(--primary);
 	--primary-color-dark: var(--purple);
-	--primary-color-light: var(--pink);
-	--danger-color-dark: var(--pink);
-	--danger-color: var(--danger);
-	--error-color: var(--danger);
-	--info-color: var(--yellow);
+	--primary-color: var(--primary);
+	--raised-el-shadow: 1px 1px 10px black;
+	--redder-orange: var(--muc-color);
 	--secondary-color-dark: var(--cyan);
 	--secondary-color: var(--cyan);
+	--separator-text-color: var(--message-text-color);
+	--subdued-color: var(--comment);
+	--text-color-invert: var(--background);
+	--text-color: var(--foreground);
+	--toolbar-btn-text-color: var(--background);
+	--unread-msgs-color: var(--yellow);
 	--warning-color-dark: var(--orange);
 	--warning-color: var(--orange);
 
-	--list-toggle-color: var(--comment);
-	--list-toggle-hover-color: var(--comment);
-	--list-item-hover-color: var(--current-line);
-	--list-item-action-color: var(--comment);
-	--list-item-link-color: var(--foreground);
-	--list-item-link-hover-color: var(--link-color);
-	--list-item-open-color: var(--current-line);
-	--list-item-open-hover-color: var(--current-line);
-	--list-dot-circle-color: var(--orange);
-	--list-item-action-hover-color: var(--cyan);
-	--list-group-item-bg-color: var(--comment);
+	.card {
+		--converse-card-border-color: var(--comment);
+	}
+	.nav {
+		--converse-nav-link-color: var(--primary-color);
+	}
 
 	#controlbox {
 		.flyout {

+ 94 - 121
src/shared/styles/themes/dracula.scss

@@ -1,7 +1,7 @@
+// https://draculatheme.com
 converse-bg.theme-dracula,
 converse-root.theme-dracula {
-    // Theme-defined variables:
-    // https://draculatheme.com
+	$theme: 'dracula' !default;
 
     // Hex color values
     --background: #282a36;
@@ -33,148 +33,121 @@ converse-root.theme-dracula {
     --converse-primary-rgb: var(--purple-rgb);
     --converse-secondary-rgb: var(--cyan-rgb);
 
-    // Base theme variables
-    --subdued-color: var(--comment);
-    --muc-color: var(--orange);
-    --chat-color: var(--green);
-    --disabled-color-bg: lightgray;
-    --disabled-color: var(--comment);
-    --error-color: var(--red);
-    --focus-color: var(--comment);
-    --gray-color: var(--current-line);
-    --header-color: var(--pink);
-    --heading-color: var(--purple);
-
-    --headlines-color: var(--pink);
-    --headlines-head-text-color: var(--headlines-color);
-    --headlines-head-fg-color: var(--headlines-color);
-    --headlines-head-bg-color: var(--background);
-    --headline-message-color: var(--headlines-color);
-    --headline-separator-border-bottom: 2px solid var(--headlines-color);
-    --headlines-head-border-bottom: 0.15em solid var(--headlines-color);
-
-    --icon-hover-color: var(--cyan);
-
-    --highlight-color: var(--foreground);
-    --highlight-color-darker: var(--comment);
-
-    --redder-orange: var(--muc-color);
-
-    --light-background-color: var(--background);
-
+    // Common variables
+    --badge-color: var(--background);
+    --brand-heading-color: var(--cyan);
+    --button-hover-text-color: var(--background);
+    --button-text-color: var(--background);
     --chat-background-color: var(--background);
+    --chat-color: var(--green);
     --chat-content-background-color: var(--background);
-    --chat-textarea-background-color: var(--background);
-    --chat-textarea-disabled-bg-color: var(--disabled-color);
-    --controlbox-pane-background-color: var(--background);
-    --controlbox-pane-bg-hover-color: var(--list-item-hover-color);
-
-    .card {
-        --converse-card-border-color: var(--comment);
-    }
-
-    --chat-msg-quote-color: var(--heading-color);
+    --chat-correcting-color: var(--comment);
+    --chat-head-border-bottom: 0.15em solid var(--chat-color);
+    --chat-head-color-dark: var(--chat-color);
+    --chat-head-color-darker: var(--chat-color);
+    --chat-head-color: var(--background);
+    --chat-head-fg-color: var(--chat-color);
+    --chat-head-text-color: var(--chat-color);
+    --chat-info-color: var(--orange);
     --chat-msg-hover-color: var(--current-line);
+    --chat-msg-quote-color: var(--heading-color);
+    --chat-separator-border-bottom: 2px solid var(--chat-color);
+    --chat-status-away: var(--orange);
+    --chat-status-busy: var(--red);
+    --chat-status-online: var(--green);
+    --chat-textarea-background-color: var(--background);
     --chat-textarea-color: var(--foreground);
-
-    --close-color: var(--foreground);
-    --close-color-hover: var(--purple);
-
-    --global-background-color: var(--background);
-    --groupchats-header-color-dark: var(--muc-color);
-    --groupchats-header-color: var(--muc-color);
-    --img-thumbnail-background-color: var(--comment);
-    --img-thumbnail-border-color: black;
-    --modal-background-color: var(--background);
-    --occupants-background-color: var(--background);
-
-    --raised-el-shadow: 1px 1px 10px black;
-
-    --badge-color: var(--background);
-
+    --chat-textarea-disabled-bg-color: var(--disabled-color);
+    --chat-toolbar-btn-color: var(--chat-color);
+    --chat-toolbar-btn-color: var(--green);
+    --chatbox-message-input-border-top: 0.15em solid var(--chat-color);
     --chatroom-correcting-color: var(--comment);
     --chatroom-head-bg-color-dark: var(--muc-color);
     --chatroom-head-bg-color: var(--background);
     --chatroom-head-border-bottom: 0.15em solid var(--muc-color);
-    --chatroom-head-fg-color: var(--muc-color);
     --chatroom-head-color: var(--muc-color);
     --chatroom-head-description-link-color: var(--link-color);
+    --chatroom-head-fg-color: var(--muc-color);
     --chatroom-message-input-border-top: 0.15em solid var(--muc-color);
     --chatroom-separator-border-bottom: 0.15em solid var(--muc-color);
-    --muc-toolbar-btn-disabled-color: var(--disabled-color);
-
-    --occupants-border-left: 0.15em solid var(--muc-color);
-    --occupants-border-bottom: 0.15em solid var(--muc-color);
-
-    --chat-correcting-color: var(--comment);
-    --chat-head-border-bottom: 0.15em solid var(--chat-color);
-    --chat-head-fg-color: var(--chat-color);
-    --chat-head-color-dark: var(--chat-color);
-    --chat-head-color-darker: var(--chat-color);
-    --chat-head-color: var(--background);
-    --chat-head-text-color: var(--chat-color);
-    --chat-toolbar-btn-color: var(--chat-color);
-    --chat-toolbar-btn-color: var(--green);
-    --chatbox-message-input-border-top: 0.15em solid var(--chat-color);
-
-    --toolbar-btn-text-color: var(--background);
-
-    --unread-msgs-color: var(--yellow);
-
-    --panel-divider-color: var(--comment);
-
-    --chat-status-online: var(--green);
-    --chat-status-busy: var(--red);
-    --chat-status-away: var(--orange);
-
-    --chat-info-color: var(--orange);
-
-    --brand-heading-color: var(--cyan);
-
+    --close-color-hover: var(--purple);
+    --close-color: var(--foreground);
+    --completion-dark-color: var(--current-line);
     --completion-light-color: var(--pink);
     --completion-normal-color: var(--red);
-    --completion-dark-color: var(--current-line);
-
-    --button-text-color: var(--background);
-    --button-hover-text-color: var(--background);
-
-    --controlbox-text-color: var(--foreground);
-    --message-text-color: var(--foreground);
-    --text-color: var(--foreground);
-    --text-color-invert: var(--background);
-
-    --message-author-color: var(--purple);
-
     --controlbox-head-color: var(--purple);
-
-    --message-receipt-color: var(--green);
-
+    --controlbox-pane-background-color: var(--background);
+    --controlbox-pane-bg-hover-color: var(--list-item-hover-color);
+    --controlbox-text-color: var(--foreground);
+    --danger-color-dark: var(--pink);
+    --danger-color: var(--pink);
+    --dark-link-color: var(--cyan);
+    --disabled-color-bg: lightgray;
+    --disabled-color: var(--comment);
+    --error-color: var(--red);
+    --error-color: var(--red);
+    --focus-color: var(--comment);
+    --global-background-color: var(--background);
+    --gray-color: var(--current-line);
+    --groupchats-header-color-dark: var(--muc-color);
+    --groupchats-header-color: var(--muc-color);
+    --header-color: var(--pink);
+    --heading-color: var(--purple);
+    --headline-message-color: var(--headlines-color);
+    --headline-separator-border-bottom: 2px solid var(--headlines-color);
+    --headlines-color: var(--pink);
+    --headlines-head-bg-color: var(--background);
+    --headlines-head-border-bottom: 0.15em solid var(--headlines-color);
+    --headlines-head-fg-color: var(--headlines-color);
+    --headlines-head-text-color: var(--headlines-color);
+    --highlight-color-darker: var(--comment);
+    --highlight-color: var(--foreground);
+    --icon-hover-color: var(--cyan);
+    --img-thumbnail-background-color: var(--comment);
+    --img-thumbnail-border-color: black;
+    --info-color: var(--yellow);
     --inverse-link-color: var(--foreground);
+    --light-background-color: var(--background);
     --link-color: var(--cyan);
-    --dark-link-color: var(--cyan);
     --link-hover-color: var(--green);
-
-    --primary-color: var(--purple);
+    --list-dot-circle-color: var(--orange);
+    --list-group-item-bg-color: var(--comment);
+    --list-item-action-color: var(--comment);
+    --list-item-action-hover-color: var(--cyan);
+    --list-item-hover-color: var(--current-line);
+    --list-item-link-color: var(--foreground);
+    --list-item-link-hover-color: var(--link-color);
+    --list-item-open-color: var(--current-line);
+    --list-item-open-hover-color: var(--current-line);
+    --list-toggle-color: var(--comment);
+    --list-toggle-hover-color: var(--comment);
+    --message-author-color: var(--purple);
+    --message-receipt-color: var(--green);
+    --message-text-color: var(--foreground);
+    --modal-background-color: var(--background);
+    --muc-color: var(--orange);
+    --muc-toolbar-btn-disabled-color: var(--disabled-color);
+    --occupants-background-color: var(--background);
+    --occupants-border-bottom: 0.15em solid var(--muc-color);
+    --occupants-border-left: 0.15em solid var(--muc-color);
+    --panel-divider-color: var(--comment);
     --primary-color-dark: var(--purple);
     --primary-color-light: var(--pink);
-    --danger-color-dark: var(--pink);
-    --danger-color: var(--pink);
-    --error-color: var(--red);
-    --info-color: var(--yellow);
+    --primary-color: var(--purple);
+    --raised-el-shadow: 1px 1px 10px black;
+    --redder-orange: var(--muc-color);
     --secondary-color-dark: var(--cyan);
     --secondary-color: var(--cyan);
+    --separator-text-color: var(--message-text-color);
+    --subdued-color: var(--comment);
+    --text-color-invert: var(--background);
+    --text-color: var(--foreground);
+    --toolbar-btn-text-color: var(--background);
+    --unread-msgs-color: var(--yellow);
     --warning-color-dark: var(--orange);
     --warning-color: var(--orange);
 
-    --list-toggle-color: var(--comment);
-    --list-toggle-hover-color: var(--comment);
-    --list-item-hover-color: var(--current-line);
-    --list-item-action-color: var(--comment);
-    --list-item-link-color: var(--foreground);
-    --list-item-link-hover-color: var(--link-color);
-    --list-item-open-color: var(--current-line);
-    --list-item-open-hover-color: var(--current-line);
-    --list-dot-circle-color: var(--orange);
-    --list-item-action-hover-color: var(--cyan);
-    --list-group-item-bg-color: var(--comment);
+    .card {
+        --converse-card-border-color: var(--comment);
+    }
 }