mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-20 06:32:11 +00:00
ModalsContainerContext used in Toast component
This commit is contained in:
parent
850f6ce399
commit
a8907ffac5
2 changed files with 15 additions and 4 deletions
|
|
@ -1,12 +1,15 @@
|
|||
const React = require('react');
|
||||
const classnames = require('classnames');
|
||||
const { Modal } = require('stremio-router');
|
||||
const ModalsContainerContext = require('stremio-router/ModalsContainerContext/ModalsContainerContext');
|
||||
const { useToastsContainer } = require('../ToastsContainerContext');
|
||||
const ToastItem = require('./ToastItem');
|
||||
const styles = require('./styles');
|
||||
|
||||
const DEFAULT_TIMEOUT = 2000;
|
||||
|
||||
const Toast = React.forwardRef(({ className }, ref) => {
|
||||
const toastsContainer = useToastsContainer();
|
||||
const [toastItems, dispatch] = React.useReducer(
|
||||
(state, action) => {
|
||||
switch (action.type) {
|
||||
|
|
@ -45,9 +48,11 @@ const Toast = React.forwardRef(({ className }, ref) => {
|
|||
|
||||
React.useImperativeHandle(ref, () => ({ show, hideAll }));
|
||||
return toastItems.length === 0 ? null : (
|
||||
<Modal className={classnames(className, styles['toast-container'])} disabled={true}>
|
||||
{toastItems.map((item, index) => (<ToastItem {...item} key={index} />))}
|
||||
</Modal>
|
||||
<ModalsContainerContext.Provider value={toastsContainer}>
|
||||
<Modal className={classnames(className, styles['toast-container'])} disabled={true}>
|
||||
{toastItems.map((item, index) => (<ToastItem {...item} key={index} />))}
|
||||
</Modal>
|
||||
</ModalsContainerContext.Provider>
|
||||
);
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,10 @@
|
|||
.toast-container {
|
||||
pointer-events: none;
|
||||
--nav-bar-size: 3.2rem;
|
||||
position: absolute;
|
||||
top: var(--nav-bar-size);
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: auto !important;
|
||||
z-index: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
Loading…
Reference in a new issue