import Card from "@material-ui/core/Card"; import CardContent from "@material-ui/core/CardContent"; import { createStyles, Theme, withStyles, WithStyles } from "@material-ui/core/styles"; import TextField from "@material-ui/core/TextField"; import React from "react"; import CardTitle from "@saleor/components/CardTitle"; import ControlledSwitch from "@saleor/components/ControlledSwitch"; import { FormSpacer } from "@saleor/components/FormSpacer"; import useDateLocalize from "@saleor/hooks/useDateLocalize"; import i18n from "../../i18n"; import { DateContext } from "../Date/DateContext"; const styles = (theme: Theme) => createStyles({ date: { "& svg": { fill: theme.palette.primary.main }, marginTop: theme.spacing.unit * 4 }, expandedSwitchContainer: { marginBottom: 0 }, switchContainer: { marginBottom: -theme.spacing.unit } }); interface VisibilityCardProps extends WithStyles { children?: React.ReactNode | React.ReactNodeArray; data: { isPublished: boolean; publicationDate: string; }; errors: { [key: string]: string }; disabled?: boolean; onChange(event: any); } export const VisibilityCard = withStyles(styles, { name: "VisibilityCard" })( ({ children, classes, data: { isPublished, publicationDate }, errors, disabled, onChange }: VisibilityCardProps) => { const localizeDate = useDateLocalize(); const dateNow = React.useContext(DateContext); return (
dateNow ? i18n.t("will be visible from {{ date }}", { date: localizeDate(publicationDate) }) : null : null } checked={isPublished} onChange={onChange} disabled={disabled} />
{!isPublished && ( <> )} {children}
); } ); VisibilityCard.displayName = "VisibilityCard"; export default VisibilityCard;