forked from Ivasoft/mattermost-mobile
* update dependencies * update dependencies * feedback review * update @mattermost/react-native-turbo-mailer
57 lines
2.3 KiB
TypeScript
57 lines
2.3 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import {Alert} from 'react-native';
|
|
|
|
import {PUSH_PROXY_RESPONSE_NOT_AVAILABLE, PUSH_PROXY_RESPONSE_UNKNOWN, PUSH_PROXY_STATUS_NOT_AVAILABLE, PUSH_PROXY_STATUS_UNKNOWN, PUSH_PROXY_STATUS_VERIFIED} from '@constants/push_proxy';
|
|
import EphemeralStore from '@store/ephemeral_store';
|
|
|
|
import type {IntlShape} from 'react-intl';
|
|
|
|
export function canReceiveNotifications(serverUrl: string, verification: string, intl: IntlShape) {
|
|
switch (verification) {
|
|
case PUSH_PROXY_RESPONSE_NOT_AVAILABLE:
|
|
EphemeralStore.setPushProxyVerificationState(serverUrl, PUSH_PROXY_STATUS_NOT_AVAILABLE);
|
|
alertPushProxyError(intl);
|
|
break;
|
|
case PUSH_PROXY_RESPONSE_UNKNOWN:
|
|
EphemeralStore.setPushProxyVerificationState(serverUrl, PUSH_PROXY_STATUS_UNKNOWN);
|
|
alertPushProxyUnknown(intl);
|
|
break;
|
|
default:
|
|
EphemeralStore.setPushProxyVerificationState(serverUrl, PUSH_PROXY_STATUS_VERIFIED);
|
|
}
|
|
}
|
|
|
|
export function alertPushProxyError(intl: IntlShape) {
|
|
Alert.alert(
|
|
intl.formatMessage({
|
|
id: 'alert.push_proxy_error.title',
|
|
defaultMessage: 'Notifications cannot be received from this server',
|
|
}),
|
|
intl.formatMessage({
|
|
id: 'alert.push_proxy_error.description',
|
|
defaultMessage: 'Due to the configuration for this server, notifications cannot be received in the mobile app. Contact your system admin for more information.',
|
|
}),
|
|
[{
|
|
text: intl.formatMessage({id: 'alert.push_proxy.button', defaultMessage: 'Okay'}),
|
|
}],
|
|
);
|
|
}
|
|
|
|
export function alertPushProxyUnknown(intl: IntlShape) {
|
|
Alert.alert(
|
|
intl.formatMessage({
|
|
id: 'alert.push_proxy_unknown.title',
|
|
defaultMessage: 'Notifications could not be received from this server',
|
|
}),
|
|
intl.formatMessage({
|
|
id: 'alert.push_proxy_unknown.description',
|
|
defaultMessage: 'This server was unable to receive push notifications for an unknown reason. This will be attempted again next time you connect.',
|
|
}),
|
|
[{
|
|
text: intl.formatMessage({id: 'alert.push_proxy.button', defaultMessage: 'Okay'}),
|
|
}],
|
|
);
|
|
}
|