Skip to content

Commit 3e7a293

Browse files
authored
Merge pull request #2370 from openmsupply/2322-tracing-redirection
Add routing for contact-trace
2 parents e826fbe + ffefde8 commit 3e7a293

File tree

4 files changed

+20
-1
lines changed

4 files changed

+20
-1
lines changed

client/packages/common/src/hooks/useBreadcrumbs/useBreadcrumbs.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { LocaleKey } from '@common/intl';
44
import { create } from 'zustand';
55

66
export interface UrlPart {
7+
disabled?: boolean;
78
path: string;
89
key: LocaleKey;
910
value: string;

client/packages/common/src/ui/components/navigation/Breadcrumbs/Breadcrumbs.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ export const Breadcrumbs = ({
5252
}
5353
}
5454

55+
if (part.disabled) {
56+
return <span key={part.key}>{parseTitle(part)}</span>;
57+
}
58+
5559
return (
5660
<Breadcrumb to={part.path} key={part.key}>
5761
{t(part.key)}

client/packages/host/src/routers/DispensaryRouter.tsx

+11
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ const fullContactTracesPath = RouteBuilder.create(AppRoute.Dispensary)
4747
.addWildCard()
4848
.build();
4949

50+
const contactTracesListPath = RouteBuilder.create(AppRoute.Dispensary)
51+
.addPart(AppRoute.ContactTrace)
52+
.build();
53+
5054
const fullReportsPath = RouteBuilder.create(AppRoute.Dispensary)
5155
.addPart(AppRoute.Reports)
5256
.build();
@@ -57,6 +61,7 @@ export const DispensaryRouter: FC = () => {
5761
const gotoEncounters = useMatch(fullEncountersPath);
5862
const gotoContactTraces = useMatch(fullContactTracesPath);
5963
const gotoReports = useMatch(fullReportsPath);
64+
const gotoContactTracesList = useMatch(contactTracesListPath);
6065

6166
if (gotoDistribution) {
6267
return <InvoiceService />;
@@ -69,6 +74,12 @@ export const DispensaryRouter: FC = () => {
6974
if (gotoEncounters) {
7075
return <EncounterService />;
7176
}
77+
if (gotoContactTracesList) {
78+
const patientListRoute = RouteBuilder.create(AppRoute.Dispensary)
79+
.addPart(AppRoute.Patients)
80+
.build();
81+
return <Navigate to={patientListRoute} />;
82+
}
7283

7384
if (gotoContactTraces) {
7485
return <ContactTraceService />;

client/packages/system/src/ContactTrace/DetailView/DetailView.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export const DetailView: FC<DetailViewProps> = ({
3838
}) => {
3939
const t = useTranslation('dispensary');
4040
const navigate = useNavigate();
41-
const { setSuffix } = useBreadcrumbs([AppRoute.ContactTrace]);
41+
const { setSuffix, urlParts } = useBreadcrumbs([AppRoute.ContactTrace]);
4242
const dateFormat = useFormatDateTime();
4343
const { getLocalisedFullName } = useIntlUtils();
4444
const id = useContactTraces.utils.idFromUrl();
@@ -110,6 +110,9 @@ export const DetailView: FC<DetailViewProps> = ({
110110
}
111111
}, [isDirty, contactTraceId, id, navigate]);
112112

113+
const urlStart = urlParts[0];
114+
if (urlStart) urlStart.disabled = true;
115+
113116
const updateContactTrace = useDebounceCallback(
114117
(patch: Partial<ContactTrace>) =>
115118
setData({

0 commit comments

Comments
 (0)