From 407c4fb4d04385291cef33940d20b33bd5ee2f81 Mon Sep 17 00:00:00 2001 From: Roman Date: Thu, 23 Jul 2020 18:26:16 +0300 Subject: [PATCH] fix: apply theme on the fly in preferences, theme-store refactoring Signed-off-by: Roman --- locales/en/messages.po | 52 ++-- locales/fi/messages.po | 52 ++-- locales/ru/messages.po | 52 ++-- src/common/user-store.ts | 24 +- src/main/routes/config-route.ts | 8 +- .../components/+preferences/preferences.tsx | 20 +- .../+workloads-pods/container-charts.tsx | 5 +- src/renderer/components/chart/bar-chart.tsx | 248 +++++++++--------- src/renderer/components/chart/pie-chart.tsx | 2 + .../cluster-manager/cluster-manager.tsx | 8 +- src/renderer/components/dock/terminal.ts | 21 +- .../components/layout/wizard-layout.scss | 2 +- src/renderer/theme.store.ts | 137 +++++----- src/renderer/themes/kontena-dark.json | 3 +- src/renderer/themes/kontena-light.json | 3 +- 15 files changed, 322 insertions(+), 315 deletions(-) diff --git a/locales/en/messages.po b/locales/en/messages.po index 06527cbf15..cfa796b938 100644 --- a/locales/en/messages.po +++ b/locales/en/messages.po @@ -116,11 +116,11 @@ msgstr "Add field" #~ msgid "Added repos" #~ msgstr "Added repos" -#: src/renderer/components/+preferences/preferences.tsx:149 +#: src/renderer/components/+preferences/preferences.tsx:147 msgid "Added repos:" msgstr "Added repos:" -#: src/renderer/components/+preferences/preferences.tsx:108 +#: src/renderer/components/+preferences/preferences.tsx:106 msgid "Adding helm branch <0>{0} has failed: {1}" msgstr "Adding helm branch <0>{0} has failed: {1}" @@ -202,11 +202,11 @@ msgstr "Allocatable" msgid "Allow Privilege Escalation" msgstr "Allow Privilege Escalation" -#: src/renderer/components/+preferences/preferences.tsx:177 +#: src/renderer/components/+preferences/preferences.tsx:175 msgid "Allow telemetry & usage tracking" msgstr "Allow telemetry & usage tracking" -#: src/renderer/components/+preferences/preferences.tsx:169 +#: src/renderer/components/+preferences/preferences.tsx:167 msgid "Allow untrusted Certificate Authorities" msgstr "Allow untrusted Certificate Authorities" @@ -401,7 +401,7 @@ msgstr "Cancel" msgid "Capacity" msgstr "Capacity" -#: src/renderer/components/+preferences/preferences.tsx:168 +#: src/renderer/components/+preferences/preferences.tsx:166 msgid "Certificate Trust" msgstr "Certificate Trust" @@ -468,7 +468,7 @@ msgstr "Cluster IP" msgid "Cluster Issuers" msgstr "Cluster Issuers" -#: src/renderer/components/+preferences/preferences.tsx:139 +#: src/renderer/components/+preferences/preferences.tsx:137 msgid "Color Theme" msgstr "Color Theme" @@ -717,7 +717,7 @@ msgstr "Daemon Sets" msgid "DaemonSets" msgstr "DaemonSets" -#: src/renderer/components/+preferences/preferences.tsx:40 +#: src/renderer/theme.store.ts:32 msgid "Dark" msgstr "Dark" @@ -780,7 +780,7 @@ msgstr "Disk" msgid "Disk:" msgstr "Disk:" -#: src/renderer/components/+preferences/preferences.tsx:173 +#: src/renderer/components/+preferences/preferences.tsx:171 msgid "Does not affect cluster communications!" msgstr "Does not affect cluster communications!" @@ -788,7 +788,7 @@ msgstr "Does not affect cluster communications!" msgid "Domains" msgstr "Domains" -#: src/renderer/components/+preferences/preferences.tsx:142 +#: src/renderer/components/+preferences/preferences.tsx:140 msgid "Download Mirror" msgstr "Download Mirror" @@ -796,7 +796,7 @@ msgstr "Download Mirror" msgid "Download file" msgstr "Download file" -#: src/renderer/components/+preferences/preferences.tsx:143 +#: src/renderer/components/+preferences/preferences.tsx:141 msgid "Download mirror for kubectl" msgstr "Download mirror for kubectl" @@ -967,7 +967,7 @@ msgstr "Groups" msgid "HPA" msgstr "HPA" -#: src/renderer/components/+preferences/preferences.tsx:162 +#: src/renderer/components/+preferences/preferences.tsx:160 msgid "HTTP Proxy" msgstr "HTTP Proxy" @@ -975,7 +975,7 @@ msgstr "HTTP Proxy" msgid "HTTP Proxy server. Used for communicating with Kubernetes API." msgstr "HTTP Proxy server. Used for communicating with Kubernetes API." -#: src/renderer/components/+preferences/preferences.tsx:145 +#: src/renderer/components/+preferences/preferences.tsx:143 msgid "Helm" msgstr "Helm" @@ -995,7 +995,7 @@ msgstr "Helm Install: {repo}/{name}" msgid "Helm Upgrade: {0}" msgstr "Helm Upgrade: {0}" -#: src/renderer/components/+preferences/preferences.tsx:61 +#: src/renderer/components/+preferences/preferences.tsx:50 msgid "Helm branch <0>{0} already in use" msgstr "Helm branch <0>{0} already in use" @@ -1209,7 +1209,7 @@ msgstr "Last seen" msgid "Last transition time: {lastTransitionTime}" msgstr "Last transition time: {lastTransitionTime}" -#: src/renderer/components/+preferences/preferences.tsx:131 +#: src/renderer/components/+preferences/preferences.tsx:129 msgid "Lens Global Settings" msgstr "Lens Global Settings" @@ -1217,7 +1217,7 @@ msgstr "Lens Global Settings" msgid "Level" msgstr "Level" -#: src/renderer/components/+preferences/preferences.tsx:41 +#: src/renderer/theme.store.ts:33 msgid "Light" msgstr "Light" @@ -1485,7 +1485,7 @@ msgstr "Namespaces" msgid "Namespaces: {0}" msgstr "Namespaces: {0}" -#: src/renderer/components/+preferences/preferences.tsx:172 +#: src/renderer/components/+preferences/preferences.tsx:170 msgid "Needed with some corporate proxies that do certificate re-writing." msgstr "Needed with some corporate proxies that do certificate re-writing." @@ -1755,7 +1755,7 @@ msgstr "Port" msgid "Ports" msgstr "Ports" -#: src/renderer/components/+preferences/preferences.tsx:126 +#: src/renderer/components/+preferences/preferences.tsx:124 msgid "Preferences" msgstr "Preferences" @@ -1777,7 +1777,7 @@ msgstr "Privileged" msgid "Provisioner" msgstr "Provisioner" -#: src/renderer/components/+preferences/preferences.tsx:165 +#: src/renderer/components/+preferences/preferences.tsx:163 msgid "Proxy is used only for non-cluster communication." msgstr "Proxy is used only for non-cluster communication." @@ -1861,7 +1861,7 @@ msgstr "Release: {0}" msgid "Releases" msgstr "Releases" -#: src/renderer/components/+preferences/preferences.tsx:156 +#: src/renderer/components/+preferences/preferences.tsx:154 #: src/renderer/components/+user-management-roles-bindings/role-binding-details.tsx:60 #: src/renderer/components/cluster-manager/clusters-menu.tsx:60 #: src/renderer/components/cluster-manager/clusters-menu.tsx:64 @@ -1903,7 +1903,7 @@ msgstr "Remove selected items ({0})" msgid "Remove {resourceKind} <0>{resourceName}?" msgstr "Remove {resourceKind} <0>{resourceName}?" -#: src/renderer/components/+preferences/preferences.tsx:119 +#: src/renderer/components/+preferences/preferences.tsx:117 msgid "Removing helm branch <0>{0} has failed: {1}" msgstr "Removing helm branch <0>{0} has failed: {1}" @@ -1927,7 +1927,7 @@ msgstr "Replicas" msgid "Repo/Name" msgstr "Repo/Name" -#: src/renderer/components/+preferences/preferences.tsx:146 +#: src/renderer/components/+preferences/preferences.tsx:144 msgid "Repositories" msgstr "Repositories" @@ -2378,11 +2378,11 @@ msgstr "TLS" msgid "Taints" msgstr "Taints" -#: src/renderer/components/+preferences/preferences.tsx:176 +#: src/renderer/components/+preferences/preferences.tsx:174 msgid "Telemetry & Usage Tracking" msgstr "Telemetry & Usage Tracking" -#: src/renderer/components/+preferences/preferences.tsx:179 +#: src/renderer/components/+preferences/preferences.tsx:177 msgid "Telemetry & usage data is collected to continuously improve the Lens experience." msgstr "Telemetry & usage data is collected to continuously improve the Lens experience." @@ -2414,7 +2414,7 @@ msgstr "This field must contain only lowercase latin characters, numbers and das msgid "This is the quick launch menu." msgstr "This is the quick launch menu." -#: src/renderer/components/+preferences/preferences.tsx:171 +#: src/renderer/components/+preferences/preferences.tsx:169 msgid "This will make Lens to trust ANY certificate authority without any validations." msgstr "This will make Lens to trust ANY certificate authority without any validations." @@ -2457,7 +2457,7 @@ msgstr "Transmit" msgid "Type" msgstr "Type" -#: src/renderer/components/+preferences/preferences.tsx:163 +#: src/renderer/components/+preferences/preferences.tsx:161 msgid "Type HTTP proxy url (example: http://proxy.acme.org:8080)" msgstr "Type HTTP proxy url (example: http://proxy.acme.org:8080)" @@ -2650,7 +2650,7 @@ msgstr "ago" msgid "and <0>{tailCount} more" msgstr "and <0>{tailCount} more" -#: src/renderer/components/+preferences/preferences.tsx:131 +#: src/renderer/components/+preferences/preferences.tsx:129 msgid "applicable to all clusters" msgstr "applicable to all clusters" diff --git a/locales/fi/messages.po b/locales/fi/messages.po index a2d3505cdc..0aa7bb5ca8 100644 --- a/locales/fi/messages.po +++ b/locales/fi/messages.po @@ -116,11 +116,11 @@ msgstr "" #~ msgid "Added repos" #~ msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:149 +#: src/renderer/components/+preferences/preferences.tsx:147 msgid "Added repos:" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:108 +#: src/renderer/components/+preferences/preferences.tsx:106 msgid "Adding helm branch <0>{0} has failed: {1}" msgstr "" @@ -202,11 +202,11 @@ msgstr "" msgid "Allow Privilege Escalation" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:177 +#: src/renderer/components/+preferences/preferences.tsx:175 msgid "Allow telemetry & usage tracking" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:169 +#: src/renderer/components/+preferences/preferences.tsx:167 msgid "Allow untrusted Certificate Authorities" msgstr "" @@ -401,7 +401,7 @@ msgstr "" msgid "Capacity" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:168 +#: src/renderer/components/+preferences/preferences.tsx:166 msgid "Certificate Trust" msgstr "" @@ -464,7 +464,7 @@ msgstr "" msgid "Cluster Issuers" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:139 +#: src/renderer/components/+preferences/preferences.tsx:137 msgid "Color Theme" msgstr "" @@ -713,7 +713,7 @@ msgstr "" msgid "DaemonSets" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:40 +#: src/renderer/theme.store.ts:32 msgid "Dark" msgstr "" @@ -776,7 +776,7 @@ msgstr "" msgid "Disk:" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:173 +#: src/renderer/components/+preferences/preferences.tsx:171 msgid "Does not affect cluster communications!" msgstr "" @@ -784,7 +784,7 @@ msgstr "" msgid "Domains" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:142 +#: src/renderer/components/+preferences/preferences.tsx:140 msgid "Download Mirror" msgstr "" @@ -792,7 +792,7 @@ msgstr "" msgid "Download file" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:143 +#: src/renderer/components/+preferences/preferences.tsx:141 msgid "Download mirror for kubectl" msgstr "" @@ -958,7 +958,7 @@ msgstr "" msgid "HPA" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:162 +#: src/renderer/components/+preferences/preferences.tsx:160 msgid "HTTP Proxy" msgstr "" @@ -966,7 +966,7 @@ msgstr "" msgid "HTTP Proxy server. Used for communicating with Kubernetes API." msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:145 +#: src/renderer/components/+preferences/preferences.tsx:143 msgid "Helm" msgstr "" @@ -986,7 +986,7 @@ msgstr "" msgid "Helm Upgrade: {0}" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:61 +#: src/renderer/components/+preferences/preferences.tsx:50 msgid "Helm branch <0>{0} already in use" msgstr "" @@ -1200,7 +1200,7 @@ msgstr "" msgid "Last transition time: {lastTransitionTime}" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:131 +#: src/renderer/components/+preferences/preferences.tsx:129 msgid "Lens Global Settings" msgstr "" @@ -1208,7 +1208,7 @@ msgstr "" msgid "Level" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:41 +#: src/renderer/theme.store.ts:33 msgid "Light" msgstr "" @@ -1476,7 +1476,7 @@ msgstr "" msgid "Namespaces: {0}" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:172 +#: src/renderer/components/+preferences/preferences.tsx:170 msgid "Needed with some corporate proxies that do certificate re-writing." msgstr "" @@ -1738,7 +1738,7 @@ msgstr "" msgid "Ports" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:126 +#: src/renderer/components/+preferences/preferences.tsx:124 msgid "Preferences" msgstr "" @@ -1760,7 +1760,7 @@ msgstr "" msgid "Provisioner" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:165 +#: src/renderer/components/+preferences/preferences.tsx:163 msgid "Proxy is used only for non-cluster communication." msgstr "" @@ -1844,7 +1844,7 @@ msgstr "" msgid "Releases" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:156 +#: src/renderer/components/+preferences/preferences.tsx:154 #: src/renderer/components/+user-management-roles-bindings/role-binding-details.tsx:60 #: src/renderer/components/cluster-manager/clusters-menu.tsx:60 #: src/renderer/components/cluster-manager/clusters-menu.tsx:64 @@ -1886,7 +1886,7 @@ msgstr "" msgid "Remove {resourceKind} <0>{resourceName}?" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:119 +#: src/renderer/components/+preferences/preferences.tsx:117 msgid "Removing helm branch <0>{0} has failed: {1}" msgstr "" @@ -1910,7 +1910,7 @@ msgstr "" msgid "Repo/Name" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:146 +#: src/renderer/components/+preferences/preferences.tsx:144 msgid "Repositories" msgstr "" @@ -2361,11 +2361,11 @@ msgstr "" msgid "Taints" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:176 +#: src/renderer/components/+preferences/preferences.tsx:174 msgid "Telemetry & Usage Tracking" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:179 +#: src/renderer/components/+preferences/preferences.tsx:177 msgid "Telemetry & usage data is collected to continuously improve the Lens experience." msgstr "" @@ -2397,7 +2397,7 @@ msgstr "" msgid "This is the quick launch menu." msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:171 +#: src/renderer/components/+preferences/preferences.tsx:169 msgid "This will make Lens to trust ANY certificate authority without any validations." msgstr "" @@ -2440,7 +2440,7 @@ msgstr "" msgid "Type" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:163 +#: src/renderer/components/+preferences/preferences.tsx:161 msgid "Type HTTP proxy url (example: http://proxy.acme.org:8080)" msgstr "" @@ -2633,7 +2633,7 @@ msgstr "" msgid "and <0>{tailCount} more" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:131 +#: src/renderer/components/+preferences/preferences.tsx:129 msgid "applicable to all clusters" msgstr "" diff --git a/locales/ru/messages.po b/locales/ru/messages.po index 06f2b26186..c32d565891 100644 --- a/locales/ru/messages.po +++ b/locales/ru/messages.po @@ -117,11 +117,11 @@ msgstr "Добавить поле" #~ msgid "Added repos" #~ msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:149 +#: src/renderer/components/+preferences/preferences.tsx:147 msgid "Added repos:" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:108 +#: src/renderer/components/+preferences/preferences.tsx:106 msgid "Adding helm branch <0>{0} has failed: {1}" msgstr "" @@ -203,11 +203,11 @@ msgstr "" msgid "Allow Privilege Escalation" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:177 +#: src/renderer/components/+preferences/preferences.tsx:175 msgid "Allow telemetry & usage tracking" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:169 +#: src/renderer/components/+preferences/preferences.tsx:167 msgid "Allow untrusted Certificate Authorities" msgstr "" @@ -402,7 +402,7 @@ msgstr "Отмена" msgid "Capacity" msgstr "Емкость" -#: src/renderer/components/+preferences/preferences.tsx:168 +#: src/renderer/components/+preferences/preferences.tsx:166 msgid "Certificate Trust" msgstr "" @@ -469,7 +469,7 @@ msgstr "IP-адрес кластера" msgid "Cluster Issuers" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:139 +#: src/renderer/components/+preferences/preferences.tsx:137 msgid "Color Theme" msgstr "" @@ -718,7 +718,7 @@ msgstr "" msgid "DaemonSets" msgstr "DaemonSets" -#: src/renderer/components/+preferences/preferences.tsx:40 +#: src/renderer/theme.store.ts:32 msgid "Dark" msgstr "" @@ -781,7 +781,7 @@ msgstr "Диск" msgid "Disk:" msgstr "Диск:" -#: src/renderer/components/+preferences/preferences.tsx:173 +#: src/renderer/components/+preferences/preferences.tsx:171 msgid "Does not affect cluster communications!" msgstr "" @@ -789,7 +789,7 @@ msgstr "" msgid "Domains" msgstr "Домены" -#: src/renderer/components/+preferences/preferences.tsx:142 +#: src/renderer/components/+preferences/preferences.tsx:140 msgid "Download Mirror" msgstr "" @@ -797,7 +797,7 @@ msgstr "" msgid "Download file" msgstr "Скачать файл" -#: src/renderer/components/+preferences/preferences.tsx:143 +#: src/renderer/components/+preferences/preferences.tsx:141 msgid "Download mirror for kubectl" msgstr "" @@ -968,7 +968,7 @@ msgstr "Группы" msgid "HPA" msgstr "HPA" -#: src/renderer/components/+preferences/preferences.tsx:162 +#: src/renderer/components/+preferences/preferences.tsx:160 msgid "HTTP Proxy" msgstr "" @@ -976,7 +976,7 @@ msgstr "" msgid "HTTP Proxy server. Used for communicating with Kubernetes API." msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:145 +#: src/renderer/components/+preferences/preferences.tsx:143 msgid "Helm" msgstr "" @@ -996,7 +996,7 @@ msgstr "Helm установка: {repo}/{name}" msgid "Helm Upgrade: {0}" msgstr "Helm обновление: {0}" -#: src/renderer/components/+preferences/preferences.tsx:61 +#: src/renderer/components/+preferences/preferences.tsx:50 msgid "Helm branch <0>{0} already in use" msgstr "" @@ -1210,7 +1210,7 @@ msgstr "Увиденно в последний раз" msgid "Last transition time: {lastTransitionTime}" msgstr "Последнее изменение: {lastTransitionTime}" -#: src/renderer/components/+preferences/preferences.tsx:131 +#: src/renderer/components/+preferences/preferences.tsx:129 msgid "Lens Global Settings" msgstr "" @@ -1218,7 +1218,7 @@ msgstr "" msgid "Level" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:41 +#: src/renderer/theme.store.ts:33 msgid "Light" msgstr "" @@ -1486,7 +1486,7 @@ msgstr "Namespaces" msgid "Namespaces: {0}" msgstr "Namespaces: {0}" -#: src/renderer/components/+preferences/preferences.tsx:172 +#: src/renderer/components/+preferences/preferences.tsx:170 msgid "Needed with some corporate proxies that do certificate re-writing." msgstr "" @@ -1756,7 +1756,7 @@ msgstr "" msgid "Ports" msgstr "Порты" -#: src/renderer/components/+preferences/preferences.tsx:126 +#: src/renderer/components/+preferences/preferences.tsx:124 msgid "Preferences" msgstr "" @@ -1778,7 +1778,7 @@ msgstr "" msgid "Provisioner" msgstr "Комиссия" -#: src/renderer/components/+preferences/preferences.tsx:165 +#: src/renderer/components/+preferences/preferences.tsx:163 msgid "Proxy is used only for non-cluster communication." msgstr "" @@ -1862,7 +1862,7 @@ msgstr "Установка: {0}" msgid "Releases" msgstr "Релизы" -#: src/renderer/components/+preferences/preferences.tsx:156 +#: src/renderer/components/+preferences/preferences.tsx:154 #: src/renderer/components/+user-management-roles-bindings/role-binding-details.tsx:60 #: src/renderer/components/cluster-manager/clusters-menu.tsx:60 #: src/renderer/components/cluster-manager/clusters-menu.tsx:64 @@ -1904,7 +1904,7 @@ msgstr "Удалить выбранные элементы ({0})" msgid "Remove {resourceKind} <0>{resourceName}?" msgstr "Удалить {resourceKind} <0>{resourceName}?" -#: src/renderer/components/+preferences/preferences.tsx:119 +#: src/renderer/components/+preferences/preferences.tsx:117 msgid "Removing helm branch <0>{0} has failed: {1}" msgstr "" @@ -1928,7 +1928,7 @@ msgstr "Реплики" msgid "Repo/Name" msgstr "Репозиторий/Имя" -#: src/renderer/components/+preferences/preferences.tsx:146 +#: src/renderer/components/+preferences/preferences.tsx:144 msgid "Repositories" msgstr "" @@ -2379,11 +2379,11 @@ msgstr "TLS" msgid "Taints" msgstr "Метки блокировки" -#: src/renderer/components/+preferences/preferences.tsx:176 +#: src/renderer/components/+preferences/preferences.tsx:174 msgid "Telemetry & Usage Tracking" msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:179 +#: src/renderer/components/+preferences/preferences.tsx:177 msgid "Telemetry & usage data is collected to continuously improve the Lens experience." msgstr "" @@ -2415,7 +2415,7 @@ msgstr "Это поле может содержать только латинс msgid "This is the quick launch menu." msgstr "" -#: src/renderer/components/+preferences/preferences.tsx:171 +#: src/renderer/components/+preferences/preferences.tsx:169 msgid "This will make Lens to trust ANY certificate authority without any validations." msgstr "" @@ -2458,7 +2458,7 @@ msgstr "Транзит" msgid "Type" msgstr "Тип" -#: src/renderer/components/+preferences/preferences.tsx:163 +#: src/renderer/components/+preferences/preferences.tsx:161 msgid "Type HTTP proxy url (example: http://proxy.acme.org:8080)" msgstr "" @@ -2651,7 +2651,7 @@ msgstr "тому назад" msgid "and <0>{tailCount} more" msgstr "и <0>{tailCount} ещё" -#: src/renderer/components/+preferences/preferences.tsx:131 +#: src/renderer/components/+preferences/preferences.tsx:129 msgid "applicable to all clusters" msgstr "" diff --git a/src/common/user-store.ts b/src/common/user-store.ts index ebe1616524..35c62d3b09 100644 --- a/src/common/user-store.ts +++ b/src/common/user-store.ts @@ -1,3 +1,4 @@ +import type { ThemeId } from "../renderer/theme.store"; import semver from "semver" import { action, observable, reaction, toJS } from "mobx"; import { BaseStore } from "./base-store"; @@ -5,20 +6,8 @@ import migrations from "../migrations/user-store" import { getAppVersion } from "./utils/app-version"; import { tracker } from "./tracker"; -// todo: merge with config.store.ts + theme.store.ts // fixme: detect new contexts from .kube/config since last open -export enum ThemeType { - LIGHT = "light", - DARK = "dark", -} - -export interface Theme { - name: string; - type: ThemeType; - colors?: Record; -} - export interface UserStoreModel { lastSeenAppVersion: string; seenContexts: string[]; @@ -27,13 +16,15 @@ export interface UserStoreModel { export interface UserPreferences { httpsProxy?: string; - colorTheme?: string | "dark" | "light"; + colorTheme?: string; allowUntrustedCAs?: boolean; allowTelemetry?: boolean; downloadMirror?: string | "default"; } export class UserStore extends BaseStore { + static readonly defaultTheme: ThemeId = "kontena-dark" + private constructor() { super({ // configName: "lens-user-store", // todo: migrate from default filename @@ -53,7 +44,7 @@ export class UserStore extends BaseStore { @observable preferences: UserPreferences = { allowTelemetry: true, allowUntrustedCAs: false, - colorTheme: "dark", + colorTheme: UserStore.defaultTheme, downloadMirror: "default", httpsProxy: "", }; @@ -62,6 +53,11 @@ export class UserStore extends BaseStore { return semver.gt(getAppVersion(), this.lastSeenAppVersion); } + @action + resetTheme() { + this.preferences.colorTheme = UserStore.defaultTheme; + } + @action saveLastSeenAppVersion() { tracker.event("app", "whats-new-seen") diff --git a/src/main/routes/config-route.ts b/src/main/routes/config-route.ts index 8b86549951..8294af3ded 100644 --- a/src/main/routes/config-route.ts +++ b/src/main/routes/config-route.ts @@ -2,14 +2,12 @@ import { app } from "electron" import { CoreV1Api } from "@kubernetes/client-node" import { LensApiRequest } from "../router" import { LensApi } from "../lens-api" -import { userStore } from "../../common/user-store" import { Cluster } from "../cluster" export interface IConfigRoutePayload { kubeVersion?: string; clusterName?: string; lensVersion?: string; - lensTheme?: string; username?: string; token?: string; allowedNamespaces?: string[]; @@ -58,12 +56,11 @@ async function getAllowedNamespaces(cluster: Cluster) { return namespaceList.body.items .filter((ns, i) => nsAccessStatuses[i]) .map(ns => ns.metadata.name) - } catch(error) { + } catch (error) { const ctx = cluster.getProxyKubeconfig().getContextObject(cluster.contextName) if (ctx.namespace) { return [ctx.namespace] - } - else { + } else { return [] } } @@ -94,7 +91,6 @@ class ConfigRoute extends LensApi { const data: IConfigRoutePayload = { clusterName: cluster.contextName, lensVersion: app.getVersion(), - lensTheme: userStore.preferences.colorTheme, kubeVersion: cluster.version, chartsEnabled: true, isClusterAdmin: cluster.isAdmin, diff --git a/src/renderer/components/+preferences/preferences.tsx b/src/renderer/components/+preferences/preferences.tsx index be86011321..4500bea05a 100644 --- a/src/renderer/components/+preferences/preferences.tsx +++ b/src/renderer/components/+preferences/preferences.tsx @@ -14,6 +14,7 @@ import { Checkbox } from "../checkbox"; import { Notifications } from "../notifications"; import { Badge } from "../badge"; import { Spinner } from "../spinner"; +import { themeStore } from "../../theme.store"; @observer export class Preferences extends React.Component { @@ -22,20 +23,22 @@ export class Preferences extends React.Component { @observable helmRepos: HelmRepo[] = []; @observable helmAddedRepos = observable.map(); - @observable themeOptions: SelectOption[] = [ - { value: "kontena-dark", label: Dark }, - { value: "kontena-light", label: Light }, - ] - @observable downloadMirrorOptions: SelectOption[] = [ { value: "default", label: "Default (Google)" }, { value: "china", label: "China (Azure)" }, ] + @computed get themeOptions(): SelectOption[] { + return themeStore.themes.map(theme => ({ + label: theme.name, + value: theme.id, + })) + } + @computed get helmOptions(): SelectOption[] { return this.helmRepos.map(repo => ({ - value: repo, label: repo.name, + value: repo, })) } @@ -80,7 +83,6 @@ export class Preferences extends React.Component { } onThemeChange = ({ value }: SelectOption) => { - // themeStore.setTheme(value); // fixme: apply theme on the fly for current view userStore.preferences.colorTheme = value; } @@ -129,7 +131,7 @@ export class Preferences extends React.Component {