/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 */ import React from "react"; import { useHistory } from "react-router-dom"; import { useForm } from "react-hook-form"; import { useSettings } from "../hooks"; import BackendService from "../services/BackendService"; import Button from "../components/Button"; import Breadcrumbs from "../components/Breadcrumbs"; import Spinner from "../components/Spinner"; import TextField from "../components/TextField"; import { useTranslation } from "react-i18next"; interface FormValues { trackingID: string; } function EditAnalytics() { const history = useHistory(); const { settings, reloadSettings, loadingSettings } = useSettings(true); const { register, handleSubmit, errors } = useForm(); const { t } = useTranslation(); if (settings.analyticsTrackingId === "NA") { settings.analyticsTrackingId = ""; } const onSubmit = async (values: FormValues) => { const trackingID = values.trackingID; await BackendService.updateSetting( "analyticsTrackingId", trackingID, settings.updatedAt ? settings.updatedAt : new Date(), ); await reloadSettings(); history.push("/admin/settings/publishedsite", { alert: { type: "success", message: t("SettingsAnalyticsEditSuccess"), }, }); }; const onClearAndSave = async () => { await BackendService.updateSetting( "analyticsTrackingId", "NA", settings.updatedAt ? settings.updatedAt : new Date(), ); await reloadSettings(); history.push("/admin/settings/publishedsite", { alert: { type: "success", message: t("SettingsAnalyticsEditSuccess"), }, }); }; const onCancel = () => { history.push("/admin/settings/publishedsite"); }; const crumbs = [ { label: t("Settings"), url: "/admin/settings", }, { label: t("SettingsPublishedSite"), url: "/admin/settings/publishedsite", }, { label: t("SettingsAnalyticsEdit"), }, ]; return (

{t("SettingsAnalyticsEdit")}

{t("SettingsAnalyticsDescription")}

{loadingSettings ? ( ) : ( <>
{ return !input || input.startsWith("UA"); }} error={errors.trackingID && t("SettingsAnalyticsEditError")} required />
)}
); } export default EditAnalytics;