From 435cae06a2f5472b228496b2cf37c5f9aa2d9579 Mon Sep 17 00:00:00 2001 From: Fred KISSIE Date: Tue, 17 Mar 2026 04:16:24 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resource-target-address-item.tsx | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/components/resource-target-address-item.tsx b/src/components/resource-target-address-item.tsx index 2e06c99a9..dfefc3bf2 100644 --- a/src/components/resource-target-address-item.tsx +++ b/src/components/resource-target-address-item.tsx @@ -9,7 +9,7 @@ import type { ArrayElement } from "@server/types/ArrayElement"; import { useQuery } from "@tanstack/react-query"; import { CheckIcon } from "lucide-react"; import { useTranslations } from "next-intl"; -import { useState } from "react"; +import { useMemo, useState } from "react"; import { ContainersSelector } from "./ContainersSelector"; import { Button } from "./ui/button"; import { @@ -82,6 +82,22 @@ export function ResourceTargetAddressItem({ return null; }); + const sitesShown = useMemo(() => { + const allSites: Array< + Pick + > = [...sites]; + if ( + selectedSite !== null && + !( + allSites.find((site) => site.siteId)?.siteId === + selectedSite?.siteId + ) + ) { + allSites.unshift(selectedSite); + } + return allSites; + }, [sites, selectedSite]); + const handleContainerSelectForTarget = ( hostname: string, port?: number @@ -137,12 +153,13 @@ export function ResourceTargetAddressItem({ setSiteSearchQuery(v)} /> {t("siteNotFound")} - {sites.map((site) => ( + {sitesShown.map((site) => (