Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | import { memo } from 'react'; import { type Statement } from '@amalia/core/types'; import { useStatementById, useStatementForecast } from '@amalia/payout-calculation/statements/state'; import { StatementDrawerDetails } from '../details/StatementDrawerDetails'; import { StatementDrawerSkeleton } from '../skeleton/StatementDrawerSkeleton'; export type StatementDrawerStatementProps = { readonly isForecast: boolean; readonly statementId: Statement['id'] | null; readonly showWorkflows?: boolean; }; export const StatementDrawerStatement = memo(function StatementDrawerStatement({ isForecast, statementId, showWorkflows = true, }: StatementDrawerStatementProps) { const { data: statement } = useStatementById(statementId); const { data: statementForecast } = useStatementForecast(statement, { enabled: isForecast }); // In forecast, we need to wait for the statement and the forecasted statement to both be ready. const isReady = statement && (!isForecast || !!statementForecast); return isReady ? ( <StatementDrawerDetails key={statementId} isForecast={isForecast} showWorkflows={showWorkflows} statement={statement} statementForecast={statementForecast} /> ) : ( <StatementDrawerSkeleton isForecast={isForecast} /> ); }); |