Skip to content

Commit

Permalink
Circle payout updates (#119)
Browse files Browse the repository at this point in the history
* Update payment details

* Disable new disbursement btn for inactive circle account

* Fix typo
  • Loading branch information
quietbits authored Jul 26, 2024
1 parent b16e267 commit 58515e5
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 18 deletions.
17 changes: 15 additions & 2 deletions src/components/NewDisbursementButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,35 @@ import { Button, Icon } from "@stellar/design-system";
import { useNavigate } from "react-router-dom";
import { ShowForRoles } from "components/ShowForRoles";
import { Routes } from "constants/settings";
import { useCircleAccount } from "hooks/useCircleAccount";

export const NewDisbursementButton = () => {
export const NewDisbursementButton = ({
size = "sm",
}: {
size?: "sm" | "md" | "xs";
}) => {
const navigate = useNavigate();
const { isCircleAccount, isCircleAccountPending } = useCircleAccount();

const goToNewDisbursement = () => {
navigate(Routes.DISBURSEMENT_NEW);
};

const inactiveCircleAccount = isCircleAccount && isCircleAccountPending;
const disableMessage = inactiveCircleAccount
? "Circle Account is not active"
: "";

return (
<ShowForRoles acceptedRoles={["owner", "financial_controller"]}>
<Button
variant="primary"
size="sm"
size={size}
icon={<Icon.Add />}
iconPosition="right"
onClick={goToNewDisbursement}
disabled={inactiveCircleAccount}
title={disableMessage}
>
New disbursement
</Button>
Expand Down
1 change: 1 addition & 0 deletions src/helpers/formatPaymentDetails.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export const formatPaymentDetails = (payment: ApiPayment): PaymentDetails => {
totalAmount: payment.amount,
assetCode: payment.asset.code,
externalPaymentId: payment?.external_payment_id,
circleTransferRequestId: payment?.circle_transfer_request_id,
status: payment.status,
statusHistory: payment?.status_history
.sort(
Expand Down
19 changes: 3 additions & 16 deletions src/pages/Home.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { useEffect } from "react";
import { useDispatch } from "react-redux";
import { useNavigate } from "react-router-dom";
import { Button, Heading, Icon } from "@stellar/design-system";
import { Button, Heading } from "@stellar/design-system";

import { AppDispatch } from "store";
import { getDisbursementsAction } from "store/ducks/disbursements";
Expand All @@ -15,6 +15,7 @@ import { ShowForRoles } from "components/ShowForRoles";
import { DisbursementsTable } from "components/DisbursementsTable";
import { DashboardAnalytics } from "components/DashboardAnalytics";
import { useIsUserRoleAccepted } from "hooks/useIsUserRoleAccepted";
import { NewDisbursementButton } from "components/NewDisbursementButton";

export const Home = () => {
const { disbursements, userAccount } = useRedux(
Expand Down Expand Up @@ -59,13 +60,6 @@ export const Home = () => {
navigate(Routes.DISBURSEMENTS);
};

const goToNewDisbursement = (
event: React.MouseEvent<HTMLButtonElement, MouseEvent>,
) => {
event.preventDefault();
navigate(Routes.DISBURSEMENT_NEW);
};

return (
<>
<SectionHeader>
Expand Down Expand Up @@ -102,14 +96,7 @@ export const Home = () => {
View all
</Button>
<ShowForRoles acceptedRoles={["owner", "financial_controller"]}>
<Button
size="xs"
variant="primary"
icon={<Icon.Add />}
onClick={goToNewDisbursement}
>
New disbursement
</Button>
<NewDisbursementButton size="xs" />
</ShowForRoles>
</SectionHeader.Content>
</SectionHeader.Row>
Expand Down
7 changes: 7 additions & 0 deletions src/pages/PaymentDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,13 @@ export const PaymentDetails = () => {
: "-"}
</div>
</div>

{formattedPayment.circleTransferRequestId ? (
<div className="PaymentDetails__info">
<label className="Label">Circle Transfer ID</label>
<div>{formattedPayment.circleTransferRequestId}</div>
</div>
) : null}
</div>
</Card>
</div>
Expand Down
2 changes: 2 additions & 0 deletions src/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,7 @@ export type PaymentDetails = {
status: PaymentStatus;
statusHistory: PaymentDetailsStatusHistoryItem[];
externalPaymentId?: string;
circleTransferRequestId?: string;
};

// =============================================================================
Expand Down Expand Up @@ -628,6 +629,7 @@ export type ApiPayment = {
created_at: string;
updated_at: string;
external_payment_id?: string;
circle_transfer_request_id?: string;
};

export type ApiPayments = {
Expand Down

0 comments on commit 58515e5

Please sign in to comment.