From e6ab47f1eb63b81c499014293841ea35ea771658 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Wed, 1 Feb 2023 10:02:22 +0300 Subject: [PATCH] Styling subnamespace badge Signed-off-by: Alex Andreev --- .../namespace-tree-view.test.tsx.snap | 30 ++++++++++++------- .../+namespaces/namespace-tree-view.tsx | 14 +++------ .../subnamespace-badge.module.scss | 9 ++++++ .../+namespaces/subnamespace-badge.tsx | 24 +++++++++++++++ 4 files changed, 56 insertions(+), 21 deletions(-) create mode 100644 packages/core/src/renderer/components/+namespaces/subnamespace-badge.module.scss create mode 100644 packages/core/src/renderer/components/+namespaces/subnamespace-badge.tsx diff --git a/packages/core/src/renderer/components/+namespaces/__snapshots__/namespace-tree-view.test.tsx.snap b/packages/core/src/renderer/components/+namespaces/__snapshots__/namespace-tree-view.test.tsx.snap index 0539c0fe8b..67a8d75393 100644 --- a/packages/core/src/renderer/components/+namespaces/__snapshots__/namespace-tree-view.test.tsx.snap +++ b/packages/core/src/renderer/components/+namespaces/__snapshots__/namespace-tree-view.test.tsx.snap @@ -31,7 +31,7 @@ exports[` once the subscribe resolves renders 2 levels deep > once the subscribe resolves renders 2 levels deep > once the subscribe resolves renders 2 levels deep class="MuiTypography-root MuiTreeItem-label Component-label-18 MuiTypography-body1" > level-deep-child-a +
    once the subscribe resolves renders 2 levels deep > once the subscribe resolves renders 2 levels deep class="MuiTypography-root MuiTreeItem-label Component-label-18 MuiTypography-body1" > level-deep-child-b +
      once the subscribe resolves renders 2 levels deep > once the subscribe resolves renders 2 levels deep class="MuiTypography-root MuiTreeItem-label Component-label-18 MuiTypography-body1" > level-deep-subchild-a +
        once the subscribe resolves renders namespace wit > once the subscribe resolves renders namespace wit > once the subscribe resolves renders namespace wit class="MuiTypography-root MuiTreeItem-label Component-label-6 MuiTypography-body1" > team-a +
          once the subscribe resolves renders namespace wit > once the subscribe resolves renders namespace wit class="MuiTypography-root MuiTreeItem-label Component-label-6 MuiTypography-body1" > team-b +
            once the subscribe resolves renders namespace wit > once the subscribe resolves renders namespace wit > once the subscribe resolves renders namespace wit class="MuiTypography-root MuiTreeItem-label Component-label-9 MuiTypography-body1" > service-1 + S @@ -479,7 +486,7 @@ exports[` once the subscribe resolves renders namespace wit > once the subscribe resolves renders namespace wit class="MuiTypography-root MuiTreeItem-label Component-label-9 MuiTypography-body1" > team-c +
              once the subscribe resolves renders one namespace > S; - } - function renderChildren(parent: Namespace) { const children = hierarchicalNamespaces.filter(ns => ns.getLabels().find(label => label === `${parent.getName()}.tree.hnc.x-k8s.io/depth=1`) @@ -46,7 +39,8 @@ function NonInjectableNamespaceTreeView({ root, namespaceStore, getDetailsUrl }: {child.getName()} - {renderBadge(child)} + {" "} + )} > diff --git a/packages/core/src/renderer/components/+namespaces/subnamespace-badge.module.scss b/packages/core/src/renderer/components/+namespaces/subnamespace-badge.module.scss new file mode 100644 index 0000000000..3f6bfa52b1 --- /dev/null +++ b/packages/core/src/renderer/components/+namespaces/subnamespace-badge.module.scss @@ -0,0 +1,9 @@ +.subnamespaceBadge { + border-radius: 3px; + padding: 0px 6px; + background-color: var(--halfGray); + color: white; + display: inline-block; + font-size: 0.7rem; + font-weight: bold; +} \ No newline at end of file diff --git a/packages/core/src/renderer/components/+namespaces/subnamespace-badge.tsx b/packages/core/src/renderer/components/+namespaces/subnamespace-badge.tsx new file mode 100644 index 0000000000..a2eb0dc602 --- /dev/null +++ b/packages/core/src/renderer/components/+namespaces/subnamespace-badge.tsx @@ -0,0 +1,24 @@ +import styles from "./subnamespace-badge.module.scss"; + +import React from "react"; +import type { Namespace } from "../../../common/k8s-api/endpoints"; + +interface SubnamespaceBadgeProps extends React.HTMLAttributes { + namespace: Namespace; +} + +export function SubnamespaceBadge({ namespace, ...other }: SubnamespaceBadgeProps) { + if (!namespace.getAnnotations().find(annotation => annotation.includes("hnc.x-k8s.io/subnamespace-of"))) { + return null; + } + + return ( + + S + + ); +} \ No newline at end of file