/* * File: AppInfoScreen.tsx * Description: App information screen displaying version, build, and app details * Design & Developed by Tech4Biz Solutions * Copyright (c) Spurrin Innovations. All rights reserved. */ import React from 'react'; import { View, Text, StyleSheet, ScrollView, } from 'react-native'; import { theme } from '../../../theme/theme'; import { SettingsHeader } from '../components/SettingsHeader'; import { CustomModal } from '../../../shared/components'; /** * AppInfoScreenProps Interface * * Purpose: Defines the props required by the AppInfoScreen component * * Props: * - navigation: React Navigation object for screen navigation */ interface AppInfoScreenProps { navigation: any; } /** * AppInfoScreen Component * * Purpose: Display comprehensive app information including version, build details, * and links to legal documents and support resources * * Features: * 1. App logo and basic information * 2. Version and build details * 3. Legal and privacy information * 4. Support and contact links * 5. App description and features */ export const AppInfoScreen: React.FC = ({ navigation, }) => { // ============================================================================ // APP INFORMATION DATA // ============================================================================ // App version and build information const appInfo = { name: 'NeoScan Radiologist', version: '1.0.0', buildNumber: '2025.08.001', releaseDate: 'August 2025', developer: 'Tech4Biz Solutions', copyright: '© 2025 Spurrin Innovations. All rights reserved.', }; // App features and description const appDescription = { title: 'AI-Powered Medical Imaging Radiologist App', description: 'Comprehensive medical imaging and patient management platform designed specifically for radiologists. Provides access to AI-powered diagnostic predictions, DICOM image viewing with Cornerstone.js integration, and streamlined clinical workflows for reviewing radiologist feedback.', features: [ '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', ], }; // ============================================================================ // EVENT HANDLERS // ============================================================================ // ============================================================================ // MAIN RENDER // ============================================================================ return ( {/* App info header with back button */} navigation.goBack()} /> {/* Scrollable app information content */} {/* App logo and basic info section */} NS {appInfo.name} Version {appInfo.version} Build {appInfo.buildNumber} {appInfo.releaseDate} {/* App description section */} {appDescription.title} {appDescription.description} Key Features: {appDescription.features.map((feature, index) => ( {feature} ))} {/* Version and build details section */} Technical Information App Version: {appInfo.version} Build Number: {appInfo.buildNumber} Release Date: {appInfo.releaseDate} Developer: {appInfo.developer} {/* Copyright section */} {appInfo.copyright} {/* Bottom spacing for tab bar */} ); }; // ============================================================================ // STYLES SECTION // ============================================================================ const styles = StyleSheet.create({ // Main container for the app info screen container: { flex: 1, backgroundColor: theme.colors.background, }, // Scroll view styling scrollView: { flex: 1, }, // Scroll content styling scrollContent: { paddingHorizontal: theme.spacing.md, }, // Bottom spacing for tab bar bottomSpacing: { height: theme.spacing.xl, }, // App header section with logo and basic info appHeaderSection: { alignItems: 'center', paddingVertical: theme.spacing.xl, marginBottom: theme.spacing.md, }, appLogoContainer: { marginBottom: theme.spacing.md, }, appLogo: { width: 80, height: 80, borderRadius: 40, backgroundColor: theme.colors.primary, justifyContent: 'center', alignItems: 'center', ...theme.shadows.medium, }, appLogoText: { color: theme.colors.background, fontSize: 32, fontFamily: theme.typography.fontFamily.bold, }, appName: { fontSize: theme.typography.fontSize.displayMedium, fontFamily: theme.typography.fontFamily.bold, color: theme.colors.textPrimary, marginBottom: theme.spacing.xs, textAlign: 'center', }, appVersion: { fontSize: theme.typography.fontSize.bodyLarge, fontFamily: theme.typography.fontFamily.medium, color: theme.colors.primary, marginBottom: theme.spacing.xs, }, appBuild: { fontSize: theme.typography.fontSize.bodyMedium, fontFamily: theme.typography.fontFamily.regular, color: theme.colors.textSecondary, marginBottom: theme.spacing.xs, }, appReleaseDate: { fontSize: theme.typography.fontSize.bodyMedium, fontFamily: theme.typography.fontFamily.regular, color: theme.colors.textSecondary, }, // Information sections infoSection: { backgroundColor: theme.colors.background, borderRadius: theme.borderRadius.medium, padding: theme.spacing.md, marginBottom: theme.spacing.md, ...theme.shadows.primary, }, sectionTitle: { fontSize: theme.typography.fontSize.displaySmall, fontFamily: theme.typography.fontFamily.bold, color: theme.colors.textPrimary, marginBottom: theme.spacing.md, }, appDescription: { fontSize: theme.typography.fontSize.bodyMedium, fontFamily: theme.typography.fontFamily.regular, color: theme.colors.textSecondary, lineHeight: 22, marginBottom: theme.spacing.md, }, featuresTitle: { fontSize: theme.typography.fontSize.bodyMedium, fontFamily: theme.typography.fontFamily.medium, color: theme.colors.textPrimary, marginBottom: theme.spacing.sm, }, featureItem: { flexDirection: 'row', alignItems: 'center', marginBottom: theme.spacing.xs, }, featureBullet: { width: 6, height: 6, borderRadius: 3, backgroundColor: theme.colors.primary, marginRight: theme.spacing.sm, }, featureText: { fontSize: theme.typography.fontSize.bodyMedium, fontFamily: theme.typography.fontFamily.regular, color: theme.colors.textSecondary, flex: 1, }, // Information rows infoRow: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', paddingVertical: theme.spacing.xs, borderBottomColor: theme.colors.border, borderBottomWidth: 1, }, infoLabel: { fontSize: theme.typography.fontSize.bodyMedium, fontFamily: theme.typography.fontFamily.medium, color: theme.colors.textPrimary, }, infoValue: { fontSize: theme.typography.fontSize.bodyMedium, fontFamily: theme.typography.fontFamily.regular, color: theme.colors.textSecondary, }, // Copyright section copyrightSection: { alignItems: 'center', paddingVertical: theme.spacing.lg, marginBottom: theme.spacing.md, }, copyrightText: { fontSize: theme.typography.fontSize.bodySmall, fontFamily: theme.typography.fontFamily.regular, color: theme.colors.textMuted, textAlign: 'center', lineHeight: 18, }, }); /* * End of File: AppInfoScreen.tsx * Design & Developed by Tech4Biz Solutions * Copyright (c) Spurrin Innovations. All rights reserved. */