diff --git a/apps/webservice/src/app/[workspaceSlug]/(app)/_components/release-channel-drawer/ReleaseChannelDropdown.tsx b/apps/webservice/src/app/[workspaceSlug]/(app)/_components/release-channel-drawer/ReleaseChannelDropdown.tsx index ef97f606c..2bcd06a3d 100644 --- a/apps/webservice/src/app/[workspaceSlug]/(app)/_components/release-channel-drawer/ReleaseChannelDropdown.tsx +++ b/apps/webservice/src/app/[workspaceSlug]/(app)/_components/release-channel-drawer/ReleaseChannelDropdown.tsx @@ -38,7 +38,7 @@ const DeleteReleaseChannelDialog: React.FC = ({ }) => { const [open, setOpen] = useState(false); const { removeReleaseChannelId } = useReleaseChannelDrawer(); - const { removeReleaseChannel } = useReleaseFilter(); + const { setFilter } = useReleaseFilter(); const router = useRouter(); const deleteReleaseChannel = api.deployment.releaseChannel.delete.useMutation(); @@ -46,7 +46,7 @@ const DeleteReleaseChannelDialog: React.FC = ({ deleteReleaseChannel .mutateAsync(releaseChannelId) .then(() => removeReleaseChannelId()) - .then(() => removeReleaseChannel()) + .then(() => setFilter(undefined, null)) .then(() => router.refresh()) .then(() => setOpen(false)); diff --git a/apps/webservice/src/app/[workspaceSlug]/(app)/_components/release-condition/ReleaseConditionDialog.tsx b/apps/webservice/src/app/[workspaceSlug]/(app)/_components/release-condition/ReleaseConditionDialog.tsx index 7aee7eef7..ba0e358c4 100644 --- a/apps/webservice/src/app/[workspaceSlug]/(app)/_components/release-condition/ReleaseConditionDialog.tsx +++ b/apps/webservice/src/app/[workspaceSlug]/(app)/_components/release-condition/ReleaseConditionDialog.tsx @@ -38,7 +38,10 @@ import { useReleaseFilter } from "./useReleaseFilter"; type ReleaseConditionDialogProps = { condition?: ReleaseCondition; deploymentId?: string; - onChange: (condition: ReleaseCondition | undefined) => void; + onChange: ( + condition: ReleaseCondition | undefined, + releaseChannelId?: string | null, + ) => void; releaseChannels?: SCHEMA.ReleaseChannel[]; children: React.ReactNode; }; @@ -52,8 +55,7 @@ export const ReleaseConditionDialog: React.FC = ({ }) => { const [open, setOpen] = useState(false); const [error, setError] = useState(null); - const { releaseChannelId, setReleaseChannel, removeReleaseChannel } = - useReleaseFilter(); + const { setFilter, releaseChannelId } = useReleaseFilter(); const [localReleaseChannelId, setLocalReleaseChannelId] = useState< string | undefined @@ -79,14 +81,14 @@ export const ReleaseConditionDialog: React.FC = ({ > 0 ? "release-channels" : "new-filter" + releaseChannelId != null ? "release-channels" : "new-filter" } className="space-y-4" onValueChange={(value) => { - if (value === "new-filter") { - setLocalCondition(defaultCondition); - setLocalReleaseChannelId(undefined); - } + if (value === "new-filter") + setLocalCondition(localCondition ?? defaultCondition); + if (value === "release-channels") + setLocalReleaseChannelId(releaseChannelId); }} > {releaseChannels.length > 0 && ( @@ -138,7 +140,10 @@ export const ReleaseConditionDialog: React.FC = ({ (rc) => rc.id === localReleaseChannelId, ); if (releaseChannel == null) return; - setReleaseChannel(releaseChannel); + setFilter( + releaseChannel.releaseFilter ?? undefined, + localReleaseChannelId, + ); setOpen(false); setError(null); }} @@ -175,7 +180,6 @@ export const ReleaseConditionDialog: React.FC = ({
- {filter != null && releaseChannel != null && ( + {releaseChannel != null && (
{releaseChannel.name}