saleor-dashboard/src/channels/components/ChannelStatus/ChannelStatus.tsx
Dominik Żegleń 935a6f4542
Reduce bundle size (#1103)
* Add analysis tools

* Use deep imports to reduce bundle size

* Remove tslint config

* Remove unused packages

* Remove lodash-es references

* Use root level mui imports

* Remove mui from restricted imports
2021-05-14 10:15:15 +02:00

68 lines
1.8 KiB
TypeScript

import { Button, Card, CardContent, Typography } from "@material-ui/core";
import CardTitle from "@saleor/components/CardTitle";
import React from "react";
import { FormattedMessage, useIntl } from "react-intl";
import { useStyles } from "../styles";
export interface ChannelStatusProps {
isActive: boolean;
disabled: boolean;
updateChannelStatus: () => void;
}
export const ChannelStatus: React.FC<ChannelStatusProps> = ({
disabled,
isActive,
updateChannelStatus
}) => {
const intl = useIntl();
const classes = useStyles({});
return (
<Card>
<CardTitle
title={intl.formatMessage({
defaultMessage: "Channel Status",
description: "channel status title"
})}
/>
<CardContent>
<Typography variant="caption" className={classes.label}>
<FormattedMessage defaultMessage="Status" description="status" />
</Typography>
<Typography>
{isActive ? (
<FormattedMessage defaultMessage="Active" description="active" />
) : (
<FormattedMessage
defaultMessage="Inactive"
description="inactive"
/>
)}
</Typography>
<Button
color="primary"
className={classes.activeBtn}
disabled={disabled}
onClick={() => updateChannelStatus()}
>
{isActive ? (
<FormattedMessage
defaultMessage="Deactivate"
description="deactivate"
/>
) : (
<FormattedMessage
defaultMessage="Activate"
description="activate"
/>
)}
</Button>
</CardContent>
</Card>
);
};
ChannelStatus.displayName = "ChannelStatus";
export default ChannelStatus;