From b671a222a521421cb5a45bbdd2512a8fdb603916 Mon Sep 17 00:00:00 2001 From: m Date: Wed, 9 Sep 2026 22:04:33 +0200 Subject: [PATCH] local storage add add folders --- mobile/app/index.tsx | 41 ++++++++++++++++++++++++++------- mobile/features/syncDevice.ts | 4 ++-- mobile/services/localStorage.ts | 6 ++--- 3 files changed, 38 insertions(+), 13 deletions(-) diff --git a/mobile/app/index.tsx b/mobile/app/index.tsx index d1e5e21..b6696ff 100644 --- a/mobile/app/index.tsx +++ b/mobile/app/index.tsx @@ -1,21 +1,29 @@ import { StatusBar } from 'expo-status-bar'; -import { StyleSheet, Text, View } from 'react-native'; +import { useState } from 'react'; +import { Pressable, StyleSheet, Text, View } from 'react-native'; import { pickDirectory } from '../services/safDirectory'; -import { useEffect } from 'react'; import { saveDirectory } from '../services/localStorage'; export default function Index() { - useEffect(()=>{ - pickDirectory().then((value) => { - if ( !value ) return; - saveDirectory(value) - }) - },[]) + const [folders, setFolders] = useState([]); + + const handlePickDirectory = async () => { + const folder = await pickDirectory(); + if ( !folder ) return; + await saveDirectory(folder); + setFolders((prev) => [...prev, folder.name]); + }; return ( Dot. + + Ajouter un dossier + + {folders.map((name) => ( + {name} + ))} ); @@ -32,4 +40,21 @@ const styles = StyleSheet.create({ fontSize: 32, fontWeight: '600', }, + button: { + marginTop: 24, + paddingHorizontal: 20, + paddingVertical: 12, + backgroundColor: '#0057ff', + borderRadius: 8, + }, + buttonLabel: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + }, + folder: { + marginTop: 8, + fontSize: 14, + color: '#333', + }, }); \ No newline at end of file diff --git a/mobile/features/syncDevice.ts b/mobile/features/syncDevice.ts index 2699430..d441bf1 100644 --- a/mobile/features/syncDevice.ts +++ b/mobile/features/syncDevice.ts @@ -13,6 +13,8 @@ export async function useSyncDevice() { syncStartedAt = Date.UTC(Date.now()); + console.info("Sync started") + while (true) { await sync() @@ -28,8 +30,6 @@ export async function useSyncDevice() { async function sync() { - console.info("Sync started") - const userPreferences = await getUserPreferences() console.log(userPreferences) diff --git a/mobile/services/localStorage.ts b/mobile/services/localStorage.ts index 42a5eba..c741d66 100644 --- a/mobile/services/localStorage.ts +++ b/mobile/services/localStorage.ts @@ -33,10 +33,10 @@ export type UserPreferences = { export async function getUserPreferences(): Promise { - return new Promise(()=>{ - return { + return new Promise((resolve)=>{ + resolve({ syncMode: 'full' - } satisfies UserPreferences + } satisfies UserPreferences) }); } \ No newline at end of file