Web: fix Edit Profile discard warning when pressing backdrop (#8824)
* Web: fix Edit Profile discard warning * cleanup imports
This commit is contained in:
committed by
GitHub
parent
c12fd4482e
commit
8dcf1825ec
@@ -8,7 +8,6 @@ import {urls} from '#/lib/constants'
|
||||
import {cleanError} from '#/lib/strings/errors'
|
||||
import {useWarnMaxGraphemeCount} from '#/lib/strings/helpers'
|
||||
import {logger} from '#/logger'
|
||||
import {isWeb} from '#/platform/detection'
|
||||
import {type ImageMeta} from '#/state/gallery'
|
||||
import {useProfileUpdateMutation} from '#/state/queries/profile'
|
||||
import {ErrorMessage} from '#/view/com/util/error/ErrorMessage'
|
||||
@@ -44,20 +43,6 @@ export function EditProfileDialog({
|
||||
const cancelControl = Dialog.useDialogControl()
|
||||
const [dirty, setDirty] = useState(false)
|
||||
|
||||
// 'You might lose unsaved changes' warning
|
||||
useEffect(() => {
|
||||
if (isWeb && dirty) {
|
||||
const abortController = new AbortController()
|
||||
const {signal} = abortController
|
||||
window.addEventListener('beforeunload', evt => evt.preventDefault(), {
|
||||
signal,
|
||||
})
|
||||
return () => {
|
||||
abortController.abort()
|
||||
}
|
||||
}
|
||||
}, [dirty])
|
||||
|
||||
const onPressCancel = useCallback(() => {
|
||||
if (dirty) {
|
||||
cancelControl.open()
|
||||
@@ -73,6 +58,15 @@ export function EditProfileDialog({
|
||||
preventDismiss: dirty,
|
||||
minHeight: SCREEN_HEIGHT,
|
||||
}}
|
||||
webOptions={{
|
||||
onBackgroundPress: () => {
|
||||
if (dirty) {
|
||||
cancelControl.open()
|
||||
} else {
|
||||
control.close()
|
||||
}
|
||||
},
|
||||
}}
|
||||
testID="editProfileModal">
|
||||
<DialogInner
|
||||
profile={profile}
|
||||
|
||||
Reference in New Issue
Block a user