From 31633148ed842b519a58bcc353381e89f689775f Mon Sep 17 00:00:00 2001 From: Luke Heath Date: Mon, 23 Sep 2024 15:14:34 -0500 Subject: [PATCH] Fixed self-service checkbox appearing when iOS or iPadOS app is selected. (#22287) --- changes/21796-fix-vpp-self-service-checkbox | 1 + .../components/AppStoreVpp/AppStoreVpp.tsx | 40 +++++++++++++------ .../components/AppStoreVpp/helpers.tsx | 8 ++-- 3 files changed, 33 insertions(+), 16 deletions(-) create mode 100644 changes/21796-fix-vpp-self-service-checkbox diff --git a/changes/21796-fix-vpp-self-service-checkbox b/changes/21796-fix-vpp-self-service-checkbox new file mode 100644 index 0000000000..6ec7e46db9 --- /dev/null +++ b/changes/21796-fix-vpp-self-service-checkbox @@ -0,0 +1 @@ +- Fixed self-service checkbox appearing when iOS or iPadOS app is selected. diff --git a/frontend/pages/SoftwarePage/components/AppStoreVpp/AppStoreVpp.tsx b/frontend/pages/SoftwarePage/components/AppStoreVpp/AppStoreVpp.tsx index ffde9220a2..12664495fe 100644 --- a/frontend/pages/SoftwarePage/components/AppStoreVpp/AppStoreVpp.tsx +++ b/frontend/pages/SoftwarePage/components/AppStoreVpp/AppStoreVpp.tsx @@ -177,6 +177,9 @@ const AppStoreVpp = ({ const onSelectApp = (app: IVppApp) => { setIsSubmitDisabled(false); setSelectedApp(app); + if (app.platform === "ios" || app.platform === "ipados") { + setIsSelfService(false); + } }; const onAddSoftware = async () => { @@ -209,6 +212,27 @@ const AppStoreVpp = ({ onExit(); }; + const renderSelfServiceContent = (platform: string) => { + if (platform !== "ios" && platform !== "ipados") { + return ( + setIsSelfService(newVal)} + className={`${baseClass}__self-service-checkbox`} + tooltipContent={ + <> + End users can install from Fleet Desktop {">"}{" "} + Self-service. + + } + > + Self-service + + ); + } + return null; + }; + const renderContent = () => { if (isLoadingVppInfo || isLoadingVppApps) { return ; @@ -238,19 +262,9 @@ const AppStoreVpp = ({ apps, head to{" "} - setIsSelfService(newVal)} - className={`${baseClass}__self-service-checkbox`} - tooltipContent={ - <> - End users can install from Fleet Desktop {">"}{" "} - Self-service. - - } - > - Self-service - + {renderSelfServiceContent( + (selectedApp && selectedApp.platform) || "" + )} ); } diff --git a/frontend/pages/SoftwarePage/components/AppStoreVpp/helpers.tsx b/frontend/pages/SoftwarePage/components/AppStoreVpp/helpers.tsx index 76c131769f..8d8c5a171d 100644 --- a/frontend/pages/SoftwarePage/components/AppStoreVpp/helpers.tsx +++ b/frontend/pages/SoftwarePage/components/AppStoreVpp/helpers.tsx @@ -35,13 +35,15 @@ const generateAlreadyAvailableMessage = (msg: string) => { // eslint-disable-next-line import/prefer-default-export export const getErrorMessage = (e: unknown) => { - const reason = getErrorReason(e); - + let reason = getErrorReason(e); // software is already available for install if (reason.toLowerCase().includes("already")) { return generateAlreadyAvailableMessage(reason); } - return DEFAULT_ERROR_MESSAGE; + if (reason && !reason.endsWith(".")) { + reason += "."; + } + return reason || DEFAULT_ERROR_MESSAGE; }; export const getUniqueAppId = (app: IVppApp) =>