give
/
src
/
Donations
/
resources
/
admin
/
components
/
DonationDetailsPage
/
Tabs
/
Overview
/
index.tsx
give
/
src
/
Donations
/
resources
/
admin
/
components
/
DonationDetailsPage
/
Tabs
/
Overview
Last commit date
DonationReceipt
10 months ago
DonationStats
6 months ago
DonationSummaryGrid
9 months ago
index.tsx
11 months ago
styles.module.scss
1 year ago
index.tsx
40 lines
| 1 | import styles from './styles.module.scss'; |
| 2 | import DonationStats from './DonationStats'; |
| 3 | import DonationSummaryGrid from './DonationSummaryGrid'; |
| 4 | import DonationReceipt from './DonationReceipt'; |
| 5 | import Spinner from '@givewp/src/Admin/components/Spinner'; |
| 6 | import { useDonationEntityRecord } from '@givewp/donations/utils'; |
| 7 | import {DonationNotes} from '@givewp/src/Admin/components/PrivateNotes'; |
| 8 | |
| 9 | /** |
| 10 | * @since 4.6.0 |
| 11 | */ |
| 12 | export default function DonationDetailsPageOverviewTab() { |
| 13 | const urlParams = new URLSearchParams(window.location.search); |
| 14 | const donationId = parseInt(urlParams.get('id') ?? '0'); |
| 15 | const {record: donation, hasResolved: hasResolvedDonation } = useDonationEntityRecord(donationId); |
| 16 | |
| 17 | if (!hasResolvedDonation || !donation) { |
| 18 | // TODO: Add loading state |
| 19 | return <Spinner />; |
| 20 | } |
| 21 | |
| 22 | return ( |
| 23 | <div className={styles.overview}> |
| 24 | <DonationStats donation={donation} isResolving={!hasResolvedDonation} /> |
| 25 | |
| 26 | <div className={styles.left}> |
| 27 | <DonationSummaryGrid donation={donation}/> |
| 28 | |
| 29 | <div className={styles.card}> |
| 30 | <DonationNotes donationId={donationId} /> |
| 31 | </div> |
| 32 | </div> |
| 33 | |
| 34 | <div className={styles.right}> |
| 35 | <DonationReceipt donation={donation} /> |
| 36 | </div> |
| 37 | </div> |
| 38 | ); |
| 39 | } |
| 40 |