diff --git a/src/renderer/components/+preferences/kubectl-binaries.tsx b/src/renderer/components/+preferences/kubectl-binaries.tsx index aebe2e7063..f373c101c6 100644 --- a/src/renderer/components/+preferences/kubectl-binaries.tsx +++ b/src/renderer/components/+preferences/kubectl-binaries.tsx @@ -24,15 +24,12 @@ export const KubectlBinaries = observer(({ preferences }: { preferences: UserPre return ( <> -

Kubectl Binary

+ preferences.downloadKubectlBinaries = downloadKubectlBinaries} /> - - Download kubectl binaries matching to Kubernetes cluster version. - (); @observable httpProxy = userStore.preferences.httpsProxy || ""; @computed get themeOptions(): SelectOption[] { @@ -33,79 +26,6 @@ export class Preferences extends React.Component { })); } - @computed get helmOptions(): SelectOption[] { - return this.helmRepos.map(repo => ({ - label: repo.name, - value: repo, - })); - } - - async componentDidMount() { - await this.loadHelmRepos(); - } - - @action - async loadHelmRepos() { - this.helmLoading = true; - - try { - if (!this.helmRepos.length) { - this.helmRepos = await repoManager.loadAvailableRepos(); // via https://helm.sh - } - const repos = await repoManager.repositories(); // via helm-cli - - this.helmAddedRepos.clear(); - repos.forEach(repo => this.helmAddedRepos.set(repo.name, repo)); - } catch (err) { - Notifications.error(String(err)); - } - this.helmLoading = false; - } - - async addRepo(repo: HelmRepo) { - try { - await repoManager.addRepo(repo); - this.helmAddedRepos.set(repo.name, repo); - } catch (err) { - Notifications.error(<>Adding helm branch {repo.name} has failed: {String(err)}); - } - } - - async removeRepo(repo: HelmRepo) { - try { - await repoManager.removeRepo(repo); - this.helmAddedRepos.delete(repo.name); - } catch (err) { - Notifications.error( - <>Removing helm branch {repo.name} has failed: {String(err)} - ); - } - } - - onRepoSelect = async ({ value: repo }: SelectOption) => { - const isAdded = this.helmAddedRepos.has(repo.name); - - if (isAdded) { - Notifications.ok(<>Helm branch {repo.name} already in use); - - return; - } - this.helmLoading = true; - await this.addRepo(repo); - this.helmLoading = false; - }; - - formatHelmOptionLabel = ({ value: repo }: SelectOption) => { - const isAdded = this.helmAddedRepos.has(repo.name); - - return ( -
- {repo.name} - {isAdded && } -
- ); - }; - render() { const { preferences } = userStore; const header =

Preferences

; @@ -115,100 +35,85 @@ export class Preferences extends React.Component { showOnTop showNavigation className="Preferences" + contentGaps={false} header={header} > -

Color Theme

- preferences.colorTheme = value} + /> + +
+

Proxy

+ + this.httpProxy = v} + onBlur={() => preferences.httpsProxy = this.httpProxy} + /> + + Proxy is used only for non-cluster communication. + -

HTTP Proxy

- this.httpProxy = v} - onBlur={() => preferences.httpsProxy = this.httpProxy} - /> - - Proxy is used only for non-cluster communication. - + + 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! + +
+
+

Start-up

+ + preferences.openAtLogin = v} + /> +
+ - +
+

Kubernetes

+
+

Kubectl binary

+ +
+
+

Helm Charts

+ +
+
-

Helm

-
- - - - -
- ); - })} - +
+

Extensions

+
+ {appPreferenceRegistry.getItems().map(({ title, components: { Hint, Input } }, index) => { + return ( +
+

{title}

+ + + + +
+ ); + })} +
+
); } diff --git a/src/renderer/components/layout/page-layout.scss b/src/renderer/components/layout/page-layout.scss index 6650aae550..093fb7736e 100644 --- a/src/renderer/components/layout/page-layout.scss +++ b/src/renderer/components/layout/page-layout.scss @@ -59,10 +59,6 @@ } } - h2:not(:first-of-type) { - margin-top: var(--spacing); - } - p { line-height: 140%; } @@ -81,4 +77,36 @@ box-shadow: 0 0 0 1px var(--borderFaintColor); } } + + section { + display: flex; + flex-direction: column; + margin-bottom: var(--spacing); + + > :not(:last-child) { + margin-bottom: var(--spacing); + } + + h1, h2 { + color: var(--textColorAccent); + } + + h1 { + font-size: x-large; + border-bottom: 1px solid var(--borderFaintColor); + padding-bottom: var(--padding); + } + + h2 { + font-size: large; + } + + small.hint { + margin-top: calc(var(--unit) * -1.5); + } + + .SubTitle { + margin-top: 0; + } + } } \ No newline at end of file