328aa2be94
* Add blocking announcement dialog feature * WIP custom dialog * Rework dialog and add native FocusScope * Lock scroll on web, fix backdrop * Add web FocusScope * Create custom Outlet for these announcements * Clean up FocusScope native impl * Comments * Some styling fixes * Handle screen reader specifically * Clean up state, remove Portal edits * Reorg, rename * Add syncing, tests * Revert dialog updates * Revert formatting * Delete unused file * Format * Add FullWindowOverlay * remove mmkv storage in debug btn * Add debug code * fix taps passing through on iOS * Reorg * Reorg, rename everything * Complete policy update after signup * Add logger * Move context around, unmount portals on native * Move a11y prop into FocusScope * Remove useMemo * Update dates * Move debug to dev settings * Unmount web portals until policy update completed * UPdate dates --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
22 lines
730 B
TypeScript
22 lines
730 B
TypeScript
import {useCallback} from 'react'
|
|
|
|
import {ACTIVE_UPDATE_ID} from '#/components/PolicyUpdateOverlay/config'
|
|
import {logger} from '#/components/PolicyUpdateOverlay/logger'
|
|
import {device, useStorage} from '#/storage'
|
|
|
|
/*
|
|
* Marks the active policy update as completed in device storage.
|
|
* `usePolicyUpdateState` will react to this and replicate this status in the
|
|
* server NUX state for this account.
|
|
*/
|
|
export function usePreemptivelyCompleteActivePolicyUpdate() {
|
|
const [_completedForDevice, setCompletedForDevice] = useStorage(device, [
|
|
ACTIVE_UPDATE_ID,
|
|
])
|
|
|
|
return useCallback(() => {
|
|
logger.debug(`preemptively completing active policy update`)
|
|
setCompletedForDevice(true)
|
|
}, [setCompletedForDevice])
|
|
}
|