Files
supabase/apps/studio/state/database-settings.tsx
Charis 333175b17b refactor: switch to @ imports and enforce sorting for studio/state (#44523)
* **Refactor**
* Updated internal module import paths to use standardized alias
conventions across the codebase.
  * Reorganized import statement ordering for improved code consistency.
2026-04-06 13:36:05 +00:00

40 lines
1.2 KiB
TypeScript

import { useConstant } from 'common'
import { createContext, PropsWithChildren, useContext } from 'react'
import { proxy, useSnapshot } from 'valtio'
export function createDatabaseSettingsState() {
const state = proxy({
usePoolerConnection: true,
setUsePoolerConnection: (value: boolean) => {
state.usePoolerConnection = value
},
showPoolingModeHelper: false,
setShowPoolingModeHelper: (value: boolean) => {
state.showPoolingModeHelper = value
},
})
return state
}
export type DatabaseSettingsState = ReturnType<typeof createDatabaseSettingsState>
export const DatabaseSettingsStateContext = createContext<DatabaseSettingsState>(
createDatabaseSettingsState()
)
export const DatabaseSettingsStateContextProvider = ({ children }: PropsWithChildren) => {
const state = useConstant(createDatabaseSettingsState)
return (
<DatabaseSettingsStateContext.Provider value={state}>
{children}
</DatabaseSettingsStateContext.Provider>
)
}
export function useDatabaseSettingsStateSnapshot(options?: Parameters<typeof useSnapshot>[1]) {
const state = useContext(DatabaseSettingsStateContext)
return useSnapshot(state, options)
}