databag/app/mobile/App.js

95 lines
3.7 KiB
JavaScript
Raw Normal View History

2023-02-15 23:47:18 +00:00
import 'react-native-gesture-handler';
2023-04-22 06:34:04 +00:00
import { useEffect, useState } from 'react';
2022-09-07 07:32:06 +00:00
import { NativeRouter } from "react-router-native";
import { Routes, Route } from 'react-router-dom';
import { StoreContextProvider } from 'context/StoreContext';
2022-10-07 05:52:28 +00:00
import { UploadContextProvider } from 'context/UploadContext';
2022-09-07 21:21:45 +00:00
import { AppContextProvider } from 'context/AppContext';
2022-09-14 19:18:16 +00:00
import { AccountContextProvider } from 'context/AccountContext';
2022-09-14 07:27:49 +00:00
import { ProfileContextProvider } from 'context/ProfileContext';
2022-09-15 08:03:20 +00:00
import { CardContextProvider } from 'context/CardContext';
import { RingContextProvider } from 'context/RingContext'
2022-09-15 08:03:20 +00:00
import { ChannelContextProvider } from 'context/ChannelContext';
import { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context';
2022-09-28 22:09:10 +00:00
import { ConversationContextProvider } from 'context/ConversationContext';
2023-09-05 21:20:47 +00:00
import { DisplayContextProvider } from 'context/DisplayContext';
2022-09-30 06:19:15 +00:00
import { LogBox } from 'react-native';
2023-02-15 23:47:18 +00:00
import { Root } from 'src/root/Root';
import { Access } from 'src/access/Access';
import { Dashboard } from 'src/dashboard/Dashboard';
import { Session } from 'src/session/Session';
2023-09-05 21:20:47 +00:00
import { Prompt } from 'utils/Prompt';
2023-04-22 06:34:04 +00:00
import ReceiveSharingIntent from 'react-native-receive-sharing-intent';
2023-06-10 05:07:21 +00:00
import { Platform, PermissionsAndroid } from 'react-native';
import { initUnifiedPush } from 'react-native-unifiedpush-connector';
2023-09-10 06:11:42 +00:00
import { MenuProvider } from 'react-native-popup-menu';
2023-09-05 21:20:47 +00:00
2022-09-30 06:19:15 +00:00
// silence warning: Sending `onAnimatedValueUpdate` with no listeners registered
//LogBox.ignoreLogs(['Sending']);
2022-01-14 07:59:53 +00:00
2022-09-06 21:38:53 +00:00
export default function App() {
2022-09-07 21:21:45 +00:00
2023-04-22 06:34:04 +00:00
const [sharing, setSharing] = useState();
useEffect(() => {
2023-06-10 05:07:21 +00:00
if (Platform.OS !== 'ios') {
PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS);
initUnifiedPush();
2023-06-10 05:07:21 +00:00
}
2023-04-22 06:34:04 +00:00
ReceiveSharingIntent.getReceivedFiles(files => {
setSharing(files);
},
(error) =>{
console.log(error);
},
'org.coredb.databag'
);
}, []);
const clearSharing = () => {
setSharing(null);
};
2022-01-14 07:59:53 +00:00
return (
<StoreContextProvider>
2022-10-07 05:52:28 +00:00
<UploadContextProvider>
<RingContextProvider>
<CardContextProvider>
<ChannelContextProvider>
<AccountContextProvider>
<ProfileContextProvider>
<ConversationContextProvider>
2023-09-05 21:20:47 +00:00
<DisplayContextProvider>
<AppContextProvider>
<SafeAreaProvider>
2023-09-10 06:11:42 +00:00
<MenuProvider>
<NativeRouter>
<Routes>
<Route path="/" element={ <Root /> } />
<Route path="/admin" element={ <Access mode="admin" /> } />
<Route path="/dashboard" element={ <Dashboard /> } />
<Route path="/login" element={ <Access mode="login" /> } />
<Route path="/reset" element={ <Access mode="reset" /> } />
<Route path="/create" element={ <Access mode="create" /> } />
<Route path="/session" element={ <Session sharing={sharing} clearSharing={clearSharing} /> } />
</Routes>
<Prompt />
</NativeRouter>
</MenuProvider>
2023-09-05 21:20:47 +00:00
</SafeAreaProvider>
</AppContextProvider>
</DisplayContextProvider>
</ConversationContextProvider>
</ProfileContextProvider>
</AccountContextProvider>
</ChannelContextProvider>
</CardContextProvider>
</RingContextProvider>
2022-10-07 05:52:28 +00:00
</UploadContextProvider>
</StoreContextProvider>
2022-01-14 07:59:53 +00:00
);
2022-09-06 21:38:53 +00:00
}
2022-01-14 07:59:53 +00:00