import { createGlobalState, useDevicesList, useLocalStorage } from '@vueuse/core' export const usePreferences = createGlobalState(() => { const inputDeviceId = useLocalStorage('INPUT_DEVICE_ID', 'default') const outputDeviceId = useLocalStorage('OUTPUT_DEVICE_ID', 'default') const autoGainControl = useLocalStorage('AUTO_GAIN_CONTROL', false) const noiseSuppression = useLocalStorage('NOISE_SUPPRESSION', true) const echoCancellation = useLocalStorage('ECHO_CANCELLATION', true) const { ensurePermissions, permissionGranted, videoInputs, audioInputs, audioOutputs, } = useDevicesList() return { inputDeviceId, outputDeviceId, autoGainControl, noiseSuppression, echoCancellation, videoInputs, audioInputs, audioOutputs, } })