/* * 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"; import UtilsService from "../services/UtilsService"; import Markdown from "../components/Markdown"; interface FormValues { title: string; contactEmail: string; contactUs: string; } function EditNavBar() { const history = useHistory(); const { settings, loadingSettings } = useSettings(); const { register, errors, handleSubmit } = useForm(); const { t } = useTranslation(); const onSubmit = async (values: FormValues) => { if (!settings.navbarTitle || settings.navbarTitle !== values.title) { await BackendService.updateSetting("navbarTitle", values.title, new Date()); } if (!settings.contactEmailAddress || settings.contactEmailAddress !== values.contactEmail) { await BackendService.updateSetting( "contactEmailAddress", values.contactEmail, new Date(), ); } if (!settings.contactUsContent || settings.contactUsContent !== values.contactUs) { await BackendService.updateSetting("contactUsContent", values.contactUs, new Date()); } history.push("/admin/settings/publishedsite", { alert: { type: "success", message: t("SettingsNavBarEditSuccess"), }, }); }; const onCancel = () => { history.push("/admin/settings/publishedsite"); }; const crumbs = [ { label: t("Settings"), url: "/admin/settings/topicarea", }, { label: t("SettingsPublishedSite"), url: "/admin/settings/publishedsite", }, { label: t("SettingsNavBarEdit"), }, ]; return (

{t("SettingsNavBarEdit")}

{t("SettingsNavBarEditDescription")}

{loadingSettings ? ( ) : ( <>

)}
); } export default EditNavBar;