local storage add add folders
This commit is contained in:
+33
-8
@@ -1,21 +1,29 @@
|
|||||||
import { StatusBar } from 'expo-status-bar';
|
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 { pickDirectory } from '../services/safDirectory';
|
||||||
import { useEffect } from 'react';
|
|
||||||
import { saveDirectory } from '../services/localStorage';
|
import { saveDirectory } from '../services/localStorage';
|
||||||
|
|
||||||
export default function Index() {
|
export default function Index() {
|
||||||
|
|
||||||
useEffect(()=>{
|
const [folders, setFolders] = useState<string[]>([]);
|
||||||
pickDirectory().then((value) => {
|
|
||||||
if ( !value ) return;
|
const handlePickDirectory = async () => {
|
||||||
saveDirectory(value)
|
const folder = await pickDirectory();
|
||||||
})
|
if ( !folder ) return;
|
||||||
},[])
|
await saveDirectory(folder);
|
||||||
|
setFolders((prev) => [...prev, folder.name]);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Text style={styles.title}>Dot.</Text>
|
<Text style={styles.title}>Dot.</Text>
|
||||||
|
<Pressable style={styles.button} onPress={handlePickDirectory}>
|
||||||
|
<Text style={styles.buttonLabel}>Ajouter un dossier</Text>
|
||||||
|
</Pressable>
|
||||||
|
{folders.map((name) => (
|
||||||
|
<Text key={name} style={styles.folder}>{name}</Text>
|
||||||
|
))}
|
||||||
<StatusBar style="auto" />
|
<StatusBar style="auto" />
|
||||||
</View>
|
</View>
|
||||||
);
|
);
|
||||||
@@ -32,4 +40,21 @@ const styles = StyleSheet.create({
|
|||||||
fontSize: 32,
|
fontSize: 32,
|
||||||
fontWeight: '600',
|
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',
|
||||||
|
},
|
||||||
});
|
});
|
||||||
@@ -13,6 +13,8 @@ export async function useSyncDevice() {
|
|||||||
|
|
||||||
syncStartedAt = Date.UTC(Date.now());
|
syncStartedAt = Date.UTC(Date.now());
|
||||||
|
|
||||||
|
console.info("Sync started")
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
|
|
||||||
await sync()
|
await sync()
|
||||||
@@ -28,8 +30,6 @@ export async function useSyncDevice() {
|
|||||||
|
|
||||||
async function sync() {
|
async function sync() {
|
||||||
|
|
||||||
console.info("Sync started")
|
|
||||||
|
|
||||||
const userPreferences = await getUserPreferences()
|
const userPreferences = await getUserPreferences()
|
||||||
|
|
||||||
console.log(userPreferences)
|
console.log(userPreferences)
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ export type UserPreferences = {
|
|||||||
|
|
||||||
export async function getUserPreferences(): Promise<UserPreferences> {
|
export async function getUserPreferences(): Promise<UserPreferences> {
|
||||||
|
|
||||||
return new Promise(()=>{
|
return new Promise((resolve)=>{
|
||||||
return {
|
resolve({
|
||||||
syncMode: 'full'
|
syncMode: 'full'
|
||||||
} satisfies UserPreferences
|
} satisfies UserPreferences)
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user