diff options
Diffstat (limited to 'src/view/com/util/Alert.web.tsx')
-rw-r--r-- | src/view/com/util/Alert.web.tsx | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/view/com/util/Alert.web.tsx b/src/view/com/util/Alert.web.tsx new file mode 100644 index 000000000..94ccc7e43 --- /dev/null +++ b/src/view/com/util/Alert.web.tsx @@ -0,0 +1,23 @@ +import {AlertButton, AlertStatic} from 'react-native' + +class WebAlert implements Pick<AlertStatic, 'alert'> { + public alert(title: string, message?: string, buttons?: AlertButton[]): void { + if (buttons === undefined || buttons.length === 0) { + window.alert([title, message].filter(Boolean).join('\n')) + return + } + + const result = window.confirm([title, message].filter(Boolean).join('\n')) + + if (result === true) { + const confirm = buttons.find(({style}) => style !== 'cancel') + confirm?.onPress?.() + return + } + + const cancel = buttons.find(({style}) => style === 'cancel') + cancel?.onPress?.() + } +} + +export const Alert = new WebAlert() |