Skip to content

Commit c7a50dd

Browse files
authored
fix: Fix issue where the Add System button is visible to read-only users (#1442)
移除按钮的hidden类并提前检查只读用户状态返回null
1 parent 00fbf5c commit c7a50dd

File tree

1 file changed

+24
-21
lines changed

1 file changed

+24
-21
lines changed

internal/site/src/components/add-system.tsx

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -36,28 +36,31 @@ import { AppleIcon, DockerIcon, FreeBsdIcon, TuxIcon, WindowsIcon } from "./ui/i
3636
import { InputCopy } from "./ui/input-copy"
3737

3838
export function AddSystemButton({ className }: { className?: string }) {
39-
const [open, setOpen] = useState(false)
40-
const opened = useRef(false)
41-
if (open) {
42-
opened.current = true
43-
}
39+
if (isReadOnlyUser()) {
40+
return null
41+
}
42+
const [open, setOpen] = useState(false)
43+
const opened = useRef(false)
44+
if (open) {
45+
opened.current = true
46+
}
4447

45-
return (
46-
<Dialog open={open} onOpenChange={setOpen}>
47-
<DialogTrigger asChild>
48-
<Button
49-
variant="outline"
50-
className={cn("flex gap-1 max-xs:h-[2.4rem]", className, isReadOnlyUser() && "hidden")}
51-
>
52-
<PlusIcon className="h-4 w-4 -ms-1" />
53-
<Trans>
54-
Add <span className="hidden sm:inline">System</span>
55-
</Trans>
56-
</Button>
57-
</DialogTrigger>
58-
{opened.current && <SystemDialog setOpen={setOpen} />}
59-
</Dialog>
60-
)
48+
return (
49+
<Dialog open={open} onOpenChange={setOpen}>
50+
<DialogTrigger asChild>
51+
<Button
52+
variant="outline"
53+
className={cn("flex gap-1 max-xs:h-[2.4rem]", className)}
54+
>
55+
<PlusIcon className="h-4 w-4 -ms-1" />
56+
<Trans>
57+
Add <span className="hidden sm:inline">System</span>
58+
</Trans>
59+
</Button>
60+
</DialogTrigger>
61+
{opened.current && <SystemDialog setOpen={setOpen} />}
62+
</Dialog>
63+
)
6164
}
6265

6366
/**

0 commit comments

Comments
 (0)