{"version":3,"sources":["hooks/index.jsx","components/Thumbnail/index.jsx","constants.js","components/ThumbsWrapper/index.jsx","components/Animate/clockhelper.js","utils/index.jsx","components/MagazineTurnElem/index.jsx","components/AtSpinner/index.jsx","api.js","components/MiniCinematic/index.jsx","components/Turn/index.jsx","components/Warning/index.jsx","App.js","index.js"],"names":["useWindowSize","isClient","window","getSize","width","innerWidth","undefined","height","innerHeight","useState","windowSize","setWindowSize","useEffect","handleResize","addEventListener","removeEventListener","useEventListener","eventName","handler","element","savedHandler","useRef","current","eventListener","event","ThumbContainer","styled","div","props","ishalf","isloading","Thumbnail","thumb","index","activeThumb","handleClick","setisloading","key","className","onClick","src","alt","onLoad","beyonddreamsHome","cloudfrontHome","pages","thumbdata","chevronsrc","paneltogglesrc","fullscreenbtnsrc","links","page","top","left","link","action","redirectsession","self","rotate","mag","cinematicimages","color","name","qr","imgsrc","hiddenOnce","Chevron","img","showThumbs","Wrapper","isedge","show","ScrollWrapper","TightWrapper","isOverflow","ThumbsWrapper","activePage","triggerPage","showToast","clickAudioHandler","setactiveThumb","setisOverflow","setshowThumbs","scrolldiv","windowsize","navigator","userAgent","indexOf","setTimeout","handleSwipe","e","i","deltaX","loop","scrollLeft","children","scrollIntoView","behavior","block","inline","handleNavigation","dir","checkoverflow","check","clientWidth","console","log","Fragment","val","onSwiped","delta","preventDefaultTouchmoveEvent","trackTouch","trackMouse","rotationAngle","ref","map","ClockHelper","this","clockcanvas","radius","getContext","translate","that","drawHand","clockctx","pos","length","beginPath","strokeStyle","lineWidth","lineCap","moveTo","lineTo","stroke","setInterval","arc","Math","PI","fillStyle","fill","drawFace","ang","num","font","textBaseline","textAlign","fillText","toString","drawNumbers","now","Date","hour","getHours","minute","getMinutes","second","getSeconds","drawTime","resizeKeepingAspect","image","container","resolution","containerwidth","containerheight","imagewidth","imageheight","trunc","MagContainer","scale","MagazineTurnElem","style","options","turnPage","objassigned","setobjassigned","el","$","turn","Object","assign","on","originalEvent","data","flipbook","view","filter","scrollTimer","timeStamp","deltaY","max","min","turnNext","turnPrev","arr","viewarr","keyCode","onSwipedLeft","onSwipedRight","xpercent","pageX","currentTarget","pageY","clientHeight","onDoubleClick","AtSpinner","size","AtSpinnerOverlay","render","setRender","animation","onAnimationEnd","defaultProps","apilogurl","sessionkey","logData","a","makeSessionKey","FormData","append","axios","post","then","returndata","longuuid","uuidv4","split","Promise","resolve","Api","getSessionKey","TVFrame","ImgFrame","AnimateImg","animclass","activeindex","InfoBubble","eachframetime","MiniCinematic","startshow","setstartshow","infoClass","setinfoClass","infoSizeClass","setinfoSizeClass","setactiveindex","loadNumber","setloadNumber","frameRef","animationClasses","calculateinfosize","handleqrclick","open","ReactGA","category","value","label","handlecinematicimgload","clockHelper","WholeContainer","Container","wid","hgt","center","LoadingPlaceholderDiv","LinksFrame","ZoomBtnContainer","Link","active","PeelBlocker","Video","video","MaskImage","Clockcanvas","canvas","QR","MagNavigator","Turn","setcenter","dims","setdims","setactivePage","clockinit","setclockinit","url","location","search","query","substr","result","forEach","part","item","decodeURIComponent","getJsonFromUrl","setturnPage","loadImageArr","setloadImageArr","firstTurn","setfirstTurn","setshowToast","toastProps","setToastProps","showcinematic","setshowcinematic","videoref","audioref","containerref","useToggle","toggle","isFullscreen","useFullscreen","onClose","Number","autoCenter","display","duration","acceleration","elevation","parseInt","gradients","isTouch","turnCorners","when","turned","modalview","turning","videoelem","document","getElementById","currentTime","play","first","start","pageObject","corner","emptyarr","Array","dimobj","initClock","isIpad","match","pause","turntopage","truncatedindex","getImage","newarr","handleImageLoad","optionwid","preventDefault","stopPropagation","str","createElement","body","appendChild","select","execCommand","removeChild","copyToClipboard","message","id","autoPlay","muted","playsInline","type","eachlink","download","newlink","tag","href","click","handleLinkClick","position","timeout","intent","onDismiss","Warning","nosupport","initialize","debug","titleCase","pageview","App","rootElement","ReactDOM"],"mappings":"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","file":"static/js/main.632101c6.chunk.js","sourcesContent":["import { useState, useEffect, useRef } from \"react\";\r\n\r\nexport function useWindowSize() {\r\n const isClient = typeof window === \"object\";\r\n\r\n function getSize() {\r\n return {\r\n width: isClient ? window.innerWidth : undefined,\r\n height: isClient ? window.innerHeight : undefined\r\n };\r\n }\r\n\r\n const [windowSize, setWindowSize] = useState(getSize);\r\n\r\n useEffect(() => {\r\n if (!isClient) {\r\n return false;\r\n }\r\n\r\n function handleResize() {\r\n setWindowSize(getSize());\r\n }\r\n\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n }, [getSize, isClient]); // Empty array ensures that effect is only run on mount and unmount\r\n\r\n return windowSize;\r\n}\r\nexport function useEventListener(eventName, handler, element = window) {\r\n // Create a ref that stores handler\r\n const savedHandler = useRef();\r\n\r\n // Update ref.current value if handler changes.\r\n // This allows our effect below to always get latest handler ...\r\n // ... without us needing to pass it in effect deps array ...\r\n // ... and potentially cause effect to re-run every render.\r\n useEffect(() => {\r\n savedHandler.current = handler;\r\n }, [handler]);\r\n\r\n useEffect(\r\n () => {\r\n // Make sure element supports addEventListener\r\n // On \r\n const isSupported = element && element.addEventListener;\r\n if (!isSupported) return;\r\n\r\n // Create event listener that calls handler function stored in ref\r\n const eventListener = event => savedHandler.current(event);\r\n\r\n // Add event listener\r\n element.addEventListener(eventName, eventListener);\r\n\r\n // Remove event listener on cleanup\r\n return () => {\r\n element.removeEventListener(eventName, eventListener);\r\n };\r\n },\r\n [eventName, element] // Re-run if eventName or element changes\r\n );\r\n};\r\n\r\n","import React, {useState} from 'react'\r\nimport styled from \"styled-components\";\r\n\r\n\r\nconst ThumbContainer = styled.div`\r\ndisplay: ${(props) => (props.ishalf ? \"none\" : \"inline-block\")};\r\n/*padding: ${(props) => (props.ishalf ? \"0.3rem\" : \"0.1rem\")};*/\r\nwidth: ${(props) => (props.ishalf ? \"48px\" : \"96px\")};\r\nheight: 54px;\r\nbox-sizing: border-box;\r\n margin: 0.25rem;\r\n box-shadow: 0px 18px 46px rgba(16, 22, 26, 0.2), 0px 4px 8px rgba(16, 22, 26, 0.2), 0px 0px 0px rgba(16, 22, 26, 0.1);\r\n& > img {\r\n opacity:0;\r\n ${props=>props.isloading?\"\":\"opacity:1;\"}\r\n transition: opacity 0.5s;\r\n max-width: 100%;\r\n user-drag: none;\r\n user-select: none;\r\n -moz-user-select: none;\r\n -webkit-user-drag: none;\r\n -webkit-user-select: none;\r\n -ms-user-select: none;\r\n}\r\n&.active > img {\r\n transform: scale3d(1.1, 1.1, 1);\r\n box-shadow: 0px 0px 10px #a1b1b5;\r\n}\r\n& > img:hover {\r\n box-shadow: 0 0 10px #666;\r\n transform: scale3d(1.3, 1.3, 1);\r\n z-index: 2;\r\n}\r\n`;\r\n\r\nfunction Thumbnail(props) {\r\n const {thumb , index, activeThumb, handleClick} = props;\r\n const [isloading, setisloading] = useState(true);\r\n return (\r\n handleClick(index)}\r\n >\r\n \"\"setisloading(false)}/>\r\n \r\n )\r\n}\r\n\r\nexport default Thumbnail\r\n","const cloudfrontHome = \" https://dwvzzl6nfv2mx.cloudfront.net/\";\r\nconst beyonddreamsHome = cloudfrontHome + \"BeyondDreams/\";\r\nexport const pages = [\r\n beyonddreamsHome + \"magazine-pages/01 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/01 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/01 - 2.jpg\",\r\n beyonddreamsHome + \"magazine-pages/02 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/02 - 02.jpg\",\r\n beyonddreamsHome + \"magazine-pages/03 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/03 - 2.jpg\",\r\n beyonddreamsHome + \"magazine-pages/04 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/04 - 2.jpg\",\r\n beyonddreamsHome + \"magazine-pages/05 - 01.jpg\",\r\n beyonddreamsHome + \"magazine-pages/05 - 02.jpg\",\r\n beyonddreamsHome + \"magazine-pages/06 - 01.jpg\",\r\n beyonddreamsHome + \"magazine-pages/06 - 02.jpg\",\r\n beyonddreamsHome + \"magazine-pages/07 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/07 - 2.jpg\",\r\n beyonddreamsHome + \"magazine-pages/08 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/08 - 2.jpg\",\r\n beyonddreamsHome + \"magazine-pages/09 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/09 - 2.jpg\",\r\n beyonddreamsHome + \"magazine-pages/10 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/10 - 02.jpg\",\r\n beyonddreamsHome + \"magazine-pages/11 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/11 - 02.jpg\",\r\n beyonddreamsHome + \"magazine-pages/12 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/12 - 2.jpg\",\r\n beyonddreamsHome + \"magazine-pages/13 - 11.jpg\",\r\n beyonddreamsHome + \"magazine-pages/13 - 12.jpg\",\r\n beyonddreamsHome + \"magazine-pages/14 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/14 - 2.jpg\",\r\n beyonddreamsHome + \"magazine-pages/15 - 1.jpg\",\r\n beyonddreamsHome + \"magazine-pages/15 - 2.jpg\",\r\n];\r\n\r\nexport const thumbdata = [\r\n beyonddreamsHome + \"thumbs1/thumb-0.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-1.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-2.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-3.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-4.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-5.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-6.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-7.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-8.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-9.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-10.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-11.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-12.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-13.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-14.jpg\",\r\n beyonddreamsHome + \"thumbs1/thumb-15.jpg\",\r\n];\r\n\r\nexport const chevronsrc = [\r\n \" ./magazine/icons/toleft.svg\",\r\n \" ./magazine/icons/toright.svg\",\r\n\r\n];\r\n\r\nexport const paneltogglesrc = [\r\n \" ./magazine/icons/hidethumbpanel.svg\",\r\n \" ./magazine/icons/showthumbpanel.svg\",\r\n\r\n];\r\n\r\nexport const zoombtnsrc = [\r\n \" ./magazine/icons/zoom-in.svg\",\r\n \" ./magazine/icons/zoom-out.svg\",\r\n\r\n];\r\n\r\nexport const fullscreenbtnsrc = [\r\n \" ./magazine/icons/enter-fullscreen.svg\",\r\n \" ./magazine/icons/exit-fullscreen.svg\",\r\n\r\n];\r\n\r\nexport const magbase = beyonddreamsHome + \"base.png\";\r\n\r\nexport const links = [\r\n [{ page: 3, top: \"30.7%\", left: \"75.3%\", width: \"21.4%\", height: \"5.8%\", link: \"https://alternative.com.np/en-us/augmented-rug-projection.php\", action:\"AugmentedRugProjection\" }],\r\n [{ page: 5, top: \"44%\", left: \"25.5%\", width: \"15.5%\", height: \"14.6%\", link: \"https://explor.ug/social\", action:\"FacebookSocialPost\" }],\r\n [{ page: 6, top: \"21.7%\", left: \"77%\", width: \"19.6%\", height: \"5.7%\", link: \"https://v3.explorug.com/beyonddreamsapp/\", action:\"MyRoomIceBreaker\", redirectsession:true }],\r\n [\r\n { page: 7, top: \"72.7%\", left: \"2.45%\", width: \"18.25%\", height: \"3%\", link: \"https://www.explorug.com/matchmycolors\", action:\"MatchMyColors\" },\r\n // { top: \"59%\", left: \"16%\", width: \"23%\", height: \"3%\", link: \"/magazine/1-1.png\", download: \"Image.jpg\" }\r\n ],\r\n\r\n [{ page: 8, top: \"21%\", left: \"14.6%\", width: \"13.2%\", height: \"5.7%\", link: \"https://g-helper.s3.amazonaws.com/BeyondDreams/Pangmyck-closeup.jpg\", self: true, action:\"PangmyckCloseup\" }],\r\n [{ page: 9, top: \"40%\", left: \"-8%\", width: \"60%\", height: \"72%\",rotate:\"39deg\", link: \"https://beyonddreams.explorug.com/virtualphotostudio\", action:\"VirtualPhotoStudio\" }],\r\n [{ page: 9, top: \"64%\", left: \"50%\", width: \"39%\", height: \"36.1%\", link: \"https://beyonddreams.explorug.com/virtualphotostudio\", action:\"VirtualPhotoStudio\" }],\r\n\r\n [{ page: 10, top: \"6.4%\", left: \"33.2%\", width: \"6%\", height: \"9%\",rotate:\"28deg\", link: \"https://explor.ug/seashore\", action:\"VirtualPhotoStudio\" }],\r\n [{ page: 10, top: \"68.6%\", left: \"81.4%\", width: \"16%\", height: \"2.1%\", link: \"https://explor.ug/seashore\", action:\"Seashore\" }],\r\n [{ page: 11, top: \"37%\", left: \"60.5%\", width: \"6%\", height: \"10.7%\", link: \"https://explor.ug/Anteliss\", action:\"Anteliss\" }],\r\n [{ page: 12, top: \"57.5%\", left: \"53.2%\", width: \"10%\", height: \"13%\",rotate:\"32deg\", link: \"https://explor.ug/Kabavic\", action:\"Kabavic\" }],\r\n [\r\n { page: 14, top: \"90%\", left: \"2.5%\", width: \"16.2%\", height: \"5.7%\", link: \"https://explor.ug/stripe\", action:\"Stripe\" },\r\n ],\r\n [{ page: 15, top: \"25%\", left: \"31%\", width: \"16%\", height: \"5.6%\", link: \"mailto:shree@explorug.net\", action:\"MailToShree\" }],\r\n [{ page: 15, top: \"49%\", left: \"31%\", width: \"16%\", height: \"5.6%\", link: \"mailto:prabal@explorug.net\", action:\"MailToPrabal\" }],\r\n [{ page: 15, top: \"74%\", left: \"31%\", width: \"16%\", height: \"5.6%\", link: \"mailto:archana@explorug.net\", action:\"MailToArchana\" }],\r\n [{ page: 15, top: \"13%\", left: \"60%\", width: \"16%\", height: \"5.6%\", link: \"mailto:jyoti@explorug.net\", action:\"MailToJyoti\" }],\r\n [{ page: 15, top: \"39%\", left: \"60%\", width: \"16%\", height: \"5.6%\", link: \"mailto:padma@explorug.net\", action:\"MailToPadma\" }],\r\n [{ page: 15, top: \"62%\", left: \"60%\", width: \"16%\", height: \"5.6%\", link: \"mailto:pooja@explorug.net\", action:\"MailToPooja\" }],\r\n [{ page: 15, top: \"85%\", left: \"72.5%\", width: \"16%\", height: \"5.6%\", link: \"mailto:macc@theruggist.com\", action:\"MailToTheRuggist\" }],\r\n\r\n];\r\n\r\n\r\nexport const rugsharehomelink = \"https://explorug.com/go/\";\r\nconst mag = \"https://dwvzzl6nfv2mx.cloudfront.net/BeyondDreams/cinematic\"\r\nexport const cinematicimages = [\r\n { color: \"rgba(255, 0, 0, 0.7)\", name: \"Anteliss\", link: \"anteliss\", qr: `${mag}/Anteliss/qr1.png`, imgsrc: `${mag}/Anteliss/Anteliss.rendered.jpg`, action:`AntelissRendered` },\r\n { color: \"rgba(255, 0, 0, 0.7)\", name: \"Anteliss\", link: \"antelissr\", qr: `${mag}/Anteliss/qr2.png`, imgsrc: `${mag}/Anteliss/Anteliss in Wall Hanging C.jpg`, action:`AntelissWallHanging` },\r\n { color: \"rgba(255, 0, 0, 0.7)\", name: \"Kabavic\", link: \"kabavic\", qr: `${mag}/Kabavic/qr1.png`, imgsrc: `${mag}/Kabavic/Kabavic.rendered.jpg`, action:`KabavicRendered` },\r\n { color: \"rgba(255, 0, 0, 0.7)\", name: \"Kabavic\", link: \"kabavicr\", qr: `${mag}/Kabavic/qr1.png`, imgsrc: `${mag}/Kabavic/Kabavic in Bedroom Plutet B2.jpg`, action:`KabavicBedroomPlutet` },\r\n { color: \"rgba(255, 0, 0, 0.7)\", name: \"Wytics Isock\", link: \"wyticsisock\", qr: `${mag}/Wytics Isock/qr1.png`, imgsrc: `${mag}/Wytics Isock/Wytics Isock.rendered.jpg`, action:`WyticsIsockRendered` },\r\n { color: \"rgba(255, 0, 0, 0.7)\", name: \"Wytics Isock\", link: \"wyticsisockr\", qr: `${mag}/Wytics Isock/qr1.png`, imgsrc: `${mag}/Wytics Isock/Wytics Isock in Reading Nook Stellatism.jpg`, action:`WyticsIsockReadingNookStellatism` },\r\n];","import React, { useState, useEffect, useRef, useCallback } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport \"turn.js\";\r\nimport { useSwipeable, Swipeable } from \"react-swipeable\";\r\n\r\nimport Thumbnail from \"./../Thumbnail\";\r\nimport { useEventListener, useWindowSize } from \"./../../hooks\";\r\n\r\nimport { thumbdata, chevronsrc, paneltogglesrc } from \"./../../constants\";\r\nimport { useMount } from \"react-use\";\r\n\r\nconst Chevron = styled.img`\r\n transition: bottom 0.25s ease-in-out, opacity 0.25s, transform 0.25s !important ;\r\n ${(props) => (!props.showThumbs ? \"transform:translateX(-50%) rotate(180deg) !important;\" : \"\")}\r\n`;\r\n\r\nconst Wrapper = styled.div`\r\n position: ${props => props.isedge?\"fixed\":\"absolute\"};\r\n width: 100%;\r\n height: 120px;\r\n bottom: 0;\r\n overflow:hidden;\r\n ${(props) => (props.show ? \"\" : \"height:0;\")}\r\n transition: height 0.25s ease-in-out;\r\n\r\n @keyframes bottomtrans{\r\n 0%{\r\n bottom: 0;\r\n }\r\n 90%{\r\n display: block;\r\n opacity: 1;\r\n }\r\n 100%{\r\n bottom: -120px;\r\n display: none;\r\n opacity: 1;\r\n }\r\n }\r\n\r\n & .scrollWrapper{\r\n ${(props) => (props.show ? \"bottom:0;\" : \"bottom:-120px;\")}\r\n transition: bottom 0.25s ease-in-out;\r\n }\r\n & .navigator {\r\n border-radius: 50%;\r\n background: #b4b9cb;\r\n position: absolute;\r\n top: 50%;\r\n z-index: 5;\r\n ${(props) => (props.show ? \"opacity:1\" : \"opacity:0;\")}\r\n transition: opacity 0.1s ease-in-out;\r\n &:hover {\r\n box-shadow: 0 0 10px #666;\r\n }\r\n }\r\n\r\n & .navigator.left {\r\n left: 5%;\r\n transform: translate(-120%, -50%);\r\n }\r\n & .navigator.right {\r\n right: 5%;\r\n transform: translate(120%, -50%);\r\n }\r\n\r\n & .togglePanel {\r\n width: 32px;\r\n z-index: 5;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n position: fixed;\r\n ${(props) => (props.show ? \"bottom: 110px;\" : \"bottom: 10px;\")}\r\n border-radius: 50%;\r\n background: #b4b9cb;\r\n opacity: 0.4;\r\n transition: bottom 0.25s ease-in-out, opacity 0.25s;\r\n\r\n &:hover {\r\n opacity: 0.9;\r\n }\r\n }\r\n`;\r\n\r\nconst ScrollWrapper = styled.div`\r\n position: absolute;\r\n height: 120px;\r\n bottom: 0;\r\n width: 90%;\r\n left: 5%;\r\n overflow: auto;\r\n overflow: -moz-scrollbars-none;\r\n max-width: calc(100% - 48px - 2rem);\r\n left: 50%;\r\n transform: translateX(-50%);\r\n ::-webkit-scrollbar {\r\n width: 0px;\r\n }\r\n -ms-overflow-style: none;\r\n`;\r\n\r\nconst TightWrapper = styled.div`\r\n width: auto;\r\n height: 63px;\r\n display: inline-flex;\r\n white-space: nowrap;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n ${(props) => (!props.isOverflow ? \"left: 50%;transform: translate(-50%, -50%);\" : \"\")}\r\n`;\r\nlet hiddenOnce;\r\nconst ThumbsWrapper = (props) => {\r\n const { activePage, triggerPage, showToast, clickAudioHandler } = props;\r\n const [activeThumb, setactiveThumb] = useState(-1);\r\n const [isOverflow, setisOverflow] = useState(false);\r\n const [showThumbs, setshowThumbs] = useState(true);\r\n const scrolldiv = useRef(null);\r\n const windowsize = useWindowSize();\r\n\r\n const isedge = window.navigator.userAgent.indexOf(\"Edge\") > -1;\r\n\r\n // console.log(\"isedge\", isedge);\r\n\r\n useEffect(() => {\r\n if (showToast === false && !hiddenOnce)\r\n setTimeout(() => {\r\n hiddenOnce = true;\r\n setshowThumbs(false);\r\n }, 3000);\r\n }, [showToast]);\r\n const handleSwipe = (e) => {\r\n let i = 0;\r\n const loop = () => {\r\n e.deltaX > 0 ? i++ : i--;\r\n scrolldiv.current.scrollLeft += e.deltaX > 0 ? 1 : -1;\r\n if (i !== e.deltaX) {\r\n setTimeout(() => {\r\n loop();\r\n }, 0.005);\r\n }\r\n };\r\n if (e.deltaX !== 0) loop();\r\n };\r\n\r\n const handleClick = (index) => {\r\n clickAudioHandler();\r\n setactiveThumb(index);\r\n triggerPage(index);\r\n scrolldiv.current.children[0].children[index].scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"end\",\r\n inline: \"nearest\",\r\n });\r\n };\r\n\r\n const handleNavigation = (dir) => {\r\n let obj = { deltaX: dir * 200 };\r\n handleSwipe(obj);\r\n };\r\n\r\n const checkoverflow = () => {\r\n let check = scrolldiv.current.clientWidth < scrolldiv.current.children[0].clientWidth;\r\n if (check) {\r\n setisOverflow(true);\r\n } else {\r\n setisOverflow(false);\r\n }\r\n };\r\n\r\n const handletogglePanel = (e, val = null) => {\r\n // e.preventDefault(); // Let's stop this event.\r\n // e.stopPropagation();\r\n if (val === null) {\r\n setshowThumbs((showThumbs) => !showThumbs);\r\n } else {\r\n setshowThumbs(val);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (scrolldiv && scrolldiv.current) checkoverflow();\r\n }, [scrolldiv]);\r\n\r\n useEffect(() => {\r\n if (scrolldiv && scrolldiv.current) checkoverflow();\r\n }, [windowsize]);\r\n\r\n useEffect(() => {\r\n if (activePage !== activeThumb) {\r\n console.log(activePage);\r\n setactiveThumb(activePage);\r\n scrolldiv.current.children[0].children[activePage].scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"end\",\r\n inline: \"nearest\",\r\n });\r\n }\r\n }, [activePage]);\r\n\r\n return (\r\n \r\n \r\n \r\n {isOverflow && (\r\n handleNavigation(-1)}>\r\n )}\r\n\r\n \r\n \r\n \r\n {thumbdata.map((thumb, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {isOverflow && (\r\n handleNavigation(1)}>\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ThumbsWrapper;\r\n","class ClockHelper {\r\n \r\n constructor() {\r\n this.clockcanvas = null\r\n }\r\n\r\n initClock(clockcanvas) {\r\n this.clockcanvas = clockcanvas;\r\n\r\n this.clockcanvas.width = 400;\r\n this.clockcanvas.height = 400;\r\n let radius = this.clockcanvas.height / 2;\r\n this.clockcanvas.getContext(\"2d\").translate(radius, radius);\r\n let that = this;\r\n setInterval(drawClock, 1000);\r\n\r\n\r\n function drawClock() {\r\n let clockctx = that.clockcanvas.getContext(\"2d\");\r\n let radius = that.clockcanvas.height / 2 * 0.90;\r\n drawFace(clockctx, radius);\r\n drawNumbers(clockctx, radius);\r\n drawTime(clockctx, radius);\r\n clockctx.beginPath();\r\n clockctx.arc(0, 0, radius * 0.07, 0, 2 * Math.PI);\r\n clockctx.fillStyle = '#FF4F00';\r\n clockctx.fill();\r\n }\r\n\r\n function drawFace(clockctx, radius) {\r\n clockctx.beginPath();\r\n clockctx.arc(0, 0, radius, 0, 2 * Math.PI);\r\n clockctx.fillStyle = '#282e30';\r\n clockctx.fill();\r\n\r\n }\r\n\r\n function drawNumbers(clockctx, radius) {\r\n var ang;\r\n var num;\r\n clockctx.font = radius * 0.18 + \"px arial\";\r\n clockctx.fillStyle = \"#f4f4f4\"\r\n clockctx.textBaseline = \"middle\";\r\n clockctx.textAlign = \"center\";\r\n for (num = 1; num < 13; num++) {\r\n ang = num * Math.PI / 6;\r\n clockctx.rotate(ang);\r\n clockctx.translate(0, -radius * 0.85);\r\n clockctx.rotate(-ang);\r\n clockctx.fillText(num.toString(), 0, 0);\r\n clockctx.rotate(ang);\r\n clockctx.translate(0, radius * 0.85);\r\n clockctx.rotate(-ang);\r\n }\r\n }\r\n\r\n function drawTime(clockctx, radius) {\r\n var now = new Date();\r\n var hour = now.getHours();\r\n var minute = now.getMinutes();\r\n var second = now.getSeconds();\r\n //hour\r\n hour = hour % 12;\r\n hour = (hour * Math.PI / 6) +\r\n (minute * Math.PI / (6 * 60)) +\r\n (second * Math.PI / (360 * 60));\r\n drawHand(clockctx, hour, radius * 0.5, 6, \"#ffffff\");\r\n //minute\r\n minute = (minute * Math.PI / 30) + (second * Math.PI / (30 * 60));\r\n drawHand(clockctx, minute, radius * 0.8, 6, \"#f0f0f0\");\r\n // second\r\n second = (second * Math.PI / 30);\r\n drawHand(clockctx, second, radius * 0.9, 6, \"#FF4F00\");\r\n }\r\n\r\n function drawHand(clockctx, pos, length, width, color) {\r\n clockctx.beginPath();\r\n clockctx.strokeStyle = color\r\n clockctx.lineWidth = width;\r\n clockctx.lineCap = \"round\";\r\n clockctx.moveTo(0, 0);\r\n clockctx.rotate(pos);\r\n clockctx.lineTo(0, -length);\r\n clockctx.stroke();\r\n clockctx.rotate(-pos);\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\nexport default ClockHelper;","export function resizeKeepingAspect(image, container, resolution = 1) {\r\n let { width: containerwidth, height: containerheight } = container;\r\n let { width: imagewidth, height: imageheight } = image;\r\n if (!imagewidth || !imageheight) return { width: containerwidth, height: containerheight };\r\n if (containerheight === 0 || containerwidth === 0) return { width: imagewidth, height: imageheight };\r\n let width = imagewidth,\r\n height = imageheight;\r\n \r\n \r\n if (imagewidth > imageheight) {\r\n if (width > containerwidth) {\r\n height = (imageheight * containerwidth) / imagewidth;\r\n width = containerwidth;\r\n }\r\n if (height > containerheight) {\r\n width = (imagewidth * containerheight) / imageheight;\r\n height = containerheight;\r\n }\r\n } else {\r\n if (height > containerheight) {\r\n width = (imagewidth * containerheight) / imageheight;\r\n height = containerheight;\r\n }\r\n if (width > containerwidth) {\r\n height = (imageheight * containerwidth) / imageheight;\r\n width = containerwidth;\r\n }\r\n }\r\n width = width * resolution;\r\n height = height * resolution;\r\n\r\n width = Math.trunc(width);\r\n if(width%2!==0) width--;\r\n height = (image.height * width) / image.width;\r\n return { width, height };\r\n }","import React, { useState, useEffect, useRef, useCallback } from \"react\";\r\nimport $ from \"jquery\";\r\nimport \"turn.js\";\r\nimport { useSwipeable, Swipeable } from \"react-swipeable\";\r\nimport styled from \"styled-components\";\r\nimport { useEventListener, useWindowSize } from \"./../../hooks\";\r\nimport { resizeKeepingAspect } from \"./../../utils\";\r\n\r\nconst MagContainer = styled.div`\r\n transform: scale(${(props) => props.scale}) !important;\r\n`;\r\n\r\nconst MagazineTurnElem = (props) => {\r\n const { style = {}, className = \"\", options = {}, turnPage = -1, clickAudioHandler } = props;\r\n const [objassigned, setobjassigned] = useState(false);\r\n const [scale, setscale] = useState(1);\r\n\r\n const el = useRef(null);\r\n\r\n const windowsize = useWindowSize();\r\n\r\n useEffect(() => {\r\n if (el.current && objassigned) {\r\n const { width, height } = resizeKeepingAspect(\r\n { width: 1920, height: 1080 },\r\n { width: window.innerWidth - 32, height: window.innerHeight - 32 }\r\n );\r\n $(el.current).turn(\"size\", width, height);\r\n }\r\n }, [windowsize]);\r\n\r\n useEffect(() => {\r\n if (el.current) {\r\n $(el.current).turn(Object.assign({}, options));\r\n setTimeout(() => {\r\n setobjassigned(true);\r\n }, 100);\r\n }\r\n }, [el]);\r\n\r\n useEffect(() => {\r\n if (objassigned) {\r\n // $(\".magazine\").on(\"click\",function(e){\r\n // let xpercent = (e.pageX/e.currentTarget.clientWidth)*100;\r\n // let ypercent = (e.pageY/e.currentTarget.clientHeight)*100;\r\n // // console.log(e.currentTarget.clientWidth, e.currentTarget.clientHeight, e.originalEvent.x,e.originalEvent.y);\r\n // if(xpercent < 30 && ypercent < 85 && ypercent > 15){\r\n // turnPrev();\r\n // }\r\n // else if(xpercent > 70 && ypercent > 15 && ypercent < 85){\r\n // turnNext();\r\n // }\r\n // });\r\n $(\".magazine\").on(\"wheel\", function (event) {\r\n event = event.originalEvent;\r\n\r\n var data = $(this).data(),\r\n flipbook = $(el.current),\r\n view = flipbook.turn(\"view\", page).filter((page) => page !== 0),\r\n page = flipbook.turn(\"page\"),\r\n delay = 500; //ms\r\n\r\n if (typeof data.scrollTimer === \"undefined\") data.scrollTimer = 0;\r\n\r\n if (data.scrollTimer > event.timeStamp) return;\r\n\r\n data.scrollTimer = event.timeStamp + delay;\r\n\r\n if (event.deltaY > 0) page = Math.max(...view) + 1;\r\n if (event.deltaY < 0) page = Math.min(...view) - 1;\r\n\r\n page = Math.max(Math.min(flipbook.turn(\"pages\"), page), 1);\r\n\r\n flipbook.turn(\"page\", page);\r\n });\r\n }\r\n }, [objassigned]);\r\n\r\n useEffect(() => {\r\n console.log(\"turn page\", turnPage);\r\n if (turnPage > 0 && el.current && objassigned) {\r\n console.log(\"turn page\", turnPage);\r\n $(el.current).turn(\"page\", turnPage);\r\n }\r\n }, [turnPage]);\r\n\r\n const handleMagClick = (e) => {\r\n let xpercent = (e.pageX / e.currentTarget.clientWidth) * 100;\r\n let ypercent = (e.pageY / e.currentTarget.clientHeight) * 100;\r\n // console.log(e.currentTarget.clientWidth, e.currentTarget.clientHeight, e.originalEvent.x,e.originalEvent.y);\r\n if (xpercent < 50) {\r\n turnPrev();\r\n } else if (xpercent > 50) {\r\n turnNext();\r\n }\r\n };\r\n\r\n const handleMagDblClick = (e) => {\r\n // scale===1?setscale(1.5):setscale(1);\r\n };\r\n\r\n const handleKeyDown = (event) => {\r\n if (event.keyCode === 37) {\r\n clickAudioHandler();\r\n let arr = [2, 3];\r\n let viewarr = $(el.current).turn(\"view\");\r\n let isfirst = viewarr[0] === arr[0] && viewarr[1] === arr[1];\r\n if (!isfirst) $(el.current).turn(\"previous\");\r\n }\r\n if (event.keyCode === 39) {\r\n clickAudioHandler();\r\n $(el.current).turn(\"next\");\r\n }\r\n };\r\n\r\n const turnNext = () => {\r\n $(el.current).turn(\"next\");\r\n clickAudioHandler();\r\n\r\n };\r\n\r\n const turnPrev = () => {\r\n let arr = [2, 3];\r\n let viewarr = $(el.current).turn(\"view\");\r\n let isfirst = viewarr[0] === arr[0] && viewarr[1] === arr[1];\r\n // $(el.current).turn(\"previous\");\r\n if (!isfirst) {$(el.current).turn(\"previous\");\r\n clickAudioHandler(); \r\n }\r\n\r\n };\r\n\r\n useEventListener(\"keydown\", handleKeyDown);\r\n\r\n return (\r\n \r\n \r\n \r\n {props.children}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MagazineTurnElem;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst AtSpinner = props => {\r\n const { className, size = \"md\" } = props;\r\n return
;\r\n};\r\nconst AtSpinnerOverlay = props => {\r\n const { show } = props;\r\n const [render, setRender] = useState(show);\r\n\r\n useEffect(() => {\r\n if (show) setRender(true);\r\n }, [show]);\r\n\r\n const onAnimationEnd = () => {\r\n if (!show) setRender(false);\r\n };\r\n\r\n return (\r\n render && (\r\n \r\n {show && }\r\n \r\n )\r\n );\r\n};\r\nAtSpinner.propTypes = {\r\n className: PropTypes.string\r\n};\r\nAtSpinner.defaultProps = {\r\n className: \"\"\r\n};\r\n// const DebouncedAtSpinnerOverlay = debounceRender(AtSpinnerOverlay, 1000);\r\n\r\nexport { AtSpinner, AtSpinnerOverlay };\r\n","import axios from \"axios\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\nconst apihomeurl = \"https://v3.explorug.com/\";\r\nconst apilogurl = `${apihomeurl}Beyonddreamsapp/log.aspx`;\r\nlet sessionkey = \"\";\r\n\r\nconst logData = async (action,log) => {\r\n if(!sessionkey || sessionkey === \"\"){\r\n await makeSessionKey();\r\n } \r\n console.log(sessionkey);\r\n const data = new FormData();\r\n data.append(\"action\", action);\r\n data.append(\"log\", log);\r\n data.append(\"id\", sessionkey);\r\n axios.post(apilogurl, data).then((returndata)=>{\r\n console.log(\"success\");\r\n })\r\n}\r\n\r\nconst makeSessionKey = () => {\r\n let longuuid = uuidv4();\r\n sessionkey = longuuid.split(\"-\")[0];\r\n return Promise.resolve();\r\n}\r\n\r\nconst getSessionKey = () => {\r\n return sessionkey;\r\n}\r\n\r\nconst Api = {\r\n logData,\r\n getSessionKey\r\n};\r\nexport default Api;","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { rugsharehomelink, cinematicimages } from \"./../../constants\";\r\nimport styled from \"styled-components\";\r\nimport ReactGA from 'react-ga';\r\nimport Api from \"./../../api\";\r\n\r\n\r\nimport {useEventListener} from \"./../../hooks\";\r\n\r\n\r\nconst eachframetime = 8;\r\n\r\nconst Wrapper = styled.div`\r\nposition: absolute;\r\nwidth: calc(100% - 2rem);\r\nheight: calc(100% - 1.3rem);\r\nmargin: 0.65rem 1rem;\r\npointer-events: none;\r\n`;\r\nconst TVFrame = styled.div`\r\n position: absolute; \r\n overflow: hidden;\r\n left: 12%;\r\n border: none;\r\n width: 44.2%;\r\n height: 44.2%;\r\n top: 36.1%;\r\n left: 10.8%;\r\n transform: none;\r\n display:block;\r\n ${(props) => (props.show ? \"visibility:visible;\" : \"visibility:hidden;z-index:-1;\")}\r\n`;\r\nconst ImgFrame = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nconst AnimateImg = styled.img`\r\n position: absolute;\r\n display: ${(props) => (props.show ? \"block\" : \"none\")};\r\n ${(props) =>\r\n props.animclass === \"slide\" ? \"width: calc(100% + 50px);\" : \"width:100%;\"}\r\n height: auto;\r\n opacity: 0;\r\n ${(props) =>\r\n props.activeindex === props.index || props.activeindex === props.index - 1\r\n ? \"animation: \"+eachframetime*2+\"s animateimg\" + props.animclass + \";\"\r\n : \"\"}\r\n ${(props) =>\r\n props.activeindex === 0 && props.index === 0\r\n ? \"animation: \"+eachframetime*2+\"s animateimg0;\"\r\n : \"\"}\r\n ${(props) =>\r\n props.activeindex === cinematicimages.length - 1 && props.index === 0\r\n ? \"animation: \"+eachframetime*2+\"s animateimg\" + props.animclass + \";\"\r\n : \"\"}\r\n @keyframes animateimg0 {\r\n 0% {\r\n transform: scale(1.1);\r\n opacity: 1;\r\n }\r\n 43% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0;\r\n transform: scale(1);\r\n }\r\n 100% {\r\n opacity: 0;\r\n }\r\n }\r\n @keyframes animateimgslide {\r\n 0% {\r\n opacity: 0;\r\n }\r\n 40% {\r\n opacity: 0;\r\n }\r\n 45% {\r\n transform: translate(-50px, -30px);\r\n }\r\n 50% {\r\n opacity: 1;\r\n }\r\n 93% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0;\r\n transform: translate(0px, 0px);\r\n }\r\n }\r\n @keyframes animateimgzoomin {\r\n 0% {\r\n opacity: 0;\r\n }\r\n 40% {\r\n opacity: 0;\r\n }\r\n 45% {\r\n transform: scale(1.1);\r\n }\r\n 50% {\r\n opacity: 1;\r\n }\r\n 93% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0;\r\n transform: scale(1);\r\n }\r\n }\r\n @keyframes animateimgzoomout {\r\n 0% {\r\n opacity: 0;\r\n }\r\n 40% {\r\n opacity: 0;\r\n }\r\n 45% {\r\n transform: scale(1);\r\n }\r\n 50% {\r\n opacity: 1;\r\n }\r\n 93% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0;\r\n transform: scale(1.1);\r\n }\r\n }\r\n`;\r\nconst InfoBubble = styled.div`\r\n display: ${(props) => (props.show ? \"block\" : \"none\")};\r\n background: ${(props) => props.color}; \r\n &.left {\r\n animation: ${eachframetime*2}s forwards leftbubble;\r\n\r\n }\r\n\r\n &.leftalt {\r\n animation: ${eachframetime*2}s forwards leftaltbubble;\r\n\r\n }\r\n\r\n @keyframes leftbubble {\r\n 0% {\r\n opacity: 0;\r\n margin-bottom: -25px;\r\n }\r\n 10% {\r\n opacity: 1;\r\n margin-bottom: -20px;\r\n }\r\n 85% {\r\n opacity: 1;\r\n margin-bottom: -20px;\r\n }\r\n 95% {\r\n opacity: 0;\r\n margin-bottom: -25px;\r\n }\r\n 100% {\r\n opacity: 0;\r\n margin-bottom: -25px;\r\n }\r\n }\r\n\r\n @keyframes leftaltbubble {\r\n 0% {\r\n opacity: 0;\r\n margin-bottom: -25px;\r\n }\r\n 10% {\r\n opacity: 1;\r\n margin-bottom: -20px;\r\n }\r\n 85% {\r\n opacity: 1;\r\n margin-bottom: -20px;\r\n }\r\n 95% {\r\n opacity: 0;\r\n margin-bottom: -25px;\r\n }\r\n 100% {\r\n opacity: 0;\r\n margin-bottom: -25px;\r\n }\r\n }\r\n\r\n\r\n & .infoContainer {\r\n position: absolute;\r\n padding-top: 6px;\r\n padding-top: 10%;\r\n left: 30px;\r\n width: calc(100% - 30px);\r\n bottom: 20px;\r\n height: calc(100% - 20px);\r\n box-sizing: border-box;\r\n color: white;\r\n font-family: sans-serif;\r\n font-size: 12px;\r\n }\r\n &.right .infoContainer {\r\n left: unset;\r\n right: 30px;\r\n text-align: right;\r\n }\r\n\r\n &.left .infoContainer > div {\r\n margin-left: 8px;\r\n padding-right: 8px;\r\n }\r\n &.leftalt .infoContainer > div {\r\n margin-left: 8px;\r\n padding-right: 8px;\r\n }\r\n\r\n &.right .infoContainer > div {\r\n margin-right: 8px;\r\n padding-left: 8px;\r\n }\r\n\r\n & .rugTitle {\r\n font-weight: 600;\r\n width: fit-content;\r\n border-bottom: 1px solid white;\r\n position: absolute;\r\n left: 0;\r\n }\r\n & .rugTitle{\r\n animation: ${eachframetime*2}s forwards topdownleft;\r\n }\r\n\r\n\r\n @keyframes topdownleft {\r\n 0% {\r\n margin-top: -3px;\r\n }\r\n 12% {\r\n margin-top: 0px;\r\n }\r\n 85% {\r\n margin-top: 0px;\r\n }\r\n 98% {\r\n margin-top: -3px;\r\n }\r\n }\r\n\r\n\r\n &.right .rugTitle {\r\n right: 0;\r\n left: unset;\r\n }\r\n & .minidisc {\r\n font-size: 6px;\r\n }\r\n & .scantext {\r\n margin-top: 16px;\r\n font-size: 8px;\r\n padding-top: 2px;\r\n line-height: 8px;\r\n margin-bottom: 6px;\r\n }\r\n & .scantext > p {\r\n margin: 0;\r\n }\r\n\r\n & .qrdiv {\r\n margin-left: 21px;\r\n }\r\n & .qrdiv > img {\r\n width: 48px;\r\n cursor: pointer;\r\n pointer-events: all;\r\n }\r\n & .linkdiv {\r\n font-size: 8px;\r\n cursor: pointer;\r\n pointer-events: all;\r\n\r\n }\r\n`;\r\n\r\nfunction MiniCinematic(props) {\r\n const { show } = props;\r\n const [startshow, setstartshow] = useState(false);\r\n const [infoClass, setinfoClass] = useState(\"left\");\r\n const [infoSizeClass, setinfoSizeClass] = useState(\"large\");\r\n const [activeindex, setactiveindex] = useState(0);\r\n const [loadNumber, setloadNumber] = useState(0);\r\n\r\n const frameRef = useRef(null);\r\n\r\n const animationClasses = [\r\n \"zoomin\",\r\n \"slide\",\r\n \"zoomout\",\r\n \"zoomin\",\r\n \"slide\",\r\n \"zoomout\",\r\n ];\r\n\r\n\r\n useEffect(() => {\r\n if (activeindex % 2 === 0) {\r\n infoClass === \"leftalt\" ? setinfoClass(\"left\") : setinfoClass(\"leftalt\");\r\n }\r\n }, [activeindex]);\r\n\r\n\r\n useEffect(() => {\r\n\r\n if(show){\r\n calculateinfosize();\r\n }\r\n \r\n }, [show])\r\n\r\n const calculateinfosize = () =>{\r\n console.log(\"info size\");\r\n setTimeout(() => {\r\n calc();\r\n }, 100);\r\n\r\n function calc(){\r\n if(frameRef && frameRef.current){\r\n console.log(frameRef);\r\n if(frameRef.current.clientHeight > 400){console.log(frameRef.current.clientHeight, \" xlarge\");setinfoSizeClass(\"xlarge\")}\r\n else if(frameRef.current.clientHeight > 250){console.log(frameRef.current.clientHeight, \" large\");setinfoSizeClass(\"large\")}\r\n else if(frameRef.current.clientHeight > 150){console.log(frameRef.current.clientHeight, \" medium\");setinfoSizeClass(\"medium\")}\r\n else{console.log(frameRef.current.clientHeight, \" small\");setinfoSizeClass(\"small\")}\r\n }\r\n }\r\n\r\n }\r\n\r\n const handleqrclick = (link,action) => {\r\n window.open(link);\r\n ReactGA.event({\r\n category: 'Links',\r\n action: 'Click in cinematic',\r\n value: link,\r\n label:link\r\n });\r\n Api.logData(action,\"Cinematic\");\r\n };\r\n const handlecinematicimgload = () => {\r\n if (loadNumber + 1 === cinematicimages.length) {\r\n setstartshow(true);\r\n let animinterval = setInterval(() => {\r\n setactiveindex((activeindex) =>\r\n activeindex === cinematicimages.length - 1 ? 0 : activeindex + 1\r\n );\r\n }, eachframetime *1000);\r\n }\r\n setloadNumber((loadNumber) => loadNumber + 1);\r\n };\r\n useEventListener(\"resize\", calculateinfosize);\r\n\r\n\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n {cinematicimages.map((element, index) => {\r\n return (\r\n handlecinematicimgload()}\r\n index={index}\r\n activeindex={activeindex}\r\n animclass={animationClasses[index]}\r\n show={startshow}\r\n >\r\n );\r\n })}\r\n \r\n\r\n \r\n
\r\n
\r\n {cinematicimages[activeindex].name}\r\n
\r\n {/*
Available for Custom Orders
*/}\r\n
\r\n

Scan the QR code to

\r\n

view this design

\r\n {/*

Scan the QR code with

\r\n

your phone to customize

\r\n

and view this design in

\r\n

your room

*/}\r\n
\r\n \r\n handleqrclick(\r\n rugsharehomelink + cinematicimages[activeindex].link,\r\n cinematicimages[activeindex].action\r\n )\r\n }\r\n >\r\n \r\n
\r\n \r\n handleqrclick(\r\n rugsharehomelink + cinematicimages[activeindex].link,\r\n cinematicimages[activeindex].action\r\n )\r\n }\r\n >\r\n {rugsharehomelink + cinematicimages[activeindex].link}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default MiniCinematic;\r\n","import React, { useState, useEffect, useRef, useCallback } from \"react\";\r\nimport $ from \"jquery\";\r\nimport styled from \"styled-components\";\r\nimport { Toast, Toaster } from \"@blueprintjs/core\";\r\nimport \"@blueprintjs/core/lib/css/blueprint.css\";\r\nimport { useWindowSize } from \"./../../hooks\";\r\nimport ThumbsWrapper from \"./../ThumbsWrapper\";\r\nimport ClockHelper from \"./../Animate/clockhelper\";\r\nimport MagazineTurnElem from \"./../MagazineTurnElem\";\r\nimport { AtSpinnerOverlay, AtSpinner } from \"./../AtSpinner\";\r\nimport MiniCinematic from \"./../MiniCinematic\";\r\n\r\nimport { resizeKeepingAspect } from \"./../../utils\";\r\nimport { pages, fullscreenbtnsrc, links, magbase, paneltogglesrc } from \"./../../constants\";\r\nimport { useFullscreen, useToggle } from \"react-use\";\r\nimport ReactGA from 'react-ga';\r\nimport Api from \"./../../api\";\r\n\r\nconst clockHelper = new ClockHelper();\r\nconst WholeContainer = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n\r\n &:fullscreen {\r\n background: #2e2f3c !important;\r\n }\r\n`;\r\nconst Container = styled.div`\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n width: calc(${(props) => props.wid}px + 2rem);\r\n height: calc(${(props) => props.hgt}px + 1.3rem);\r\n padding: 1rem;\r\n box-sizing: border-box;\r\n background-image: url(${magbase});\r\n ${(props) =>\r\n props.center !== 0\r\n ? \"background-image: url(./magazine/base-half.png);background-position:\" + props.wid / 4 + \"px 0px;\"\r\n : \"\"}\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n transition: background-image 1s, background-position 1s;\r\n & .magazine {\r\n margin-left: calc(${(props) => (props.center !== 0 ? (props.center * props.wid) / 4 : 0)}px);\r\n transition: margin-left 0.5s;\r\n }\r\n padding: 0;\r\n & > div:nth-child(1) {\r\n position: absolute;\r\n margin: 0.65rem 1rem;\r\n }\r\n`;\r\n\r\nconst LoadingPlaceholderDiv = styled.div`\r\n width: calc(${(props) => props.wid/2}px);\r\n height: calc(${(props) => props.hgt}px);\r\n background: #060219;\r\n color:hsl(203, 27%, 22%);\r\n`;\r\nconst LinksFrame = styled.div`\r\n z-index: 2;\r\n position: absolute;\r\n width: calc(100% - 2rem);\r\n height: calc(100% - 1.3rem);\r\n box-sizing: border-box;\r\n margin: 0.65rem 1rem;\r\n pointer-events: none;\r\n background: transparent;\r\n overflow: hidden;\r\n`;\r\nconst ZoomBtnContainer = styled.div`\r\n position: fixed;\r\n padding: 0.5rem 1rem;\r\n width: 100vw;\r\n box-sizing: border-box;\r\n /* border-radius: 0.25rem; */\r\n z-index: 1;\r\n pointer-events: none;\r\n & :last-child {\r\n border-top-left-radius: 0.5rem;\r\n border-bottom-left-radius: 0.5rem;\r\n }\r\n & :first-child {\r\n border-top-right-radius: 0.5rem;\r\n border-bottom-right-radius: 0.5rem;\r\n }\r\n & > img {\r\n float: right;\r\n opacity: 0.3;\r\n /* border-radius: 0.5rem; */\r\n background: rgba(180, 185, 203, 0.5);\r\n /* margin: 0.2rem; */\r\n padding: 0.1rem;\r\n pointer-events: all;\r\n }\r\n\r\n & > img:hover {\r\n opacity: 1;\r\n }\r\n`;\r\n\r\nconst Link = styled.div`\r\n position: absolute;\r\n z-index: 10;\r\n color: transparent;\r\n top: ${(props) => props.top};\r\n left: ${(props) => props.left};\r\n width: ${(props) => props.width};\r\n height: ${(props) => props.height};\r\n background: transparent;\r\n cursor: pointer;\r\n pointer-events: all;\r\n ${props => props.rotate?\"transform:rotate(\"+props.rotate+\");\":\"\"}\r\n ${(props) => (props.active ? \"\" : \"display:none;\")}/* opacity: 0.5; */\r\n`;\r\n\r\nconst PeelBlocker = styled.div`\r\ntop:0;\r\nleft:0;\r\nheight:100%;\r\nwidth:50%;\r\nposition:absolute;\r\nz-index:10;\r\npointer-events: all;\r\n`;\r\nconst Video = styled.video`\r\n z-index: 10;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n height: 76.9%;\r\n display: ${(props) => (props.show ? \"block\" : \"none\")};\r\n -webkit-mask-image: -webkit-gradient(\r\n linear,left bottom, left top, color-stop(0.50, rgba(0,0,0,1)),\r\n color-stop(0.75, rgba(0,0,0,1)),\r\n color-stop(1.00, rgba(0,0,0,0)));\r\n`;\r\n\r\n\r\nconst MaskImage = styled.img`\r\n pointer-events: none;\r\n z-index: 1;\r\n position: absolute;\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 0.65rem 1rem;\r\n display: ${(props) => (props.show ? \"block\" : \"none\")};\r\n`;\r\nconst Clockcanvas = styled.canvas`\r\n position: absolute;\r\n left: 794px;\r\n top: 520px;\r\n z-index: 2;\r\n width: 14%;\r\n left: 26.5%;\r\n top: 59.05%;\r\n transform: scale(0.95) rotateZ(56deg);\r\n display: ${(props) => (props.show ? \"block\" : \"none\")};\r\n`;\r\nconst QR = styled.img`\r\n position: absolute;\r\n z-index: 10;\r\n top: 6.5%;\r\n left: 69.5%;\r\n width: 7%;\r\n height: 7%;\r\n background: transparent;\r\n height: auto !important;\r\n opacity: 0;\r\n transform: rotate(29deg);\r\n cursor: pointer;\r\n`;\r\n\r\nconst MagNavigator = styled.img`\r\n width: 32px;\r\n z-index: 15;\r\n top: 50%;\r\n pointer-events:all;\r\n cursor:pointer;\r\n \r\n position: absolute;\r\n border-radius: 50%;\r\n background: #b4b9cb;\r\n opacity: 0.4;\r\n\r\n &:hover{\r\n opacity: 0.9;\r\n }\r\n\r\n &.left{\r\n left: 0.5rem;\r\n transform: translate(0, -50%) rotate(90deg);\r\n }\r\n &.right{\r\n left: calc(100% - 0.5rem);\r\n transform: translate(-100%, -50%) rotate(270deg);\r\n }\r\n`;\r\n\r\n\r\n\r\nfunction getJsonFromUrl(url) {\r\n if (!url) url = window.location.search;\r\n var query = url.substr(1);\r\n var result = {};\r\n query.split(\"&\").forEach(function (part) {\r\n var item = part.split(\"=\");\r\n result[item[0]] = decodeURIComponent(item[1]);\r\n });\r\n return result;\r\n}\r\nconst copyToClipboard = (str) => {\r\n const el = document.createElement(\"textarea\");\r\n el.value = str;\r\n document.body.appendChild(el);\r\n el.select();\r\n document.execCommand(\"copy\");\r\n document.body.removeChild(el);\r\n};\r\nconst Turn = () => {\r\n const [center, setcenter] = useState(0);\r\n const [dims, setdims] = useState(null);\r\n const [activePage, setactivePage] = useState(1);\r\n const [clockinit, setclockinit] = useState(false);\r\n const page = getJsonFromUrl().page;\r\n const [turnPage, setturnPage] = useState();\r\n const [loadImageArr, setloadImageArr] = useState([]);\r\n const [firstTurn, setfirstTurn] = useState(true);\r\n const [showToast, setshowToast] = useState(true);\r\n const [toastProps, setToastProps] = useState(null);\r\n const [showcinematic, setshowcinematic] = useState(false);\r\n\r\n const clockcanvas = useRef(null);\r\n const videoref = useRef(null);\r\n const audioref = useRef(null);\r\n const containerref = useRef(null);\r\n const [show, toggle] = useToggle(false);\r\n const isFullscreen = useFullscreen(containerref, show, {\r\n onClose: () => toggle(false),\r\n });\r\n\r\n const windowsize = useWindowSize();\r\n\r\n const { width, height } = resizeKeepingAspect(\r\n { width: 1920, height: 1080 },\r\n { width: window.innerWidth - 32, height: window.innerHeight - 32 }\r\n );\r\n\r\n //set options for flipbook\r\n const options = {\r\n width: Number(width),\r\n height: Number(height),\r\n autoCenter: true,\r\n display: \"double\",\r\n duration: 1000,\r\n acceleration: true,\r\n elevation: 200,\r\n page: page ? parseInt(page) * 2 : 2,\r\n gradients: !$.isTouch,\r\n turnCorners: \"bl,br\",\r\n when: {\r\n turned: function (e, page) {\r\n ReactGA.modalview(\"Turnedtopage \"+Math.trunc(page / 2));\r\n if(Math.trunc(page / 2) === 13){\r\n console.log(\"setting cinematic true in turned \",Math.trunc(page / 2));\r\n setshowcinematic(true);\r\n }\r\n else{\r\n console.log(\"setting cinematic false in turned \",Math.trunc(page / 2));\r\n\r\n setshowcinematic(false);\r\n }\r\n },\r\n turning: function (e, page, view) {\r\n if (page === 1) {\r\n page === 1 ? setcenter(-1) : setcenter(1);\r\n \r\n } else {\r\n setcenter(0);\r\n }\r\n if(Math.trunc(page / 2) !== 13){\r\n console.log(\"setting cinematic false in turned \",Math.trunc(page / 2));\r\n\r\n setshowcinematic(false);\r\n }\r\n else{\r\n console.log(\"setting cinematic true in turned \",Math.trunc(page / 2));\r\n\r\n setshowcinematic(true);\r\n }\r\n let videoelem = document.getElementById(\"teaVideo\");\r\n if(videoelem && videoelem.currentTime <= 0 )videoelem.play()\r\n\r\n setactivePage(Math.trunc(page / 2));\r\n },\r\n first: function (e, page) {\r\n // console.log(\"first\");\r\n // setcenter(true);\r\n },\r\n start: function (event, pageObject, corner) {\r\n // if (corner === \"tr\") {\r\n // console.log(\"Triggeres \", corner);\r\n // event.preventDefault();\r\n // }\r\n // let arr = [2, 3];\r\n // let viewarr = $(this).turn(\"view\");\r\n // let isfirst = (viewarr[0]==arr[0]) && (viewarr[1]==arr[1]);\r\n // if (isfirst && (corner == \"tl\" || corner == \"bl\")) {\r\n // console.log(\"Triggeres \",corner)\r\n // event.preventDefault();\r\n // }\r\n },\r\n },\r\n };\r\n\r\n //effects\r\n\r\n useEffect(() => {\r\n let emptyarr = new Array(pages.length).fill(0);\r\n setloadImageArr([...emptyarr]);\r\n }, [pages]);\r\n\r\n useEffect(() => {\r\n let dimobj = resizeKeepingAspect(\r\n { width: 1920, height: 1080 },\r\n { width: window.innerWidth - 32, height: window.innerHeight - 32 }\r\n );\r\n setdims(dimobj);\r\n }, [windowsize]);\r\n\r\n useEffect(() => {\r\n if (clockcanvas !== null && clockcanvas.current) {\r\n clockHelper.initClock(clockcanvas.current);\r\n setclockinit(true);\r\n }\r\n }, [clockcanvas]);\r\n\r\n useEffect(() => {\r\n if (!clockinit && activePage !== 1) {\r\n clockHelper.initClock(clockcanvas.current);\r\n setclockinit(true);\r\n }\r\n if(activePage !== 13){\r\n console.log(\"setting cinematic false in activePage \",activePage);\r\n\r\n setshowcinematic(false);\r\n }\r\n if (activePage > 1) {\r\n videoref.current.play();\r\n }\r\n }, [activePage]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n const isIpad = navigator.userAgent.match(/iPad/i)\r\n console.log(isIpad)\r\n if(isIpad) return;\r\n if (firstTurn && activePage === 1) {\r\n console.log(\"first turn\");\r\n } else if (firstTurn) {\r\n setfirstTurn(false);\r\n audioref.current.play();\r\n } else {\r\n audioref.current.pause();\r\n audioref.current.currentTime = 0;\r\n audioref.current.play();\r\n }\r\n }, [activePage]);\r\n\r\n useEffect(() => {\r\n if (loadImageArr.length > 0) {\r\n if (\r\n loadImageArr[1] === 1 &&\r\n loadImageArr[2] === 1 &&\r\n loadImageArr[3] === 1 &&\r\n loadImageArr[4] === 1 &&\r\n loadImageArr[5] === 1 &&\r\n loadImageArr[6] === 1\r\n ) {\r\n setshowToast(false);\r\n }\r\n }\r\n }, [loadImageArr]);\r\n\r\n const turntopage = (truncatedindex) => {\r\n let pageindex = truncatedindex === 0 ? 2 : truncatedindex * 2;\r\n setturnPage(pageindex);\r\n setTimeout(() => {\r\n setturnPage(-1);\r\n }, 50);\r\n };\r\n\r\n const clickAudioHandler = () => {\r\n // if(audioref.current.currentTime <= 0){\r\n // const isIpad = navigator.userAgent.match(/iPad/i)\r\n // console.log(isIpad)\r\n // if(isIpad) return;\r\n // audioref.current.pause();\r\n // audioref.current.currentTime = 0;\r\n // audioref.current.play();\r\n // } \r\n }\r\n\r\n const handleLinkClick = (e,data) => {\r\n const {link, action,page, download, self, redirectsession} = data[0];\r\n e.preventDefault();\r\n e.stopPropagation();\r\n let newlink = link;\r\n if(redirectsession){\r\n newlink = link + \"?beyonddreamssession=\" + Api.getSessionKey();\r\n }\r\n if (self) {\r\n window.open(newlink, \"_self\");\r\n if(action){\r\n ReactGA.event({\r\n category: 'Links',\r\n action: 'Download',\r\n value: newlink,\r\n label:newlink\r\n });\r\n Api.logData(action,\"Download\");\r\n }\r\n \r\n return;\r\n \r\n }\r\n if (!download){ \r\n \r\n window.open(newlink);\r\n if(action){\r\n ReactGA.event({\r\n category: 'Links',\r\n action: 'Click',\r\n value: newlink,\r\n label:newlink\r\n });\r\n Api.logData(action,\"page=\"+page);\r\n }\r\n \r\n }\r\n else {\r\n var tag = document.createElement(\"a\");\r\n let image = document.createElement(\"img\");\r\n tag.appendChild(image);\r\n image.src = link;\r\n\r\n tag.href = link;\r\n tag.download = download;\r\n document.body.appendChild(tag);\r\n tag.click();\r\n document.body.removeChild(tag);\r\n\r\n }\r\n };\r\n\r\n const handleImageLoad = (index) => {\r\n let newarr = [...loadImageArr];\r\n newarr[index] = 1;\r\n setloadImageArr([...newarr]);\r\n };\r\n\r\n const getImage = (index) => {\r\n let conditionmet =\r\n index <= 2 || (index > 2 && (loadImageArr[index - 2] === 1 || loadImageArr[index - 1] === 1));\r\n return conditionmet ? (\r\n \"\" handleImageLoad(index)}>\r\n ) : (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n toggle()}>\r\n {\r\n window.open(\r\n \"https://g-helper.s3.amazonaws.com/BeyondDreams/B+E+Y+O+N+D++D+R+E+A+M+S+-+Issue+1.pdf\",\r\n \"_self\"\r\n );\r\n ReactGA.event({\r\n category: 'Links',\r\n action: 'Download',\r\n value:\"https://g-helper.s3.amazonaws.com/BeyondDreams/B+E+Y+O+N+D++D+R+E+A+M+S+-+Issue+1.pdf\",\r\n label:\"https://g-helper.s3.amazonaws.com/BeyondDreams/B+E+Y+O+N+D++D+R+E+A+M+S+-+Issue+1.pdf\"\r\n });\r\n }}\r\n >\r\n \r\n {options !== {} && dims && (\r\n \r\n \r\n {pages.map((page, index) => (\r\n
\r\n {getImage(index)}\r\n {index === 13 && loadImageArr[13] === 1 && (\r\n {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n copyToClipboard(\"EABB2E\");\r\n setToastProps({ message: \"Access code copied to clipboard\" });\r\n }}\r\n >\r\n )}\r\n {index === 19 && loadImageArr[19] === 1 && (\r\n {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n window.open(\"https://explor.ug/seashore\");\r\n }}\r\n src=\"./magazine/qr.png\"\r\n >\r\n )}\r\n {index === 19 && (\r\n \r\n \r\n \r\n \r\n )}\r\n {index === 20 && (\r\n \r\n )}\r\n
\r\n ))}\r\n \r\n \r\n {activePage === 1 && }\r\n {activePage !== 1 && turntopage(activePage - 1)}/>}\r\n {activePage !== Math.trunc(pages.length/2) && turntopage(activePage + 1)}/>}\r\n {links.map((eachlink, index) => (\r\n handleLinkClick(e,eachlink)}\r\n >\r\n Link\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {toastProps && (\r\n setToastProps(null)}\r\n />\r\n )}\r\n \r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Turn;\r\n","import React from \"react\";\r\n\r\nconst Warning = () => {\r\n return (\r\n
\r\n
\r\n
\r\n This iMagazine needs to be viewed in a modern browser.\r\n
\r\n
\r\n Please use Google Chrome,{\" \"}\r\n Safari by Apple,{\" \"}\r\n Microsoft Edge,{\" \"}\r\n Mozilla Firefox{\" \"}\r\n or Opera browser.\r\n
\r\n
\r\n );\r\n};\r\nexport default Warning;\r\n","import React, { useState, useEffect } from 'react';\r\nimport './App.css';\r\nimport Turn from \"./components/Turn\";\r\nimport Warning from \"./components/Warning\";\r\nimport ReactGA from 'react-ga';\r\nimport Api from \"./api\";\r\n\r\nconst nosupport = !!navigator.userAgent.match(/Trident.*rv\\:11\\./);\r\nif (!nosupport) {\r\n ReactGA.initialize('UA-164484284-1', {\r\n debug: false,\r\n titleCase: false,\r\n\r\n });\r\n\r\n ReactGA.pageview('BeyondDreams');\r\n\r\n\r\n Api.logData(\"BeyondDreams\", \"initload\");\r\n}\r\n\r\n\r\nfunction App() {\r\n\r\n return (\r\n \r\n {!nosupport && }\r\n {nosupport && }\r\n \r\n );\r\n}\r\n\r\nexport default App\r\n","\r\n// export const leftFillNum = (num, targetLength) =>\r\n// num.toString().padStart(targetLength, 0);\r\n\r\n// const canvas = document.createElement(\"canvas\")\r\n// canvas.style.position = \"absolute\"\r\n// canvas.style.left = 0\r\n// canvas.style.top = 0\r\n// canvas.style.zIndex = 1\r\n\r\n// canvas.width = 1920\r\n// canvas.height = 1080\r\n// const ctx = canvas.getContext(\"2d\")\r\n// document.body.appendChild(canvas)\r\n// const container = document.createElement('div');\r\n// container.setAttribute(\"id\", \"container\");\r\n// document.body.appendChild(container); \r\n\r\n// let start = 0; let end = 10;\r\n// const images = []\r\n// for (let index = start; index < end; index++) {\r\n// let filename = `test-image-sequence/Lil ${leftFillNum(index, 4)}.jpg`\r\n// let img = new Image();\r\n// img.src = filename\r\n// images.push(img)\r\n// img.onload = () => {\r\n// console.log(\"KJSAHD\")\r\n// if (index + 4 === end) {\r\n// drawinCanvas()\r\n// }\r\n// }\r\n// }\r\n// let index = 0;\r\n// let framesPerSecond = 10;\r\n// const drawinCanvas = () => {\r\n// setTimeout(function () {\r\n// if (index < images.length) {\r\n// ctx.drawImage(images[index], 0, 0, 1920, 1080);\r\n// index++\r\n// } else {\r\n// index = 0\r\n// }\r\n// requestAnimationFrame(drawinCanvas)\r\n// }, 1000 / framesPerSecond);\r\n// }\r\n\r\n\r\n\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\nimport App from \"./App\";\r\nconst rootElement = document.getElementById(\"root\");\r\nReactDOM.render(, rootElement);"],"sourceRoot":""}