mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix: avoid showing "multiple tags" for simple tag sets on provisioners page (#14804)
This commit is contained in:
@@ -22,7 +22,6 @@ import {
|
||||
} from "components/Popover/Popover";
|
||||
import { Stack } from "components/Stack/Stack";
|
||||
import { StatusIndicator } from "components/StatusIndicator/StatusIndicator";
|
||||
import isEqual from "lodash/isEqual";
|
||||
import { type FC, useState } from "react";
|
||||
import { createDayString } from "utils/createDayString";
|
||||
import { docs } from "utils/docs";
|
||||
@@ -38,6 +37,15 @@ interface ProvisionerGroupProps {
|
||||
readonly provisioners: readonly ProvisionerDaemon[];
|
||||
}
|
||||
|
||||
function isSimpleTagSet(tags: Record<string, string>) {
|
||||
const numberOfExtraTags = Object.keys(tags).filter(
|
||||
(key) => key !== "scope" && key !== "owner",
|
||||
).length;
|
||||
return (
|
||||
numberOfExtraTags === 0 && tags.scope === "organization" && !tags.owner
|
||||
);
|
||||
}
|
||||
|
||||
export const ProvisionerGroup: FC<ProvisionerGroupProps> = ({
|
||||
buildInfo,
|
||||
keyName,
|
||||
@@ -95,8 +103,7 @@ export const ProvisionerGroup: FC<ProvisionerGroupProps> = ({
|
||||
: `${provisionersWithWarnings} provisioners`;
|
||||
|
||||
const hasMultipleTagVariants =
|
||||
type === "psk" &&
|
||||
provisioners.some((it) => !isEqual(it.tags, { scope: "organization" }));
|
||||
type === "psk" && provisioners.some((it) => !isSimpleTagSet(it.tags));
|
||||
|
||||
return (
|
||||
<div
|
||||
|
||||
@@ -44,7 +44,10 @@ export const Provisioners: Story = {
|
||||
},
|
||||
{
|
||||
key: { ...MockProvisionerKey, id: "ジェイデン", name: "ジェイデン" },
|
||||
daemons: [MockProvisioner, MockProvisioner2],
|
||||
daemons: [
|
||||
MockProvisioner,
|
||||
{ ...MockProvisioner2, tags: { scope: "organization", owner: "" } },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: { ...MockProvisionerKey, id: "ベン", name: "ベン" },
|
||||
|
||||
Reference in New Issue
Block a user