From bba4d96386664d9fc6ae7682ff976eb78b994666 Mon Sep 17 00:00:00 2001 From: alexfront Date: Mon, 17 Aug 2020 12:08:59 +0300 Subject: [PATCH] Restyling Preferences section Signed-off-by: alexfront --- .../components/+preferences/preferences.scss | 56 +++++-- .../components/+preferences/preferences.tsx | 158 +++++++++--------- 2 files changed, 118 insertions(+), 96 deletions(-) diff --git a/src/renderer/components/+preferences/preferences.scss b/src/renderer/components/+preferences/preferences.scss index 859315cc8a..94c08e8f53 100644 --- a/src/renderer/components/+preferences/preferences.scss +++ b/src/renderer/components/+preferences/preferences.scss @@ -1,23 +1,51 @@ .Preferences { - h2 { - &:not(:first-child) { - margin-top: $padding * 3; + position: fixed!important; // Allows to cover ClustersMenu + z-index: 1; + + .WizardLayout { + grid-template-columns: unset; + grid-template-rows: 76px 1fr; + padding: 0; + + .content-col { + background-color: transparent; + padding: $padding * 8 0; + + h2 { + margin-bottom: $margin * 2; + + &:not(:first-child) { + margin-top: $margin * 3; + } + } + + .repos { + position: relative; + + .Badge { + display: flex; + margin: 0; + margin-bottom: 1px; + padding: $padding $padding * 2; + } + } + + .hint { + margin-top: -$margin; + } } } - .info-block { - --flex-gap: #{$padding}; + .is-mac & { + .WizardLayout .head-col { + padding-top: 32px; + overflow: hidden; + } } - .repos { - --flex-gap: #{$padding}; - - > .title { - font-style: italic; - } - - .Badge { - margin: $padding / 2; + .Select { + &__control { + box-shadow: 0 0 0 1px $borderFaintColor; } } } \ No newline at end of file diff --git a/src/renderer/components/+preferences/preferences.tsx b/src/renderer/components/+preferences/preferences.tsx index 02e66b7342..643e15c5f8 100644 --- a/src/renderer/components/+preferences/preferences.tsx +++ b/src/renderer/components/+preferences/preferences.tsx @@ -1,5 +1,5 @@ import "./preferences.scss" -import React, { Fragment } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { action, computed, observable } from "mobx"; import { t, Trans } from "@lingui/macro"; @@ -15,6 +15,8 @@ import { Notifications } from "../notifications"; import { Badge } from "../badge"; import { Spinner } from "../spinner"; import { themeStore } from "../../theme.store"; +import { history } from "../../navigation"; +import { Tooltip } from "../tooltip"; @observer export class Preferences extends React.Component { @@ -103,104 +105,96 @@ export class Preferences extends React.Component { ) } - renderInfo() { - return ( - -

- Preferences -

-
- -

- Lens Global Settings (applicable to all clusters) -

-
-
- ) - } - render() { const { preferences } = userStore; + const header = ( + <> +

Preferences

+ + + ); return ( - -

Color Theme

- preferences.colorTheme = value} + /> -

Download Mirror

- Download mirror for kubectl} + options={this.downloadMirrorOptions} + value={preferences.downloadMirror} + onChange={({ value }: SelectOption) => preferences.downloadMirror = value} + /> -

Helm

- Repositories} + isLoading={this.helmLoading} + isDisabled={this.helmUpdating} + options={this.helmOptions} + onChange={this.onRepoSelect} + formatOptionLabel={this.formatHelmOptionLabel} + controlShouldRenderValue={false} + /> +
+ {this.helmLoading && } {Array.from(this.helmAddedRepos).map(([name, repo]) => { + const tooltipId = `message-${name}`; return ( - - {name} + + {name} this.removeRepo(repo)} tooltip={Remove} /> + + {repo.url} + ) })}
- -

HTTP Proxy

- preferences.httpsProxy = v} - /> - - Proxy is used only for non-cluster communication. - +

HTTP Proxy

+ preferences.httpsProxy = v} + /> + + Proxy is used only for non-cluster communication. + -

Certificate Trust

- Allow untrusted Certificate Authorities} - value={preferences.allowUntrustedCAs} - onChange={v => preferences.allowUntrustedCAs = v} - /> - - This will make Lens to trust ANY certificate authority without any validations.{" "} - Needed with some corporate proxies that do certificate re-writing.{" "} - Does not affect cluster communications! - +

Certificate Trust

+ Allow untrusted Certificate Authorities} + value={preferences.allowUntrustedCAs} + onChange={v => preferences.allowUntrustedCAs = v} + /> + + This will make Lens to trust ANY certificate authority without any validations.{" "} + Needed with some corporate proxies that do certificate re-writing.{" "} + Does not affect cluster communications! + -

Telemetry & Usage Tracking

- Allow telemetry & usage tracking} - value={preferences.allowTelemetry} - onChange={v => preferences.allowTelemetry = v} - /> - - Telemetry & usage data is collected to continuously improve the Lens experience. - -
- ) +

Telemetry & Usage Tracking

+ Allow telemetry & usage tracking} + value={preferences.allowTelemetry} + onChange={v => preferences.allowTelemetry = v} + /> + + Telemetry & usage data is collected to continuously improve the Lens experience. + + + + ); } }