mirror of
https://github.com/Jellify-Music/App.git
synced 2026-04-23 19:39:35 -05:00
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import _ from 'lodash'
|
|
import React from 'react'
|
|
import Navigation from './navigation'
|
|
import Login from './Login/component'
|
|
import { JellyfinAuthenticationProvider } from './Login/provider'
|
|
import { PlayerProvider } from '../player/provider'
|
|
import { useColorScheme } from 'react-native'
|
|
import { PortalProvider } from '@tamagui/portal'
|
|
import { JellifyProvider, useJellifyContext } from './provider'
|
|
import { ToastProvider } from '@tamagui/toast'
|
|
import { JellifyUserDataProvider } from './user-data-provider'
|
|
|
|
export default function Jellify(): React.JSX.Element {
|
|
return (
|
|
<PortalProvider shouldAddRootHost>
|
|
<ToastProvider burntOptions={{ from: 'top' }}>
|
|
<JellifyProvider>
|
|
<App />
|
|
</JellifyProvider>
|
|
</ToastProvider>
|
|
</PortalProvider>
|
|
)
|
|
}
|
|
|
|
function App(): React.JSX.Element {
|
|
const isDarkMode = useColorScheme() === 'dark'
|
|
const { loggedIn } = useJellifyContext()
|
|
|
|
return loggedIn ? (
|
|
<JellifyUserDataProvider>
|
|
<PlayerProvider>
|
|
<Navigation />
|
|
</PlayerProvider>
|
|
</JellifyUserDataProvider>
|
|
) : (
|
|
<JellyfinAuthenticationProvider>
|
|
<Login />
|
|
</JellyfinAuthenticationProvider>
|
|
)
|
|
}
|