import saleorDarkLogoSmall from "@assets/images/logo-dark-small.svg"; import plusIcon from "@assets/images/plus-icon.svg"; import { Content } from "@dashboard/components/AppLayout/Content"; import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import CardSpacer from "@dashboard/components/CardSpacer"; import CardTitle from "@dashboard/components/CardTitle"; import Hr from "@dashboard/components/Hr"; import Skeleton from "@dashboard/components/Skeleton"; import { AppFetchMutation, AppInstallMutation } from "@dashboard/graphql"; import { SubmitPromise } from "@dashboard/hooks/useForm"; import { buttonMessages } from "@dashboard/intl"; import { Card, CardContent, CircularProgress, Typography, } from "@material-ui/core"; import { Box, Button, GenericAppIcon } from "@saleor/macaw-ui/next"; import clsx from "clsx"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; import { useStyles } from "../../styles"; export interface AppInstallPageProps { data: NonNullable["manifest"]; loading: boolean; navigateToAppsList: () => void; onSubmit: () => SubmitPromise< NonNullable["errors"] >; } export const AppInstallPage: React.FC = ({ data, loading, navigateToAppsList, onSubmit, }) => { const intl = useIntl(); const classes = useStyles({}); const name = data?.name || ""; return ( ) : ( intl.formatMessage( { id: "Id7C0X", defaultMessage: `You are about to install {name}`, description: "section header", }, { name }, ) ) } /> {loading ? ( ) : (
)}
{!loading && ( )} {loading ? ( ) : ( <> {!!data?.permissions?.length && (
    {data?.permissions?.map(perm => (
  • {perm.name}
  • ))}
)}
{!!data?.dataPrivacyUrl && ( )} )}
); }; AppInstallPage.displayName = "AppInstallPage"; export default AppInstallPage;