mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-21 03:22:11 +00:00
item menu options added to Library ui
This commit is contained in:
parent
142daed641
commit
a63e4622a4
2 changed files with 35 additions and 2 deletions
|
|
@ -2,12 +2,14 @@ const React = require('react');
|
||||||
const classnames = require('classnames');
|
const classnames = require('classnames');
|
||||||
const { Button, Multiselect, MainNavBar, MetaItem } = require('stremio/common');
|
const { Button, Multiselect, MainNavBar, MetaItem } = require('stremio/common');
|
||||||
const useLibrary = require('./useLibrary');
|
const useLibrary = require('./useLibrary');
|
||||||
|
const useItemOptions = require('./useItemOptions');
|
||||||
const useSelectableInputs = require('./useSelectableInputs');
|
const useSelectableInputs = require('./useSelectableInputs');
|
||||||
const styles = require('./styles');
|
const styles = require('./styles');
|
||||||
|
|
||||||
const Library = ({ urlParams, queryParams }) => {
|
const Library = ({ urlParams, queryParams }) => {
|
||||||
const library = useLibrary(urlParams, queryParams);
|
const library = useLibrary(urlParams, queryParams);
|
||||||
const [typeSelect, sortPropSelect] = useSelectableInputs(library);
|
const [typeSelect, sortPropSelect] = useSelectableInputs(library);
|
||||||
|
const [options, optionOnSelect] = useItemOptions();
|
||||||
return (
|
return (
|
||||||
<div className={styles['library-container']}>
|
<div className={styles['library-container']}>
|
||||||
<MainNavBar className={styles['nav-bar']} />
|
<MainNavBar className={styles['nav-bar']} />
|
||||||
|
|
@ -51,8 +53,14 @@ const Library = ({ urlParams, queryParams }) => {
|
||||||
</div>
|
</div>
|
||||||
:
|
:
|
||||||
<div className={styles['meta-items-container']}>
|
<div className={styles['meta-items-container']}>
|
||||||
{library.lib_items.map((libItem, index) => (
|
{library.lib_items.map(({ id, videoId, ...libItem }, index) => (
|
||||||
<MetaItem {...libItem} key={index} />
|
<MetaItem
|
||||||
|
{...libItem}
|
||||||
|
key={index}
|
||||||
|
dataset={{ id, videoId, type: libItem.type }}
|
||||||
|
options={options}
|
||||||
|
optionOnSelect={optionOnSelect}
|
||||||
|
/>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
|
||||||
25
src/routes/Library/useItemOptions.js
Normal file
25
src/routes/Library/useItemOptions.js
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
const React = require('react');
|
||||||
|
|
||||||
|
const PLAY_OPTION = {
|
||||||
|
label: 'Play',
|
||||||
|
value: 'play'
|
||||||
|
};
|
||||||
|
|
||||||
|
const DISMISS_OPTION = {
|
||||||
|
label: 'Dismiss',
|
||||||
|
value: 'dismiss'
|
||||||
|
};
|
||||||
|
|
||||||
|
const onSelect = (event) => {
|
||||||
|
// TODO {{event.value}} {{event.dataset}}
|
||||||
|
};
|
||||||
|
|
||||||
|
const useItemOptions = () => {
|
||||||
|
const options = React.useMemo(() => ([
|
||||||
|
PLAY_OPTION,
|
||||||
|
DISMISS_OPTION
|
||||||
|
]), []);
|
||||||
|
return [options, onSelect];
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = useItemOptions;
|
||||||
Loading…
Reference in a new issue