import * as React from "react"
import styled from "styled-components"
import { Icon as BaseIcon } from "../.."
import breakpoint from "styled-components-breakpoint"
import * as NavItem from "./Nav/NavItem"
import * as Navbar from "./Nav/NavBar"
import UserInfo from "./UserInfo"
import Notification from "./Notification"
import withLink from "./withLink"
import { Link as JamplayNewLink } from "jamplay-common/routing"
import Drawer from "./Drawer"
import { SearchTextInputStandalone } from "../SearchTextInput"
import withTranslate from "jamplay-common/i18n/withTranslate"
import { withRouter } from "next/router"
const Icon = styled(BaseIcon).attrs({ className: "jamplay-icon" })`
color: ${(props) => props.theme.darkOrange};
${breakpoint("tablet-landscape")`
color: white;
`} margin-right: 15px;
font-size: 1rem;
cursor: pointer;
`
const NavItemCenterMenu = styled(NavItem.Primary)`
margin: 0 20px;
font-size: 1rem;
font-weight: normal;
cursor: pointer;
transition: all 0.22s ease-in-out;
&:hover {
opacity: 0.8;
transform: translateY(-3px);
}
${breakpoint("mobile")`
margin: 0;
width: 40px;
color: ${(props) => props.theme.darkOrange};
&.hide-on-mobile {
display: none;
}
span {
display: none;
}
`} ${breakpoint("tablet-landscape")`
color: ${(props) => props.theme.white};
width: auto;
display: block;
margin: 0 20px;
&.hide-on-mobile {
display: block;
}
span {
display: block;
}
`};
`
const SectionCenter = styled(Navbar.Section)`
flex: 1 0 auto;
margin-left: 21px;
${breakpoint("mobile")`
justify-content: flex-end;
`} ${breakpoint("tablet-landscape")`
justify-content: center;
`}
@media screen and (max-width:950px) {
margin-left: 0px;
}
`
const UserSection = styled(Navbar.Section)`
padding-left: 40px;
${breakpoint("mobile")`
padding: 0;
`};
`
const LogoContainer = styled.div`
cursor: pointer;
@media screen and (max-width: 950px) {
width: 140px;
background-size: contain;
background-position: center;
}
`
const LogoJamsai = () =>
export const NavigationbarLayout = withLink(
({ onHamburgerClick, children, noHamburger, Link }: any) => {
return (
{!noHamburger ? (
) : null}
{children}
)
}
) as any
const MenuIcon = styled(Icon)`
font-size: 1.3rem;
`
const NavigationContainer = styled.div`
z-index: 3;
border-bottom: 1px solid rgba(0, 0, 0, 0.15);
background: ${(props) => props.theme.pumpkin};
background-clip: border-box;
box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.13);
.NavigationBar__search-wrapper {
flex: 1 1 auto;
margin-left: 13px;
${breakpoint("tablet")`
margin-right: 13px
`};
.SearchTextInput {
width: 100%;
}
.SuggestionResultDialog__wrapper {
box-shadow: 2px 2px 5px rgba(3, 3, 3, 0.1);
}
h6 {
margin: 8px 0;
}
.SearchTextInputContainer__input-wrap .jamplay-icon {
background-color: rgba(255, 255, 255, 0.3);
border-radius: 0px 5px 5px 0px;
}
input {
color: white;
margin: 0;
background-color: rgba(255, 255, 255, 0.2);
border: none;
border-radius: 5px 0px 0 5px;
&::placeholder {
color: rgba(255, 255, 255, 0.6);
}
&:focus {
outline: none;
border: none;
box-shadow: none;
}
}
}
.NavigationBar__menu-wrapper {
flex: 0 0 auto;
}
.NavigationBar__menu-wrapper {
display: flex;
}
.hide-on-mobile {
${breakpoint("mobile")`
display: none;
`} ${breakpoint("tablet")`
display: block;
`};
}
.show-on-mobile {
${breakpoint("mobile")`
display: block;
`} ${breakpoint("tablet")`
display: none;
`};
}
.NavigationBar__search-wrapper.show-on-mobile {
margin: 5px 8px;
}
`
@(withRouter as any)
@withTranslate
class Component extends React.Component<
{
Link: any
isLoggedIn: boolean
style?: any
className?: string
streamUrl: string
coreGraphQLUrl?: string
} & withTranslatePropType
> {
public state: {
showDrawer: boolean
} = { showDrawer: false }
public showDrawer = () => this.setState({ showDrawer: true })
public hideDrawer = () => this.setState({ showDrawer: false })
public render() {
const { router } = this.props as any
const Link = this.props.Link
if (!this.props.t) {
throw Error("translate not defined")
}
return (
{this.props.t("trendy")}
{this.props.t("recently")}
{this.props.t("write-book")}
{this.props.isLoggedIn ? (
) : null}
)
}
}
// tslint:disable
export class OnlyLogoNavbar extends React.Component<
{
style?: any
className?: string
}
> {
public render() {
return (
)
}
}
export default withLink(Component)