NeoScan_Physician/app/modules/CaseReview/screens/CaseDetailsScreen.tsx
2025-07-18 19:01:23 +05:30

83 lines
2.4 KiB
TypeScript

/*
* File: CaseDetailsScreen.tsx
* Description: Screen for displaying case details
* Design & Developed by Tech4Biz Solutions
* Copyright (c) Spurrin Innovations. All rights reserved.
*/
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { Button } from '../../../../shared/src/components/Button';
import { Card } from '../../../../shared/src/components/Card';
import { Colors, Spacing, Typography } from '../../../../shared/src/theme';
import { useSelector } from 'react-redux';
import { selectSelectedCase } from '../redux/caseReviewSelectors';
import { useAIOverlay } from '../hooks/useAIOverlay';
/**
* CaseDetailsScreen - shows patient info, AI findings, and navigation to DICOM viewer
*/
const CaseDetailsScreen: React.FC<any> = ({ navigation }) => {
const caseData = useSelector(selectSelectedCase);
const { findings, confidence } = useAIOverlay();
if (!caseData) {
return <View style={styles.container}><Text>No case selected.</Text></View>;
}
return (
<View style={styles.container}>
<Card>
<Text style={styles.title}>{caseData.patientName}</Text>
<Text style={styles.label}>AI Findings:</Text>
<Text style={styles.findings}>{findings}</Text>
<Text style={styles.confidence}>Confidence: {confidence}%</Text>
<Button title="View DICOM Images" onPress={() => navigation.navigate('DICOMViewer')} style={styles.button} />
</Card>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: Colors.background,
justifyContent: 'center',
padding: Spacing.lg,
},
title: {
fontFamily: Typography.fontFamily.bold,
fontSize: Typography.fontSize.lg,
color: Colors.primary,
marginBottom: Spacing.md,
},
label: {
fontFamily: Typography.fontFamily.bold,
fontSize: Typography.fontSize.md,
color: Colors.textPrimary,
marginTop: Spacing.sm,
},
findings: {
fontFamily: Typography.fontFamily.regular,
fontSize: Typography.fontSize.md,
color: Colors.textSecondary,
marginBottom: Spacing.sm,
},
confidence: {
fontFamily: Typography.fontFamily.regular,
fontSize: Typography.fontSize.sm,
color: Colors.info,
marginBottom: Spacing.md,
},
button: {
marginTop: Spacing.md,
},
});
export default CaseDetailsScreen;
/*
* End of File: CaseDetailsScreen.tsx
* Design & Developed by Tech4Biz Solutions
* Copyright (c) Spurrin Innovations. All rights reserved.
*/