import Typography from "@material-ui/core/Typography"; import React from "react"; import AppHeader from "@saleor/components/AppHeader"; import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton"; import Container from "@saleor/components/Container"; import Form from "@saleor/components/Form"; import Grid from "@saleor/components/Grid"; import PageHeader from "@saleor/components/PageHeader"; import SaveButtonBar from "@saleor/components/SaveButtonBar"; import i18n from "../../../i18n"; import { maybe } from "../../../misc"; import { AuthorizationKeyType } from "../../../types/globalTypes"; import { SiteSettings_shop } from "../../types/SiteSettings"; import SiteSettingsDetails from "../SiteSettingsDetails/SiteSettingsDetails"; import SiteSettingsKeys from "../SiteSettingsKeys/SiteSettingsKeys"; export interface SiteSettingsPageFormData { description: string; domain: string; name: string; } export interface SiteSettingsPageProps { disabled: boolean; errors: Array<{ field: string; message: string; }>; shop: SiteSettings_shop; saveButtonBarState: ConfirmButtonTransitionState; onBack: () => void; onKeyAdd: () => void; onKeyRemove: (keyType: AuthorizationKeyType) => void; onSubmit: (data: SiteSettingsPageFormData) => void; } const SiteSettingsPage: React.StatelessComponent = ({ disabled, errors, saveButtonBarState, shop, onBack, onKeyAdd, onKeyRemove, onSubmit }) => { const initialForm: SiteSettingsPageFormData = { description: maybe(() => shop.description, ""), domain: maybe(() => shop.domain.host, ""), name: maybe(() => shop.name, "") }; return (
{({ change, data, errors: formErrors, hasChanged, submit }) => ( {i18n.t("Configuration")} {i18n.t("Site Settings")} {i18n.t("Authentication keys")} shop.authorizationKeys)} onAdd={onKeyAdd} onRemove={onKeyRemove} /> )}
); }; SiteSettingsPage.displayName = "SiteSettingsPage"; export default SiteSettingsPage;