{"version":3,"file":"static/js/9066.b3f0cfb1.chunk.js","mappings":"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","sources":["ao/components/DownloadApp/helperComponents/NewerVersionBanner.tsx","ao/components/DownloadApp/DownloadApp.tsx","ao/components/DownloadApp/DownloadSearch.tsx","ao/components/DownloadApp/Download.tsx"],"sourcesContent":["/**\r\n * @copyright Copyright 2024 Epic Systems Corporation\r\n * @file banner for old app versions\r\n * @module Epic.AppOrchard.DownloadApp.NewerVersionBanner\r\n */\r\n\r\nimport { Alert, AlertDescription, AlertIcon, AlertTitle, Box } from \"@chakra-ui/react\";\r\nimport { AOLink } from \"ao/components/Core\";\r\nimport { useSiteInfoState } from \"ao/state/siteInfo\";\r\nimport { IShowroomAppDownloadModel } from \"ao/types/showroom\";\r\nimport React, { FunctionComponent, memo } from \"react\";\r\n\r\ninterface IProps {\r\n\tappDetails: IShowroomAppDownloadModel;\r\n}\r\n\r\nexport const NewerVersionBanner: FunctionComponent = memo((props) => {\r\n\tconst { appDetails } = props;\r\n\r\n\tconst appVersions = appDetails.appVersions;\r\n\tconst newestVersion = appVersions[appVersions.length - 1];\r\n\r\n\tconst { siteInfo } = useSiteInfoState((selectors) => selectors.getState(), []);\r\n\r\n\tif (appDetails.appModel.id >= newestVersion.id) {\r\n\t\treturn null;\r\n\t} else {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tNew Version Available\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tThis is an older version of the app. Click here to view the newest version.\r\n\t\t\t\t\t\t\tContact the app's developer or use the app website URL to learn more.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n});\r\n","/**\r\n * @copyright Copyright 2024-2025 Epic Systems Corporation\r\n * @file Page for non-Showroom apps\r\n * @module Epic.AppOrchard.DownloadApp\r\n */\r\n\r\nimport {\r\n\tAbsoluteCenter,\r\n\tBox,\r\n\tCenter,\r\n\tHeading,\r\n\tHStack,\r\n\tStack,\r\n\tStackDivider,\r\n\tText,\r\n\tuseBreakpointValue,\r\n\tVStack,\r\n} from \"@chakra-ui/react\";\r\nimport { ISuccessHandler, useAsync } from \"@epic/react-async-hook\";\r\nimport { showroomBorder, showroomGray, showroomText } from \"ao/chakraTheme\";\r\nimport { BodyContent } from \"ao/components/Frame/BodyContainer\";\r\nimport {\r\n\tActionButtonsSection,\r\n\tAppBannerSection,\r\n\tAppHeaderDetails,\r\n\tAppInsightMetricsSection,\r\n\tDownloadStatusSection,\r\n\tShowroomAboutThisAppSection,\r\n} from \"ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppSections\";\r\nimport { ScreenshotViewer } from \"ao/components/Showroom/frameworkComponents/GeneralComponents/ScreenshotViewer\";\r\nimport { ShowroomContactButton } from \"ao/components/Showroom/frameworkComponents/GeneralComponents/ShowroomContactButton\";\r\nimport { ShowroomErrorAlert } from \"ao/components/Showroom/frameworkComponents/GeneralComponents/ShowroomErrorAlert\";\r\nimport { Thumbnail } from \"ao/components/Showroom/frameworkComponents/GeneralComponents/Thumbnail\";\r\nimport { WebsiteButton } from \"ao/components/Showroom/frameworkComponents/GeneralComponents/WebsiteButton\";\r\nimport { useSiteInfoState } from \"ao/state/siteInfo\";\r\nimport { ITopLevelComponentProps } from \"ao/types\";\r\nimport { IShowroomAppDownloadModel } from \"ao/types/showroom\";\r\nimport { getIntFromSearchParam, isLocalhost } from \"ao/utils/helpers\";\r\nimport React, { FunctionComponent, memo, useCallback, useEffect, useState } from \"react\";\r\nimport { useNavigate, useSearchParams } from \"react-router-dom\";\r\nimport { getShowroomAppAdminUrl } from \"routes/showroomListingAdmin\";\r\nimport { AsyncPlaceholder, MainContentSpinner, ReturnLink, StatusAlert } from \"../Core\";\r\nimport { getDetails } from \"./data/data\";\r\nimport { NewerVersionBanner } from \"./helperComponents/NewerVersionBanner\";\r\nimport { AppLinksSection } from \"./subsections/AppLinksSection\";\r\n\r\nconst DownloadApp: FunctionComponent = memo((props) => {\r\n\tconst { userSecurity } = props;\r\n\r\n\tconst [searchParams] = useSearchParams();\r\n\tconst id = getIntFromSearchParam(searchParams, \"id\");\r\n\r\n\tconst showroomRedirectMessagePrefix = \"SHOWROOM_REDIRECT_\";\r\n\tconst navigate = useNavigate();\r\n\tconst { siteInfo } = useSiteInfoState((selectors) => selectors.getState(), []);\r\n\r\n\tconst [loaded, setLoaded] = useState(false);\r\n\tconst [loadError, setLoadError] = useState(\"\");\r\n\r\n\tconst [appDetails, setAppDetails] = useState();\r\n\tconst appModel = appDetails?.appModel;\r\n\r\n\tconst handleAppLoaded = useCallback>(\r\n\t\t(response) => {\r\n\t\t\tif (response.success) {\r\n\t\t\t\tsetLoaded(true);\r\n\t\t\t\tsetLoadError(\"\");\r\n\t\t\t\tsetAppDetails(response.model);\r\n\t\t\t} else {\r\n\t\t\t\tif (response.message.indexOf(showroomRedirectMessagePrefix) === 0) {\r\n\t\t\t\t\tconst appId = response.message.split(showroomRedirectMessagePrefix)[1];\r\n\r\n\t\t\t\t\tif (isLocalhost() || siteInfo.isAdminSite) {\r\n\t\t\t\t\t\tnavigate(getShowroomAppAdminUrl(appId), { replace: true });\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\twindow.location.href = `${siteInfo.showroomUrl}listing?appId=${appId}`;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tsetLoadError(response.message);\r\n\t\t\t}\r\n\t\t},\r\n\t\t[navigate, siteInfo.isAdminSite, siteInfo.showroomUrl],\r\n\t);\r\n\r\n\tconst [LoadingPlaceholder, getAppData] = useAsync(getDetails, AsyncPlaceholder, {\r\n\t\tdisplayName: \"getAppDetails\",\r\n\t\tonSuccess: handleAppLoaded,\r\n\t\tonFailure: () => setLoadError(\"App could not be loaded\"),\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tgetAppData(id);\r\n\t}, [getAppData, id]);\r\n\r\n\tconst textColor = \"black\";\r\n\tconst isMobile = useBreakpointValue({ base: true, lg: false }) || false;\r\n\r\n\tconst canPurchase = userSecurity.isEpicCustomer && userSecurity.canPurchase;\r\n\tconst isAppFromOwnOrg = appModel && userSecurity.userOrganizationId === appModel.organizationId;\r\n\tconst canContact = canPurchase && !isAppFromOwnOrg && !appDetails?.isDownloaded;\r\n\r\n\tconst subLogoText = appModel ? (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{appModel.name + \" \"}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tby {appModel.orgName}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{appModel.version && (\r\n\t\t\t\t\r\n\t\t\t\t\tVersion {appModel.version}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t) : (\r\n\t\t<>\r\n\t);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{!userSecurity.isVendorUser && userSecurity.userOrganizationId !== null && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\r\n\t\t\t{userSecurity.userOrganizationId === null ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tWe couldn't find that listing.\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tIf you are an Epic community member looking to download an app that is not listed yet,\r\n\t\t\t\t\t\tlog in to continue.\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t} forFullPage>\r\n\t\t\t\t\t{loaded && appDetails && appModel && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{userSecurity.isEpicCustomer && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{(userSecurity.isEpicUser || isAppFromOwnOrg) &&\r\n\t\t\t\t\t\t\t\tappDetails.hasDownloadCustomerAllowlist && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"This app has an allowlist of Epic customers who can download it. Epic customers not on the allowlist cannot download the app.\"\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t{(appModel.website || canContact) && (\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tspacing=\"none\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tborderTop={showroomBorder}\r\n\t\t\t\t\t\t\t\t\t\t\t\tminH=\"10px\"\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{appModel.website && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{canContact && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{isMobile && {subLogoText}}\r\n\r\n\t\t\t\t\t\t\t\t getAppData(id)}\r\n\t\t\t\t\t\t\t\t\ttextColor={textColor}\r\n\t\t\t\t\t\t\t\t\tsubLogoElements={subLogoText}\r\n\t\t\t\t\t\t\t\t\tonlyThumbnail={false}\r\n\t\t\t\t\t\t\t\t\tisShowroom={false}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{userSecurity.isEpicCustomer && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t getAppData(id)}\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t{appModel.summary && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{appModel.summary}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{appModel.description && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{appModel.description}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t{appDetails.disclaimer && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{appDetails.isDownloaded && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{loadError && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n});\r\n\r\nexport default DownloadApp;\r\n\r\nconst cardButtonProps = {\r\n\tfontSize: \"1.1rem\",\r\n\twidth: \"100%\",\r\n\theight: \"40px\",\r\n\tborderRadius: \"none\",\r\n};\r\n","/**\r\n * @copyright Copyright 2024-2025 Epic Systems Corporation\r\n * @file Page for the to search for downloads by client ID\r\n * @module Epic.AppOrchard.DownloadSearch\r\n */\r\n\r\nimport { Flex, Heading, Text, VStack } from \"@chakra-ui/react\";\r\nimport { useAsync } from \"@epic/react-async-hook\";\r\nimport { useSiteInfoState } from \"ao/state/siteInfo\";\r\nimport { ITopLevelComponentProps } from \"ao/types\";\r\nimport { BackLinkType } from \"ao/types/showroom\";\r\nimport { isLocalhost } from \"ao/utils/helpers\";\r\nimport React, { FunctionComponent, memo, useCallback, useState } from \"react\";\r\nimport { BsFillQuestionCircleFill } from \"react-icons/bs\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { getDownloadAppUrl } from \"routes/downloadApp\";\r\nimport { getShowroomAppAdminUrl } from \"routes/showroomListingAdmin\";\r\nimport { IGenericAPIResponse } from \"../../data\";\r\nimport { isInFlight } from \"../../utils/useAsyncHelpers\";\r\nimport { AOLink, AOTooltip, SearchInput, StatusAlert } from \"../Core\";\r\nimport { BodyContent } from \"../Frame\";\r\nimport { findAppWithClientId } from \"./data/data\";\r\n\r\nconst DownloadSearch: FunctionComponent = memo((props) => {\r\n\tconst { userSecurity } = props;\r\n\tconst [localSearch, setLocalSearch] = useState(\"\");\r\n\tconst [loadError, setLoadError] = useState(\"\");\r\n\r\n\tconst navigate = useNavigate();\r\n\tconst { siteInfo } = useSiteInfoState((selectors) => selectors.getState(), []);\r\n\r\n\tconst showroomRedirectMessagePrefix = \"SHOWROOM_REDIRECT_\";\r\n\r\n\tconst handleSuccess = useCallback(\r\n\t\t(response: IGenericAPIResponse): void => {\r\n\t\t\tif (response.success) {\r\n\t\t\t\tconst returnParams = `&returnTitle=${BackLinkType.ToDownload}`;\r\n\r\n\t\t\t\tif (response.message.indexOf(showroomRedirectMessagePrefix) === 0) {\r\n\t\t\t\t\tconst appId = response.message.split(showroomRedirectMessagePrefix)[1];\r\n\r\n\t\t\t\t\tif (isLocalhost() || siteInfo.isAdminSite) {\r\n\t\t\t\t\t\tnavigate(`${getShowroomAppAdminUrl(appId)}${returnParams}`, { replace: true });\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\twindow.location.href = `${siteInfo.showroomUrl}listing?appId=${appId}${returnParams}`;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnavigate(`${getDownloadAppUrl(response.message)}${returnParams}`);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tsetLoadError(response.message);\r\n\t\t\t}\r\n\t\t},\r\n\t\t[navigate],\r\n\t);\r\n\r\n\tconst [searchingState, findApp] = useAsync(findAppWithClientId, {\r\n\t\tdisplayName: \"findApp\",\r\n\t\tonSuccess: handleSuccess,\r\n\t\tonFailure: () => setLoadError(\"An error occurred. Please try again later.\"),\r\n\t});\r\n\r\n\tconst handleEnterKeyPress = useCallback(\r\n\t\t(e: React.KeyboardEvent): void => {\r\n\t\t\tif (e.key === \"Enter\" && localSearch) {\r\n\t\t\t\tfindApp(encodeURIComponent(localSearch));\r\n\t\t\t}\r\n\t\t},\r\n\t\t[findApp, localSearch],\r\n\t);\r\n\r\n\tconst isSearching = isInFlight(searchingState);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tFind a product by client ID\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t setLocalSearch(e)}\r\n\t\t\t\t\t\tinputProps={{\r\n\t\t\t\t\t\t\tonKeyUp: handleEnterKeyPress,\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tshowSearchButton\r\n\t\t\t\t\t\tfullyDisabled={isSearching}\r\n\t\t\t\t\t\tonSearchClicked={() => findApp(encodeURIComponent(localSearch))}\r\n\t\t\t\t\t\tonClearClicked={() => setLocalSearch(\"\")}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tThe developer provides all the information about their products and is responsible for the\r\n\t\t\t\t\tsafety and performance of their software.\r\n\t\t\t\t\r\n\t\t\t\t{loadError && }\r\n\r\n\t\t\t\t{!userSecurity.isEpicUser && !userSecurity.isVendorUser && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tSee Picked Apps for a full list of apps your\r\n\t\t\t\t\t\torganization has requested or downloaded. You may need to log in again to access this\r\n\t\t\t\t\t\tpage.\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\n\r\nexport default DownloadSearch;\r\n","/**\r\n * @copyright Copyright 2024-2024 Epic Systems Corporation\r\n * @file Base download component\r\n * @module Epic.AppOrchard.Download\r\n */\r\n\r\nimport { ITopLevelComponentProps } from \"ao/types\";\r\nimport { getIntFromSearchParam } from \"ao/utils/helpers\";\r\nimport React, { FunctionComponent, memo } from \"react\";\r\nimport { useSearchParams } from \"react-router-dom\";\r\nimport DownloadApp from \"./DownloadApp\";\r\nimport DownloadSearch from \"./DownloadSearch\";\r\n\r\nconst Download: FunctionComponent = memo((props) => {\r\n\tconst { userSecurity } = props;\r\n\r\n\tconst [searchParams] = useSearchParams();\r\n\tconst id = getIntFromSearchParam(searchParams, \"id\");\r\n\r\n\treturn id > 0 ? (\r\n\t\t\r\n\t) : (\r\n\t\t\r\n\t);\r\n});\r\n\r\nexport default Download;\r\n"],"names":["NewerVersionBanner","memo","props","appDetails","appVersions","newestVersion","length","siteInfo","useSiteInfoState","selectors","getState","appModel","id","_jsxs","Alert","status","variant","children","_jsx","AlertIcon","Box","AlertTitle","AlertDescription","AOLink","color","url","isInShowroom","concat","showroomUrl","_appDetails$thumbnail","_appDetails$thumbnail2","_appDetails$screensho","userSecurity","searchParams","useSearchParams","getIntFromSearchParam","showroomRedirectMessagePrefix","navigate","useNavigate","loaded","setLoaded","useState","loadError","setLoadError","setAppDetails","handleAppLoaded","useCallback","response","success","model","message","indexOf","appId","split","isLocalhost","isAdminSite","getShowroomAppAdminUrl","replace","window","location","href","LoadingPlaceholder","getAppData","useAsync","getDetails","AsyncPlaceholder","displayName","onSuccess","onFailure","useEffect","textColor","isMobile","useBreakpointValue","base","lg","canPurchase","isEpicCustomer","isAppFromOwnOrg","userOrganizationId","organizationId","canContact","isDownloaded","subLogoText","_Fragment","Heading","as","fontWeight","fontSize","textAlign","undefined","name","Text","display","whiteSpace","fontStyle","showroomText","orgName","version","BodyContent","py","isVendorUser","ReturnLink","defaultUrl","defaultText","pt","inProgressIndicator","MainContentSpinner","fullPage","forFullPage","AppBannerSection","isShowroom","isEpicUser","hasDownloadCustomerAllowlist","StatusAlert","mb","downloadCustomerAllowlistDisclaimer","dangerouslySetInnerHTML","__html","Stack","direction","spacing","align","minW","sm","minH","border","showroomBorder","borderRadius","background","overflow","website","pos","m","maxW","maxH","Center","aspectRatio","style","p","borderTopRadius","Thumbnail","showBackground","src","thumbnail","imageData","listingId","height","objectFit","alt","HStack","divider","StackDivider","borderColor","showroomGray","borderTop","WebsiteButton","appUrl","iconColor","buttonProps","cardButtonProps","ShowroomContactButton","appName","AppHeaderDetails","reload","subLogoElements","onlyThumbnail","VStack","my","DownloadStatusSection","headerColor","ActionButtonsSection","buttonBackgroundColor","buttonBorderColor","summary","w","description","disclaimer","AppInsightMetricsSection","listing","ScreenshotViewer","screenshots","AppLinksSection","ShowroomAboutThisAppSection","AbsoluteCenter","ShowroomErrorAlert","errorMessage","width","localSearch","setLocalSearch","handleSuccess","returnParams","BackLinkType","ToDownload","getDownloadAppUrl","searchingState","findApp","findAppWithClientId","handleEnterKeyPress","e","key","encodeURIComponent","isSearching","isInFlight","alignItems","Flex","md","SearchInput","placeholder","onChangeCallback","inputProps","onKeyUp","showSearchButton","fullyDisabled","onSearchClicked","onClearClicked","AOTooltip","helptext","boxProps","ml","mt","BsFillQuestionCircleFill","DownloadApp","DownloadSearch"],"sourceRoot":""}