Last active
February 14, 2019 18:31
-
-
Save NickCraver/602e87f412fefdc4de98c72e418cb96a to your computer and use it in GitHub Desktop.
A quick and dirty re-purpose of UniFi dark elements to make them global.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // A JS example that shows they're well on their way to a dark theme: | |
| document.body.classList.add("ubnt-mod-dark"); | |
| document.querySelectorAll(".appTable").forEach(i => i.classList.add("appTable--dark")); | |
| document.querySelectorAll(".ubntPanelContent").forEach(i => i.classList.add("appForm--dark")); | |
| document.querySelectorAll(".appMainButtonGroup").forEach(i => i.classList.add("appMainButtonGroup--dark")); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| :root { | |
| --ubnt-color-text-primary: #a4a7b5; | |
| --ubnt-color-text-secondary: #7e8190; | |
| --ubnt-color-text-tertiary: #525461; | |
| --ubnt-color-background-primary: #1c1e2d; | |
| --ubnt-color-background-secondary: #333543; | |
| --ubnt-color-background-tertiary: #242635; | |
| --ubnt-color-border-primary: #333543; | |
| --ubnt-color-border-secondary: #525461; | |
| --ubnt-color-border-tertiary: #242635; | |
| --accordion-border-color: #333543; | |
| --block-row-font-color: #7e8190; | |
| --block-row-divider-color: #333543; | |
| --block-title-font-color: #fff; | |
| --block-section-font-color: #7e8190; | |
| --block-small-section-font-color: #a4a7b5; | |
| --block-hover-box-shadow: 0 0 0 1px #006fff; | |
| --block-hover-background-color: rgba(0, 111, 255, .05); | |
| --block-hover-section-with-icons-background-color: #242635; | |
| --block-selected-background-color: rgba(0, 111, 255, .2); | |
| --block-selected-border-color: rgba(0, 111, 255, .2); | |
| --button-primary-font-color: #fff; | |
| --button-primary-background-color: #006fff; | |
| --button-primary-hover-background-color: #1a7dff; | |
| --button-primary-active-background-color: #0266e9; | |
| --button-secondary-font-color: #7e8190; | |
| --button-secondary-background-color: #242635; | |
| --button-secondary-border-color: #525461; | |
| --button-secondary-hover-border-color: #7e8190; | |
| --button-secondary-active-border-color: #525461; | |
| --button-icon-color: #c2c4ce; | |
| --button-hover-icon-color: #a4a7b5; | |
| --button-active-icon-color: #a4a7b5; | |
| --button-text-primary-font-color: #7e8190; | |
| --button-text-secondary-font-color: #525461; | |
| --button-group-player-controls-background-color: #151f30; | |
| --button-group-player-controls-icon-color: #525461; | |
| --button-group-player-controls-hover-icon-color: #7e8190; | |
| --button-icon-neutral-background-color: #2f313f; | |
| --button-icon-neutral-hover-background-color: #4f515d; | |
| --calendar-panel-group-border-color: #333543; | |
| --calendar-grid-weekdays-border-color: #333543; | |
| --card-title-color: #a4a7b5; | |
| --chip-background-color: #525461; | |
| --chip-count-border-color: #fff; | |
| --chip-count-font-color: #fff; | |
| --chip-font-color: #c2c4ce; | |
| --chip-icon-font-color: #fff; | |
| --chip-image-border-color: #fff; | |
| --dropdown-background-color: #242635; | |
| --dropdown-border-color: #333543; | |
| --dropdown-font-color: #a4a7b5; | |
| --dropdown-hover-font-color: #7e8190; | |
| --filter-item-font-color: #a4a7b5; | |
| --form-box-border-color: #a4a7b5; | |
| --form-box-focus-font-color: #c2c4ce; | |
| --form-box-font-color: #c2c4ce; | |
| --form-box-autofill-font-color: #7e8190; | |
| --form-secondary-box-background-color: #333543; | |
| --form-secondary-box-font-color: #a4a7b5; | |
| --form-select-border-color: #a4a7b5; | |
| --form-select-font-color: #fff; | |
| --form-select-hover-font-color: #a4a7b5; | |
| --form-secondary-select-background-color: transparent; | |
| --form-secondary-select-border-color: #525461; | |
| --form-secondary-select-font-color: #a4a7b5; | |
| --form-checkbox-border-color: #525461; | |
| --form-checkbox-hover-border-color: #7e8190; | |
| --form-checkbox-icon-background: url('data:image/svg+xml;utf8,<svg version="1.1" viewBox="0 0 8 6" xmlns="http://www.w3.org/2000/svg"><g fill-rule="evenodd"><g transform="translate(-4 -5)" fill="%23ffffff"><g transform="translate(8.0355 7.0355) rotate(-45) translate(-3 -2)"><rect width="1" height="4"/><rect transform="translate(3 3.5) rotate(90) translate(-3 -3.5)" x="2.5" y=".5" width="1" height="6"/></g></g></g></svg>'); | |
| --form-checkbox-icon-color: #a4a7b5; | |
| --form-radio-border-color: #333543; | |
| --form-radio-icon-background: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg version="1.1" viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><circle cx="5" cy="5" r="2" fill="%23a4a7b5"/></g></svg>'); | |
| --form-radio-icon-color: #a4a7b5; | |
| --range-slider-thumb-border: 0px; | |
| --range-slider-track-color: #525461; | |
| --radio-underlined-font-color: #7e8190; | |
| --radio-underlined-hover-border-color: #f4f4f5; | |
| --radio-underlined-selected-font-color: #a4a7b5; | |
| --icon-input-icon-color: #a4a7b5; | |
| --icon-input-search-icon-background: url('data:image/svg+xml;utf8,<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g transform="translate(-10 -9)"><g transform="translate(10 9)"><circle cx="7" cy="7" r="6.5" stroke="%23a4a7b5" /><rect transform="translate(13.725 13.725) rotate(-45) translate(-13.725 -13.725)" x="13.225" y="10.725" width="1" height="6" rx=".5" fill="%23a4a7b5"/></g></g></g></svg>'); | |
| --form-group-transition-label-font-color: #7e8190; | |
| --icon-actionable-color: #7e8190; | |
| --icon-actionable-hover-color: #a4a7b5; | |
| --icon-actionable-active-color: #a4a7b5; | |
| --icon-container-border-color: #525461; | |
| --icon-group-color: #7e8190; | |
| --icon-text-color: #7e8190; | |
| --icon-text-icon-color: #7e8190; | |
| --icon-text-text-color: #7e8190; | |
| --icon-text-header-icon-color: #7e8190; | |
| --icon-text-header-text-color: #a4a7b5; | |
| --icon-text-actionable-icon-color: #a4a7b5; | |
| --icon-text-actionable-text-color: #a4a7b5; | |
| --label-primary-font-color: #fff; | |
| --label-secondary-font-color: #7e8190; | |
| --label-group-navigation-background-color: #1c1e2d; | |
| --modal-background-color: #242635; | |
| --modal-border-color: #525461; | |
| --modal-font-color: #7e8190; | |
| --modal-header-font-color: #7e8190; | |
| --modal-footer-font-color: #7e8190; | |
| --navigation-background-color: #242635; | |
| --navigation-icon-color: #a4a7b5; | |
| --navigation-overflow-icon-background: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g transform="translate(8.000000, 8.000000) rotate(-90.000000) translate(-8.000000, -8.000000)"><rect x="0" y="0" width="16" height="16"></rect><circle fill="%23525461" cx="8" cy="2" r="1"></circle><circle fill="%23525461" cx="8" cy="8" r="1"></circle><circle fill="%23525461" cx="8" cy="14" r="1"></circle></g></g></svg>'); | |
| --navigation-selected-icon-color: #fff; | |
| --navigation-spacer-color: #525461; | |
| --no-content-icon-color: #7e8190; | |
| --no-content-icon-background-color: #242635; | |
| --no-content-title-font-color: #fff; | |
| --no-content-details-font-color: #525461; | |
| --header-panel-background-color: #1c1e2d; | |
| --header-panel-border-color: #333543; | |
| --header-panel-font-color: #a4a7b5; | |
| --header-panel-global-background-color: #242635; | |
| --header-panel-global-font-color: #fff; | |
| --header-panel-tertiary-background-color: #242635; | |
| --header-panel-primary-small-background-color: #242635; | |
| --footer-panel-background-color: #1c1e2d; | |
| --footer-panel-border-color: #333543; | |
| --footer-panel-font-color: #a4a7b5; | |
| --side-panel-border-color: #333543; | |
| --side-panel-background-color: #1c1e2d; | |
| --side-panel-font-color: #a4a7b5; | |
| --side-panel-sub-navigation-background-color: #151725; | |
| --main-panel-background-color: #1c1e2d; | |
| --popover-background-color: #242635; | |
| --popover-border-color: #525461; | |
| --popover-font-color: #a4a7b5; | |
| --popover-header-border-color: #525461; | |
| --popover-header-font-color: #a4a7b5; | |
| --popover-footer-background-color: #525461; | |
| --popover-footer-border-color: #525461; | |
| --popover-footer-font-color: #7e8190; | |
| --properties-overview-background-color: #242635; | |
| --properties-overview-border-color: #333543; | |
| --properties-navigation-grid-border-color: #333543; | |
| --status-bar-background-color: #333543; | |
| --status-key-group-border-color: #333543; | |
| --status-key-font-color: #7e8190; | |
| --table-body-cell-vertical-rhythm-multiplier: 4; | |
| --table-body-cell-horizontal-rhythm-multiplier: 3; | |
| --table-header-cell-horizontal-rhythm-multiplier: 3; | |
| --table-font-color: #a4a7b5; | |
| --table-header-font-color: #fff; | |
| --table-row-hover-background-color: #151725; | |
| --table-row-selected-background-color: #242635; | |
| --table-row-highlight-border-color: #333543; | |
| --table-body-cell-border-color: #333543; | |
| --table-body-cell-font-color: #7e8190; | |
| --table-action-icon-color: #7e8190; | |
| --table-sort-icon-color: #7e8190; | |
| --tab-item-font-color: #7e8190; | |
| --tab-item-hover-border-color: #f4f4f5; | |
| --tab-item-selected-font-color: #a4a7b5; | |
| --toast-item-font-color: #7e8190; | |
| --toast-close-font-color: #7e8190; | |
| --toast-background-color: #242635; | |
| --toast-border-color: #333543; | |
| --toast-title-font-color: #fff; | |
| --toast-details-font-color: #a4a7b5; | |
| --toggle-background-off-color: #333543; | |
| --toggle-background-on-color: #006fff; | |
| --toggle-button-off-color: #7e8190; | |
| --toggle-button-on-color: #fff; | |
| --tooltip-background-color: #151725; | |
| --tooltip-border-color: #525461; | |
| --tooltip-font-color: #a4a7b5; | |
| --header-action-color: #7e8190; | |
| } | |
| .appSubHeading, | |
| .modularSubHeading, | |
| .modularNavigationTitle, | |
| .unifiNetworkStatusDiagramIconValue, | |
| .unifiNetworkStatusDiagramIconLabel, | |
| .unifiLoadContainer__chartLabel, | |
| .unifiNetworkStatusDiagramConnectorSpeed, | |
| .unifiChannelDistributionItem__label, | |
| .unifiDashboardFilters { | |
| color: var(--ubnt-color-text-primary); | |
| } | |
| .appMainButtonGroup--filter .appMainButton { | |
| color: var(--ubnt-color-text-secondary); | |
| } | |
| .unifiDonutChartLabel__main, .unifiDonutChartLabel__secondary, .unifiLoadContainer .unifiLineChart__axis text { | |
| fill: var(--ubnt-color-text-primary); | |
| } | |
| .unifiLineChart__axis g line { | |
| stroke: var(--ubnt-color-text-primary); | |
| } | |
| .unifiLineChart__axis g text { | |
| fill: var(--ubnt-color-text-primary); | |
| } | |
| .modular, .modulesDock--permanent { | |
| background-color: var(--main-panel-background-color); | |
| } | |
| .appTable--light { | |
| color: #a7acb0; | |
| background-color: rgba(0,0,0,0); | |
| } | |
| .appTable--hoverable.appTable--light .tbody .tr:hover:not(.is-row-selected), .appTable--hoverable.appTable--light .tbody tr:hover:not(.is-row-selected), .appTable--hoverable.appTable--light tbody .tr:hover:not(.is-row-selected), .appTable--hoverable.appTable--light tbody tr:hover:not(.is-row-selected) { | |
| background-color: #191C21 !important; | |
| color: #b7bbbe; | |
| } | |
| .appTable--striped tbody tr:nth-child(even):not(.is-row-selected) { | |
| background-color: #1A1C1F; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Looks good; thanks. It doesn't seem to be a complete CSS replacement, so I just appeneded it to app.css.