From 871f024243fdf28d3ddeb5ca0c659062e8d88c40 Mon Sep 17 00:00:00 2001 From: Wojciech Bandzerewicz <57405495+thewbuk@users.noreply.github.com> Date: Tue, 5 Nov 2024 14:59:54 +0000 Subject: [PATCH 1/2] disable clone --- .../toolkit/src/view/catalog/components/CloneCatalogDialog.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/toolkit/src/view/catalog/components/CloneCatalogDialog.tsx b/packages/toolkit/src/view/catalog/components/CloneCatalogDialog.tsx index c6d7c3f045..a9e9451166 100644 --- a/packages/toolkit/src/view/catalog/components/CloneCatalogDialog.tsx +++ b/packages/toolkit/src/view/catalog/components/CloneCatalogDialog.tsx @@ -350,7 +350,7 @@ export const CloneCatalogDialog = ({ variant="primary" type="submit" className="text-semantic-fg-on-default" - disabled={!formState.isValid || isSubmitting} + disabled={!formState.isValid || isSubmitting || showLimitNotification} > {isSubmitting ? ( From 9110d32d8b5c295e71910e9db68448f3dfc768ef Mon Sep 17 00:00:00 2001 From: Wojciech Bandzerewicz <57405495+thewbuk@users.noreply.github.com> Date: Tue, 5 Nov 2024 15:12:03 +0000 Subject: [PATCH 2/2] disable clone when full --- .../view/catalog/components/CloneCatalogDialog.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/toolkit/src/view/catalog/components/CloneCatalogDialog.tsx b/packages/toolkit/src/view/catalog/components/CloneCatalogDialog.tsx index a9e9451166..7d57c73c1a 100644 --- a/packages/toolkit/src/view/catalog/components/CloneCatalogDialog.tsx +++ b/packages/toolkit/src/view/catalog/components/CloneCatalogDialog.tsx @@ -80,6 +80,8 @@ export const CloneCatalogDialog = ({ const [showLimitNotification, setShowLimitNotification] = React.useState(false); const [hasNamespaceChanged, setHasNamespaceChanged] = React.useState(false); + const [isCatalogLimitReached, setIsCatalogLimitReached] = + React.useState(false); const { accessToken, @@ -160,12 +162,17 @@ export const CloneCatalogDialog = ({ }); setShowLimitNotification(false); setHasNamespaceChanged(false); + setIsCatalogLimitReached(false); } }, [isOpen, initialValues, navigationNamespaceAnchor, reset]); React.useEffect(() => { if (hasNamespaceChanged && catalogs.data && catalogLimit) { - setShowLimitNotification(catalogs.data.length >= catalogLimit); + const limitReached = catalogs.data.length >= catalogLimit; + setIsCatalogLimitReached(limitReached); + if (limitReached) { + setShowLimitNotification(true); + } } }, [catalogs.data, catalogLimit, hasNamespaceChanged]); @@ -350,7 +357,9 @@ export const CloneCatalogDialog = ({ variant="primary" type="submit" className="text-semantic-fg-on-default" - disabled={!formState.isValid || isSubmitting || showLimitNotification} + disabled={ + !formState.isValid || isSubmitting || isCatalogLimitReached + } > {isSubmitting ? (