From 2bc8d2b1d78ff8176412f44026c9ddf169043f2a Mon Sep 17 00:00:00 2001
From: sunilsabatp <101264823+sunilsabatp@users.noreply.github.com>
Date: Tue, 4 Feb 2025 16:18:33 +0530
Subject: [PATCH 30/31] refactor : remove mixin
---
.../DonationReceipt.module.scss | 75 +++++++++----------
1 file changed, 35 insertions(+), 40 deletions(-)
diff --git a/src/features/user/DonationReceipt/DonationReceipt.module.scss b/src/features/user/DonationReceipt/DonationReceipt.module.scss
index 2717dc2d8..cb0fb644f 100644
--- a/src/features/user/DonationReceipt/DonationReceipt.module.scss
+++ b/src/features/user/DonationReceipt/DonationReceipt.module.scss
@@ -1,38 +1,15 @@
@import '../../../theme/theme';
-@mixin flex-layout(
- $display: flex,
- $flex-direction: null,
- $justify-content: null,
- $align-items: null,
- $gap: null
-) {
- display: $display;
-
- @if $justify-content {
- justify-content: $justify-content;
- }
-
- @if $align-items {
- align-items: $align-items;
- }
-
- @if $gap {
- gap: $gap;
- }
-
- @if $flex-direction {
- flex-direction: $flex-direction;
- }
-}
-
.donationReceiptSkeleton {
- @include flex-layout(flex, null, center);
+ display: flex;
+ justify-content: center;
margin-top: 110px;
}
.donationReceiptLayout {
- @include flex-layout(flex, column, null, center);
+ display: flex;
+ flex-direction: column;
+ align-items: center;
width: 100vw;
height: calc(100vh - 80px);
margin-top: 80px;
@@ -43,13 +20,15 @@
}
.donationReceiptContainer {
- @include flex-layout(flex, column, null, null, 20px);
+ display: flex;
+ flex-direction: column;
+ gap: 20px;
width: 100%;
max-width: 760px;
min-height: 60px;
margin-top: 60px;
@include xsPhoneView {
- @include flex-layout(flex, null, null, center);
+ align-items: center;
}
}
@@ -74,7 +53,9 @@
}
.donationRecord {
- @include flex-layout(flex, column, null, null, 12px);
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
width: 100%;
padding: 6px 16px 16px 16px;
@@ -83,7 +64,8 @@
}
.header {
- @include flex-layout(flex, null, space-between);
+ display: flex;
+ justify-content: space-between;
font-weight: 700;
}
}
@@ -97,7 +79,9 @@
}
.record {
- @include flex-layout(flex, null, space-between, center);
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
padding-top: 8px;
padding-bottom: 8px;
@@ -122,7 +106,9 @@
}
.donorDetails {
- @include flex-layout(flex, column, null, null, 20px);
+ display: flex;
+ flex-direction: column;
+ gap: 20px;
background: rgba(242, 242, 242, 0.5);
width: 100%;
margin-top: 20px;
@@ -135,7 +121,10 @@
}
.details {
- @include flex-layout(flex, row, space-between, null, 28px);
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ gap: 28px;
flex-wrap: wrap;
}
}
@@ -144,7 +133,9 @@
.donorName,
.companyName,
.tin {
- @include flex-layout(flex, column, null, null, 7px);
+ display: flex;
+ flex-direction: column;
+ gap: 7px;
color: rgba(130, 130, 130, 1);
.header {
@@ -154,12 +145,14 @@
}
.receiptActions {
- @include flex-layout(flex, null, flex-end, null, 12px);
+ display: flex;
+ justify-content: flex-end;
+ gap: 12px;
margin-top: 40px;
padding: 0px 10px;
@include xsPhoneView {
- @include flex-layout(flex, column);
+ flex-direction: column;
}
button {
@@ -172,10 +165,12 @@
}
.downloadButtonContainer {
- @include flex-layout(flex, null, flex-end);
+ display: flex;
+ justify-content: flex-end;
}
.receiptVerificationSpinner {
- @include flex-layout(flex, null, center);
+ display: flex;
+ justify-content: center;
margin-top: 40px;
}
From 00886ee3468fe5c1a2cc716a433f0a10775975a0 Mon Sep 17 00:00:00 2001
From: sunilsabatp <101264823+sunilsabatp@users.noreply.github.com>
Date: Tue, 4 Feb 2025 17:27:42 +0530
Subject: [PATCH 31/31] fix: address feedbacks
---
.../DonationReceipt.module.scss | 6 +--
.../user/DonationReceipt/donationReceipt.ts | 10 ++--
.../microComponents/DonationData.tsx | 48 -----------------
.../microComponents/DonationsTable.tsx | 54 +++++++++++++++++++
.../microComponents/DonorDetails.tsx | 13 +++--
.../microComponents/ReceiptDataSection.tsx | 4 +-
6 files changed, 70 insertions(+), 65 deletions(-)
delete mode 100644 src/features/user/DonationReceipt/microComponents/DonationData.tsx
create mode 100644 src/features/user/DonationReceipt/microComponents/DonationsTable.tsx
diff --git a/src/features/user/DonationReceipt/DonationReceipt.module.scss b/src/features/user/DonationReceipt/DonationReceipt.module.scss
index cb0fb644f..67cb0f64c 100644
--- a/src/features/user/DonationReceipt/DonationReceipt.module.scss
+++ b/src/features/user/DonationReceipt/DonationReceipt.module.scss
@@ -52,7 +52,7 @@
background: #fff;
}
-.donationRecord {
+.donationsTable {
display: flex;
flex-direction: column;
gap: 12px;
@@ -120,7 +120,7 @@
font-size: $fontSmall;
}
- .details {
+ .donorInfo {
display: flex;
flex-direction: row;
justify-content: space-between;
@@ -129,7 +129,7 @@
}
}
-.address,
+.addressInfo,
.donorName,
.companyName,
.tin {
diff --git a/src/features/user/DonationReceipt/donationReceipt.ts b/src/features/user/DonationReceipt/donationReceipt.ts
index c2ce6e7f8..c01904c49 100644
--- a/src/features/user/DonationReceipt/donationReceipt.ts
+++ b/src/features/user/DonationReceipt/donationReceipt.ts
@@ -6,16 +6,16 @@ export type IssuedDonationView = {
};
export type DonorAPI = {
+ reference: string;
tin: string | null;
- city: string;
- name: string;
type: 'individual' | 'organization';
+ name: string;
email: string;
- country: string;
- zipCode: string;
address1: string;
address2: string | null;
- reference: string;
+ city: string;
+ zipCode: string;
+ country: string;
};
export type DonorView = {
diff --git a/src/features/user/DonationReceipt/microComponents/DonationData.tsx b/src/features/user/DonationReceipt/microComponents/DonationData.tsx
deleted file mode 100644
index 66a023581..000000000
--- a/src/features/user/DonationReceipt/microComponents/DonationData.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import type { IssuedDonationView } from '../donationReceipt';
-
-import { useTranslations } from 'next-intl';
-import styles from '../DonationReceipt.module.scss';
-import formatDate from '../../../../utils/countryCurrency/getFormattedDate';
-
-type Props = {
- donations: IssuedDonationView[] | null;
-};
-
-const DonationData = ({ donations }: Props) => {
- const tReceipt = useTranslations('DonationReceipt');
- return (
-
-
-
- {tReceipt('donationDetails.referenceNumber')}
-
- {tReceipt('donationDetails.amountDonated')}
-
-
- {tReceipt('donationDetails.paymentDate')}
-
-
-
- {donations?.map((dtn) => {
- return (
- -
- {dtn.reference}
-
- {tReceipt('donationDetails.donationAmount', {
- currency: dtn.currency,
- amount: dtn.amount,
- })}
-
-
-
- );
- })}
-
-
-
- );
-};
-
-export default DonationData;
diff --git a/src/features/user/DonationReceipt/microComponents/DonationsTable.tsx b/src/features/user/DonationReceipt/microComponents/DonationsTable.tsx
new file mode 100644
index 000000000..f93d8ba83
--- /dev/null
+++ b/src/features/user/DonationReceipt/microComponents/DonationsTable.tsx
@@ -0,0 +1,54 @@
+import type { IssuedDonationView } from '../donationReceipt';
+
+import { useTranslations } from 'next-intl';
+import styles from '../DonationReceipt.module.scss';
+import formatDate from '../../../../utils/countryCurrency/getFormattedDate';
+
+type Props = {
+ donations: IssuedDonationView[] | null;
+};
+
+const DonationsTable = ({ donations }: Props) => {
+ const tReceipt = useTranslations('DonationReceipt');
+ return (
+
+
+
+ {tReceipt('donationDetails.referenceNumber')}
+
+
+ {tReceipt('donationDetails.amountDonated')}
+
+
+ {tReceipt('donationDetails.paymentDate')}
+
+
+
+ {donations?.map((dtn) => {
+ return (
+ -
+
+ {dtn.reference}
+
+
+ {tReceipt('donationDetails.donationAmount', {
+ currency: dtn.currency,
+ amount: dtn.amount,
+ })}
+
+
+
+ );
+ })}
+
+
+ );
+};
+
+export default DonationsTable;
diff --git a/src/features/user/DonationReceipt/microComponents/DonorDetails.tsx b/src/features/user/DonationReceipt/microComponents/DonorDetails.tsx
index 8c32d4973..77b3128ff 100644
--- a/src/features/user/DonationReceipt/microComponents/DonorDetails.tsx
+++ b/src/features/user/DonationReceipt/microComponents/DonorDetails.tsx
@@ -17,7 +17,6 @@ const DonorDetails = ({ donor, address }: Props) => {
const tReceipt = useTranslations('DonationReceipt');
const tCountry = useTranslations('Country');
const { country, zipCode, city, address1, address2 } = address;
- const { type, name, tin } = donor;
const countryName = tCountry(country.toLowerCase() as Lowercase
);
const cityStatePostalString = useMemo(
@@ -28,25 +27,25 @@ const DonorDetails = ({ donor, address }: Props) => {
return (
{tReceipt('recipientInfoHeader')}
-
+
{tReceipt('donorInfo.name', {
- type,
+ type: donor.type,
})}
- {name}
+ {donor.name}
- {tin && (
+ {donor.tin !== null && (
{tReceipt('donationDetails.taxIdentificationNumber')}
- {tin}
+ {donor.tin}
)}
-
+
Address
{address1},{cityStatePostalString}
diff --git a/src/features/user/DonationReceipt/microComponents/ReceiptDataSection.tsx b/src/features/user/DonationReceipt/microComponents/ReceiptDataSection.tsx
index c53bfb8fc..ab7c5d286 100644
--- a/src/features/user/DonationReceipt/microComponents/ReceiptDataSection.tsx
+++ b/src/features/user/DonationReceipt/microComponents/ReceiptDataSection.tsx
@@ -6,7 +6,7 @@ import { handleError } from '@planet-sdk/common';
import { CircularProgress } from '@mui/material';
import { useDonationReceipt } from '../../../common/Layout/DonationReceiptContext';
import styles from '../DonationReceipt.module.scss';
-import DonationData from './DonationData';
+import DonationsTable from './DonationsTable';
import ReceiptActions from './ReceiptActions';
import DonorDetails from './DonorDetails';
import { getVerificationDate, RECEIPT_STATUS } from '../utils';
@@ -73,7 +73,7 @@ const ReceiptDataSection = ({ donationReceiptData }: Prop) => {
return (