mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-03-11 21:27:05 +00:00
MainNavBars applied to Search
This commit is contained in:
parent
88075232bc
commit
905be0c7bd
3 changed files with 20 additions and 43 deletions
|
|
@ -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
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in a new issue