From b8203cdf73b770e586b23bb11b3e824c7f8b7eb5 Mon Sep 17 00:00:00 2001 From: Brian McGee Date: Fri, 22 Aug 2025 16:48:32 +0100 Subject: [PATCH] feat(ui): support removing a clan Also fixes: - close modal on escape key - handle class attribute in form components correctly --- .../ui/src/components/Form/Checkbox.tsx | 27 +++- .../clan-app/ui/src/components/Form/Field.tsx | 1 + .../ui/src/components/Form/HostFileInput.tsx | 38 +++-- .../clan-app/ui/src/components/Form/Label.tsx | 3 +- .../ui/src/components/Form/TextArea.tsx | 27 +++- .../ui/src/components/Form/TextInput.tsx | 30 +++- .../ui/src/components/Modal/Modal.tsx | 5 +- .../ClanSettingsModal.module.css | 17 +++ .../ClanSettingsModal/ClanSettingsModal.tsx | 132 +++++++++++------- .../ui/src/routes/Machine/SectionGeneral.tsx | 3 + pkgs/clan-cli/clan_lib/clan/get.py | 3 +- 11 files changed, 205 insertions(+), 81 deletions(-) diff --git a/pkgs/clan-app/ui/src/components/Form/Checkbox.tsx b/pkgs/clan-app/ui/src/components/Form/Checkbox.tsx index 8226a648c..6f30de3e8 100644 --- a/pkgs/clan-app/ui/src/components/Form/Checkbox.tsx +++ b/pkgs/clan-app/ui/src/components/Form/Checkbox.tsx @@ -24,6 +24,14 @@ export const Checkbox = (props: CheckboxProps) => { // we need to separate output the input otherwise it interferes with prop binding const [_, rootProps] = splitProps(props, ["input"]); + const [styleProps, otherRootProps] = splitProps(rootProps, [ + "class", + "size", + "orientation", + "inverted", + "ghost", + ]); + const alignment = () => (props.orientation || "vertical") == "vertical" ? "start" : "center"; @@ -47,14 +55,21 @@ export const Checkbox = (props: CheckboxProps) => { return ( {(state) => ( - +