From 0f11b03692c0bf49062c12f8a9bd6b34a7954d26 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Mon, 24 Aug 2020 10:24:05 +0300 Subject: [PATCH] Switching color theme globally (#728) * Adding cluster menu colors Signed-off-by: Alex Andreev * Adding theme class name flag into #app Signed-off-by: Alex Andreev * Cleaning up mixins Signed-off-by: Alex Andreev * Tuning up Wizard Layout styles Signed-off-by: Alex Andreev * Using theme-light global flag Signed-off-by: Alex Andreev * Minor style fixes Signed-off-by: Alex Andreev * Using .theme-light flag across components Signed-off-by: Alex Andreev * Set theme as @computed value Signed-off-by: Alex Andreev * Preventing Drawer slide-in scroll flickering Signed-off-by: Alex Andreev * Setting background for settings views Signed-off-by: Alex Andreev * Minor layout fixes Signed-off-by: Alex Andreev * Switching AceEditor theme reactively Signed-off-by: Alex Andreev * Cleaning up Signed-off-by: Alex Andreev --- .../+apps-releases/release-details.scss | 7 ----- .../+cluster-settings/cluster-settings.scss | 2 +- .../components/+preferences/preferences.scss | 6 +++- .../components/ace-editor/ace-editor.scss | 9 +++--- .../components/ace-editor/ace-editor.tsx | 11 +++++-- src/renderer/components/app.scss | 9 ++---- .../cluster-manager/clusters-menu.scss | 11 ++++--- src/renderer/components/dialog/dialog.scss | 4 +++ src/renderer/components/dock/dock.scss | 4 +++ .../components/dock/terminal-window.scss | 2 +- src/renderer/components/drawer/drawer.scss | 2 +- src/renderer/components/drawer/drawer.tsx | 3 +- .../kubeconfig-dialog/kubeconfig-dialog.scss | 2 +- .../kubeconfig-dialog/kubeconfig-dialog.tsx | 3 +- .../components/layout/main-layout.scss | 11 +++---- .../components/layout/main-layout.tsx | 3 +- src/renderer/components/layout/sidebar.scss | 4 +++ .../components/layout/wizard-layout.scss | 12 +++++--- src/renderer/components/mixins.scss | 29 ++----------------- src/renderer/components/select/select.tsx | 4 ++- src/renderer/components/table/table.scss | 4 +-- .../components/virtual-list/virtual-list.scss | 11 ++++--- src/renderer/theme.store.ts | 3 ++ src/renderer/themes/kontena-dark.json | 4 +++ src/renderer/themes/kontena-light.json | 6 +++- src/renderer/themes/theme-vars.scss | 6 ++++ 26 files changed, 85 insertions(+), 87 deletions(-) diff --git a/src/renderer/components/+apps-releases/release-details.scss b/src/renderer/components/+apps-releases/release-details.scss index 99d46cb86a..a6fb0e1cf6 100644 --- a/src/renderer/components/+apps-releases/release-details.scss +++ b/src/renderer/components/+apps-releases/release-details.scss @@ -1,13 +1,6 @@ @import "release.mixins"; .ReleaseDetails { - &.light { - .AceEditor { - border: 1px solid gainsboro; - border-radius: $radius; - } - } - .DrawerItem { align-items: center; } diff --git a/src/renderer/components/+cluster-settings/cluster-settings.scss b/src/renderer/components/+cluster-settings/cluster-settings.scss index f20699de35..4070c2eb7b 100644 --- a/src/renderer/components/+cluster-settings/cluster-settings.scss +++ b/src/renderer/components/+cluster-settings/cluster-settings.scss @@ -15,7 +15,7 @@ .content-col { margin: 0; padding-top: $padding * 3; - background-color: transparent; + background-color: $clusterSettingsBackground; .SubTitle { text-transform: none; diff --git a/src/renderer/components/+preferences/preferences.scss b/src/renderer/components/+preferences/preferences.scss index 94c08e8f53..33072a4849 100644 --- a/src/renderer/components/+preferences/preferences.scss +++ b/src/renderer/components/+preferences/preferences.scss @@ -8,8 +8,8 @@ padding: 0; .content-col { - background-color: transparent; padding: $padding * 8 0; + background-color: $clusterSettingsBackground; h2 { margin-bottom: $margin * 2; @@ -40,6 +40,10 @@ .WizardLayout .head-col { padding-top: 32px; overflow: hidden; + + .Icon { + margin-top: -$margin * 2; + } } } diff --git a/src/renderer/components/ace-editor/ace-editor.scss b/src/renderer/components/ace-editor/ace-editor.scss index 8640130842..26b74d1b64 100644 --- a/src/renderer/components/ace-editor/ace-editor.scss +++ b/src/renderer/components/ace-editor/ace-editor.scss @@ -5,13 +5,12 @@ flex: 1; z-index: 10; - &.hidden { - visibility: hidden; - } + .theme-light & { + border: 1px solid gainsboro; + border-radius: $radius; - &.light { .ace_scrollbar { - @include custom-scrollbar($theme: dark); + @include custom-scrollbar(dark); } } diff --git a/src/renderer/components/ace-editor/ace-editor.tsx b/src/renderer/components/ace-editor/ace-editor.tsx index d3edfaa098..10fecbce75 100644 --- a/src/renderer/components/ace-editor/ace-editor.tsx +++ b/src/renderer/components/ace-editor/ace-editor.tsx @@ -3,10 +3,11 @@ import "./ace-editor.scss" import React from "react" -import { observer } from "mobx-react"; +import { observer, disposeOnUnmount } from "mobx-react"; import AceBuild, { Ace } from "ace-builds" import { autobind, cssNames } from "../../utils"; import { themeStore } from "../../theme.store"; +import { reaction } from "mobx"; interface Props extends Partial { className?: string; @@ -46,6 +47,11 @@ export class AceEditor extends React.Component { require("ace-builds/src-noconflict/ext-searchbox") } + @disposeOnUnmount + themeSwitcher = reaction(() => themeStore.activeTheme, () => { + this.setTheme(this.theme); + }); + get theme() { switch (themeStore.activeTheme.type) { case "light": @@ -148,9 +154,8 @@ export class AceEditor extends React.Component { render() { const { className, hidden } = this.props; - const themeType = themeStore.activeTheme.type; return ( -