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 ? (