import { Stack } from '@/components';
import { useDialogContext } from '@/components/Dialog/DialogProvider';
import {
useCreateStripeAccount,
useCreateStripeAccountLink,
} from '@/hooks/query/stripe-integration';
import { useDialogActions } from '@/hooks/state';
import { CreditCard2Icon } from '@/icons/CreditCard2';
import { DollarIcon } from '@/icons/Dollar';
import { LayoutAutoIcon } from '@/icons/LayoutAuto';
import { SwitchIcon } from '@/icons/SwitchIcon';
import { Button, DialogBody, DialogFooter, Intent } from '@blueprintjs/core';
import styled from 'styled-components';
export function StripePreSetupDialogContent() {
const { name } = useDialogContext();
const { closeDialog } = useDialogActions();
const {
mutateAsync: createStripeAccount,
isLoading: isCreateStripeAccountLoading,
} = useCreateStripeAccount();
const {
mutateAsync: createStripeAccountLink,
isLoading: isCreateStripeLinkLoading,
} = useCreateStripeAccountLink();
const handleSetUpBtnClick = () => {
createStripeAccount({})
.then((response) => {
const { account_id: accountId } = response;
return createStripeAccountLink({ stripeAccountId: accountId });
})
.then((res) => {
const { clientSecret } = res;
if (clientSecret.url) {
window.location.href = clientSecret.url;
}
});
};
const handleCancelBtnClick = () => {
closeDialog(name);
};
const isLoading = isCreateStripeAccountLoading || isCreateStripeLinkLoading;
return (
<>
{' '}
If you're already using Stripe, you can connect your Stripe account
to Bigcapital.
{' '}
Stripe applies a processing fee for each card payment, but we only
charge for the application subscription.
{' '}
Customers can pay invoice using credit card, debit card or digital
wallets like Apple Pay or Google Pay.
{' '}
You can enable or disable card payments for each invoice
>
}
>
>
);
}
const PaymentFeatureItem = styled('div')`
padding-left: 20px;
position: relative;
padding-left: 50px;
`;
const PaymentFeatureIcon = styled('span')`
position: absolute;
left: 12px;
top: 2px;
color: #0052cc;
`;