Skip to content

Commit

Permalink
(feat) Add patient banner on invoce page (#72)
Browse files Browse the repository at this point in the history
donaldkibet authored Nov 29, 2023
1 parent 1301394 commit 94ccfd8
Showing 4 changed files with 33 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -92,7 +92,7 @@ const BillsTable = () => {
patientName: (
<ConfigurableLink
style={{ textDecoration: 'none', maxWidth: '50%' }}
to={`${window.getOpenmrsSpaBase()}patient/${bill.patientUuid}/chart`}>
to={`${window.getOpenmrsSpaBase()}home/billing/patient/${bill.patientUuid}`}>
{bill.patientName}
</ConfigurableLink>
),
24 changes: 24 additions & 0 deletions packages/esm-billing-app/src/invoice/invoce.component.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import React from 'react';
import { InlineLoading } from '@carbon/react';
import { ExtensionSlot, usePatient } from '@openmrs/esm-framework';
import { useParams } from 'react-router-dom';
import styles from './invoice.scss';

type InvoiceProps = {};

const Invoice: React.FC<InvoiceProps> = () => {
const params = useParams();
const { patient, patientUuid, isLoading } = usePatient(params?.patientUuid);

if (isLoading) {
return <InlineLoading status="active" iconDescription="Loading" description="Loading patient info..." />;
}

return (
<div className={styles.invoiceContainer}>
<ExtensionSlot name="patient-header-slot" state={{ patient, patientUuid }} />
</div>
);
};

export default Invoice;
6 changes: 6 additions & 0 deletions packages/esm-billing-app/src/invoice/invoice.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
@use '@carbon/colors';
@use '@carbon/layout';

.invoiceContainer {
margin: layout.$spacing-03 layout.$spacing-05;
}
2 changes: 2 additions & 0 deletions packages/esm-billing-app/src/root.component.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import React from 'react';
import { BrowserRouter, Route, Routes } from 'react-router-dom';
import { BillingDashboard } from './billing-dashboard/billing-dashboard.component';
import Invoice from './invoice/invoce.component';

const RootComponent: React.FC = () => {
const baseName = window.getOpenmrsSpaBase() + 'home/billing';
@@ -9,6 +10,7 @@ const RootComponent: React.FC = () => {
<BrowserRouter basename={baseName}>
<Routes>
<Route path="/" element={<BillingDashboard />} />
<Route path="/patient/:patientUuid" element={<Invoice />} />
</Routes>
</BrowserRouter>
);

0 comments on commit 94ccfd8

Please sign in to comment.