item menu options added to Library ui

This commit is contained in:
NikolaBorislavovHristov 2019-12-08 17:04:31 +02:00
parent 142daed641
commit a63e4622a4
2 changed files with 35 additions and 2 deletions

View file

@ -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>
} }

View 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;