import React, { useState } from 'react' import { View, Text, Pressable, TextInput, ScrollView, Keyboard, } from 'react-native' import { type TextOverridesOptions } from '../../types' import { sharedStyles } from './styles' import ModalHeader from './ModalHeader' import { logger } from '../../utils' interface FinalPopoverProps extends React.PropsWithChildren { isOnline: boolean textOverrides: TextOverridesOptions onStopRecording: (comment: string) => void onCancelSession: () => void onClose: () => void isSubmitting: boolean } const FinalPopover: React.FC = ({ isOnline, textOverrides, onStopRecording, onCancelSession, isSubmitting, children, }) => { const [comment, setComment] = useState('') const handleStopRecording = async () => { try { await onStopRecording(comment) } catch (error) { logger.error('FinalPopover', 'Failed to save session', error) } } return ( {textOverrides.cancelButtonText} {children} {textOverrides.finalTitle} {textOverrides.finalDescription} Keyboard.dismiss()} /> {isSubmitting ? 'Saving...' : textOverrides.saveButtonText} ) } export default FinalPopover