2021-08-16 13:44:00 +00:00
|
|
|
import { Typography } from "@material-ui/core";
|
|
|
|
import HorizontalSpacer from "@saleor/apps/components/HorizontalSpacer";
|
|
|
|
import CardSpacer from "@saleor/components/CardSpacer";
|
|
|
|
import Money from "@saleor/components/Money";
|
2022-12-02 10:45:19 +00:00
|
|
|
import clsx from "clsx";
|
2021-08-16 13:44:00 +00:00
|
|
|
import React from "react";
|
|
|
|
import { useIntl } from "react-intl";
|
|
|
|
|
|
|
|
import useGiftCardDetails from "../providers/GiftCardDetailsProvider/hooks/useGiftCardDetails";
|
|
|
|
import { giftCardUpdateDetailsCardMessages as messages } from "./messages";
|
|
|
|
import { useGiftCardDetailsBalanceStyles as useStyles } from "./styles";
|
|
|
|
|
|
|
|
const GiftCardUpdateDetailsBalanceSection: React.FC = () => {
|
|
|
|
const classes = useStyles({});
|
|
|
|
const intl = useIntl();
|
|
|
|
|
|
|
|
const {
|
2022-06-21 09:36:55 +00:00
|
|
|
giftCard: { currentBalance, initialBalance },
|
2021-08-16 13:44:00 +00:00
|
|
|
} = useGiftCardDetails();
|
|
|
|
|
|
|
|
const progressBarWidth = !!currentBalance.amount
|
|
|
|
? Math.floor((currentBalance.amount / initialBalance.amount) * 100)
|
|
|
|
: 0;
|
|
|
|
|
|
|
|
return (
|
|
|
|
<>
|
2022-12-02 10:45:19 +00:00
|
|
|
<div className={clsx(classes.labelsContainer, classes.wideContainer)}>
|
2021-08-16 13:44:00 +00:00
|
|
|
<Typography>{intl.formatMessage(messages.cardBalanceLabel)}</Typography>
|
2022-01-28 12:34:20 +00:00
|
|
|
<Typography className={classes.labelsContainer}>
|
2021-08-16 13:44:00 +00:00
|
|
|
<Money money={currentBalance} />
|
|
|
|
<HorizontalSpacer />
|
|
|
|
/
|
|
|
|
<HorizontalSpacer />
|
2022-01-28 12:34:20 +00:00
|
|
|
<Typography component="span" color="textSecondary">
|
|
|
|
<Money money={initialBalance} />
|
|
|
|
</Typography>
|
|
|
|
</Typography>
|
2021-08-16 13:44:00 +00:00
|
|
|
</div>
|
|
|
|
<CardSpacer />
|
|
|
|
<div className={classes.balanceBar}>
|
|
|
|
<div
|
|
|
|
style={{ width: `${progressBarWidth}%` }}
|
|
|
|
className={classes.balanceBarProgress}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
export default GiftCardUpdateDetailsBalanceSection;
|