mirror of
https://github.com/modrinth/code.git
synced 2026-08-31 03:55:59 +00:00
* feat: prefs frontend * fix: DI issue * fix: lint * feat: appearance settings cleanup + fix settings, remove pinia * fix: sync btn when logged out * fix: prepr * fix: sidebar issue * feat: language coverage + cleanup * feat: cleanup lang settings * fix: fmt * fix: CI * fix: ci * fix: storybook * feat: bring back loader/game version sort --------- Co-authored-by: tdgao <mr.trumgao@gmail.com>
33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
import { provideNotificationManager, setupUserPreferencesProvider } from '@modrinth/ui'
|
|
|
|
import { FrontendNotificationManager } from './frontend-notifications'
|
|
import { setupAuthProvider } from './setup/auth'
|
|
import { setupFilePickerProvider } from './setup/file-picker'
|
|
import { setupLoadingStateProvider } from './setup/loading-state'
|
|
import { setupModrinthClientProvider } from './setup/modrinth-client'
|
|
import { setupPageContextProvider } from './setup/page-context'
|
|
import { setupTagsProvider } from './setup/tags'
|
|
import { setupUserCountryProvider } from './setup/user-country'
|
|
|
|
export function setupProviders(auth: Awaited<ReturnType<typeof useAuth>>) {
|
|
const notificationManager = new FrontendNotificationManager()
|
|
provideNotificationManager(notificationManager)
|
|
|
|
const authProvider = setupAuthProvider(auth)
|
|
const client = setupModrinthClientProvider(auth)
|
|
const userPreferences = setupUserPreferencesProvider({
|
|
auth: authProvider,
|
|
getPreferences: (userId) => client.labrinth.users_v3.getPreferences(userId),
|
|
patchPreferences: (userId, preferences) =>
|
|
client.labrinth.users_v3.patchPreferences(userId, preferences),
|
|
notificationManager,
|
|
})
|
|
setupTagsProvider()
|
|
setupFilePickerProvider()
|
|
setupPageContextProvider()
|
|
setupLoadingStateProvider()
|
|
setupUserCountryProvider()
|
|
|
|
return userPreferences
|
|
}
|