Skip to content

Commit 7c84e3f

Browse files
committed
Add back button and refactor components to use FC type for consistency
1 parent 7486502 commit 7c84e3f

15 files changed

+84
-46
lines changed

frontend/src/assets/icons/back.svg

Lines changed: 5 additions & 0 deletions
Loading

frontend/src/pages/ReportDetail/ReportDetailPage.scss

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,19 @@
2525
color: #313e4c;
2626
}
2727

28+
&__back-button {
29+
border: none;
30+
background: transparent;
31+
color: #435ff0;
32+
font-size: 24px;
33+
padding: 0;
34+
cursor: pointer;
35+
display: flex;
36+
align-items: center;
37+
margin-right: 0.9em;
38+
margin-bottom: 1em;
39+
}
40+
2841
&__close-button {
2942
border: none;
3043
background: transparent;

frontend/src/pages/ReportDetail/ReportDetailPage.tsx

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { IonPage, IonContent } from '@ionic/react';
2-
import { useState } from 'react';
2+
import { FC, useState } from 'react';
33
import { useHistory, useParams } from 'react-router-dom';
44
import './ReportDetailPage.scss';
55
import { useQuery, useQueryClient } from '@tanstack/react-query';
@@ -33,7 +33,7 @@ const fetchReportById = async (id: string): Promise<MedicalReport> => {
3333
* Page component for displaying detailed medical report analysis.
3434
* This shows AI insights and original report data with flagged values.
3535
*/
36-
const ReportDetailPage: React.FC = () => {
36+
const ReportDetailPage: FC = () => {
3737
const { reportId } = useParams<{ reportId: string }>();
3838
const history = useHistory();
3939
const { t } = useTranslation();
@@ -88,11 +88,6 @@ const ReportDetailPage: React.FC = () => {
8888
setActiveTab(tab);
8989
};
9090

91-
// Handle close button
92-
const handleClose = () => {
93-
history.push('/tabs/home');
94-
};
95-
9691
// Handle action buttons
9792
const handleDiscard = async (setIsProcessing: (isProcessing: boolean) => void) => {
9893
try {
@@ -151,7 +146,7 @@ const ReportDetailPage: React.FC = () => {
151146
<IonPage className="report-detail-page">
152147
<IonContent fullscreen>
153148
{/* Header component */}
154-
<ReportHeader reportData={reportData} onClose={handleClose} />
149+
<ReportHeader reportData={reportData} />
155150

156151
{/* Tab selector for AI Insights vs Original Report */}
157152
<ReportTabs activeTab={activeTab} onTabChange={handleTabChange} />

frontend/src/pages/ReportDetail/components/ActionButtons.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
import React, { useState } from 'react';
1+
import { FC, useState } from 'react';
22
import { useTranslation } from 'react-i18next';
33
import ConfirmationModal from '../../../common/components/Modal/ConfirmationModal';
44

55
interface ActionButtonsProps {
66
onDiscard: (setIsProcessing: (isProcessing: boolean) => void) => Promise<void>;
77
onNewUpload: (setIsProcessing: (isProcessing: boolean) => void) => Promise<void>;
88
reportTitle?: string;
9-
reportId?: string;
109
}
1110

12-
const ActionButtons: React.FC<ActionButtonsProps> = ({ onDiscard, onNewUpload, reportTitle }) => {
11+
const ActionButtons: FC<ActionButtonsProps> = ({ onDiscard, onNewUpload, reportTitle }) => {
1312
const { t } = useTranslation(['reportDetail', 'common']);
1413
const [showConfirmDiscard, setShowConfirmDiscard] = useState(false);
1514
const [showConfirmNewUpload, setShowConfirmNewUpload] = useState(false);

frontend/src/pages/ReportDetail/components/AiAnalysisTab.tsx

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import { FC, useState } from 'react';
22
import { MedicalReport, LabValue } from '../../../common/models/medicalReport';
33
import EmergencyAlert from './EmergencyAlert';
44
import FlaggedValuesSection from './FlaggedValuesSection';
@@ -10,13 +10,10 @@ interface AiAnalysisTabProps {
1010
isEmergencyAlertVisible?: boolean;
1111
}
1212

13-
const AiAnalysisTab: React.FC<AiAnalysisTabProps> = ({
14-
reportData,
15-
isEmergencyAlertVisible = true,
16-
}) => {
13+
const AiAnalysisTab: FC<AiAnalysisTabProps> = ({ reportData, isEmergencyAlertVisible = true }) => {
1714
// State to track expanded sections
18-
const [flaggedValuesExpanded, setFlaggedValuesExpanded] = React.useState(true);
19-
const [normalValuesExpanded, setNormalValuesExpanded] = React.useState(true);
15+
const [flaggedValuesExpanded, setFlaggedValuesExpanded] = useState(true);
16+
const [normalValuesExpanded, setNormalValuesExpanded] = useState(true);
2017

2118
// Toggle expanded state of sections
2219
const toggleFlaggedValues = () => setFlaggedValuesExpanded(!flaggedValuesExpanded);

frontend/src/pages/ReportDetail/components/AiAssistantNotice.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import React, { useState } from 'react';
1+
import { FC, useState } from 'react';
22
import { IonText } from '@ionic/react';
33
import AIAssistantModal from '../../../common/components/AIAssistant/AIAssistantModal';
44
import './AiAssistantNotice.scss';
55

66
/**
77
* Component to display an AI Assistant notice with a link to open the AI Chat modal.
88
*/
9-
const AiAssistantNotice: React.FC = () => {
9+
const AiAssistantNotice: FC = () => {
1010
const [isAIAssistantOpen, setIsAIAssistantOpen] = useState(false);
1111

1212
const handleOpenAIAssistant = () => {

frontend/src/pages/ReportDetail/components/EmergencyAlert.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import React from 'react';
1+
import { FC } from 'react';
22
import { useTranslation } from 'react-i18next';
33
import redAlertIcon from 'assets/icons/red-alert.svg';
44

5-
const EmergencyAlert: React.FC = () => {
5+
const EmergencyAlert: FC = () => {
66
const { t } = useTranslation();
77

88
return (

frontend/src/pages/ReportDetail/components/FlaggedValuesSection.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import { FC } from 'react';
22
import { useTranslation } from 'react-i18next';
33
import Icon from '../../../common/components/Icon/Icon';
44
import { LabValue } from '../../../common/models/medicalReport';
@@ -11,7 +11,7 @@ interface FlaggedValuesSectionProps {
1111
onToggle: () => void;
1212
}
1313

14-
const FlaggedValuesSection: React.FC<FlaggedValuesSectionProps> = ({
14+
const FlaggedValuesSection: FC<FlaggedValuesSectionProps> = ({
1515
flaggedValues,
1616
isExpanded,
1717
onToggle,

frontend/src/pages/ReportDetail/components/InfoCard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import React from 'react';
1+
import { FC } from 'react';
22
import './InfoCard.scss';
33
import bulbIcon from '../../../assets/icons/bulb.svg';
44

5-
const InfoCard: React.FC = () => {
5+
const InfoCard: FC = () => {
66
return (
77
<div className="info-card">
88
<div className="info-card__icon">

frontend/src/pages/ReportDetail/components/LabValueItem.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import { FC } from 'react';
22
import { useTranslation } from 'react-i18next';
33
import { LabValue } from '../../../common/models/medicalReport';
44
import classNames from 'classnames';
@@ -7,7 +7,7 @@ interface LabValueItemProps {
77
item: LabValue;
88
}
99

10-
const LabValueItem: React.FC<LabValueItemProps> = ({ item }) => {
10+
const LabValueItem: FC<LabValueItemProps> = ({ item }) => {
1111
const { t } = useTranslation();
1212

1313
// Parse suggestions into bullet points more intelligently

0 commit comments

Comments
 (0)