MainNavBars applied to Search

This commit is contained in:
nklhrstv 2020-02-25 16:55:05 +02:00
parent 88075232bc
commit 905be0c7bd
3 changed files with 20 additions and 43 deletions

View file

@ -10,12 +10,13 @@ const TABS = [
{ id: 'library', label: 'Library', icon: 'ic_library', href: '#/library' }
];
const MainNavBars = React.memo(({ className, route, children }) => {
const MainNavBars = React.memo(({ className, route, query, children }) => {
return (
<div className={classnames(className, styles['main-nav-bars-container'])}>
<HorizontalNavBar
className={styles['horizontal-nav-bar']}
route={route}
query={query}
backButton={false}
searchBar={true}
addonsButton={true}
@ -37,6 +38,7 @@ MainNavBars.displayName = 'MainNavBars';
MainNavBars.propTypes = {
className: PropTypes.string,
route: PropTypes.string,
query: PropTypes.string,
children: PropTypes.node
};

View file

@ -1,37 +1,26 @@
const React = require('react');
const PropTypes = require('prop-types');
const Icon = require('stremio-icons/dom');
const { HorizontalNavBar, MainVerticalNavBar, MetaRow } = require('stremio/common');
const { MainNavBars, MetaRow } = require('stremio/common');
const useSearch = require('./useSearch');
const styles = require('./styles');
const Search = ({ queryParams }) => {
const search = useSearch(queryParams);
return (
<div className={styles['search-container']}>
<HorizontalNavBar
className={styles['horizontal-nav-bar']}
route={'search'}
query={
search.selected !== null ?
search.selected.extra.reduce((query, [name, value]) => {
if (name === 'search') {
return value;
}
return query;
}, null)
:
null
const query = React.useMemo(() => {
return search.selected !== null ?
search.selected.extra.reduce((query, [name, value]) => {
if (name === 'search') {
return value;
}
backButton={false}
searchBar={true}
addonsButton={true}
fullscreenButton={true}
notificationsMenu={true}
navMenu={true}
/>
<MainVerticalNavBar className={styles['vertical-nav-bar']} route={'search'} />
return query;
}, null)
:
null;
}, [search.selected]);
return (
<MainNavBars className={styles['search-container']} route={'search'} query={query}>
<div className={styles['search-content']}>
{
search.selected === null || search.selected.extra.every(([name]) => name !== 'search') ?
@ -89,7 +78,7 @@ const Search = ({ queryParams }) => {
})
}
</div>
</div>
</MainNavBars>
);
};

View file

@ -12,27 +12,13 @@
}
.search-container {
display: grid;
width: 100%;
height: 100%;
grid-template-columns: auto 1fr;
grid-template-rows: auto 1fr;
grid-template-areas:
"horizontal-nav-bar horizontal-nav-bar"
"vertical-nav-bar search-content";
background-color: @color-background-dark2;
.horizontal-nav-bar {
grid-area: horizontal-nav-bar;
}
.vertical-nav-bar {
grid-area: vertical-nav-bar;
}
.search-content {
grid-area: search-content;
width: 100%;
height: 100%;
overflow-y: auto;
.search-row, .search-row-placeholder {