mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-08-19 14:35:53 +00:00
useCoreEvent dropped
This commit is contained in:
parent
2d08c886c9
commit
c31c4f4fdf
3 changed files with 26 additions and 38 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -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']}>
|
||||
|
|
|
|||
Loading…
Reference in a new issue