import { Backlink } from "@saleor/components/Backlink"; import CardSpacer from "@saleor/components/CardSpacer"; import Container from "@saleor/components/Container"; import LanguageSwitch from "@saleor/components/LanguageSwitch"; import PageHeader from "@saleor/components/PageHeader"; import { LanguageCodeEnum, ProductVariantTranslationFragment, } from "@saleor/graphql"; import { commonMessages, sectionNames } from "@saleor/intl"; import { getStringOrPlaceholder } from "@saleor/misc"; import { TranslationInputFieldName, TranslationsEntitiesPageProps, } from "@saleor/translations/types"; import { languageEntitiesUrl, productVariantUrl, TranslatableEntities, } from "@saleor/translations/urls"; import React from "react"; import { useIntl } from "react-intl"; import ProductContextSwitcher from "../ProductContextSwitcher"; import TranslationFields from "../TranslationFields"; export interface TranslationsProductsPageProps extends TranslationsEntitiesPageProps { data: ProductVariantTranslationFragment; productId: string; variantId: string; onAttributeValueSubmit: TranslationsEntitiesPageProps["onSubmit"]; } const TranslationsProductsPage: React.FC = ({ translationId, activeField, disabled, languageCode, languages, data, saveButtonState, productId, variantId, onDiscard, onEdit, onSubmit, onAttributeValueSubmit, }) => { const intl = useIntl(); return ( {intl.formatMessage(sectionNames.products)} productVariantUrl(lang, productId, translationId) } /> {data?.attributeValues?.length > 0 && ( <> ({ id: attrVal.attributeValue.id, displayName: intl.formatMessage( { id: "PajjqE", defaultMessage: "Attribute {number}", description: "attribute list", }, { number: i + 1, }, ), name: attrVal?.name, translation: attrVal?.translation?.richText || null, type: "rich" as "rich", value: attrVal?.richText, })) || [] } saveButtonState={saveButtonState} richTextResetKey={languageCode} onEdit={onEdit} onDiscard={onDiscard} onSubmit={onAttributeValueSubmit} /> )} ); }; TranslationsProductsPage.displayName = "TranslationsProductsPage"; export default TranslationsProductsPage;