Rocket.Chat.ReactNative/app/lib/methods/helpers/info.ts

55 lines
1.3 KiB
TypeScript
Raw Normal View History

import { Alert } from 'react-native';
import I18n from '../../../i18n';
export const showErrorAlert = (message: string, title?: string, onPress = () => {}): void =>
2022-07-06 20:05:13 +00:00
Alert.alert(title || '', message, [{ text: 'OK', onPress }], { cancelable: true });
feat: mobile troubleshoot notifications (#5330) * feat: troubleshoot notification (#5198) * navigation done * create the icon inside roomslistview, navigation to push troubleshot and layout push troubleshoot * custom header * fix the rooms list view header icon * layout done * update the pt-br i18n * tweak on colors * feat: create notification in room view (#5250) * button and simple navigation done, missing master detail * navigation * add withTheme and colors to rightuttons * fix e2e test * feat: add troubleshooting to notifications pages (#5276) * feat: add troubleshooting to notifications pages * fix e2e test * feat: device notification settings (#5277) * iOS go to device notification setting to change the configuration * go to notification settings with android * add notifee * add the reducer and action * saga request done * add the setInAlert action * tweak at name and add focus to dispatch the request * use the foreground inside pushTroubleShoot to request the notification and fix the icon color * add the request at roomslistview didmount * remove the notification modulo from android * add patch * minor tweak * feat: test push notification (#5329) * feat: test push notification * restApi and definition * push.info and change properly the troubleshootingNotification * use the finally at try/catch * minor tweak * alert and push.info just for 6.6 * fix the react-native.config * minor tweaks * minor tweak * push.test as rest api * change the name from inAlertNotification to highlightTroubleshooting * feat: push quota * refactor the percentage state * removed the push quota feature * minor tweaks * update the link to push notification * the notification icon in the room header will appear if notifications are disabled or highlight troubleshoot is true * remove push quota texts * updated some of the push quota texts * chore: rename highlightTroubleshooting * chore: better prop naming * wip * chore: fix function name * chore: fix colors * fix: copy * chore: 💅 * chore: use fork * chore: naming * chore: fix init * chore: naming * chore: naming * Comment CE code * Use put on troubleshooting saga * Add db column * fix: check notification payload * action: organized translations * fix: push init --------- Co-authored-by: GleidsonDaniel <gleidson10daniel@hotmail.com> Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: GleidsonDaniel <GleidsonDaniel@users.noreply.github.com>
2024-03-04 11:27:24 +00:00
export const showErrorAlertWithEMessage = (e: any, title?: string): void => {
let errorMessage: string = e?.data?.error;
if (errorMessage.includes('[error-too-many-requests]')) {
const seconds = errorMessage.replace(/\D/g, '');
errorMessage = I18n.t('error-too-many-requests', { seconds });
} else {
errorMessage = I18n.isTranslated(errorMessage) ? I18n.t(errorMessage) : errorMessage;
}
showErrorAlert(errorMessage, title);
};
interface IShowConfirmationAlert {
title?: string;
message: string;
confirmationText: string;
dismissText?: string;
onPress: () => void;
onCancel?: () => void;
}
export const showConfirmationAlert = ({
title,
message,
confirmationText,
dismissText = I18n.t('Cancel'),
onPress,
onCancel
}: IShowConfirmationAlert): void =>
Alert.alert(
title || I18n.t('Are_you_sure_question_mark'),
message,
[
{
text: dismissText,
onPress: onCancel,
style: 'cancel'
},
{
text: confirmationText,
style: 'destructive',
onPress
}
],
{ cancelable: false }
);