{"version":3,"sources":["components/Swiper/styles.js","components/Swiper/Swiper.js","components/MovieContainer/MovieContainer.js","pages/MovieHome/MovieHome.js","components/PlayButton/PlayButton.js","components/MovieAlbumItem/MovieAlbumItem.js","components/MovieAlbum/styles.js","images/icons/camera.svg","components/WideVideoAlbumItem/WideVideoAlbumItem.js","components/MovieAlbum/MovieAlbum.js","components/MovieContainer/mock.js","components/MovieMenu/styles.js","components/MovieMenu/MovieMenu.js"],"names":["makeStyles","theme","themeColor","banner","maxWidth","height","PagSwiper","props","classes","useStyles","banners","useHomeInfo","className","key","length","initialSlide","spaceBetween","slidesPerView","navigation","mousewheel","pagination","clickable","scrollbar","draggable","autoplay","loop","map","id","href","link","undefined","target","src","getOptimizedImgUrl","url","image","ext","alt","SwiperCore","use","Navigation","Pagination","Scrollbar","Mousewheel","Autoplay","A11y","createStyles","album","marginBottom","spacing","MovieContainer","slots","slot","MovieAlbum","hideTitleIcon","hoverEnlargePoster","content","margin","marginTop","menu","marginLeft","marginRight","breakpoints","down","MovieHome","Grid","container","justify","item","xs","MovieMenu","root","color","palette","primary","light","border","label","playButton","typography","h4","overflow","width","borderRadius","playButtonLarge","h3","PlayButton","size","vid","playButtonClass","Button","variant","outlined","defaultProps","propsTypes","backgroundImage","albumItem","extraMarginBottom","poster","position","opacity","enlargePoster","up","transform","maxHeight","imgFluid","transition","backgroundColor","placeholder","play","display","top","left","alignItems","justifyContent","transitionDuration","playMask","playMaskDetail","padding","paddingTop","paddingBottom","maskMeta","smallCaption","common","grey","maskIntro","info","whiteSpace","title","caption","h7","relative","blockWithText","lineHeight","textAlign","checkbox","checkboxItem","right","zIndex","triangle","borderStyle","borderWidth","borderColor","borderRightColor","main","whiteMask","whiteMaskSelected","cursor","RectangleMask","checked","classNames","BlackCheckbox","withStyles","icon","ImgPlaceholder","style","MovieAlbumItem","showMeta","showTitle","showHover","showCheckBox","editing","hoverMaskMode","customMetaText","collectionID","history","useHistory","videoSelected","useCollectionState","collectionDispatch","useCollectionDispatch","description","selected","get","HoverMask","maskTitle","name","others","parse","replace","underline","onClick","e","indexOf","type","payload","cid","push","disabled","srcSet","getThumbnailUrl","PropTypes","bool","string","moreButton","h6","dark","widePosterContainer","flexWrap","flexDirection","paddingLeft","widePosterChild","flex","smallWideContainer","largeWideContainer","smallWideContent","topicImg","movieList","largeWidePoster","smallWidePoster","between","seedOverride","lightBackground","wideMask","wideMaskSmall","wideMaskLargeTitle","h2","fontWeight","wideMaskSmallTitle","fontSize","metaContainer","metaLargeText","tags","metaText","paddingRight","bottom","background","blockWithText2","playButtonContainerLg","only","playButtonContainerSm","topicContainer","topicPoster","topicMovie","_extends","Object","assign","i","arguments","source","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref2","createElement","d","fill","_ref","svgRef","viewBox","ref","ForwardRef","forwardRef","minHeight","wideMaskTitle","WideVideoAlbumItem","showDesceiption","WideHoverMask","wideMaskSizeTitleClass","metaTextClass","Box","Link","effect","video_id","hideTitle","hideMoreLink","firstFourMovies","slice","DefaultLayout","items","movie","index","md","ImgTopicLayout","img_url","staticUrl","img_loc","WidePosterLayout","mb","mt","SeedLayout","isEmpty","direction","Typography","more_link","sapcing","layout","renderList","array","isRequired","movies","topic_img","menuItem","popover","pointerEvents","popoverContent","boxShadow","menuGroupTitle","partnerMenuGroupTitle","menuGroupItem","navLink","textDecoration","hidden","visibility","LinkTabs","borderBottom","indicator","Tabs","LinkTab","h5","textTransform","minWidth","black","fontWeightMedium","Tab","useTheme","isScrollButton","useMediaQuery","menus","children","childrenMenus","orderBy","flatten","in_menu","pages","mixedMenus","concat","pathIndex","window","location","pathname","activeTabIndex","allCatLink","useState","setValue","anchorEl","setAnchorEl","handleClose","openedPopover","setOpenedPopover","popoverAnchor","useRef","popoverEnter","currentTarget","popoverLeave","open","Boolean","MenuGroup","isPartner","List","disablePadding","ListItem","disableGutters","groupTitle","page","component","AllPages","topics","partners","value","onChange","event","newValue","scrollButtons","idx","tab","aria-owns","aria-haspopup","to","onMouseEnter","onMouseLeave","renderMenuTab","Popover","elevation","paper","current","anchorOrigin","vertical","horizontal","transformOrigin","onClose","disableRestoreFocus","PaperProps"],"mappings":"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","file":"static/js/23.1ce5e283.chunk.js","sourcesContent":["import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n  themeColor: {\n    \"--swiper-theme-color\": \"white\",\n  },\n  banner: {\n    maxWidth: \"100%\",\n    height: \"auto\",\n  },\n}));\n","import React from \"react\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// import Swiper core and required components\nimport SwiperCore, {\n  Navigation,\n  Pagination,\n  Scrollbar,\n  Mousewheel,\n  Autoplay,\n  A11y,\n} from \"swiper\";\n\nimport { Swiper, SwiperSlide } from \"swiper/react\";\n\n// Import Swiper styles\nimport \"swiper/swiper.scss\";\nimport \"swiper/components/navigation/navigation.scss\";\nimport \"swiper/components/pagination/pagination.scss\";\nimport \"swiper/components/scrollbar/scrollbar.scss\";\n\n// context\nimport { useHomeInfo } from \"../../useGlobal\";\n\nimport { getOptimizedImgUrl } from \"../../utils/common\";\n\n// import './custom.css'\n\n// install Swiper components\nSwiperCore.use([Navigation, Pagination, Scrollbar, Mousewheel, Autoplay, A11y]);\n\nexport default function PagSwiper (props) {\n  const classes = useStyles();\n  const { banners } = useHomeInfo();\n  return (\n    <div className={classes.themeColor}>\n      <Swiper\n        key={`autoplay-${banners.length !== 1}`}\n        initialSlide={1}\n        spaceBetween={50}\n        slidesPerView={1}\n        navigation\n        mousewheel\n        pagination={{ clickable: true }}\n        scrollbar={{ draggable: true }}\n        autoplay={banners.length !== 1}\n        loop={banners.length !== 1}\n      >\n        {banners.map(banner => (\n          <SwiperSlide key={`banner-${banner.id}`}>\n            <a href={banner.link ? banner.link : undefined} target='_blank'>\n              <img\n                src={getOptimizedImgUrl({ url: banner.image, ext: \"webp\" })}\n                alt={`banner-${banner.id}`}\n                className={classes.banner}\n              />\n            </a>\n          </SwiperSlide>\n        ))}\n      </Swiper>\n    </div>\n  );\n}\n","import React from \"react\";\nimport { makeStyles, createStyles } from \"@material-ui/core/styles\";\n\nimport mock from \"./mock\";\n\nimport MovieAlbum from \"../MovieAlbum\";\n\nimport { useHomeInfo } from \"../../useGlobal\";\n\nconst useStyles = makeStyles(theme =>\n  createStyles({\n    album: {\n      marginBottom: theme.spacing(5),\n    },\n  }),\n);\n\nexport default function MovieContainer (props) {\n  const classes = useStyles();\n  const { slots } = useHomeInfo();\n\n  return (\n    <div>\n      {slots.map(slot => {\n        return (\n          <div className={classes.album} key={`slot-${slot.id}`}>\n            <MovieAlbum\n              slot={slot}\n              hideTitleIcon={true}\n              hoverEnlargePoster={true}\n            ></MovieAlbum>\n          </div>\n        );\n      })}\n    </div>\n  );\n}\n","import React from \"react\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { makeStyles, createStyles } from \"@material-ui/core/styles\";\n\n// components\nimport PagSwiper from \"../../components/Swiper\";\nimport MovieMenu from \"../../components/MovieMenu\";\nimport MovieContainer from \"../../components/MovieContainer\";\n\nconst useStyles = makeStyles(theme =>\n  createStyles({\n    content: {\n      margin: \"6.5%\",\n      marginBottom: theme.spacing(3),\n      marginTop: theme.spacing(3),\n    },\n    menu: {\n      marginTop: theme.spacing(2),\n      marginBottom: theme.spacing(1),\n      marginLeft: \"6.5%\",\n      marginRight: \"6.5%\",\n      [theme.breakpoints.down(\"sm\")]: {\n        marginLeft: theme.spacing(1),\n        marginRight: theme.spacing(1),\n      },\n    },\n  }),\n);\n\nfunction MovieHome (props) {\n  const classes = useStyles();\n\n  return (\n    <div>\n      <Grid container spacing={0} justify='center'>\n        <Grid item xs={12}>\n          <div className={classes.menu}>\n            <MovieMenu />\n          </div>\n        </Grid>\n        <Grid item xs={12}>\n          <PagSwiper />\n        </Grid>\n\n        <Grid item xs={12}>\n          <div className={classes.content}>\n            <MovieContainer />\n          </div>\n        </Grid>\n      </Grid>\n    </div>\n  );\n}\n\nexport default MovieHome;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { makeStyles, createStyles } from \"@material-ui/core/styles\";\n\nimport { Button } from \"@material-ui/core\";\n\nconst useStyles = makeStyles(theme =>\n  createStyles({\n    root: {\n      color: theme.palette.primary.light,\n      border: `1px solid ${theme.palette.primary.light}`,\n    },\n    label: {\n      color: theme.palette.primary.light,\n    },\n    playButton: {\n      ...theme.typography.h4,\n      overflow: \"hidden\",\n      width: 120,\n      height: 40,\n      borderRadius: \"0\",\n    },\n    playButtonLarge: {\n      ...theme.typography.h3,\n      overflow: \"hidden\",\n      width: 304,\n      height: 72,\n      borderRadius: \"0\",\n      [theme.breakpoints.down(\"md\")]: {\n        width: 304 * 0.7,\n        height: 72 * 0.7,\n      },\n    },\n  }),\n);\n\nconst PlayButton = ({ size = \"sm\", vid }) => {\n  const classes = useStyles();\n  const playButtonClass =\n    size === \"lg\" ? classes.playButtonLarge : classes.playButton;\n  return (\n    <>\n      <div>\n        <Button\n          variant='outlined'\n          className={playButtonClass}\n          classes={{ outlined: classes.root, label: classes.label }}\n        >\n          閫���见蔣��䪤n        </Button>\n      </div>\n    </>\n  );\n};\n\nPlayButton.defaultProps = {};\n\nPlayButton.propsTypes = {};\n\nexport default PlayButton;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport \"lazysizes\";\nimport { Typography, Box, Grid, Checkbox, Link } from \"@material-ui/core\";\nimport { makeStyles, createStyles, withStyles } from \"@material-ui/core/styles\";\nimport { CheckBoxOutlineBlank as CheckBoxOutlineBlankIcon } from \"@material-ui/icons\";\nimport { useHistory } from \"react-router-dom\";\nimport classNames from \"classnames\";\nimport get from \"lodash/get\";\nimport parse from \"html-react-parser\";\n\nimport PlayButton from \"../PlayButton\";\n\nimport {\n  useCollectionState,\n  useCollectionDispatch,\n} from \"../../context/CollectionContext\";\nimport { staticUrl } from \"../../clientAPI\";\nimport { getThumbnailUrl } from \"../../utils/common\";\n\nimport {\n  LazyLoadComponent,\n} from \"react-lazy-load-image-component\";\nimport \"react-lazy-load-image-component/src/effects/blur.css\";\n// import \"react-lazy-load-image-component/src/effects/black-and-white.css\";\n// import { SimpleImg } from \"react-simple-img\";\n// import LazyLoad from \"react-lazy-load\";\n\nimport \"./lazyload.css\";\n\nconst useStyles = makeStyles(theme =>\n  createStyles({\n    root: {\n      backgroundImage:\n        \"linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 50%)\",\n    },\n    albumItem: {\n      label: {\n        color: \"black\",\n      },\n      margin: \"5px\",\n      \"&:first-child\": {\n        marginLeft: theme.spacing(0),\n      },\n      overflow: \"hidden\",\n    },\n    extraMarginBottom: {\n      marginBottom: theme.spacing(2),\n    },\n    poster: {\n      position: \"relative\",\n      \"&:hover $play\": {\n        opacity: 1,\n      },\n    },\n    enlargePoster: {\n      \"&:hover $imgFluid\": {\n        [theme.breakpoints.up(\"xs\")]: {\n          transform: \"scale(1.4)\",\n        },\n        [theme.breakpoints.down(\"md\")]: {\n          transform: \"none\",\n        },\n      },\n      \"&:hover $play\": {\n        [theme.breakpoints.up(\"xs\")]: {\n          maxWidth: 195 * 1.4,\n          maxHeight: 275 * 1.4,\n        },\n        [theme.breakpoints.down(\"md\")]: {\n          transform: \"none\",\n        },\n      },\n    },\n    imgFluid: {\n      // width 100% & height auto keep image resize ratio\n      width: \"100%\",\n      maxWidth: 195,\n      height: \"auto\",\n      maxHeight: 275,\n      transition: \"opacity .3s, transform .2s !important\",\n      \"&:before\": {\n        backgroundColor: \"#dedede\",\n      },\n    },\n    placeholder: {\n      width: 195,\n      height: 275,\n    },\n    play: {\n      display: \"flex\",\n      position: \"absolute\",\n      width: \"100%\",\n      maxWidth: 195,\n      height: \"100%\",\n      maxHeight: 275,\n      overflow: \"auto\",\n      margin: \"auto\",\n      top: 0,\n      left: 0,\n      alignItems: \"center\",\n      justifyContent: \"center\",\n      transitionDuration: \"0.5s\",\n      opacity: 0,\n      overflow: \"hidden\",\n    },\n    playButton: {\n      overflow: \"hidden\",\n      width: 120,\n      height: 40,\n      marginTop: theme.spacing(2),\n    },\n    playMask: {\n      backgroundColor: \"rgba(0, 0, 0, 0.65)\",\n      [theme.breakpoints.down(\"sm\")]: {\n        display: \"none\",\n      },\n    },\n    playMaskDetail: {\n      padding: theme.spacing(2.5),\n      paddingTop: theme.spacing(4),\n      paddingBottom: theme.spacing(3),\n      color: \"white\",\n    },\n    maskMeta: {\n      ...theme.typography.smallCaption,\n      color: theme.palette.common.grey[300],\n      marginTop: theme.spacing(0.5),\n    },\n    maskIntro: {\n      ...theme.typography.smallCaption,\n      marginTop: theme.spacing(0.5),\n      [theme.breakpoints.down(\"sm\")]: {\n        marginTop: \"1em\",\n        display: \"none\",\n      },\n    },\n    info: {\n      marginTop: 4,\n      whiteSpace: \"nowrap\",\n      overflow: \"hidden\",\n    },\n    title: {\n      color: theme.palette.common.grey[900],\n    },\n    caption: {\n      ...theme.typography.h7,\n      color: theme.palette.common.grey[600],\n      marginTop: theme.spacing(0.5),\n    },\n    relative: {\n      position: \"relative\",\n    },\n    blockWithText: {\n      maxWidth: \"10rem\",\n      overflow: \"hidden\",\n      position: \"relative\",\n      lineHeight: \"1.67em\",\n      maxHeight: `${1.67 * 5}em`,\n      textAlign: \"justify\",\n    },\n    checkbox: {\n      maxWidth: 195,\n      maxHeight: 275,\n    },\n    checkboxItem: {\n      position: \"absolute\",\n      top: theme.spacing(1),\n      right: theme.spacing(1),\n      borderRadius: 0,\n      padding: 0,\n      // higher than lazyload img and white mask\n      zIndex: 10,\n    },\n    triangle: {\n      position: \"absolute\",\n      top: 0,\n      right: 0,\n      borderStyle: \"solid\",\n      borderWidth: \"0 80px 80px 0\",\n      borderColor: \"transparent\",\n      borderRightColor: theme.palette.primary.main,\n    },\n    whiteMask: {\n      position: \"absolute\",\n      width: \"100%\",\n      height: \"100%\",\n      backgroundColor: \"rgba(255, 255, 255, 0.6)\",\n      // higher than lazyload img but less than white mask\n      zIndex: 9,\n    },\n    whiteMaskSelected: {\n      borderRadius: 5,\n      border: \"solid 3px black\",\n    },\n    link: {\n      cursor: \"pointer\",\n    },\n  }),\n);\n\nconst Triangle = () => {\n  const classes = useStyles();\n  return <div className={classes.triangle}></div>;\n};\n\nconst RectangleMask = ({ checked }) => {\n  const classes = useStyles();\n  return (\n    <div\n      className={classNames(classes.whiteMask, {\n        [classes.whiteMaskSelected]: checked,\n      })}\n    ></div>\n  );\n};\n\nconst BlackCheckbox = withStyles({\n  root: {\n    color: \"black\",\n    \"&$checked\": {\n      color: \"black\",\n    },\n  },\n})(props => (\n  <>\n    <RectangleMask checked={props.checked} />\n    <Checkbox color='default' icon={<CheckBoxOutlineBlankIcon />} {...props} />\n  </>\n));\n\nconst ImgPlaceholder = () => {\n  // const classes = useStyles();\n  // return <Skeleton classes={{ root: classes.placeholder }} variant='rect' />;\n  // return <div className={classes.imgFluid}></div>;\n  return <div style={{ backgroundColor: \"#dedede\" }}></div>;\n};\n\n// function addDefaultSrc (ev) {\n//   ev.target.src = `${staticUrl}/poster/default_poster.png`;\n// }\n\nconst MovieAlbumItem = ({\n  item,\n  showMeta,\n  showTitle,\n  showHover,\n  showCheckBox,\n  editing,\n  hoverMaskMode,\n  hoverEnlargePoster,\n  extraMarginBottom,\n  customMetaText,\n  collectionID,\n}) => {\n  const classes = useStyles();\n  const history = useHistory();\n  const { videoSelected } = useCollectionState();\n  const collectionDispatch = useCollectionDispatch();\n  const { id, description } = item;\n  const selected = get(videoSelected, collectionID, []);\n\n  const handleChange = event => {\n    if (selected.indexOf(id) === -1) {\n      collectionDispatch({\n        type: \"SELECT_COLLECTION_VIDEO\",\n        payload: { cid: collectionID, vid: id },\n      });\n    } else {\n      collectionDispatch({\n        type: \"UNSELECT_COLLECTION_VIDEO\",\n        payload: { cid: collectionID, vid: id },\n      });\n    }\n  };\n\n  const HoverMask = ({ display }) => {\n    if (hoverMaskMode === \"simple\") {\n      return (\n        <Box\n          className={classNames(classes.play, classes.playMask)}\n          display={display}\n        >\n          <PlayButton vid={id} />\n        </Box>\n      );\n    }\n\n    return (\n      <div\n        className={classNames(\n          classes.play,\n          classes.playMask,\n          classes.playMaskDetail,\n        )}\n      >\n        <Grid container>\n          <Grid item xs={12}>\n            <Typography className={classes.maskTitle} variant='h5'>\n              {item.name}\n            </Typography>\n          </Grid>\n          <Grid item xs={12}>\n            <Typography className={classes.maskMeta}>{item.others}</Typography>\n          </Grid>\n          <Grid item xs={12}>\n            <Box\n              className={classNames(classes.maskIntro, classes.blockWithText)}\n            >\n              {parse(description.replace(/^<p>/, \"\").replace(/<\\/p>$/, \"\"))}\n            </Box>\n          </Grid>\n\n          <Grid container item justify='center'>\n            <Grid item>\n              <Box className={classes.playButton}>\n                <PlayButton vid={id} />\n              </Box>\n            </Grid>\n          </Grid>\n        </Grid>\n      </div>\n    );\n  };\n\n  return (\n    <Link\n      className={classes.link}\n      underline='none'\n      onClick={e => {\n        if (editing) {\n          handleChange(e);\n        } else {\n          history.push(`/video/detail/trailer/${id}`);\n        }\n      }}\n    >\n      <div\n        className={classNames(classes.albumItem, {\n          [classes.extraMarginBottom]: extraMarginBottom,\n        })}\n      >\n        <div\n          className={classNames(classes.poster, {\n            [classes.enlargePoster]: hoverEnlargePoster,\n          })}\n        >\n          <div\n            className={classNames(classes.checkbox, {\n              [classes.relative]: !hoverEnlargePoster,\n            })}\n          >\n            {showCheckBox && editing && (\n              <>\n                <BlackCheckbox\n                  className={classes.checkboxItem}\n                  checked={selected.indexOf(id) !== -1}\n                  disabled={!editing}\n                />\n              </>\n            )}\n            {/* <LazyLoadImage\n              className={classes.imgFluid}\n              alt={item.name}\n              src={`${staticUrl}${item.poster}`}\n              effect='blur'\n              placeholder={<ImgPlaceholder />}\n            /> */}\n            <LazyLoadComponent\n              className={\"lazy-load-image-background\"}\n              placeholder={<ImgPlaceholder />}\n            >\n              <picture className={\"lazy-load-image-background\"}>\n                <source\n                  className={classes.imgFluid}\n                  type='image/webp'\n                  srcSet={getThumbnailUrl({ url: item.poster, ext: \"webp\" })}\n                />\n                <source\n                  className={classes.imgFluid}\n                  type='image/jpg'\n                  srcSet={getThumbnailUrl({ url: item.poster, ext: \"jpg\" })}\n                  alt={item.name}\n                />\n                <img\n                  className={classes.imgFluid}\n                  src={getThumbnailUrl({ url: item.poster })}\n                  alt={item.name}\n                />\n              </picture>\n            </LazyLoadComponent>\n\n            {/* {\n              <SimpleImg\n                className={classes.imgFluid}\n                src={`${staticUrl}${item.poster}`}\n                placeholder='#dedede'\n              />\n            } */}\n            {/* <div className={classes.imgFluid}>\n              <img\n                className={classNames(\"lazyload\", classes.imgFluid)}\n                data-sizes='auto'\n                data-src={`${staticUrl}${item.poster}`}\n                class='lazyload'\n              />\n              <img\n                className={classNames(classes.imgFluid)}\n                src={`${staticUrl}${item.poster}`}\n              />\n            </div> */}\n            {showHover && <HoverMask />}\n          </div>\n          <div className={classes.info}>\n            <Typography variant='h4' className={classes.title}>\n              <Box display={showTitle ? \"block\" : \"none\"}>{item.name}</Box>\n            </Typography>\n            <div className={classes.caption}>\n              <Box display={showMeta ? \"block\" : \"none\"}>{item.others}</Box>\n              <Box display={customMetaText ? \"block\" : \"none\"}>\n                {customMetaText}\n              </Box>\n            </div>\n          </div>\n        </div>\n      </div>\n    </Link>\n  );\n};\n\nMovieAlbumItem.defaultProps = {\n  showMeta: true,\n  showTitle: true,\n  showHover: true,\n  showCheckBox: true,\n  editing: false,\n};\n\nMovieAlbumItem.propsTypes = {\n  showMeta: PropTypes.bool,\n  showTitle: PropTypes.bool,\n  showHover: PropTypes.bool,\n  showCheckBox: PropTypes.bool,\n  editing: PropTypes.bool,\n  customMetaText: PropTypes.string,\n};\n\nexport default MovieAlbumItem;\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n  album: {\n    height: 500,\n  },\n  title: {\n    display: \"inline-flex\",\n    alignItems: \"center\",\n  },\n  moreButton: {\n    ...theme.typography.h6,\n    color: theme.palette.primary.dark,\n    \"&:hover\": {\n      backgroundColor: \"transparent\",\n    },\n  },\n  widePosterContainer: {\n    width: \"100%\",\n    display: \"flex\",\n    flexWrap: \"nowrap\",\n    flexDirection: \"row\",\n    padding: 5,\n    paddingLeft: 0,\n    [theme.breakpoints.down(\"sm\")]: {\n      flexWrap: \"wrap\",\n    },\n  },\n  widePosterChild: {\n    flex: \"50%\",\n    maxWidth: \"50%\",\n    margin: 5,\n    marginLeft: 0,\n    [theme.breakpoints.down(\"sm\")]: {\n      flex: \"100%\",\n      maxWidth: \"100%\",\n    },\n  },\n  smallWideContainer: {\n    display: \"flex\",\n    flexWrap: \"nowrap\",\n    flexDirection: \"row\",\n    justifyContent: \"space-between\",\n  },\n  largeWideContainer: {\n    flex: \"100%\",\n    maxWidth: \"100%\",\n    padding: \"0 4px\",\n  },\n  smallWideContent: {\n    flex: \"45%\",\n    width: 300,\n    padding: \"0 4px\",\n  },\n  topicImg: {\n    overflow: \"hidden\",\n  },\n  movieList: {\n    marginTop: theme.spacing(1.6),\n    paddingLeft: 0,\n    overflow: \"hidden\",\n  },\n  largeWidePoster: {\n    width: \"100%\",\n    overflow: \"hidden\",\n    [theme.breakpoints.up(\"md\")]: {\n      maxWidth: 620,\n      maxHeight: 372,\n    },\n  },\n  smallWidePoster: {\n    width: \"100%\",\n    overflow: \"hidden\",\n    opacity: 1,\n    transition: \".5s ease\",\n    \"&:first-child\": {\n      marginRight: theme.spacing(1),\n    },\n    maxWidth: 300,\n    maxHeight: 180,\n    [theme.breakpoints.between(\"sm\", \"md\")]: {\n      maxWidth: 400,\n      maxHeight: 240,\n    },\n  },\n  seedOverride: {\n    [theme.breakpoints.down(\"sm\")]: {\n      width: \"42vw\",\n    },\n  },\n  lightBackground: {\n    \"&:hover\": {\n      opacity: 0.7,\n    },\n  },\n  wideMask: {\n    opacity: 0,\n    position: \"absolute\",\n    top: 0,\n    left: 0,\n    width: \"100%\",\n    height: \"100%\",\n    backgroundColor: \"rgba(0, 0, 0, 0.65)\",\n    color: \"white\",\n    padding: \"5%\",\n    paddingBottom: 0,\n    marginBottom: 10,\n    transitionDuration: \"0.5s\",\n    \"&:hover\": {\n      opacity: 1,\n    },\n  },\n  wideMaskSmall: {\n    padding: \"5%\",\n  },\n  wideMaskLargeTitle: {\n    ...theme.typography.h2,\n    fontWeight: 500,\n  },\n  wideMaskSmallTitle: {\n    ...theme.typography.caption,\n    fontSize: 24,\n    fontWeight: 700,\n  },\n  metaContainer: {\n    marginTop: 12,\n  },\n  metaLargeText: {\n    ...theme.typography.tags,\n    color: theme.palette.common.grey[300],\n    marginBottom: theme.spacing(0.75),\n  },\n  metaText: {\n    ...theme.typography.caption,\n    color: theme.palette.common.grey[300],\n    marginBottom: theme.spacing(0.75),\n    fontSize: 14,\n  },\n  blockWithText: {\n    width: \"28rem\",\n    maxWidth: \"34rem\",\n    overflow: \"hidden\",\n    position: \"relative\",\n    lineHeight: \"1.2em\",\n    maxHeight: \"3.6em\",\n    textAlign: \"justify\",\n    marginRight: \"-1em\",\n    paddingRight: \"1em\",\n    marginBottom: \"0.5em\",\n    \"&&:before\": {\n      content: \"'......'\",\n      position: \"absolute\",\n      right: 0,\n      bottom: 0,\n    },\n    \"&&:after\": {\n      content: \"''\",\n      position: \"absolute\",\n      right: 0,\n      width: \"1em\",\n      height: \"1em\",\n      marginTop: \"0.2em\",\n      background: \"transparent\",\n    },\n  },\n  blockWithText2: {\n    maxWidth: \"34rem\",\n    overflow: \"hidden\",\n    position: \"relative\",\n    lineHeight: \"1.2em\",\n    maxHeight: \"3.6em\",\n    textAlign: \"justify\",\n    marginRight: \"-1em\",\n    paddingRight: \"1em\",\n    marginBottom: \"0.5em\",\n    [theme.breakpoints.down(\"sm\")]: {\n      maxWidth: \"50rem\",\n    },\n  },\n  playButtonContainerLg: {\n    marginTop: theme.spacing(3),\n    [theme.breakpoints.only(\"md\")]: {\n      marginTop: theme.spacing(2),\n    },\n    [theme.breakpoints.down(\"sm\")]: {\n      marginTop: theme.spacing(10),\n    },\n    [theme.breakpoints.only(\"xs\")]: {\n      marginTop: theme.spacing(0.75),\n    },\n  },\n  playButtonContainerSm: {\n    marginTop: theme.spacing(4),\n    [theme.breakpoints.only(\"lg\")]: {\n      marginTop: theme.spacing(2.5),\n    },\n    [theme.breakpoints.only(\"md\")]: {\n      marginTop: theme.spacing(0.5),\n    },\n    [theme.breakpoints.only(\"xs\")]: {\n      marginTop: theme.spacing(0.15),\n    },\n  },\n  topicContainer: {\n    display: \"flex\",\n    flexWrap: \"nowrap\",\n    flexDirection: \"row\",\n    justifyContent: \"space-between\",\n    alignItems: \"center\",\n    padding: 5,\n    paddingLeft: 0,\n    width: \"100%\",\n    [theme.breakpoints.down(\"sm\")]: {\n      flexWrap: \"wrap\",\n    },\n  },\n  topicPoster: {\n    flex: \"33%\",\n    margin: \"5px 5px 10px 0px\",\n    [theme.breakpoints.down(\"sm\")]: {\n      flex: \"60%\",\n    },\n  },\n  topicMovie: {\n    flex: \"16.6%\",\n    [theme.breakpoints.down(\"sm\")]: {\n      flex: \"30%\",\n    },\n  },\n  imgFluid: {\n    width: \"100%\",\n    transition: \"transform .2s\",\n    height: \"auto\",\n    maxHeight: 275,\n  },\n}));\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M16 0L18 4H15L13 0H11L13 4H10L8 0H6L8 4H5L3 0H2C0.9 0 0.00999999 0.9 0.00999999 2L0 14C0 15.1 0.9 16 2 16H18C19.1 16 20 15.1 20 14V0H16Z\",\n  fill: \"black\"\n});\n\nvar SvgCamera = function SvgCamera(_ref) {\n  var svgRef = _ref.svgRef,\n      title = _ref.title,\n      props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 20,\n    height: 16,\n    viewBox: \"0 0 20 16\",\n    fill: \"none\",\n    ref: svgRef\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n  return /*#__PURE__*/React.createElement(SvgCamera, _extends({\n    svgRef: ref\n  }, props));\n});\nexport default __webpack_public_path__ + \"static/media/camera.57ccf5b8.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Grid, Box, Link } from \"@material-ui/core\";\nimport { makeStyles, createStyles } from \"@material-ui/core/styles\";\nimport classNames from \"classnames\";\nimport parse from \"html-react-parser\";\n\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\nimport \"react-lazy-load-image-component/src/effects/blur.css\";\n\nimport PlayButton from \"../../components/PlayButton\";\n\nimport { getThumbnailUrl } from \"../../utils/common\";\n\nconst useStyles = makeStyles(theme =>\n  createStyles({\n    largeWidePoster: {\n      width: \"100%\",\n      overflow: \"hidden\",\n      transition: \".5s ease\",\n      [theme.breakpoints.up(\"md\")]: {\n        maxWidth: 620,\n        maxHeight: 376,\n      },\n    },\n    smallWidePoster: {\n      width: \"100%\",\n      minHeight: 97,\n      overflow: \"hidden\",\n      opacity: 1,\n      transition: \".5s ease\",\n      \"&:first-child\": {\n        marginRight: theme.spacing(1),\n      },\n      maxWidth: 300,\n      maxHeight: 180,\n      [theme.breakpoints.between(\"sm\", \"md\")]: {\n        maxWidth: 400,\n        maxHeight: 180 * (400 / 300),\n      },\n    },\n    wideMask: {\n      opacity: 0,\n      position: \"absolute\",\n      top: 0,\n      left: 0,\n      width: \"100%\",\n      height: \"100%\",\n      backgroundColor: \"rgba(0, 0, 0, 0.65)\",\n      color: \"white\",\n      padding: \"5%\",\n      paddingBottom: 0,\n      marginBottom: 10,\n      transitionDuration: \"0.5s\",\n      \"&:hover\": {\n        opacity: 1,\n      },\n      [theme.breakpoints.down(\"xs\")]: {\n        display: \"none\",\n      },\n    },\n    wideMaskSmall: {\n      padding: \"5%\",\n    },\n    wideMaskTitle: {\n      whiteSpace: \"nowrap\",\n      overflow: \"hidden\",\n    },\n    wideMaskLargeTitle: {\n      ...theme.typography.h2,\n      fontWeight: 500,\n    },\n    wideMaskSmallTitle: {\n      ...theme.typography.caption,\n      fontSize: 24,\n      fontWeight: 700,\n    },\n    metaContainer: {\n      marginTop: 12,\n    },\n    metaLargeText: {\n      ...theme.typography.tags,\n      color: theme.palette.common.grey[300],\n      marginBottom: theme.spacing(0.75),\n    },\n    metaText: {\n      ...theme.typography.caption,\n      color: theme.palette.common.grey[300],\n      marginBottom: theme.spacing(0.75),\n      fontSize: 14,\n    },\n    blockWithText: {\n      width: \"28rem\",\n      maxWidth: \"34rem\",\n      overflow: \"hidden\",\n      position: \"relative\",\n      lineHeight: \"1.2em\",\n      maxHeight: \"3.6em\",\n      textAlign: \"justify\",\n      marginRight: \"-1em\",\n      paddingRight: \"1em\",\n      marginBottom: \"0.5em\",\n      \"&&:before\": {\n        content: \"'......'\",\n        position: \"absolute\",\n        right: 0,\n        bottom: 0,\n      },\n      \"&&:after\": {\n        content: \"''\",\n        position: \"absolute\",\n        right: 0,\n        width: \"1em\",\n        height: \"1em\",\n        marginTop: \"0.2em\",\n        background: \"transparent\",\n      },\n    },\n    blockWithText2: {\n      maxWidth: \"34rem\",\n      overflow: \"hidden\",\n      position: \"relative\",\n      lineHeight: \"1.2em\",\n      maxHeight: \"3.6em\",\n      textAlign: \"justify\",\n      marginRight: \"-1em\",\n      paddingRight: \"1em\",\n      marginBottom: \"0.5em\",\n      [theme.breakpoints.down(\"sm\")]: {\n        marginTop: \"1em\",\n        display: \"none\",\n      },\n    },\n    playButtonContainerLg: {\n      marginTop: theme.spacing(3),\n      [theme.breakpoints.only(\"md\")]: {\n        marginTop: theme.spacing(2),\n      },\n      [theme.breakpoints.down(\"sm\")]: {\n        marginTop: theme.spacing(10),\n      },\n      [theme.breakpoints.only(\"xs\")]: {\n        marginTop: theme.spacing(0.75),\n      },\n    },\n    playButtonContainerSm: {\n      marginTop: theme.spacing(4),\n      [theme.breakpoints.only(\"lg\")]: {\n        marginTop: theme.spacing(2.5),\n      },\n      [theme.breakpoints.only(\"md\")]: {\n        marginTop: theme.spacing(0.5),\n      },\n      [theme.breakpoints.only(\"xs\")]: {\n        marginTop: theme.spacing(0.15),\n      },\n    },\n  }),\n);\n\nconst WideVideoAlbumItem = ({\n  size = \"sm\",\n  id,\n  title,\n  description,\n  others,\n  showDesceiption,\n  poster,\n}) => {\n  const classes = useStyles();\n\n  const WideHoverMask = () => {\n    const wideMaskSizeTitleClass =\n      size === \"lg\" ? classes.wideMaskLargeTitle : classes.wideMaskSmallTitle;\n    const metaTextClass =\n      size === \"lg\" ? classes.metaLargeText : classes.metaText;\n\n    return (\n      <>\n        <div\n          className={classNames(classes.wideMask, {\n            [classes.wideMaskSmall]: size !== \"lg\",\n          })}\n        >\n          <Grid container>\n            <Grid item xs={12}>\n              <div\n                className={classNames(\n                  classes.wideMaskTitle,\n                  wideMaskSizeTitleClass,\n                )}\n              >\n                {title}\n              </div>\n            </Grid>\n            <Grid item xs={12}>\n              <div\n                className={classNames(metaTextClass, {\n                  [classes.metaContainer]: size === \"lg\",\n                })}\n              >\n                {others}\n              </div>\n            </Grid>\n            <Grid item xs={12}>\n              <Box\n                className={classes.blockWithText2}\n                display={size === \"lg\" || showDesceiption ? \"block\" : \"none\"}\n              >\n                {parse(description.replace(/^<p>/, \"\").replace(/<\\/p>$/, \"\"))}\n              </Box>\n            </Grid>\n            <Grid container item justify='center'>\n              <Grid item>\n                <Box\n                  className={classNames(\n                    { [classes.playButtonContainerLg]: size === \"lg\" },\n                    { [classes.playButtonContainerSm]: size === \"sm\" },\n                  )}\n                >\n                  <PlayButton size={size} vid={id} />\n                </Box>\n              </Grid>\n            </Grid>\n          </Grid>\n        </div>\n      </>\n    );\n  };\n\n  const largeWideVideo = () => {\n    return (\n      <>\n        <Box position='relative'>\n          {/* layout error */}\n          {/* <LazyLoadImage\n            className={classes.largeWidePoster}\n            alt={title}\n            src={`${staticUrl}${poster}`}\n            effect='blur'\n          /> */}\n          <div className={classes.largeWidePoster}>\n            <img\n              src={getThumbnailUrl({ url: poster, ext: \"jpg\" })}\n              alt={title}\n              className={classes.largeWidePoster}\n            />\n            <WideHoverMask\n              size='lg'\n              video_id={id}\n              title={title}\n              description={description}\n            />\n          </div>\n        </Box>\n      </>\n    );\n  };\n\n  const smallWideVideo = () => {\n    return (\n      <>\n        <Box position='relative'>\n          <LazyLoadImage\n            className={classes.smallWidePoster}\n            alt={title}\n            src={getThumbnailUrl({ url: poster, ext: \"jpg\" })}\n            effect='blur'\n          />\n          <WideHoverMask\n            video_id={id}\n            title={title}\n            description={description}\n          />\n        </Box>\n      </>\n    );\n  };\n\n  const render = () => {\n    if (size === \"sm\") {\n      return smallWideVideo();\n    } else {\n      return largeWideVideo();\n    }\n  };\n\n  return (\n    <>\n      <Link href={`/video/detail/trailer/${id}`} underline='none'>\n        {render()}\n      </Link>\n    </>\n  );\n};\n\nWideVideoAlbumItem.defaultProps = {};\n\nWideVideoAlbumItem.propsTypes = {};\n\nexport default WideVideoAlbumItem;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Typography, Grid, Box, Button } from \"@material-ui/core\";\nimport classNames from \"classnames\";\n\nimport useStyles from \"./styles\";\nimport { ReactComponent as CameraIcon } from \"../../images/icons/camera.svg\";\nimport MovieAlbumItem from \"../MovieAlbumItem\";\nimport WideVideoAlbumItem from \"../../components/WideVideoAlbumItem\";\n\nimport get from \"lodash/get\";\nimport isEmpty from \"lodash/isEmpty\";\nimport { staticUrl } from \"../../clientAPI\";\n\nconst MovieAlbum = props => {\n  const classes = useStyles();\n  const {\n    slot = {},\n    hideTitle,\n    hideTitleIcon,\n    hideMoreLink,\n    hoverMaskMode,\n    hoverEnlargePoster,\n    extraMarginBottom,\n  } = props;\n  const firstFourMovies = get(slot, \"items\", []).slice(0, 4);\n\n  const DefaultLayout = () => {\n    return (\n      <>\n        {slot.items.map((movie, index) => (\n          <Grid item xs={4} md={2} key={`${movie.id}`}>\n            <MovieAlbumItem\n              key={`album-item-${movie.id}`}\n              name={movie.name}\n              item={movie}\n              hoverMaskMode={hoverMaskMode}\n              hoverEnlargePoster={hoverEnlargePoster}\n              extraMarginBottom={extraMarginBottom}\n            ></MovieAlbumItem>\n          </Grid>\n        ))}\n      </>\n    );\n  };\n\n  const ImgTopicLayout = () => {\n    return (\n      <>\n        <Box className={classes.topicContainer}>\n          <Box className={classes.topicPoster}>\n            <a href={slot.img_url}>\n              <img\n                src={`${staticUrl}/${slot.img_loc}`}\n                alt={slot.name}\n                className={classNames(classes.imgFluid, classes.topicImg)}\n              ></img>\n            </a>\n          </Box>\n          {firstFourMovies.map(movie => (\n            <Box className={classes.topicMovie} key={`album-item-${movie.id}`}>\n              <MovieAlbumItem\n                name={movie.name}\n                item={movie}\n                showMeta={false}\n                showTitle={false}\n              ></MovieAlbumItem>\n            </Box>\n          ))}\n        </Box>\n      </>\n    );\n  };\n\n  const WidePosterLayout = () => (\n    <>\n      <Box className={classes.widePosterContainer}>\n        <Box className={classes.widePosterChild}>\n          <Box className={classes.largeWideContainer} mb={0.5}>\n            <WideVideoAlbumItem\n              size='lg'\n              id={slot.items[0].id}\n              poster={slot.items[0].poster}\n              name={slot.items[0].name}\n              title={slot.items[0].name}\n              description={slot.items[0].description}\n              others={slot.items[0].others}\n            />\n          </Box>\n          <Box className={classes.smallWideContainer}>\n            <Box className={classes.smallWideContent}>\n              <WideVideoAlbumItem\n                size='sm'\n                id={slot.items[1].id}\n                poster={slot.items[1].poster}\n                name={slot.items[1].name}\n                title={slot.items[1].name}\n                description={slot.items[1].description}\n                others={slot.items[1].others}\n              />\n            </Box>\n            <Box className={classes.smallWideContent}>\n              <WideVideoAlbumItem\n                size='sm'\n                id={slot.items[2].id}\n                poster={slot.items[2].poster}\n                name={slot.items[2].name}\n                title={slot.items[2].name}\n                description={slot.items[2].description}\n                others={slot.items[2].others}\n              />\n            </Box>\n          </Box>\n        </Box>\n        <Box className={classes.widePosterChild}>\n          <Box className={classes.smallWideContainer}>\n            <Box className={classes.smallWideContent}>\n              <WideVideoAlbumItem\n                size='sm'\n                id={slot.items[3].id}\n                poster={slot.items[3].poster}\n                name={slot.items[3].name}\n                title={slot.items[3].name}\n                description={slot.items[3].description}\n                others={slot.items[3].others}\n              />\n            </Box>\n            <Box className={classes.smallWideContent}>\n              <WideVideoAlbumItem\n                size='sm'\n                id={slot.items[4].id}\n                poster={slot.items[4].poster}\n                name={slot.items[4].name}\n                title={slot.items[4].name}\n                description={slot.items[4].description}\n                others={slot.items[4].others}\n              />\n            </Box>\n          </Box>\n          <Box className={classes.largeWideContainer} mt={0.5}>\n            <WideVideoAlbumItem\n              size='lg'\n              id={slot.items[5].id}\n              poster={slot.items[5].poster}\n              name={slot.items[5].name}\n              title={slot.items[5].name}\n              description={slot.items[5].description}\n              others={slot.items[5].others}\n            />\n          </Box>\n        </Box>\n      </Box>\n    </>\n  );\n\n  const SeedLayout = () => (\n    <>\n      {slot.items.map(movie => (\n        <Grid item xs={6} md={3} key={movie.id}>\n          <a href={isEmpty(movie.link) ? undefined : movie.link}>\n            <img\n              src={`${staticUrl}/${movie.poster.replace(/^\\//, \"\")}`}\n              alt={movie.name}\n              className={classNames(\n                classes.seedOverride,\n                classes.smallWidePoster,\n                classes.lightBackground,\n              )}\n            ></img>\n          </a>\n        </Grid>\n      ))}\n    </>\n  );\n\n  const renderIcon = () => {\n    return slot.title ? (\n      <CameraIcon\n        display={hideTitleIcon || slot.icon === \"\" ? \"none\" : \"inherit\"}\n        style={{ marginRight: 8 }}\n      />\n    ) : (\n      \"\"\n    );\n  };\n\n  const renderTitle = () => {\n    return hideTitle ? (\n      \"\"\n    ) : (\n      <>\n        <Box className={classes.title}>\n          {slot && renderIcon()}\n          <Typography variant='h2'>{slot && slot.title}</Typography>\n        </Box>\n      </>\n    );\n  };\n\n  const renderList = slot => {\n    if (isEmpty(slot) || isEmpty(slot.items)) {\n      return;\n    }\n    if (slot.layout === \"img_topic\") {\n      return <ImgTopicLayout />;\n    } else if (slot.layout === \"seed\") {\n      return <SeedLayout />;\n    } else if (slot.layout === \"wide\") {\n      return slot.items.length >= 6 && <WidePosterLayout />;\n    }\n    return <DefaultLayout />;\n  };\n\n  return (\n    <div>\n      <Grid\n        container\n        direction='row'\n        justify='space-between'\n        alignItems='flex-end'\n        spacing={1}\n      >\n        <Grid item>{renderTitle()}</Grid>\n        <Grid item>\n          <Box display={hideMoreLink || isEmpty(slot.more_link) ? \"none\" : \"\"}>\n            <Button className={classes.moreButton} href={slot.more_link}>\n              ��见�券�沔n            </Button>\n          </Box>\n        </Grid>\n      </Grid>\n      <div className={classes.movieList}>\n        <Grid container direction='row' alignItems='flex-end' sapcing={1}>\n          {renderList(slot)}\n        </Grid>\n      </div>\n    </div>\n  );\n};\n\nMovieAlbum.defaultProps = {\n  hideTitle: false,\n  hideTitleIcon: false,\n  hideMoreLink: false,\n  hoverEnlargePoster: false,\n  extraMarginBottom: false,\n};\n\nMovieAlbum.propsTypes = {\n  slot: PropTypes.array.isRequired,\n  hideTitle: PropTypes.bool,\n  hideTitleIcon: PropTypes.bool,\n  hideMoreLink: PropTypes.bool,\n  hoverMaskMode: PropTypes.bool,\n  hoverEnlargePoster: PropTypes.bool,\n  extraMarginBottom: PropTypes.bool,\n};\n\nexport default MovieAlbum;\n","export default {\n  movies: [\n    {\n      id: 0,\n      // poster: \"/poster/憭抵�脣末���.jpg\",\n      poster: \"/poster/%E5%A4%A9%E8%81%B2%E5%A5%BD%E6%89%8B.jpg\",\n      name: \"憭抵�脣末��胬",\n      others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n    },\n    {\n      id: 1,\n      // poster: \"/poster/憭拚𥲤銋见��.jpg\",\n      poster: \"/poster/%E5%A4%A9%E9%8C%AF%E4%B9%8B%E5%90%88.jpg\",\n      name: \"憭拚𥲤銋见�Ě",\n      others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n    },\n    {\n      id: 2,\n      poster: \"/poster/�㿥�𠯫畾箇��.jpg\",\n      name: \"�㿥�𠯫畾箇�疱",\n      others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n    },\n    {\n      id: 3,\n      poster: \"/poster/�捿�砍��.jpg\",\n      name: \"�捿�砍�𦰡",\n      others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n    },\n    {\n      id: 4,\n      poster: \"/poster/�𤪺�眎��𤤿�銝𣇉��.jpg\",\n      name: \"�𤪺�眎��𤤿�銝𣇉�𨜏",\n      others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n    },\n    {\n      id: 5,\n      poster: \"/poster/憭抵�脣末���.jpg\",\n      name: \"閫�����𡏭疏摨珢",\n      others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n    },\n  ],\n  slots: [\n    {\n      id: 0,\n      title: \"���鰵敶梁�䪤",\n      more_link: \"\",\n      items: [\n        {\n          id: 0,\n          poster: \"/poster/憭抵�脣末���.jpg\",\n          name: \"憭抵�脣末��胬",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 1,\n          poster: \"/poster/憭拚𥲤銋见��.jpg\",\n          name: \"憭拚𥲤銋见�Ě",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 2,\n          poster: \"/poster/�㿥�𠯫畾箇��.jpg\",\n          name: \"�㿥�𠯫畾箇�疱",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 3,\n          poster: \"/poster/�捿�砍��.jpg\",\n          name: \"�捿�砍�𦰡",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 4,\n          poster: \"/poster/�𤪺�眎��𤤿�銝𣇉��.jpg\",\n          name: \"�𤪺�眎��𤤿�銝𣇉�𨜏",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 5,\n          poster: \"/poster/憭抵�脣末���.jpg\",\n          name: \"閫�����𡏭疏摨珢",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n      ],\n    },\n    {\n      id: 4,\n      layout: \"img_topic\",\n      title: \"蝎暸�詨���\",\n      icon: \"\",\n      more_link: true,\n      topic_img: \"/topic/topic2.png\",\n      items: [\n        {\n          id: 0,\n          poster: \"/poster/憭抵�脣末���.jpg\",\n          name: \"憭抵�脣末��胬",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 1,\n          poster: \"/poster/憭拚𥲤銋见��.jpg\",\n          name: \"憭拚𥲤銋见�Ě",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 2,\n          poster: \"/poster/�㿥�𠯫畾箇��.jpg\",\n          name: \"�㿥�𠯫畾箇�疱",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 3,\n          poster: \"/poster/�捿�砍��.jpg\",\n          name: \"�捿�砍�𦰡",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 4,\n          poster: \"/poster/�𤪺�眎��𤤿�銝𣇉��.jpg\",\n          name: \"�𤪺�眎��𤤿�銝𣇉�𨜏",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 5,\n          poster: \"/poster/憭抵�脣末���.jpg\",\n          name: \"閫�����𡏭疏摨珢",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n      ],\n    },\n    {\n      id: \"hot\",\n      layout: \"wide\",\n      title: \"�梢�敶梁�䪤",\n      icon: \"\",\n      more_link: false,\n      items: [\n        {\n          id: 0,\n          poster: \"/poster/poster_wide_l1.png\",\n          name: \"�𢂚�睃飛�堺\",\n          others: \"镼輯�鮋�漤𨺗 | ��𣂼�蝝䨵",\n        },\n        {\n          id: 1,\n          poster: \"/poster/poster_wide_s1.png\",\n          name: \"銝齿香頠滚�娫",\n          others: \"镼輯�鮋�漤𨺗 | ��𣂼�蝝䨵",\n        },\n        {\n          id: 2,\n          poster: \"/poster/poster_wide_s2.png\",\n          name: \"�㕑�𦦵䔄�𣶹�鞸",\n          others: \"镼輯�鮋�漤𨺗 | ��𣂼�蝝䨵",\n        },\n        {\n          id: 3,\n          poster: \"/poster/poster_wide_l2.png\",\n          name: \"ARRESTED DEVELOPMENT\",\n          others: \"镼輯�鮋�漤𨺗 | ��𣂼�蝝䨵",\n        },\n        {\n          id: 4,\n          poster: \"/poster/poster_wide_s3.png\",\n          name: \"瘥埝�髿",\n          others: \"镼輯�鮋�漤𨺗 | ��𣂼�蝝䨵",\n        },\n        {\n          id: 5,\n          poster: \"/poster/poster_wide_s4.png\",\n          name: \"�矗甇誌璈笔膥鈭暝",\n          others: \"镼輯�鮋�漤𨺗 | ��𣂼�蝝䨵",\n        },\n      ],\n    },\n    {\n      id: 1,\n      title: \"��躰�脣���\",\n      link: \"\",\n      items: [\n        {\n          id: 0,\n          poster: \"/poster/憭抵�脣末���.jpg\",\n          name: \"憭抵�脣末��胬",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 1,\n          poster: \"/poster/憭拚𥲤銋见��.jpg\",\n          name: \"憭拚𥲤銋见�Ě",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 2,\n          poster: \"/poster/�㿥�𠯫畾箇��.jpg\",\n          name: \"�㿥�𠯫畾箇�疱",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 3,\n          poster: \"/poster/�捿�砍��.jpg\",\n          name: \"�捿�砍�𦰡",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 4,\n          poster: \"/poster/�𤪺�眎��𤤿�銝𣇉��.jpg\",\n          name: \"�𤪺�眎��𤤿�銝𣇉�𨜏",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 5,\n          poster: \"/poster/憭抵�脣末���.jpg\",\n          name: \"憭抵�脣末��胬",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n      ],\n    },\n    {\n      id: 2,\n      title: \"��閧𧞄撠��\",\n      link: \"\",\n      items: [\n        {\n          id: 0,\n          poster: \"/poster/憭抵�脣末���.jpg\",\n          name: \"憭抵�脣末��胬",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 1,\n          poster: \"/poster/憭拚𥲤銋见��.jpg\",\n          name: \"憭拚𥲤銋见�Ě",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 2,\n          poster: \"/poster/�㿥�𠯫畾箇��.jpg\",\n          name: \"�㿥�𠯫畾箇�疱",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 3,\n          poster: \"/poster/�捿�砍��.jpg\",\n          name: \"�捿�砍�𦰡",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 4,\n          poster: \"/poster/�𤪺�眎��𤤿�銝𣇉��.jpg\",\n          name: \"�𤪺�眎��𤤿�銝𣇉�𨜏",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 5,\n          poster: \"/poster/憭抵�脣末���.jpg\",\n          name: \"閫�����𡏭疏摨珢",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n      ],\n    },\n    {\n      id: 3,\n      title: \"�綫�㵽敶梁�䪤",\n      icon: \"camera\",\n      more_link: false,\n      items: [\n        {\n          id: 0,\n          poster: \"/poster/憭抵�脣末���.jpg\",\n          name: \"憭抵�脣末��胬",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 1,\n          poster: \"/poster/憭拚𥲤銋见��.jpg\",\n          name: \"憭拚𥲤銋见�Ě",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 2,\n          poster: \"/poster/�㿥�𠯫畾箇��.jpg\",\n          name: \"�㿥�𠯫畾箇�疱",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 3,\n          poster: \"/poster/�捿�砍��.jpg\",\n          name: \"�捿�砍�𦰡",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 4,\n          poster: \"/poster/�𤪺�眎��𤤿�銝𣇉��.jpg\",\n          name: \"�𤪺�眎��𤤿�銝𣇉�𨜏",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n        {\n          id: 5,\n          poster: \"/poster/憭抵�脣末���.jpg\",\n          name: \"閫�����𡏭疏摨珢",\n          others: \"�㘚����漤𨺗 | �芦�滨�䨵",\n        },\n      ],\n    },\n    {\n      id: 5,\n      layout: \"seed\",\n      title: \"閬𣇉�峕偘蝔娉",\n      icon: \"\",\n      more_link: false,\n      items: [\n        {\n          id: 0,\n          poster: \"/poster/seed1.png\",\n          link: \"\",\n        },\n        {\n          id: 1,\n          poster: \"/poster/seed2.png\",\n          link: \"\",\n        },\n        {\n          id: 2,\n          poster: \"/poster/seed3.png\",\n          link: \"\",\n        },\n        {\n          id: 3,\n          poster: \"/poster/seed4.png\",\n          link: \"\",\n        },\n      ],\n    },\n  ],\n};\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n  root: {\n    height: 48,\n  },\n  label: {\n    color: \"black\",\n  },\n  menu: {\n    display: \"flex\",\n    justifyContent: \"space-between\",\n  },\n  menuItem: {\n    marginRight: theme.spacing(2),\n    \"&:last-child\": {\n      marginRight: 0,\n    },\n  },\n  popover: {\n    pointerEvents: \"none\",\n  },\n  popoverContent: {\n    pointerEvents: \"auto\",\n    padding: theme.spacing(2),\n    paddingLeft: theme.spacing(2),\n    paddingRight: theme.spacing(2),\n    border: theme.spacing(2),\n    borderRadius: 10,\n    boxShadow: \"0px 4px 4px rgba(193, 193, 193, 0.25)\",\n  },\n  menuGroupTitle: {\n    width: 80,\n  },\n  partnerMenuGroupTitle: {\n    width: 102,\n  },\n  menuGroupItem: {\n    paddingTop: 0,\n  },\n  caption: {\n    ...theme.typography.smallCaption,\n  },\n  navLink: {\n    color: theme.palette.common.grey[800],\n    fontWeight: 400,\n    textDecoration: \"none\",\n    \"&:hover\": {\n      color: theme.palette.primary.dark,\n    },\n  },\n  hidden: {\n    visibility: \"hidden\",\n    [theme.breakpoints.down(\"xs\")]: {\n      display: \"none\",\n    },\n  },\n}));\n","import React, { useState, useRef } from \"react\";\n\nimport { withStyles, useTheme } from \"@material-ui/core/styles\";\nimport { Link } from \"react-router-dom\";\nimport {\n  Popover,\n  Typography,\n  List,\n  ListItem,\n  useMediaQuery,\n  Grid,\n} from \"@material-ui/core\";\nimport classNames from \"classnames\";\n\nimport Tabs from '@material-ui/core/Tabs';\nimport Tab from '@material-ui/core/Tab';\n\nimport concat from \"lodash/concat\";\nimport orderBy from \"lodash/orderBy\";\nimport flatten from \"lodash/flatten\";\nimport slice from \"lodash/slice\";\nimport isEmpty from \"lodash/isEmpty\";\n\n// context\nimport { useHomeInfo } from \"../../useGlobal\";\n\n// styles\nimport useStyles from \"./styles\";\n\nconst LinkTabs = withStyles(theme => ({\n  root: {\n    borderBottom: \"1px solid #e8e8e8\",\n  },\n  indicator: {\n    backgroundColor: theme.palette.primary.main,\n  },\n}))(Tabs);\n\nconst LinkTab = withStyles(theme => ({\n  root: {\n    ...theme.typography.h5,\n    textTransform: \"none\",\n    minWidth: 115,\n    marginRight: theme.spacing(1.75),\n    color: theme.palette.common.grey[900],\n    \"&:hover\": {\n      color: theme.palette.common.black,\n      opacity: 1,\n    },\n    \"&$selected\": {\n      color: theme.palette.common.black,\n      fontWeight: theme.typography.fontWeightMedium,\n    },\n    \"&:focus\": {\n      color: theme.palette.common.black,\n    },\n    [theme.breakpoints.down(\"sm\")]: {\n      minWidth: 70,\n    },\n  },\n  selected: {},\n}))(Tab);\n\nexport default function MovieMenu (props) {\n  const classes = useStyles();\n  const theme = useTheme();\n\n  const isSm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n  const isScrollButton = isSm ? \"off\" : \"on\";\n\n  const { menus = {} } = useHomeInfo();\n  const { children = [] } = menus;\n  const maxChildrenMenus = 8;\n  const childrenMenus = slice(\n    orderBy(\n      flatten(children.map(e => (menus[e]?.in_menu ? menus[e].pages : []))),\n    ),\n    0,\n    maxChildrenMenus,\n  );\n  const mixedMenus = concat(\n    { name: \"����匧�憿疱" },\n    { name: \"����匧蔣��䪤", href: \"/video/list\" },\n    childrenMenus,\n  );\n  const menuLinks = mixedMenus.map(e => e.href);\n  const pathIndex = menuLinks.indexOf(window.location.pathname);\n  const activeTabIndex = pathIndex === -1 ? false : pathIndex;\n  const allCatLink = window.location.pathname;\n\n  const [value, setValue] = useState(activeTabIndex);\n  const handleChange = (event, newValue) => {\n    setValue(newValue);\n  };\n\n  const [anchorEl, setAnchorEl] = useState(null);\n\n  const handleClose = () => {\n    setAnchorEl(null);\n  };\n\n  const [openedPopover, setOpenedPopover] = useState(false);\n  const popoverAnchor = useRef(null);\n\n  const popoverEnter = ({ currentTarget }) => {\n    setOpenedPopover(true);\n  };\n\n  const popoverLeave = ({ currentTarget }) => {\n    setOpenedPopover(false);\n  };\n\n  const open = Boolean(anchorEl);\n\n  const MenuGroup = props => {\n    const { item, isPartner } = props;\n    return (\n      <Grid container>\n        <Grid item>\n          <List disablePadding>\n            <ListItem disableGutters>\n              <Typography\n                variant='subtitle2'\n                color='primary'\n                className={classNames({\n                  [classes.menuGroupTitle]: !isPartner,\n                  [classes.partnerMenuGroupTitle]: isPartner,\n                })}\n              >\n                {item.groupTitle}\n              </Typography>\n            </ListItem>\n            {item.pages.slice(0, 5).map((page, i) => (\n              <ListItem\n                disableGutters\n                key={i}\n                className={classes.menuGroupItem}\n              >\n                <Typography\n                  variant='caption'\n                  component={\"a\"}\n                  href={page.href}\n                  className={classNames(classes.navLink, \"submenu-item\", {\n                    [classes.menuGroupTitle]: !isPartner,\n                    [classes.partnerMenuGroupTitle]: isPartner,\n                  })}\n                  onClick={handleClose}\n                >\n                  {page.name}\n                </Typography>\n              </ListItem>\n            ))}\n          </List>\n        </Grid>\n        {!isEmpty(item.pages.slice(5, 10)) && (\n          <Grid item>\n            <List disablePadding>\n              <ListItem disableGutters className={classes.hidden}>\n                <div>dummy</div>\n              </ListItem>\n              {item.pages.slice(5, 10).map((page, i) => (\n                <ListItem\n                  disableGutters\n                  key={i}\n                  className={classes.menuGroupItem}\n                >\n                  <Typography\n                    variant='caption'\n                    component={\"a\"}\n                    href={page.href}\n                    className={classNames(classes.navLink, \"submenu-item\", {\n                      [classes.menuGroupTitle]: !isPartner,\n                      [classes.partnerMenuGroupTitle]: isPartner,\n                    })}\n                    onClick={handleClose}\n                  >\n                    {page.name}\n                  </Typography>\n                </ListItem>\n              ))}\n            </List>\n          </Grid>\n        )}\n      </Grid>\n    );\n  };\n\n  const renderMenuTab = (menu, idx) => {\n    if (menu.name === \"����匧�憿疱") {\n      return (\n        <LinkTab\n          ref={popoverAnchor}\n          key={`tab${idx}`}\n          className={classes.tab}\n          aria-owns={open ? \"mouse-over-popover\" : undefined}\n          aria-haspopup='true'\n          label={menu.name}\n          component={Link}\n          to={allCatLink}\n          onMouseEnter={popoverEnter}\n          onMouseLeave={popoverLeave}\n        />\n      );\n    }\n\n    if (menu.href && menu.href.indexOf(\"http\") !== -1) {\n      return (\n        <LinkTab\n          key={`tab${idx}`}\n          className={classes.tab}\n          label={menu.name}\n          component={\"a\"}\n          href={menu.href}\n          target='_blank'\n        />\n      );\n    }\n\n    return (\n      <LinkTab\n        key={`tab${idx}`}\n        className={classes.tab}\n        label={menu.name}\n        component={Link}\n        to={menu.href}\n      />\n    );\n  };\n\n  const AllPages = () => {\n    const { tags, topics, partners } = menus;\n    return (\n      <div className={classes.menu}>\n        {tags && !isEmpty(tags.pages) && (\n          <div className={classes.menuItem}>\n            <MenuGroup item={tags} />\n          </div>\n        )}\n\n        {topics && !isEmpty(topics.pages) && (\n          <div className={classes.menuItem}>\n            <MenuGroup item={topics} />\n          </div>\n        )}\n\n        {partners && !isEmpty(partners.pages) && (\n          <div className={classes.menuItem}>\n            <MenuGroup item={partners} isPartner />\n          </div>\n        )}\n      </div>\n    );\n  };\n  return (\n    <div>\n      <div className={classes.root}>\n        <div>\n          <LinkTabs\n            value={activeTabIndex}\n            onChange={handleChange}\n            variant='scrollable'\n            scrollButtons={isScrollButton}\n          >\n            {mixedMenus.map((menu, idx) => renderMenuTab(menu, idx))}\n          </LinkTabs>\n          <Popover\n            elevation={0}\n            id='mouse-over-popover'\n            className={classes.popover}\n            classes={{ paper: classes.popoverContent }}\n            open={openedPopover}\n            anchorEl={popoverAnchor.current}\n            anchorOrigin={{\n              vertical: \"bottom\",\n              horizontal: \"right\",\n            }}\n            transformOrigin={{\n              vertical: \"top\",\n              horizontal: \"center\",\n            }}\n            onClose={handleClose}\n            disableRestoreFocus\n            PaperProps={{\n              onMouseEnter: popoverEnter,\n              onMouseLeave: popoverLeave,\n            }}\n          >\n            <div>{<AllPages />}</div>\n          </Popover>\n        </div>\n      </div>\n    </div>\n  );\n}\n"],"sourceRoot":""}