useCoreEvent dropped

This commit is contained in:
nklhrstv 2020-03-24 16:12:27 +02:00
parent 2d08c886c9
commit c31c4f4fdf
3 changed files with 26 additions and 38 deletions

View file

@ -22,7 +22,6 @@ const languageNames = require('./languageNames');
const routesRegexp = require('./routesRegexp');
const useAnimationFrame = require('./useAnimationFrame');
const useBinaryState = require('./useBinaryState');
const useCoreEvent = require('./useCoreEvent');
const useDeepEqualEffect = require('./useDeepEqualEffect');
const useDeepEqualMemo = require('./useDeepEqualMemo');
const useDeepEqualState = require('./useDeepEqualState');
@ -59,7 +58,6 @@ module.exports = {
routesRegexp,
useAnimationFrame,
useBinaryState,
useCoreEvent,
useDeepEqualEffect,
useDeepEqualMemo,
useDeepEqualState,

View file

@ -1,18 +0,0 @@
const React = require('react');
const { useRouteFocused } = require('stremio-router');
const { useServices } = require('stremio/services');
const useCoreEvent = (onEvent) => {
const { core } = useServices();
const routeFocused = useRouteFocused();
React.useLayoutEffect(() => {
if (routeFocused) {
core.on('Event', onEvent);
}
return () => {
core.off('Event', onEvent);
};
}, [routeFocused, onEvent]);
};
module.exports = useCoreEvent;

View file

@ -3,7 +3,7 @@ const PropTypes = require('prop-types');
const classnames = require('classnames');
const Icon = require('stremio-icons/dom');
const { Modal, useRouteFocused } = require('stremio-router');
const { Button, Image, useBinaryState, useCoreEvent } = require('stremio/common');
const { Button, Image, useBinaryState } = require('stremio/common');
const { useServices } = require('stremio/services');
const CredentialsTextInput = require('./CredentialsTextInput');
const ConsentCheckbox = require('./ConsentCheckbox');
@ -74,23 +74,6 @@ const Intro = ({ queryParams }) => {
error: ''
}
);
useCoreEvent(React.useCallback(({ event, args }) => {
switch (event) {
case 'UserAuthenticated': {
closeLoaderModal();
window.location.replace('#/');
break;
}
case 'Error': {
if (args.source.event === 'UserAuthenticated') {
// TODO use error.code to match translated message;
closeLoaderModal();
dispatch({ type: 'error', error: args.error.message });
}
break;
}
}
}, []));
const loginWithFacebook = React.useCallback(() => {
FB.login((response) => {
if (response.status === 'connected') {
@ -265,6 +248,31 @@ const Intro = ({ queryParams }) => {
emailRef.current.focus();
}
}, [state.form, routeFocused]);
React.useEffect(() => {
const onEvent = ({ event, args }) => {
switch (event) {
case 'UserAuthenticated': {
closeLoaderModal();
window.location.replace('#/');
break;
}
case 'Error': {
if (args.source.event === 'UserAuthenticated') {
closeLoaderModal();
dispatch({ type: 'error', error: args.error.message });
}
break;
}
}
};
if (routeFocused) {
core.on('Event', onEvent);
}
return () => {
core.off('Event', onEvent);
};
}, [routeFocused]);
return (
<div className={styles['intro-container']}>
<div className={styles['form-container']}>