From ce58e71c440f40a8ea26d6d4d7546c19f16b658a Mon Sep 17 00:00:00 2001 From: Fred KISSIE Date: Fri, 20 Mar 2026 03:59:10 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20make=20machine=20selector?= =?UTF-8?q?=20a=20multi-combobox?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- messages/en-US.json | 5 + src/components/CreateShareLinkForm.tsx | 59 ---------- src/components/InternalResourceForm.tsx | 140 ++++++++++++++---------- src/components/MachineClientsTable.tsx | 2 +- src/components/UserDevicesTable.tsx | 2 +- src/components/machine-selector.tsx | 108 ++++++++++++++++++ src/components/resource-selector.tsx | 19 +++- src/lib/queries.ts | 16 ++- 8 files changed, 231 insertions(+), 120 deletions(-) create mode 100644 src/components/machine-selector.tsx diff --git a/messages/en-US.json b/messages/en-US.json index 3d5352293..06be10e65 100644 --- a/messages/en-US.json +++ b/messages/en-US.json @@ -148,6 +148,11 @@ "createLink": "Create Link", "resourcesNotFound": "No resources found", "resourceSearch": "Search resources", + "machineSearch": "Search machines", + "machinesSearch": "Search machine clients...", + "machineNotFound": "No machines found", + "userDeviceSearch": "Search user devices", + "userDevicesSearch": "Search user devices...", "openMenu": "Open menu", "resource": "Resource", "title": "Title", diff --git a/src/components/CreateShareLinkForm.tsx b/src/components/CreateShareLinkForm.tsx index fef1fb0e1..d0e26a1c2 100644 --- a/src/components/CreateShareLinkForm.tsx +++ b/src/components/CreateShareLinkForm.tsx @@ -217,11 +217,6 @@ export default function CreateShareLinkForm({ setLoading(false); } - // function getSelectedResourceName(id: number) { - // const resource = resources.find((r) => r.resourceId === id); - // return `${resource?.name}`; - // } - return ( <> - {/* - - - - {t( - "resourcesNotFound" - )} - - - {resources.map( - ( - r - ) => ( - { - form.setValue( - "resourceId", - r.resourceId - ); - form.setValue( - "resourceName", - r.name - ); - form.setValue( - "resourceUrl", - r.resourceUrl - ); - }} - > - - {`${r.name}`} - - ) - )} - - - */} - ; @@ -252,7 +261,7 @@ export function InternalResourceForm({ const rolesQuery = useQuery(orgQueries.roles({ orgId })); const usersQuery = useQuery(orgQueries.users({ orgId })); - const clientsQuery = useQuery(orgQueries.clients({ orgId })); + const clientsQuery = useQuery(orgQueries.machineClients({ orgId })); const resourceRolesQuery = useQuery({ ...resourceQueries.siteResourceRoles({ siteResourceId: siteResourceId ?? 0 @@ -310,12 +319,9 @@ export function InternalResourceForm({ })); } if (clientsData) { - existingClients = ( - clientsData as { clientId: number; name: string }[] - ).map((c) => ({ - id: c.clientId.toString(), - text: c.name - })); + existingClients = [ + ...(clientsData as { clientId: number; name: string }[]) + ]; } } @@ -592,8 +598,7 @@ export function InternalResourceForm({ -
+
-
+