diff --git a/src/common/MainNavBar/MainNavBar.js b/src/common/MainNavBar/MainNavBar.js index 65ffb4d4c..da3f66d4e 100644 --- a/src/common/MainNavBar/MainNavBar.js +++ b/src/common/MainNavBar/MainNavBar.js @@ -16,6 +16,8 @@ const MainNavBar = ({ className }) => { backButton={false} tabs={TABS} searchBar={true} + addonsButton={true} + fullscreenButton={true} navMenu={true} /> ); diff --git a/src/common/MetaPreview/MetaPreview.js b/src/common/MetaPreview/MetaPreview.js index b10dcfecd..065703609 100644 --- a/src/common/MetaPreview/MetaPreview.js +++ b/src/common/MetaPreview/MetaPreview.js @@ -26,7 +26,7 @@ const MetaPreview = ({ className, compact = false, id, type, name, logo = '', ba return Array.isArray(genres) ? genres.map((genre) => ({ label: genre, - href: `#/discover/${type}//${genre}` + href: `#/discover/${type}//?genre=${genre}` })) : []; diff --git a/src/common/MetaPreview/styles.less b/src/common/MetaPreview/styles.less index 95c2d3a16..056d0f42d 100644 --- a/src/common/MetaPreview/styles.less +++ b/src/common/MetaPreview/styles.less @@ -3,7 +3,6 @@ z-index: 0; display: flex; flex-direction: column; - background-color: var(--color-backgrounddarker); &.compact { .meta-info { @@ -16,8 +15,7 @@ justify-content: space-evenly; .duration, .release-info { - margin-left: 0.4em; - margin-right: 0.4em; + margin: 1rem 0.4rem; } } } @@ -42,8 +40,7 @@ height: 100%; object-fit: cover; object-position: center; - opacity: 0.8; - filter: blur(5px); + filter: blur(5px) brightness(80%); } } @@ -104,9 +101,9 @@ .action-button { flex: none; - width: 6.5rem; - height: 6.5rem; - margin: 1rem 1rem 1rem 0; + width: 6rem; + height: 6rem; + margin: 1rem 0; } } } \ No newline at end of file diff --git a/src/common/NavBar/AddonsButton/AddonsButton.js b/src/common/NavBar/AddonsButton/AddonsButton.js new file mode 100644 index 000000000..90607daeb --- /dev/null +++ b/src/common/NavBar/AddonsButton/AddonsButton.js @@ -0,0 +1,20 @@ +const React = require('react'); +const PropTypes = require('prop-types'); +const classnames = require('classnames'); +const Icon = require('stremio-icons/dom'); +const Button = require('stremio/common/Button'); +const styles = require('./styles'); + +const AddonsButton = ({ className }) => { + return ( + + ); +}; + +AddonsButton.propTypes = { + className: PropTypes.string +}; + +module.exports = AddonsButton; diff --git a/src/common/NavBar/AddonsButton/index.js b/src/common/NavBar/AddonsButton/index.js new file mode 100644 index 000000000..9ec90fa02 --- /dev/null +++ b/src/common/NavBar/AddonsButton/index.js @@ -0,0 +1,3 @@ +const AddonsButton = require('./AddonsButton'); + +module.exports = AddonsButton; diff --git a/src/common/NavBar/AddonsButton/styles.less b/src/common/NavBar/AddonsButton/styles.less new file mode 100644 index 000000000..48715fc05 --- /dev/null +++ b/src/common/NavBar/AddonsButton/styles.less @@ -0,0 +1,17 @@ +.addons-button-container { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + + &:hover { + background-color: var(--color-secondary); + } + + .icon { + flex: none; + width: 1.6rem; + height: 1.6rem; + fill: var(--color-surfacelighter); + } +} \ No newline at end of file diff --git a/src/common/NavBar/FullscreenButton/FullscreenButton.js b/src/common/NavBar/FullscreenButton/FullscreenButton.js new file mode 100644 index 000000000..6aa93a985 --- /dev/null +++ b/src/common/NavBar/FullscreenButton/FullscreenButton.js @@ -0,0 +1,22 @@ +const React = require('react'); +const PropTypes = require('prop-types'); +const classnames = require('classnames'); +const Icon = require('stremio-icons/dom'); +const Button = require('stremio/common/Button'); +const useFullscreen = require('stremio/common/useFullscreen'); +const styles = require('./styles'); + +const FullscreenButton = ({ className }) => { + const [fullscreen, requestFullscreen, exitFullscreen] = useFullscreen(); + return ( + + ); +}; + +FullscreenButton.propTypes = { + className: PropTypes.string +}; + +module.exports = FullscreenButton; diff --git a/src/common/NavBar/FullscreenButton/index.js b/src/common/NavBar/FullscreenButton/index.js new file mode 100644 index 000000000..591e5393e --- /dev/null +++ b/src/common/NavBar/FullscreenButton/index.js @@ -0,0 +1,3 @@ +const FullscreenButton = require('./FullscreenButton'); + +module.exports = FullscreenButton; diff --git a/src/common/NavBar/FullscreenButton/styles.less b/src/common/NavBar/FullscreenButton/styles.less new file mode 100644 index 000000000..63a7e636e --- /dev/null +++ b/src/common/NavBar/FullscreenButton/styles.less @@ -0,0 +1,17 @@ +.fullscreen-button-container { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + + &:hover { + background-color: var(--color-secondary); + } + + .icon { + flex: none; + width: 1.6rem; + height: 1.6rem; + fill: var(--color-surfacelighter); + } +} \ No newline at end of file diff --git a/src/common/NavBar/NavBar.js b/src/common/NavBar/NavBar.js index d4310a4fb..f983803f6 100644 --- a/src/common/NavBar/NavBar.js +++ b/src/common/NavBar/NavBar.js @@ -1,12 +1,14 @@ const React = require('react'); const PropTypes = require('prop-types'); const classnames = require('classnames'); -const NavBarButton = require('./NavBarButton'); +const NavTabButton = require('./NavTabButton'); const SearchBar = require('./SearchBar'); +const AddonsButton = require('./AddonsButton'); +const FullscreenButton = require('./FullscreenButton'); const NavMenu = require('./NavMenu'); const styles = require('./styles'); -const NavBar = React.memo(({ className, backButton = false, tabs = [], title = '', searchBar = false, navMenu = false }) => { +const NavBar = React.memo(({ className, backButton = false, tabs = [], title = '', searchBar = false, addonsButton = false, fullscreenButton = false, navMenu = false }) => { const backButtonOnClick = React.useCallback(() => { window.history.back(); }, []); @@ -14,8 +16,8 @@ const NavBar = React.memo(({ className, backButton = false, tabs = [], title = '