Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function * getInitialNotification () {
try {
// console.log('getInitialNotification')
const message = yield call([firebase.notifications(), 'getInitialNotification'])
if (!message) return
yield handleMessage(message.notification.data)
} catch (error) {
console.log(error)
}
}
async requestPermission() {
try {
await firebase.messaging().requestPermission();
// User has authorised
this.getToken();
} catch (error) {
// User has rejected permissions
console.log('permission rejected');
}
}
const { friend, amount, memo, currency, sendViaLink } = this.state
let success
if (sendViaLink) {
const { state: { user: { address } }, getUcacFromCurrency, sendEmailTx } = this.props
const ucac = getUcacFromCurrency(currency)
const inviteTx = new InviteTransaction({ address, amount, memo, ucac, direction, currency })
const buildLink = new firebase.links.DynamicLink(inviteTx.hash, 'lndr.page.link')
buildLink
.android.setPackageName('com.lndr')
.android.setFallbackUrl('https://play.google.com/store/apps/details?id=com.lndr')
.ios.setAppStoreId('1322487591')
.ios.setBundleId('io.lndr')
firebase.links().createDynamicLink(buildLink)
.then(url => {
Share.share({
message: `${splitExpense}: ${url}`,
url: url,
title: splitExpense
}, {
// Android only:
dialogTitle: splitExpense
})
.then( async() => {
console.log(3)
try {
console.log(4)
await submittingTransaction.wrap(sendEmailTx(inviteTx))
console.log(5)
this.clearAndGoHome(friend, { type: true })
const { friend, amount, memo, currency, nonFriend } = this.state
let success
if (nonFriend) {
try {
const { state: { user: { address } }, getUcacFromCurrency, sendEmailTx } = this.props
const ucac = getUcacFromCurrency(currency)
const inviteTx = new InviteTransaction({ address, amount, memo, ucac, direction, currency })
const buildLink = new firebase.links.DynamicLink('https://blockmason.io/lndr', 'lndr.page.link')
buildLink
.android.setPackageName('com.lndr')
.ios.setAppStoreId('1322487591')
.ios.setBundleId('io.lndr')
const url = await firebase.links().createShortDynamicLink(buildLink, "SHORT")
const { action } : any = await Share.share({
message: `${splitExpense}: ${url}?hash=${inviteTx.hash}`,
title: splitExpense
}, {
dialogTitle: splitExpense // Android only
})
if (action === Share.sharedAction) {
await submittingTransaction.wrap(sendEmailTx(inviteTx))
this.clearAndGoHome(friend, { type: true })
}
} catch(error) {
console.log('ERROR SENDING EMAIL TRANSACTION: ', error)
}
} else {
import Settings from "./src/pages/Settings";
import About from "./src/pages/About";
import Privacy from "./src/pages/Privacy";
import NewGame from "./src/pages/NewGame";
import SplashScreen from "react-native-splash-screen";
type Props = {};
let game = Game.prototype.initializeGame();
const blankFEN = game.FEN;
// Set up Firebase
firebase.perf().setPerformanceCollectionEnabled(true);
// Set up AdMob
firebase.admob().initialize("ca-app-pub-3522556458609123~4498098193");
let interstitial = firebase
.admob()
.interstitial("ca-app-pub-3522556458609123/5974831399");
let AdRequest = firebase.admob.AdRequest;
// request.addKeyword('foo').addKeyword('bar');
interstitial.loadAd(new AdRequest().build());
interstitial.on("onAdClosed", () => {
interstitial.loadAd(new AdRequest().build());
});
let language = NativeModules.I18nManager.localeIdentifier.split(`_`)[0];
firebase.crashlytics().setStringValue("initial_language", language);
const supportedLangs = Object.keys(strings.languages);
if (!includes(supportedLangs, language)) language = "en";
const supportedPalettes = Object.keys(colorPalettes);
import Play from "./src/pages/Play";
import Settings from "./src/pages/Settings";
import About from "./src/pages/About";
import Privacy from "./src/pages/Privacy";
import NewGame from "./src/pages/NewGame";
import SplashScreen from "react-native-splash-screen";
type Props = {};
let game = Game.prototype.initializeGame();
const blankFEN = game.FEN;
// Set up Firebase
firebase.perf().setPerformanceCollectionEnabled(true);
// Set up AdMob
firebase.admob().initialize("ca-app-pub-3522556458609123~4498098193");
let interstitial = firebase
.admob()
.interstitial("ca-app-pub-3522556458609123/5974831399");
let AdRequest = firebase.admob.AdRequest;
// request.addKeyword('foo').addKeyword('bar');
interstitial.loadAd(new AdRequest().build());
interstitial.on("onAdClosed", () => {
interstitial.loadAd(new AdRequest().build());
});
let language = NativeModules.I18nManager.localeIdentifier.split(`_`)[0];
firebase.crashlytics().setStringValue("initial_language", language);
const supportedLangs = Object.keys(strings.languages);
if (!includes(supportedLangs, language)) language = "en";
import { strings, colorPalettes } from "./src/config";
import NavigationContext from "./src/components/NavigationContext";
import Play from "./src/pages/Play";
import Settings from "./src/pages/Settings";
import About from "./src/pages/About";
import Privacy from "./src/pages/Privacy";
import NewGame from "./src/pages/NewGame";
import SplashScreen from "react-native-splash-screen";
type Props = {};
let game = Game.prototype.initializeGame();
const blankFEN = game.FEN;
// Set up Firebase
firebase.perf().setPerformanceCollectionEnabled(true);
// Set up AdMob
firebase.admob().initialize("ca-app-pub-3522556458609123~4498098193");
let interstitial = firebase
.admob()
.interstitial("ca-app-pub-3522556458609123/5974831399");
let AdRequest = firebase.admob.AdRequest;
// request.addKeyword('foo').addKeyword('bar');
interstitial.loadAd(new AdRequest().build());
interstitial.on("onAdClosed", () => {
interstitial.loadAd(new AdRequest().build());
});
let language = NativeModules.I18nManager.localeIdentifier.split(`_`)[0];
firebase.crashlytics().setStringValue("initial_language", language);
return async (dispatch: Function, getState: Function) => { // eslint-disable-line
const notificationOpen = await firebase.notifications().getInitialNotification();
if (notificationOpen) {
checkForSupportAlert(notificationOpen.notification._data);
const { type, navigationParams } = processNotification(notificationOpen.notification._data) || {};
const notificationRoute = NOTIFICATION_ROUTES[type] || null;
updateNavigationLastScreenState({
lastActiveScreen: notificationRoute,
lastActiveScreenParams: navigationParams,
});
firebase.notifications().setBadge(0);
}
if (notificationsOpenerListener) return;
notificationsOpenerListener = firebase.notifications().onNotificationOpened((message) => {
checkForSupportAlert(message.notification._data);
firebase.notifications().setBadge(0);
const pathAndParams = getNavigationPathAndParamsState();
if (!pathAndParams) return;
async componentDidMount(){
// Build a channel
const channel = new firebase.notifications.Android.Channel('test-channel', 'Test Channel', firebase.notifications.Android.Importance.Max)
.setDescription('My apps test channel');
// Create the channel
firebase.notifications().android.createChannel(channel);
registerAppListener(this.props.navigation);
firebase.notifications().getInitialNotification()
.then((notificationOpen: NotificationOpen) => {
if (notificationOpen) {
// Get information about the notification that was opened
const notif: Notification = notificationOpen.notification;
this.setState({
initNotif: notif.data
})
if(notif && notif.targetScreen === 'detail'){
setTimeout(()=>{
this.props.navigation.navigate('Detail')
}, 500)
}
}
createNotificationChannel = () => {
// Build a android notification channel
const channel = new firebase.notifications.Android.Channel(
'reminder',
'Reminders Channel',
firebase.notifications.Android.Importance.High
).setDescription('Used for getting reminder notification');
// Create the android notification channel
firebase.notifications().android.createChannel(channel);
};