app info modified
This commit is contained in:
parent
16fc9ba90a
commit
48e330a69f
@ -11,11 +11,8 @@ import {
|
||||
Text,
|
||||
StyleSheet,
|
||||
ScrollView,
|
||||
Image,
|
||||
Linking,
|
||||
TouchableOpacity,
|
||||
} from 'react-native';
|
||||
import Icon from 'react-native-vector-icons/Feather';
|
||||
|
||||
import { theme } from '../../../theme/theme';
|
||||
import { SettingsHeader } from '../components/SettingsHeader';
|
||||
import { CustomModal } from '../../../shared/components';
|
||||
@ -59,75 +56,32 @@ export const AppInfoScreen: React.FC<AppInfoScreenProps> = ({
|
||||
buildNumber: '2025.08.001',
|
||||
releaseDate: 'August 2025',
|
||||
developer: 'Tech4Biz Solutions',
|
||||
copyright: '© 2024 Spurrin Innovations. All rights reserved.',
|
||||
copyright: '© 2025 Spurrin Innovations. All rights reserved.',
|
||||
};
|
||||
|
||||
// App features and description
|
||||
const appDescription = {
|
||||
title: 'Emergency Radiology Physician App',
|
||||
description: 'Advanced medical imaging and patient management platform designed specifically for emergency room physicians. Provides real-time access to critical patient scans, AI-powered diagnostic assistance, and streamlined clinical workflows.',
|
||||
title: 'AI-Powered Medical Imaging Physician App',
|
||||
description: 'Comprehensive medical imaging and patient management platform designed specifically for physicians. Provides access to AI-powered diagnostic predictions, DICOM image viewing with Cornerstone.js integration, and streamlined clinical workflows for reviewing radiologist feedback.',
|
||||
features: [
|
||||
'Real-time patient monitoring',
|
||||
'AI-powered diagnostic assistance',
|
||||
'Emergency alert system',
|
||||
'Secure patient data management',
|
||||
'Mobile-optimized interface',
|
||||
'Hospital system integration',
|
||||
'AI-powered diagnostic predictions with confidence scores',
|
||||
'DICOM image viewer with Cornerstone.js integration',
|
||||
'Radiologist feedback review system',
|
||||
'Patient case management and tracking',
|
||||
'Hospital integration and user management',
|
||||
'Mobile-optimized interface for clinical use',
|
||||
],
|
||||
};
|
||||
|
||||
// Legal and support information
|
||||
const legalInfo = {
|
||||
privacyPolicy: 'https://neoscan.com/privacy',
|
||||
termsOfService: 'https://neoscan.com/terms',
|
||||
supportEmail: 'support@neoscan.com',
|
||||
supportPhone: '+1-800-NEOSCAN',
|
||||
website: 'https://neoscan.com',
|
||||
};
|
||||
|
||||
|
||||
// ============================================================================
|
||||
// EVENT HANDLERS
|
||||
// ============================================================================
|
||||
|
||||
/**
|
||||
* handleExternalLink Function
|
||||
*
|
||||
* Purpose: Handle opening external links in browser
|
||||
*
|
||||
* @param url - URL to open
|
||||
*/
|
||||
const handleExternalLink = async (url: string) => {
|
||||
try {
|
||||
const supported = await Linking.canOpenURL(url);
|
||||
if (supported) {
|
||||
await Linking.openURL(url);
|
||||
} else {
|
||||
console.log("Can't open URL:", url);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error opening URL:', error);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* handleEmailSupport Function
|
||||
*
|
||||
* Purpose: Handle opening email client for support
|
||||
*/
|
||||
const handleEmailSupport = () => {
|
||||
const emailUrl = `mailto:${legalInfo.supportEmail}?subject=NeoScan Physician App Support`;
|
||||
handleExternalLink(emailUrl);
|
||||
};
|
||||
|
||||
/**
|
||||
* handlePhoneSupport Function
|
||||
*
|
||||
* Purpose: Handle opening phone dialer for support
|
||||
*/
|
||||
const handlePhoneSupport = () => {
|
||||
const phoneUrl = `tel:${legalInfo.supportPhone}`;
|
||||
handleExternalLink(phoneUrl);
|
||||
};
|
||||
|
||||
|
||||
// ============================================================================
|
||||
// MAIN RENDER
|
||||
@ -201,60 +155,7 @@ export const AppInfoScreen: React.FC<AppInfoScreenProps> = ({
|
||||
</View>
|
||||
</View>
|
||||
|
||||
{/* Support and contact section */}
|
||||
<View style={styles.infoSection}>
|
||||
<Text style={styles.sectionTitle}>Support & Contact</Text>
|
||||
|
||||
<TouchableOpacity
|
||||
style={styles.contactItem}
|
||||
onPress={handleEmailSupport}
|
||||
activeOpacity={0.7}
|
||||
>
|
||||
<Text style={styles.contactLabel}>Email Support:</Text>
|
||||
<Text style={styles.contactValue}>{legalInfo.supportEmail}</Text>
|
||||
</TouchableOpacity>
|
||||
|
||||
<TouchableOpacity
|
||||
style={styles.contactItem}
|
||||
onPress={handlePhoneSupport}
|
||||
activeOpacity={0.7}
|
||||
>
|
||||
<Text style={styles.contactLabel}>Phone Support:</Text>
|
||||
<Text style={styles.contactValue}>{legalInfo.supportPhone}</Text>
|
||||
</TouchableOpacity>
|
||||
|
||||
<TouchableOpacity
|
||||
style={styles.contactItem}
|
||||
onPress={() => handleExternalLink(legalInfo.website)}
|
||||
activeOpacity={0.7}
|
||||
>
|
||||
<Text style={styles.contactLabel}>Website:</Text>
|
||||
<Text style={styles.contactValue}>{legalInfo.website}</Text>
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
|
||||
{/* Legal information section */}
|
||||
<View style={styles.infoSection}>
|
||||
<Text style={styles.sectionTitle}>Legal Information</Text>
|
||||
|
||||
<TouchableOpacity
|
||||
style={styles.legalItem}
|
||||
onPress={() => handleExternalLink(legalInfo.privacyPolicy)}
|
||||
activeOpacity={0.7}
|
||||
>
|
||||
<Text style={styles.legalText}>Privacy Policy</Text>
|
||||
<Icon name="chevron-right" size={20} color={theme.colors.primary} />
|
||||
</TouchableOpacity>
|
||||
|
||||
<TouchableOpacity
|
||||
style={styles.legalItem}
|
||||
onPress={() => handleExternalLink(legalInfo.termsOfService)}
|
||||
activeOpacity={0.7}
|
||||
>
|
||||
<Text style={styles.legalText}>Terms of Service</Text>
|
||||
<Icon name="chevron-right" size={20} color={theme.colors.primary} />
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
|
||||
{/* Copyright section */}
|
||||
<View style={styles.copyrightSection}>
|
||||
@ -423,43 +324,9 @@ const styles = StyleSheet.create({
|
||||
color: theme.colors.textSecondary,
|
||||
},
|
||||
|
||||
// Contact items
|
||||
contactItem: {
|
||||
flexDirection: 'row',
|
||||
justifyContent: 'space-between',
|
||||
alignItems: 'center',
|
||||
paddingVertical: theme.spacing.sm,
|
||||
borderBottomColor: theme.colors.border,
|
||||
borderBottomWidth: 1,
|
||||
},
|
||||
|
||||
contactLabel: {
|
||||
fontSize: theme.typography.fontSize.bodyMedium,
|
||||
fontFamily: theme.typography.fontFamily.medium,
|
||||
color: theme.colors.textPrimary,
|
||||
},
|
||||
|
||||
contactValue: {
|
||||
fontSize: theme.typography.fontSize.bodyMedium,
|
||||
fontFamily: theme.typography.fontFamily.regular,
|
||||
color: theme.colors.primary,
|
||||
},
|
||||
|
||||
// Legal items
|
||||
legalItem: {
|
||||
flexDirection: 'row',
|
||||
justifyContent: 'space-between',
|
||||
alignItems: 'center',
|
||||
paddingVertical: theme.spacing.sm,
|
||||
borderBottomColor: theme.colors.border,
|
||||
borderBottomWidth: 1,
|
||||
},
|
||||
|
||||
legalText: {
|
||||
fontSize: theme.typography.fontSize.bodyMedium,
|
||||
fontFamily: theme.typography.fontFamily.medium,
|
||||
color: theme.colors.primary,
|
||||
},
|
||||
|
||||
// Copyright section
|
||||
copyrightSection: {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user