@ampath/esm-reports-app 1.0.0-next.2 → 1.0.0-next.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/138.js +2 -0
  2. package/dist/138.js.LICENSE.txt +20 -0
  3. package/dist/138.js.map +1 -0
  4. package/dist/184.js +1 -1
  5. package/dist/184.js.map +1 -1
  6. package/dist/205.js +1 -0
  7. package/dist/205.js.map +1 -0
  8. package/dist/282.js +1 -1
  9. package/dist/282.js.LICENSE.txt +3 -3
  10. package/dist/282.js.map +1 -1
  11. package/dist/311.js +1 -0
  12. package/dist/311.js.map +1 -0
  13. package/dist/353.js +1 -1
  14. package/dist/353.js.map +1 -1
  15. package/dist/478.js +2 -0
  16. package/dist/478.js.LICENSE.txt +9 -0
  17. package/dist/478.js.map +1 -0
  18. package/dist/51.js +1 -0
  19. package/dist/51.js.map +1 -0
  20. package/dist/540.js +1 -1
  21. package/dist/540.js.map +1 -1
  22. package/dist/812.js +1 -0
  23. package/dist/812.js.map +1 -0
  24. package/dist/961.js +1 -1
  25. package/dist/961.js.map +1 -1
  26. package/dist/ampath-esm-reports-app.js +1 -1
  27. package/dist/ampath-esm-reports-app.js.buildmanifest.json +128 -151
  28. package/dist/ampath-esm-reports-app.js.map +1 -1
  29. package/dist/main.js +1 -1
  30. package/dist/main.js.map +1 -1
  31. package/dist/routes.json +1 -1
  32. package/package.json +2 -1
  33. package/src/common/report-filters/report-filters.component.tsx +127 -0
  34. package/src/common/report-filters/report-filters.scss +49 -0
  35. package/src/config-schema.ts +6 -37
  36. package/src/createDashboardLink.tsx +9 -0
  37. package/src/dashboard/reports-dasboard.tsx +44 -0
  38. package/src/dashboard/reports-dashboard.module.scss +14 -0
  39. package/src/dashboard-meta/reports-dashboard.meta.ts +6 -0
  40. package/src/index.ts +6 -35
  41. package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +54 -0
  42. package/src/reports/moh-240/moh-240-header.component.tsx +61 -0
  43. package/src/reports/moh-240/moh-240.component.tsx +68 -0
  44. package/src/reports/moh-240/moh-240.scss +3 -0
  45. package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +72 -0
  46. package/src/reports/moh-240/sub-reports/page-summary.component.tsx +95 -0
  47. package/src/reports/moh-505/moh-505-header.component.tsx +62 -0
  48. package/src/reports/moh-505/moh-505.component.tsx +240 -0
  49. package/src/reports/moh-505/moh-505.scss +3 -0
  50. package/src/reports/moh-705B/moh-705b.component.tsx +466 -0
  51. package/src/reports/moh-705B/moh-705b.scss +41 -0
  52. package/src/reports/moh-705a/moh-705a.component.tsx +473 -0
  53. package/src/reports/moh-705a/moh-705a.scss +41 -0
  54. package/src/reports/moh-706/moh-706-header.component.tsx +61 -0
  55. package/src/reports/moh-706/moh-706.component.tsx +104 -0
  56. package/src/reports/moh-706/moh-706.scss +30 -0
  57. package/src/reports/moh-706/sub-reports/bacteriology/bacteriology.component.tsx +124 -0
  58. package/src/reports/moh-706/sub-reports/blood-chemistry/blood-chemistry.component.tsx +318 -0
  59. package/src/reports/moh-706/sub-reports/drug-susceptibility-testing/drug-susceptibility-testing.component.tsx +137 -0
  60. package/src/reports/moh-706/sub-reports/haematology/haematology.component.tsx +179 -0
  61. package/src/reports/moh-706/sub-reports/histology-and-cytology/histology-and-cytology.component.tsx +88 -0
  62. package/src/reports/moh-706/sub-reports/parasitology/parasitology.component.tsx +121 -0
  63. package/src/reports/moh-706/sub-reports/serology/serology.component.tsx +47 -0
  64. package/src/reports/moh-706/sub-reports/specimen-referral-to-higher-levels/specimen-referral-to-higher-levels.component.tsx +39 -0
  65. package/src/reports/moh-706/sub-reports/urine-analysis/urine-analysis.component.tsx +108 -0
  66. package/src/reports/moh-710/moh-710.component.tsx +663 -0
  67. package/src/reports/moh-710/moh-710.scss +41 -0
  68. package/src/reports/moh-711/moh-711.component.tsx +121 -0
  69. package/src/reports/moh-711/moh711.scss +71 -0
  70. package/src/reports/moh-711/sections/anc.component.tsx +134 -0
  71. package/src/reports/moh-711/sections/cervical-cancer.component.tsx +104 -0
  72. package/src/reports/moh-711/sections/chanis.component.tsx +367 -0
  73. package/src/reports/moh-711/sections/family-planning.component.tsx +221 -0
  74. package/src/reports/moh-711/sections/gbv.component.tsx +115 -0
  75. package/src/reports/moh-711/sections/maternity.component.tsx +280 -0
  76. package/src/reports/moh-711/sections/medical-social-work.component.tsx +83 -0
  77. package/src/reports/moh-711/sections/other.component.tsx +47 -0
  78. package/src/reports/moh-711/sections/physiotherapy.component.tsx +61 -0
  79. package/src/reports/moh-711/sections/pnc.component.tsx +92 -0
  80. package/src/reports/moh-711/sections/post-abortion.component.tsx +42 -0
  81. package/src/reports/moh-711/sections/rehabilitation.component.tsx +57 -0
  82. package/src/reports/moh-711/sections/report-compiled-by.component.tsx +42 -0
  83. package/src/reports/moh-711/sections/tb-screening.component.tsx +57 -0
  84. package/src/reports/moh-717/moh-717.component.tsx +152 -0
  85. package/src/reports/moh-717/moh717.scss +150 -0
  86. package/src/reports/moh-717/sections/finance.component.tsx +42 -0
  87. package/src/reports/moh-717/sections/inpatient.component.tsx +374 -0
  88. package/src/reports/moh-717/sections/maternity.component.tsx +94 -0
  89. package/src/reports/moh-717/sections/medical-records.component.tsx +35 -0
  90. package/src/reports/moh-717/sections/mortuary.component.tsx +43 -0
  91. package/src/reports/moh-717/sections/operations.component.tsx +53 -0
  92. package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +98 -0
  93. package/src/reports/moh-717/sections/outpatient.component.tsx +489 -0
  94. package/src/reports/moh-717/sections/pharmacy.component.tsx +43 -0
  95. package/src/reports/moh-717/sections/preparedby.component.tsx +47 -0
  96. package/src/reports/moh-717/sections/special-services.component.tsx +114 -0
  97. package/src/reports/moh-740/moh-740.component.scss +120 -0
  98. package/src/reports/moh-740/moh-740.component.tsx +907 -0
  99. package/src/reports/moh-740/moh-740.resource.ts +42 -0
  100. package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.tsx +6 -0
  101. package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.tsx +58 -0
  102. package/src/reports/moh-740/registers/moh-740-patient-list.scss +0 -0
  103. package/src/reports/moh-740/registers/moh-740-patient-list.tsx +43 -0
  104. package/src/reports/moh-740/shared/data-cell/data-cell.scss +6 -0
  105. package/src/reports/moh-740/shared/data-cell/data-cell.tsx +23 -0
  106. package/src/reports/moh-740/types/index.ts +115 -0
  107. package/src/reports/moh-745/moh-745.component.tsx +629 -0
  108. package/src/reports/moh-745/moh-745.scss +69 -0
  109. package/src/reports/table-wrapper/table-row-mapper.component.tsx +51 -0
  110. package/src/reports/table-wrapper/table-wrapper.component.tsx +21 -0
  111. package/src/reports/table-wrapper/table-wrapper.scss +31 -0
  112. package/src/resources/moh-705.resource.ts +60 -0
  113. package/src/resources/moh-706.resource.ts +86 -0
  114. package/src/resources/moh-710.resource.ts +34 -0
  115. package/src/resources/moh-711.resource.ts +34 -0
  116. package/src/resources/moh-717.resource.ts +35 -0
  117. package/src/resources/moh-745.resource.ts +34 -0
  118. package/src/root.component.tsx +30 -32
  119. package/src/routes.json +14 -17
  120. package/src/utils/get-base-url.ts +12 -0
  121. package/src/utils/utils.ts +36 -0
  122. package/dist/19.js +0 -2
  123. package/dist/19.js.LICENSE.txt +0 -39
  124. package/dist/19.js.map +0 -1
  125. package/dist/255.js +0 -1
  126. package/dist/255.js.map +0 -1
  127. package/dist/389.js +0 -1
  128. package/dist/389.js.map +0 -1
  129. package/dist/451.js +0 -1
  130. package/dist/451.js.map +0 -1
  131. package/dist/488.js +0 -1
  132. package/dist/488.js.map +0 -1
  133. package/dist/557.js +0 -1
  134. package/dist/557.js.map +0 -1
  135. package/dist/91.js +0 -1
  136. package/dist/91.js.map +0 -1
  137. package/dist/970.js +0 -1
  138. package/dist/970.js.map +0 -1
  139. package/src/boxes/extensions/blue-box.component.tsx +0 -15
  140. package/src/boxes/extensions/box.scss +0 -23
  141. package/src/boxes/extensions/brand-box.component.tsx +0 -15
  142. package/src/boxes/extensions/red-box.component.tsx +0 -15
  143. package/src/boxes/slot/boxes.component.tsx +0 -25
  144. package/src/boxes/slot/boxes.scss +0 -29
  145. package/src/greeter/greeter.component.tsx +0 -42
  146. package/src/greeter/greeter.scss +0 -20
  147. package/src/greeter/greeter.test.tsx +0 -28
  148. package/src/patient-getter/patient-getter.component.tsx +0 -40
  149. package/src/patient-getter/patient-getter.resource.ts +0 -39
  150. package/src/patient-getter/patient-getter.scss +0 -16
  151. package/src/patient-getter/patient-getter.test.tsx +0 -40
  152. package/src/resources/resources.component.tsx +0 -56
  153. package/src/resources/resources.scss +0 -68
  154. package/src/root.test.tsx +0 -51
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+
3
+ import styles from '../moh711.scss';
4
+ import classNames from 'classnames';
5
+
6
+ interface PostAbortionProps {
7
+ moh711Data: any;
8
+ }
9
+
10
+ const PostAbortion: React.FC<PostAbortionProps> = ({ moh711Data }) => {
11
+ return (
12
+ <>
13
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
14
+ <thead>
15
+ <tr>
16
+ <th colSpan={2}>E. Post Abortion Care (PAC) Services</th>
17
+ <th>Total</th>
18
+ </tr>
19
+ </thead>
20
+ <tbody>
21
+ <tr>
22
+ <td>1</td>
23
+ <td>No. of Adolescents (10-19yrs) Receiving PAC Services</td>
24
+ <td></td>
25
+ </tr>
26
+ <tr>
27
+ <td>2</td>
28
+ <td>No. of Youth 20-24 yrs receiving PAC services</td>
29
+ <td></td>
30
+ </tr>
31
+ <tr>
32
+ <td>3</td>
33
+ <td>No. Receiving PAC (25 Years plus)</td>
34
+ <td></td>
35
+ </tr>
36
+ </tbody>
37
+ </table>
38
+ </>
39
+ );
40
+ };
41
+
42
+ export default PostAbortion;
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+
3
+ import styles from '../moh711.scss';
4
+ import classNames from 'classnames';
5
+
6
+ interface RehabilitationComponentProps {
7
+ moh711Data: any;
8
+ }
9
+
10
+ const RehabilitationComponent: React.FC<RehabilitationComponentProps> = ({ moh711Data }) => {
11
+ return (
12
+ <>
13
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
14
+ <thead>
15
+ <tr>
16
+ <th></th>
17
+ <th colSpan={2}>I. Rehabilitation Services</th>
18
+ </tr>
19
+ <tr>
20
+ <th></th>
21
+ <th className={styles.greyBackground}></th>
22
+ <th>Total</th>
23
+ </tr>
24
+ </thead>
25
+ <tbody>
26
+ <tr>
27
+ <td>1</td>
28
+ <td>Number Assessed</td>
29
+ <td></td>
30
+ </tr>
31
+ <tr>
32
+ <td>2</td>
33
+ <td>Number Treated</td>
34
+ <td></td>
35
+ </tr>
36
+ <tr>
37
+ <td>3</td>
38
+ <td>Number Rehabilitated</td>
39
+ <td></td>
40
+ </tr>
41
+ <tr>
42
+ <td>4</td>
43
+ <td>Rehab referred for further Interventions</td>
44
+ <td></td>
45
+ </tr>
46
+ <tr>
47
+ <td>5</td>
48
+ <td>Number Integrated to Communities</td>
49
+ <td></td>
50
+ </tr>
51
+ </tbody>
52
+ </table>
53
+ </>
54
+ );
55
+ };
56
+
57
+ export default RehabilitationComponent;
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+
3
+ import styles from '../moh711.scss';
4
+ import classNames from 'classnames';
5
+
6
+ const ReportCompiledByComponent: React.FC = () => {
7
+ return (
8
+ <>
9
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
10
+ <thead>
11
+ <tr>
12
+ <th colSpan={3}>Report Compiled By:</th>
13
+ </tr>
14
+ </thead>
15
+ <tbody>
16
+ <tr>
17
+ <td></td>
18
+ <td>Name:</td>
19
+ <td className={styles.compiledBy}></td>
20
+ </tr>
21
+ <tr>
22
+ <td></td>
23
+ <td>Designation:</td>
24
+ <td></td>
25
+ </tr>
26
+ <tr>
27
+ <td></td>
28
+ <td>Date:</td>
29
+ <td></td>
30
+ </tr>
31
+ <tr>
32
+ <td></td>
33
+ <td>Signature</td>
34
+ <td></td>
35
+ </tr>
36
+ </tbody>
37
+ </table>
38
+ </>
39
+ );
40
+ };
41
+
42
+ export default ReportCompiledByComponent;
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+
3
+ import styles from '../moh711.scss';
4
+ import classNames from 'classnames';
5
+
6
+ interface TBScreeningProps {
7
+ moh711Data: any;
8
+ }
9
+
10
+ const TBScreeningComponent: React.FC<TBScreeningProps> = ({ moh711Data }) => {
11
+ return (
12
+ <>
13
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
14
+ <thead>
15
+ <tr>
16
+ <th colSpan={2}>M. TB SCREENING</th>
17
+ <th>0 - 14 years</th>
18
+ <th>15 years +</th>
19
+ <th>Total</th>
20
+ </tr>
21
+ </thead>
22
+ <tbody>
23
+ <tr>
24
+ <td>1</td>
25
+ <td>Total Number of people screened</td>
26
+ <td></td>
27
+ <td></td>
28
+ <td></td>
29
+ </tr>
30
+ <tr>
31
+ <td>2</td>
32
+ <td>Total Number of presumptive TB cases</td>
33
+ <td></td>
34
+ <td></td>
35
+ <td></td>
36
+ </tr>
37
+ <tr>
38
+ <td>3</td>
39
+ <td>Total Number of already on TB treatment</td>
40
+ <td></td>
41
+ <td></td>
42
+ <td></td>
43
+ </tr>
44
+ <tr>
45
+ <td>4</td>
46
+ <td>Total Number of people not screened</td>
47
+ <td></td>
48
+ <td></td>
49
+ <td></td>
50
+ </tr>
51
+ </tbody>
52
+ </table>
53
+ </>
54
+ );
55
+ };
56
+
57
+ export default TBScreeningComponent;
@@ -0,0 +1,152 @@
1
+ import React, { useState } from 'react';
2
+ import ReportFiltersComponent from '../../common/report-filters/report-filters.component';
3
+
4
+ import styles from './moh717.scss';
5
+ import classNames from 'classnames';
6
+ import { useSession } from '@openmrs/esm-framework';
7
+ import { getMoh717 } from '../../resources/moh-717.resource';
8
+ import { Loading } from '@carbon/react';
9
+ import OutpatientComponent from './sections/outpatient.component';
10
+ import InpatientComponent from './sections/inpatient.component';
11
+ import MaternityComponent from './sections/maternity.component';
12
+ import OperationsComponent from './sections/operations.component';
13
+ import OrthopaedicTraumaComponent from './sections/orthopaedic-trauma.component';
14
+ import SpecialServicesComponent from './sections/special-services.component';
15
+ import PharmacyComponent from './sections/pharmacy.component';
16
+ import MortuaryComponent from './sections/mortuary.component';
17
+ import MedicalRecordsComponent from './sections/medical-records.component';
18
+ import FinanceComponent from './sections/finance.component';
19
+ import PreparedbyComponent from './sections/preparedby.component';
20
+
21
+ const Moh717Report: React.FC = () => {
22
+ let errorMessage: string = '';
23
+ const [moh717ReportData, setMoh717ReportData] = useState<any>([]);
24
+ const [isLoading, setIsLoading] = useState<boolean>(false);
25
+
26
+ const session = useSession();
27
+ const locationUuid = session?.sessionLocation?.uuid;
28
+ const fetchMoh717ReportData = async (filters: { startDate?: string; endDate?: string; month?: string }) => {
29
+ setIsLoading(true);
30
+ let startDate = filters.startDate;
31
+ let endDate = filters.endDate;
32
+
33
+ if (filters.month) {
34
+ const [year, monthIndex] = filters.month.split('-').map(Number);
35
+
36
+ const start = new Date(year, monthIndex - 1, 1);
37
+ const end = new Date(year, monthIndex, 0);
38
+
39
+ const formatLocalDate = (d: Date) => {
40
+ const year = d.getFullYear();
41
+ const month = String(d.getMonth() + 1).padStart(2, '0');
42
+ const day = String(d.getDate()).padStart(2, '0');
43
+ return `${year}-${month}-${day}`;
44
+ };
45
+
46
+ startDate = formatLocalDate(start);
47
+ endDate = formatLocalDate(end);
48
+ }
49
+
50
+ const params = {
51
+ locationUuids: locationUuid || '',
52
+ startDate,
53
+ endDate,
54
+ };
55
+ try {
56
+ const data = await getMoh717(params);
57
+ const flatData = Object.assign({}, ...data.result);
58
+ setMoh717ReportData(flatData);
59
+ setIsLoading(false);
60
+ } catch (error) {
61
+ setIsLoading(false);
62
+ errorMessage = error instanceof Error ? error.message : String(error);
63
+ throw new Error(`Failed to fetch MOH-717 report data: ${error instanceof Error ? error.message : String(error)}`);
64
+ }
65
+ };
66
+ return (
67
+ <>
68
+ <ReportFiltersComponent
69
+ reportName="MOH-717 Report"
70
+ mode="monthly"
71
+ onGenerate={fetchMoh717ReportData}
72
+ isLoding={isLoading}
73
+ />
74
+ {isLoading && <Loading description="Fetching data...." />}
75
+ {!isLoading && errorMessage && (
76
+ <div>
77
+ <a href="#" className="close" data-dismiss="alert">
78
+ &times;
79
+ </a>
80
+ <h4>
81
+ <strong>
82
+ <span className="glyphicon glyphicon-warning-sign"></span>{' '}
83
+ </strong>{' '}
84
+ An error occurred while trying to load the report. Please try again.
85
+ </h4>
86
+ <p>
87
+ <small>{errorMessage}</small>
88
+ </p>
89
+ </div>
90
+ )}
91
+ <h3>Monthly Service Workload Report for Health Facilities</h3>
92
+ <div className={styles.location}>
93
+ <span>
94
+ County: <span className={styles.shortLine}></span>
95
+ </span>
96
+ <span>
97
+ Sub-County: <span className={styles.shortLine}></span>
98
+ </span>
99
+ <span>
100
+ Health Facility: <span className={styles.shortLine}></span>
101
+ </span>
102
+ </div>
103
+ <div className={styles.location}>
104
+ <span>
105
+ Month: <span className={styles.shortLine}></span>
106
+ </span>
107
+ <span>
108
+ Year: <span className={styles.shortLine}></span>
109
+ </span>
110
+ <span>
111
+ KMHFL Code: <span className={styles.shortLine}></span>
112
+ </span>
113
+ </div>
114
+ <div className={styles.container}>
115
+ <div className={styles.section}>
116
+ <OutpatientComponent moh717ReportData={moh717ReportData} />
117
+ </div>
118
+ <InpatientComponent moh717ReportData={moh717ReportData} />
119
+ <div className={styles.sectionContainer}>
120
+ <div className={styles.left}>
121
+ <MaternityComponent moh717ReportData={moh717ReportData} />
122
+ </div>
123
+ <div className={styles.right}>
124
+ <OperationsComponent moh717ReportData={moh717ReportData} />
125
+ <div className={styles.section}>
126
+ <OrthopaedicTraumaComponent moh717ReportData={moh717ReportData} />
127
+ </div>
128
+ </div>
129
+ </div>
130
+ <SpecialServicesComponent moh717ReportData={moh717ReportData} />
131
+ <div className={styles.sectionTwoContainer}>
132
+ <div className={styles.one}>
133
+ <PharmacyComponent moh717ReportData={moh717ReportData} />
134
+ </div>
135
+ <div className={styles.two}>
136
+ <MortuaryComponent moh717ReportData={moh717ReportData} />
137
+ </div>
138
+ <div className={styles.three}>
139
+ <MedicalRecordsComponent moh717ReportData={moh717ReportData} />
140
+ </div>
141
+ </div>
142
+
143
+ <FinanceComponent moh717ReportData={moh717ReportData} />
144
+ <div className={styles.preparedByContainer}>
145
+ <PreparedbyComponent />
146
+ </div>
147
+ </div>
148
+ </>
149
+ );
150
+ };
151
+
152
+ export default Moh717Report;
@@ -0,0 +1,150 @@
1
+
2
+ h3 {
3
+ text-align: center;
4
+ }
5
+
6
+ .container {
7
+ margin: 0 2rem;
8
+ padding: 1rem;
9
+ }
10
+
11
+ .tableContainer {
12
+ margin-left: 1rem;
13
+ margin-bottom: 1rem;
14
+ }
15
+
16
+ .sectionTitle {
17
+ margin-left: 1rem ;
18
+ }
19
+
20
+ .title {
21
+ text-align: center;
22
+ font-size: 1rem;
23
+ margin: 1rem;
24
+ }
25
+ .table {
26
+ width: auto;
27
+ border-collapse: collapse;
28
+
29
+ }
30
+
31
+ .tableBordered td,
32
+ .tableBordered th {
33
+ border: 1px solid black;
34
+ padding: 0.3rem;
35
+ font-size: small;
36
+ }
37
+
38
+ .tableBordered th {
39
+ font-weight: bold;
40
+ }
41
+
42
+ .tableStriped tbody tr:nth-of-type(odd) {
43
+ background-color: #f9f9f9;
44
+ }
45
+ .greyBackground {
46
+ background-color: #ccc;
47
+ }
48
+
49
+ .totals {
50
+ font-weight: bold;
51
+ color: #0437F2;
52
+ }
53
+
54
+ .alighnLeft {
55
+ text-align: left;
56
+ }
57
+
58
+ .rotateUp {
59
+ writing-mode: vertical-rl;
60
+ transform: rotate(180deg);
61
+ text-align: center;
62
+ white-space: nowrap;
63
+ }
64
+
65
+ .sectionContainer {
66
+ margin: 2rem 0;
67
+ display: grid;
68
+ grid-template-columns: 1fr 1fr;
69
+ // gap: 1rem;
70
+
71
+ grid-template-areas:
72
+ "left right";
73
+ }
74
+
75
+ .left {
76
+ grid-area: left;
77
+ }
78
+
79
+ .right {
80
+ grid-area: right;
81
+ }
82
+
83
+ .section{
84
+ margin: 2rem 0;
85
+ }
86
+
87
+ .sectionTwoContainer {
88
+ margin: 2rem 0;
89
+ display: grid;
90
+ grid-template-columns: 1fr 1fr 1fr;
91
+ gap: 1rem;
92
+ padding: 0 2rem;
93
+ grid-template-areas:
94
+ "one two three";
95
+ }
96
+
97
+ .one {
98
+ grid-area: one;
99
+ }
100
+
101
+ .two {
102
+ grid-area: two;
103
+ }
104
+
105
+ .three {
106
+ grid-area: three;
107
+ }
108
+
109
+
110
+ /* 📱 Stack on small screens */
111
+ @media (max-width: 768px) {
112
+ .sectionContainer {
113
+ grid-template-columns: 1fr;
114
+ grid-template-areas:
115
+ "left"
116
+ "right";
117
+ }
118
+ }
119
+
120
+ .preparedByContainer {
121
+ margin: 2rem 0;
122
+ }
123
+
124
+ .location {
125
+ margin: 2rem;
126
+ display: flex;
127
+ flex-wrap: nowrap;
128
+ align-items: center;
129
+ gap: 12px;
130
+ white-space: nowrap;
131
+ }
132
+
133
+
134
+ .line {
135
+ display: inline-block;
136
+ width: 150px;
137
+ border-bottom: 1px solid #000;
138
+ margin-left: 4px;
139
+ }
140
+
141
+ .shortLine {
142
+ display: inline-block;
143
+ width: 90px;
144
+ border-bottom: 1px solid #000;
145
+ margin-left: 4px;
146
+ }
147
+
148
+ span {
149
+ font-weight: bold;
150
+ }
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+
3
+ import styles from '../moh717.scss';
4
+ import classNames from 'classnames';
5
+
6
+ interface FinanceComponentProps {
7
+ moh717ReportData: any;
8
+ }
9
+
10
+ const FinanceComponent: React.FC<FinanceComponentProps> = ({ moh717ReportData }) => {
11
+ return (
12
+ <>
13
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
14
+ <thead>
15
+ <tr>
16
+ <th colSpan={2}>G. FINANCE</th>
17
+ </tr>
18
+ </thead>
19
+ <tbody>
20
+ <tr>
21
+ <td>G.1 Total Amount Collected (Kshs)</td>
22
+ <td>{}</td>
23
+ <td>G.3 Clients waived</td>
24
+ <td>{}</td>
25
+ <td>Clients exempted</td>
26
+ <td>{}</td>
27
+ </tr>
28
+ <tr>
29
+ <td>G.2 Total Amount Received</td>
30
+ <td>{}</td>
31
+ <td>G.4 Clients waived (Kshs)</td>
32
+ <td>{}</td>
33
+ <td>G.5 Clients Exempted (Kshs)</td>
34
+ <td>{}</td>
35
+ </tr>
36
+ </tbody>
37
+ </table>
38
+ </>
39
+ );
40
+ };
41
+
42
+ export default FinanceComponent;