diff --git a/integration/__tests__/app.tests.ts b/integration/__tests__/app.tests.ts index 0c28359317..5bf707fb71 100644 --- a/integration/__tests__/app.tests.ts +++ b/integration/__tests__/app.tests.ts @@ -73,7 +73,7 @@ describe("Lens integration tests", () => { } await app.client.click("[data-testid=kubernetes-tab]"); - await app.client.waitUntilTextExists("div.repos .repoName", repos[0].name); // wait for the helm-cli to fetch the repo(s) + await app.client.waitUntilTextExists("[data-testid=repository-name]", repos[0].name); // wait for the helm-cli to fetch the repo(s) await app.client.click("#HelmRepoSelect"); // click the repo select to activate the drop-down await app.client.waitUntilTextExists("div.Select__option", ""); // wait for at least one option to appear (any text) }); diff --git a/src/renderer/components/+extensions/extensions.tsx b/src/renderer/components/+extensions/extensions.tsx index 0265a6ddf3..3d616b4b20 100644 --- a/src/renderer/components/+extensions/extensions.tsx +++ b/src/renderer/components/+extensions/extensions.tsx @@ -515,7 +515,7 @@ export class Extensions extends React.Component {

Extensions

- +

Add new features via Lens Extensions.{" "} Check out docs{" "} diff --git a/src/renderer/components/+extensions/notice.module.css b/src/renderer/components/+extensions/notice.module.css index 81b90c48ad..fbe5bec901 100644 --- a/src/renderer/components/+extensions/notice.module.css +++ b/src/renderer/components/+extensions/notice.module.css @@ -20,7 +20,7 @@ */ .notice { - @apply p-8 flex flex-col gap-2 mb-14 mt-3 rounded-lg; + @apply p-8 flex flex-col gap-2 rounded-lg; background-color: var(--inputControlBackground); border: 1px solid var(--boxShadow); color: var(--textColorTertiary); diff --git a/src/renderer/components/+extensions/notice.tsx b/src/renderer/components/+extensions/notice.tsx index e4b844a0ae..511388a09b 100644 --- a/src/renderer/components/+extensions/notice.tsx +++ b/src/renderer/components/+extensions/notice.tsx @@ -21,12 +21,15 @@ import styles from "./notice.module.css"; import React, { DOMAttributes } from "react"; +import { cssNames } from "../../utils"; -interface Props extends DOMAttributes {} +interface Props extends DOMAttributes { + className?: string; +} export function Notice(props: Props) { return ( -

+
{props.children}
); diff --git a/src/renderer/components/+preferences/helm-charts.scss b/src/renderer/components/+preferences/helm-charts.module.css similarity index 75% rename from src/renderer/components/+preferences/helm-charts.scss rename to src/renderer/components/+preferences/helm-charts.module.css index 61d99c909a..287124cd41 100644 --- a/src/renderer/components/+preferences/helm-charts.scss +++ b/src/renderer/components/+preferences/helm-charts.module.css @@ -19,24 +19,15 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -.HelmCharts { - .repos { - margin-top: 20px; +.repos { + @apply mt-6 flex flex-col; +} - .repo { - background: var(--inputControlBackground); - border-radius: 4px; - padding: 12px 16px; - box-shadow: 0 0 0 1px var(--secondaryBackground); +.repoName { + font-weight: 500; + margin-bottom: 8px; +} - .repoName { - font-weight: 500; - margin-bottom: 8px; - } - - .repoUrl { - color: var(--textColorDimmed); - } - } - } +.repoUrl { + color: var(--textColorDimmed); } \ No newline at end of file diff --git a/src/renderer/components/+preferences/helm-charts.tsx b/src/renderer/components/+preferences/helm-charts.tsx index 94f95ccb40..d0dd47e464 100644 --- a/src/renderer/components/+preferences/helm-charts.tsx +++ b/src/renderer/components/+preferences/helm-charts.tsx @@ -19,7 +19,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -import "./helm-charts.scss"; +import styles from "./helm-charts.module.css"; import React from "react"; import { action, computed, observable, makeObservable } from "mobx"; @@ -31,6 +31,9 @@ import { Notifications } from "../notifications"; import { Select, SelectOption } from "../select"; import { AddHelmRepoDialog } from "./add-helm-repo-dialog"; import { observer } from "mobx-react"; +import { RemovableItem } from "./removable-item"; +import { Notice } from "../+extensions/notice"; +import { Spinner } from "../spinner"; @observer export class HelmCharts extends React.Component { @@ -117,9 +120,36 @@ export class HelmCharts extends React.Component { ); }; + renderRepositories() { + const repos = Array.from(this.addedRepos); + + if (this.loading) { + return
; + } + + if (!repos.length) { + return ( + +
The repositories have not been added yet
+
+ ); + } + + return repos.map(([name, repo]) => { + return ( + this.removeRepo(repo)} className="mt-3"> +
+
{name}
+
{repo.url}
+
+
+ ); + }); + } + render() { return ( -
+
{ />
-
- -
+
{
-
- -
+
{ + icon?: string; + onRemove: () => void; + className?: string; +} + +export function RemovableItem({icon, onRemove, children, className, ...rest}: Props) { + return ( +
+ {icon && ( + + )} + {children} + +
+ ); +} diff --git a/src/renderer/components/cluster-settings/components/cluster-kubeconfig.tsx b/src/renderer/components/cluster-settings/components/cluster-kubeconfig.tsx index 9c95c70c5d..583b44237a 100644 --- a/src/renderer/components/cluster-settings/components/cluster-kubeconfig.tsx +++ b/src/renderer/components/cluster-settings/components/cluster-kubeconfig.tsx @@ -43,7 +43,7 @@ export class ClusterKubeconfig extends React.Component { render() { return ( - + {this.props.cluster.kubeConfigPath} diff --git a/src/renderer/components/layout/setting-layout.scss b/src/renderer/components/layout/setting-layout.scss index 3e6bfd8726..7fd66d0d90 100644 --- a/src/renderer/components/layout/setting-layout.scss +++ b/src/renderer/components/layout/setting-layout.scss @@ -228,7 +228,7 @@ margin-top: 0; margin-bottom: 8px; padding-bottom: 0; - font-size: 12px; + font-size: 13px; line-height: 1; }