import { NextPage } from "next"; import React, { useEffect } from "react"; import { NoProvidersConfigured } from "../../ui/no-providers-configured"; import { useRouter } from "next/router"; import { DatadogConfig } from "../../ui/datadog/datadog-config"; import { DatadogSite, useConfigQuery } from "../../../generated/graphql"; import { useAppBridge } from "@saleor/app-sdk/app-bridge"; import { DATADOG_SITES_LINKS } from "../../datadog-urls"; import { Box, Button, Text } from "@saleor/macaw-ui/next"; import { Breadcrumbs, TextLink } from "@saleor/apps-ui"; const useActiveProvider = () => { const router = useRouter(); const selectedProvider = router.query?.path && router.query.path[0]; return selectedProvider ?? null; }; const ConfigurationPage = () => { const [configuration, fetchConfiguration] = useConfigQuery(); const { appBridge } = useAppBridge(); const datadogCredentials = configuration.data?.integrations.datadog?.credentials; const datadogError = configuration.data?.integrations.datadog?.error; const { push } = useRouter(); useEffect(() => { fetchConfiguration(); }, [fetchConfiguration]); const selectedProvider = useActiveProvider(); if (configuration.fetching && !configuration.data) { return Loading...; } if (selectedProvider === "datadog") { return ; } if (!configuration.data?.integrations.datadog) { return ; } // when configured and everything is fine if (datadogCredentials && !datadogError) { const site = configuration.data?.integrations.datadog?.credentials.site ?? DatadogSite.Us1; return ( App configured Visit{" "} Datadog {" "} to access your logs ); } if (datadogError) { return ( Configuration Error {datadogError} ); } return null; }; export default ConfigurationPage;