11import { SQLiteDatabase } from 'expo-sqlite' ;
22import { getChatMessages , Message } from './chatRepository' ;
3- import * as FileSystem from 'expo-file-system' ;
3+ import { File , Paths } from 'expo-file-system' ;
44import * as Sharing from 'expo-sharing' ;
55import * as DocumentPicker from 'expo-document-picker' ;
66import { Alert } from 'react-native' ;
@@ -20,11 +20,9 @@ export const exportChatRoom = async (
2020 } ) ;
2121
2222 const fileName = `chat-${ Date . now ( ) } .json` ;
23- const fileUri = `${ FileSystem . documentDirectory } ${ fileName } ` ;
24-
25- await FileSystem . writeAsStringAsync ( fileUri , jsonData , {
26- encoding : FileSystem . EncodingType . UTF8 ,
27- } ) ;
23+ const file = new File ( Paths . document , fileName ) ;
24+ await file . write ( jsonData ) ;
25+ const fileUri = file . uri ;
2826
2927 if ( await Sharing . isAvailableAsync ( ) ) {
3028 await Sharing . shareAsync ( fileUri , {
@@ -54,7 +52,8 @@ export async function importChatRoom(): Promise<
5452 } ) ;
5553 if ( result . canceled || ! result . assets [ 0 ] ?. uri ) return ;
5654 const uri = result . assets [ 0 ] . uri ;
57- const fileContent = await FileSystem . readAsStringAsync ( uri ) ;
55+ const file = new File ( uri ) ;
56+ const fileContent = await file . text ( ) ;
5857
5958 const chatData = JSON . parse ( fileContent ) ;
6059 const chat = {
@@ -67,7 +66,7 @@ export async function importChatRoom(): Promise<
6766 } ;
6867 return chat ;
6968 } catch ( error ) {
70- console . error ( '❌ Failed to import chat room JSON:' , error ) ;
69+ console . error ( 'Failed to import chat room JSON:' , error ) ;
7170 return ;
7271 }
7372}
0 commit comments