{"version":3,"sources":["util/contexts.js","util/history.js","util/constants.js","components/atoms/Truncate/index.jsx","components/atoms/ColorMediaIcon/index.jsx","components/atoms/HexagonImage/index.jsx","components/molecules/UnderConstruction/index.jsx","util/languages.js","hexagon.svg","components/atoms/StatusIndicator/index.jsx","util/appInsights.js","components/atoms/MenuIcon/index.jsx","components/atoms/Spinner/index.jsx","components/molecules/AdvanceSearch/index.jsx","components/organisms/SearchBox/index.jsx","components/organisms/Menu/index.jsx","components/atoms/Logo/index.jsx","components/pages/Home.jsx","util/useClientId.js","util/buildRoute.js","util/routes.js","components/pages/DefaultViewPage.jsx","components/atoms/MainViewHeader/index.jsx","components/pages/MainViewPage.jsx","util/useScrollTo.js","components/pages/RootPage.jsx","util/useRoutes.js","util/storage.js","i18n.js","App.jsx","polyfill.js","serviceWorker.js","index.js","components/atoms/Icon/index.jsx","util/queries.js","util/mediaBreakpoints.js","logo.svg","util/useAPI.js"],"names":["AppContext","createContext","createBrowserHistory","CUSTOM_PAGE_TYPE_FEEDS","customPageTypes","socialMediaTypes","Object","keys","map","Number","filterSocialMediaTypes","customPagesFilter","allCustomPagesFilter","values","backgroundColorDefault","today","Date","getFullYear","getMonth","getDate","getHours","Truncate","maxLength","text","length","title","slice","ColorMediaIcon","icon","props","facebook","viewBox","xmlns","fill","d","twitter","id","x1","y1","x2","y2","gradientTransform","offset","stopColor","instagram","youtube","socialXP","data-name","transform","points","HexagonImg","background","borderColor","HexaDiv","TopArrow","bdColor","Rect","BottomArrow","HoldImg","bg","hexagonShape","styled","div","UnderConstruction","t","useContext","NoContentAlert","languages","label","value","image","module","exports","StatusIndicator","status","loadingText","errorText","dark","viewPortHeight","heightAuto","search","translated","heightVPVl","appProperties","bgImg","useMemo","StatusWrapper","heightVP","className","style","reactPlugin","ReactPlugin","ai","ApplicationInsights","config","instrumentationKey","process","extensions","extensionConfig","identifier","history","loadAppInsights","appInsights","withAppInsights","componentName","Component","withAITracking","MenuIcon","home","height","width","historyActive","historyInactive","imageviewActive","imageviewInactive","settings","Spinner","Wrapper","AdvanceSearch","queryValue","setQueryValue","appShortName","useState","mediaSelected","setMediaSelected","undefined","results","setResults","useAPI","getAdvanceSearch","query","enabled","refetchOnWindowFocus","refetchOnReconnect","refetchOnMount","refetchIntervalInBackground","data","useEffect","List","media","index","iconString","mediaTypeId","toLowerCase","ListType","key","onClick","advancedQuery","username","vl","filter","i","selectMediaType","active","center","noPointer","ul","li","SearchBox","useForm","register","handleSubmit","watch","reset","errors","setValue","formState","isSubmitting","dirty","useHistory","searchVl","setSearchFocus","openAdvanceSearch","setOpenAdvanceSearch","inputFocus","setInputFocus","advanceQuery","setAdvanceQuery","handleSubmitForm","trackEvent","name","properties","searchedText","isDisabled","countDirty","setCountDirty","FormSearch","onSubmit","queryVl","size","mobileL","moveUp","isSafariMobile","Label","Input","type","placeholder","autoComplete","onFocus","error","ref","required","onKeyPress","event","CleanInputIcon","push","Icon","LineSeparator","SearchButton","disabled","Loading","SearchAdvance","form","button","input","SettingsMenu","lazy","Menu","xPagesPointer","setMainFilter","setToHome","openSearch","setopenSearch","hasPointer","openSettings","setOpenSettings","toogleOpenSettings","setActiveMenu","activeMenu","menuArray","onclick","splice","MenuItem","CustomLink","MenuPanel","CSSTransition","in","timeout","classNames","unmountOnExit","fallback","left","right","css","Logo","Home","HomeWrapper","LogoImage","src","logo","onError","target","alt","useClientIdState","createLocalStorageStateHook","generateClientId","a","biri","clientId","uuidv4","buildRoute","route","params","reduce","paramReducer","acc","cur","replace","homeRoute","settingsPageRoute","mainView","contentDividerId","shareUrl","shareCode","customPageRoute","customPageId","categoryRoute","listRoute","historyCustomPageRoute","historyCategoryRoute","historyListRoute","contentFilterPageRoute","aboutPageRoute","explorerPageRoute","categoryExplorerPageRoute","listExplorePageRoute","searchPage","searchByTags","searchByCategories","explorerListResults","XPagesAccordion","GoBack","DefaultViewPage","setXPagesPointer","titleProps","getDefaultView","defaultViewStatus","defaultViewData","isLoading","pathname","useLocation","trim","to","state","fromPointer","Title","color","textColor","opacity","textTransparency","contentDividers","h1","MainViewHeader","isMainView","WrapperBar","includes","Header","header","isHidden","ListView","MainViewPage","useParams","useMainViewQuery","take","sort","isFetchingNextPage","fetchNextPage","hasNextPage","window","scrollTo","top","behavior","customPages","flatMap","page","posts","statusPage","observer","useRef","lastItemNode","useCallback","node","current","disconnect","IntersectionObserver","entries","isIntersecting","observe","getNext","appImages","MainViewFilter","RootPage","Proxy","routes","get","useRoutes","setClientId","then","useClientId","location","setTitleProps","cache","setCache","setAppProperties","getDesignApp","onSuccess","Array","isArray","pageIndex","findIndex","e","shortName","newCache","prevArray","designStatus","backGroundImageUrl","iconUrl","description","Helmet","content","rel","href","path","component","defaultParams","exact","usePageholderCacheState","i18n","use","Backend","LanguageDetector","initReactI18next","init","lng","detection","order","lookupQuerystring","debug","fallbackLng","whitelist","interpolation","escapeValue","react","useSuspense","ns","defaultNS","supportedLngs","backend","loadPath","queryClient","QueryClient","App","searchFocus","mainFilter","isHome","useTranslation","handleLanguageChange","lang","changeLanguage","localStorage","getItem","screenWMax","screen","availWidth","defaultLang","setLanguage","client","render","match","Provider","CustomEvent","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","prototype","Event","Boolean","hostname","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister","about","arrowBack","checkCircle","contentFilter","login","signUp","tools","timesCircle","times","externalAlt","dobleSquares","pages","ellipsis","share","url","axios","_axios","create","paramsSerializer","qs","stringify","arrayFormat","pageHolderShortName","getNavigationItems","parentId","getContentDividers","getAbout","endCursor","dt","setdt","retryDelay","R","useInfiniteQuery","pageParam","getMainView","structuralSharing","select","getNextPageParam","lastPage","staleTime","refetchInterval","mobileS","mobileM","tablet","laptop","laptopL","desktop","userAgent","indexOf","fetch","useQuery"],"mappings":"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","file":"static/js/main.278b8078.chunk.js","sourcesContent":["import { createContext } from 'react'\r\n\r\nexport const AppContext = createContext()\r\nexport const ContainerContext = createContext()\r\nexport const ContentDividersContext = createContext()\r\n","import { createBrowserHistory } from 'history'\r\n\r\nexport default createBrowserHistory()\r\n","export const CUSTOM_PAGE_TYPE_FEEDS = 1\r\nexport const CUSTOM_PAGE_TYPE_TAGS = 2\r\nexport const CUSTOM_PAGE_TYPE_LINKS = 3\r\nexport const CUSTOM_PAGE_TYPE_CONTENT_SOURCES = 4\r\nexport const CUSTOM_PAGE_TYPE_LOGS = 5\r\nexport const CUSTOM_PAGE_TYPE_PICS = 6\r\n\r\nexport const customPageTypes = {\r\n [CUSTOM_PAGE_TYPE_FEEDS]: 'xFeeds',\r\n [CUSTOM_PAGE_TYPE_TAGS]: 'xTags',\r\n [CUSTOM_PAGE_TYPE_LINKS]: 'xLinks',\r\n [CUSTOM_PAGE_TYPE_CONTENT_SOURCES]: 'Content Source',\r\n [CUSTOM_PAGE_TYPE_LOGS]: 'xLogs',\r\n [CUSTOM_PAGE_TYPE_PICS]: 'xPics'\r\n}\r\n\r\nexport const allCustomPageTypes = Object.keys(customPageTypes).map(Number)\r\n\r\nexport const SOCIAL_MEDIA_TYPE_FACEBOOK = 1\r\nexport const SOCIAL_MEDIA_TYPE_TWITTER = 2\r\nexport const SOCIAL_MEDIA_TYPE_INSTAGRAM = 3\r\nexport const SOCIAL_MEDIA_TYPE_YOUTUBE = 4\r\nexport const SOCIAL_MEDIA_TYPE_TWITTER_TAGS = 5\r\nexport const SOCIAL_MEDIA_TYPE_INSTAGRAM_TAGS = 6\r\nexport const SOCIAL_MEDIA_TYPE_YOUTUBE_TAGS = 7\r\nexport const SOCIAL_MEDIA_TYPE_VIDEO_LOGS = 8\r\nexport const SOCIAL_MEDIA_TYPE_IMAGE_LOGS = 9\r\n\r\nexport const socialMediaTypes = {\r\n [SOCIAL_MEDIA_TYPE_FACEBOOK]: 'Facebook',\r\n [SOCIAL_MEDIA_TYPE_YOUTUBE]: 'YouTube',\r\n [SOCIAL_MEDIA_TYPE_INSTAGRAM]: 'Instagram',\r\n [SOCIAL_MEDIA_TYPE_TWITTER]: 'Twitter',\r\n [SOCIAL_MEDIA_TYPE_YOUTUBE_TAGS]: 'YouTube',\r\n [SOCIAL_MEDIA_TYPE_INSTAGRAM_TAGS]: 'Instagram',\r\n [SOCIAL_MEDIA_TYPE_TWITTER_TAGS]: 'Twitter',\r\n [SOCIAL_MEDIA_TYPE_VIDEO_LOGS]: 'Twitter',\r\n [SOCIAL_MEDIA_TYPE_IMAGE_LOGS]: 'YouTube'\r\n}\r\n\r\nexport const socialMediaIcons = {\r\n [SOCIAL_MEDIA_TYPE_FACEBOOK]: ['fab', 'facebook-f'],\r\n [SOCIAL_MEDIA_TYPE_YOUTUBE]: ['fab', 'youtube'],\r\n [SOCIAL_MEDIA_TYPE_INSTAGRAM]: ['fab', 'instagram'],\r\n [SOCIAL_MEDIA_TYPE_TWITTER]: ['fab', 'twitter']\r\n}\r\n\r\nexport const LOG_MEDIA_TYPE_FACEBOOK = 1\r\nexport const LOG_MEDIA_TYPE_TWITTER = 2\r\nexport const LOG_MEDIA_TYPE_INSTAGRAM = 3\r\nexport const LOG_MEDIA_TYPE_YOUTUBE = 4\r\nexport const LOG_MEDIA_TYPE_IMAGE = 5\r\nexport const LOG_MEDIA_TYPE_VIDEO = 6\r\n\r\nexport const logMediaTypes = {\r\n [LOG_MEDIA_TYPE_FACEBOOK]: 'Facebook',\r\n [LOG_MEDIA_TYPE_TWITTER]: 'Twitter',\r\n [LOG_MEDIA_TYPE_INSTAGRAM]: 'Instagram',\r\n [LOG_MEDIA_TYPE_YOUTUBE]: 'YouTube',\r\n [LOG_MEDIA_TYPE_IMAGE]: 'Image',\r\n [LOG_MEDIA_TYPE_VIDEO]: 'Video'\r\n}\r\n\r\nexport const normalizeMediaType = (looseMediaType = '') =>\r\n looseMediaType.toLowerCase().replace('tags', '').trim()\r\n\r\nexport const filterSocialMediaTypes = {\r\n [SOCIAL_MEDIA_TYPE_FACEBOOK]: 'Facebook',\r\n [SOCIAL_MEDIA_TYPE_YOUTUBE]: 'YouTube',\r\n [SOCIAL_MEDIA_TYPE_INSTAGRAM]: 'Instagram',\r\n [SOCIAL_MEDIA_TYPE_TWITTER]: 'Twitter'\r\n}\r\n\r\nexport const allFilterSocialMediaTypes = Object.keys(\r\n filterSocialMediaTypes\r\n).map(Number)\r\n\r\nexport const Latest = 0\r\nexport const MostView = 1\r\nexport const Popular = 2\r\n\r\nexport const customPagesFilter = {\r\n [MostView]: 'Most Views',\r\n [Latest]: 'Latest'\r\n}\r\n\r\nexport const allCustomPagesFilter = Object.values(customPagesFilter)\r\n\r\nexport const backgroundColorDefault = 'rgba(0, 0, 0, .6)'\r\n\r\nexport const today = new Date()\r\nexport const version = `${today.getFullYear()}${today.getMonth()}${today.getDate()}${today.getHours()}`\r\n","import PropTypes from 'prop-types'\r\nimport { slice } from 'ramda'\r\nimport React from 'react'\r\n\r\nexport const Truncate = ({ maxLength, text }) => {\r\n if (!text) return ''\r\n if (text.length < maxLength) return text\r\n\r\n return {slice(0, maxLength - 1, text)}…\r\n}\r\n\r\nTruncate.propTypes = {\r\n maxLength: PropTypes.number,\r\n text: PropTypes.string\r\n}\r\n","import PropTypes from 'prop-types'\r\nimport React from 'react'\r\n\r\nexport const ColorMediaIcon = ({ icon, ...props }) =>\r\n ({\r\n facebook: (\r\n \r\n \r\n \r\n ),\r\n twitter: (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n instagram: (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n youtube: (\r\n \r\n \r\n \r\n ),\r\n socialXP: (\r\n \r\n Social_XP_Logo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }[icon])\r\n\r\nColorMediaIcon.propTypes = {\r\n icon: PropTypes.string.isRequired\r\n}\r\n","import hexagonShape from 'hexagon.svg'\r\nimport React from 'react'\r\nimport styled from 'styled-components'\r\n\r\nexport const HexagonImg = ({ background, borderColor }) => {\r\n return (\r\n <>\r\n {background ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n )\r\n}\r\n\r\nconst HexaDiv = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n`\r\n\r\nconst TopArrow = styled.div`\r\n width: 0;\r\n border-bottom: 10px solid ${props => props.bdColor};\r\n border-left: 20px solid transparent;\r\n border-right: 20px solid transparent;\r\n`\r\n\r\nconst BottomArrow = styled.div`\r\n width: 0;\r\n border-top: 10px solid ${props => props.bdColor};\r\n border-left: 20px solid transparent;\r\n border-right: 20px solid transparent;\r\n`\r\n\r\nconst Rect = styled.div`\r\n height: 20px;\r\n width: 40px;\r\n background: ${props => props.bdColor};\r\n`\r\n\r\nconst HoldImg = styled.div`\r\n width: 36px;\r\n height: 36px;\r\n background-image: url('${props => props.bg}');\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n background-position: center;\r\n position: absolute;\r\n mask-image: url(${props => props.hexagonShape});\r\n mask-repeat: no-repeat;\r\n mask-size: 100% 101%;\r\n mask-position: center;\r\n`\r\n","import { Icon } from 'atoms/Icon'\r\nimport React, { useContext } from 'react'\r\nimport styled from 'styled-components'\r\nimport { AppContext } from 'util/contexts'\r\n\r\nexport const UnderConstruction = () => {\r\n const { t } = useContext(AppContext)\r\n return (\r\n \r\n \r\n

{t('This app is')}

\r\n

\r\n {t('Under')} {t('construction')}\r\n

\r\n
\r\n )\r\n}\r\n\r\nconst NoContentAlert = styled.div`\r\n position: absolute;\r\n background: black;\r\n width: 100%;\r\n height: 100vh;\r\n opacity: 0.9;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: #ffff00;\r\n flex-direction: column;\r\n text-transform: uppercase;\r\n font-weight: bold;\r\n font-size: 20px;\r\n line-height: 30px;\r\n\r\n span {\r\n color: white;\r\n }\r\n\r\n svg {\r\n max-width: 25%;\r\n margin: 0 0 1rem;\r\n }\r\n`\r\n","export const languages = [\r\n {\r\n label: 'English',\r\n value: 'en',\r\n image: '../assets/english.png'\r\n },\r\n {\r\n label: 'Portuguese - BR',\r\n value: 'pr',\r\n image: '../assets/portugese.png'\r\n },\r\n {\r\n label: 'Spanish',\r\n value: 'es',\r\n image: '../assets/spanish.jpg'\r\n }\r\n]\r\n","module.exports = __webpack_public_path__ + \"static/media/hexagon.15a213f4.svg\";","import { Icon } from 'atoms/Icon'\r\nimport PropTypes from 'prop-types'\r\nimport React, { useContext, useMemo } from 'react'\r\nimport styled from 'styled-components'\r\nimport { AppContext } from 'util/contexts'\r\n\r\nexport const StatusIndicator = ({\r\n status,\r\n loadingText = 'loading',\r\n errorText = 'generic-error',\r\n dark,\r\n viewPortHeight,\r\n heightAuto,\r\n search,\r\n translated = false\r\n}) => {\r\n const heightVPVl = heightAuto ? 'auto' : viewPortHeight ? '100vh' : '100%'\r\n const { appProperties, t } = useContext(AppContext)\r\n\r\n const bgImg = useMemo(() => appProperties?.background, [appProperties])\r\n return (\r\n <>\r\n {status === 'loading' && (\r\n \r\n \r\n {translated ? (\r\n {loadingText}\r\n ) : (\r\n {t(loadingText)}\r\n )}\r\n \r\n )}\r\n\r\n {status === 'error' && (\r\n \r\n \r\n {t(errorText)}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nconst StatusWrapper = styled.div`\r\n display: flex;\r\n width: 100%;\r\n height: ${props => props?.heightVP};\r\n align-items: center;\r\n justify-content: center;\r\n color: ${props => (props.dark ? '#000000' : '#ffffff')};\r\n flex-direction: column;\r\n padding: 10px 0;\r\n\r\n span {\r\n margin: 15px 0 5px;\r\n }\r\n\r\n svg {\r\n width: 10%;\r\n max-width: 25px;\r\n }\r\n\r\n .loading {\r\n font-size: 0;\r\n width: 50px;\r\n height: 50px;\r\n border: 4px solid black;\r\n border-radius: 50%;\r\n position: relative;\r\n box-sizing: border-box;\r\n\r\n &::before {\r\n content: ' ';\r\n position: absolute;\r\n top: -4px;\r\n right: 0;\r\n left: -4px;\r\n margin: 0 auto;\r\n border-radius: 50%;\r\n border-top: 4px solid rgb(82, 82, 82);\r\n border-bottom: 4px solid transparent;\r\n border-left: 4px solid transparent;\r\n border-right: 4px solid transparent;\r\n border-radius: 50%;\r\n width: 100%;\r\n height: 100%;\r\n animation: loading 1s linear infinite;\r\n }\r\n }\r\n\r\n @keyframes loading {\r\n from {\r\n transform: rotate(0deg);\r\n }\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n`\r\n\r\nStatusIndicator.propTypes = {\r\n status: PropTypes.string.isRequired,\r\n loadingText: PropTypes.string,\r\n errorText: PropTypes.string,\r\n dark: PropTypes.bool,\r\n viewPortHeight: PropTypes.bool,\r\n heightAuto: PropTypes.bool\r\n}\r\n","import {\r\n ReactPlugin,\r\n withAITracking\r\n} from '@microsoft/applicationinsights-react-js'\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web'\r\nimport history from './history'\r\n\r\nconst reactPlugin = new ReactPlugin()\r\nconst ai = new ApplicationInsights({\r\n config: {\r\n instrumentationKey: process.env.REACT_APP_APPINSIGHTS_KEY,\r\n extensions: [reactPlugin],\r\n extensionConfig: {\r\n [reactPlugin.identifier]: { history }\r\n }\r\n }\r\n})\r\nai.loadAppInsights()\r\n\r\nexport const { appInsights } = ai\r\nexport const withAppInsights = (componentName, Component) =>\r\n process.env.NODE_ENV === 'test'\r\n ? Component\r\n : withAITracking(reactPlugin, Component, componentName)\r\n","import PropTypes from 'prop-types'\r\nimport React from 'react'\r\n\r\nexport const MenuIcon = ({ icon, ...props }) =>\r\n ({\r\n home: (\r\n \r\n \r\n \r\n ),\r\n historyActive: (\r\n \r\n \r\n \r\n ),\r\n historyInactive: (\r\n \r\n \r\n \r\n ),\r\n imageviewActive: (\r\n \r\n \r\n \r\n ),\r\n imageviewInactive: (\r\n \r\n \r\n \r\n ),\r\n search: (\r\n \r\n \r\n \r\n ),\r\n settings: (\r\n \r\n \r\n \r\n )\r\n }[icon])\r\n\r\nMenuIcon.propTypes = {\r\n icon: PropTypes.string.isRequired\r\n}\r\n","import React from 'react'\r\nimport styled from 'styled-components'\r\n\r\nexport const Spinner = props => {\r\n return \r\n}\r\n\r\nconst Wrapper = styled.div`\r\n position: absolute;\r\n left: 27%;\r\n font-size: 0;\r\n width: 31px;\r\n height: 31px;\r\n border: 3px solid #ccc;\r\n border-radius: 50%;\r\n box-sizing: border-box;\r\n background: #080808;\r\n top: 11px;\r\n\r\n &:before {\r\n content: '';\r\n position: absolute;\r\n top: -3px;\r\n right: 0;\r\n left: -3px;\r\n margin: 0 auto;\r\n border-radius: 50%;\r\n border-top: 3px solid rgb(82, 82, 82);\r\n border-bottom: 3px solid transparent;\r\n border-left: 3px solid transparent;\r\n border-right: 3px solid transparent;\r\n border-radius: 50%;\r\n width: 100%;\r\n height: 100%;\r\n animation: loading 1s linear infinite;\r\n }\r\n\r\n @keyframes loading {\r\n from {\r\n transform: rotate(0deg);\r\n }\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n`\r\n","import { ColorMediaIcon } from 'atoms/ColorMediaIcon'\r\nimport { StatusIndicator } from 'atoms/StatusIndicator'\r\nimport PropTypes from 'prop-types'\r\nimport React, { useContext, useEffect, useState } from 'react'\r\nimport styled from 'styled-components'\r\nimport { socialMediaTypes } from 'util/constants'\r\nimport { AppContext } from 'util/contexts'\r\nimport { getAdvanceSearch } from 'util/queries'\r\nimport { useAPI } from 'util/useAPI'\r\n\r\nexport const AdvanceSearch = ({ values }) => {\r\n const { queryValue, setQueryValue, appShortName, t } = useContext(AppContext)\r\n const [mediaSelected, setMediaSelected] = useState({})\r\n const [results, setResults] = useState(undefined)\r\n\r\n const { status, data } = useAPI(\r\n ['advance-search', { values }],\r\n getAdvanceSearch,\r\n {\r\n appShortName,\r\n query: values\r\n },\r\n {\r\n enabled: !!values,\r\n refetchOnWindowFocus: false,\r\n refetchOnReconnect: false,\r\n refetchOnMount: false,\r\n refetchIntervalInBackground: false\r\n }\r\n )\r\n\r\n useEffect(() => {\r\n if (data) {\r\n setResults(data?.data)\r\n }\r\n if (!values) {\r\n setResults(undefined)\r\n setMediaSelected({})\r\n }\r\n }, [data, setResults, values])\r\n\r\n const selectMediaType = media => {\r\n if (mediaSelected === media) {\r\n setMediaSelected({})\r\n setQueryValue({})\r\n setResults(data.data)\r\n } else {\r\n setQueryValue({\r\n ...queryValue,\r\n advancedQuery: media?.value || media?.username,\r\n mediaTypeId: media?.mediaTypeId\r\n })\r\n setMediaSelected(media)\r\n setResults(vl => vl.filter(i => i === media))\r\n }\r\n }\r\n\r\n return (\r\n \r\n {status === 'loading' ? (\r\n \r\n ) : (\r\n <>\r\n {results && (\r\n <>\r\n {results?.length ? (\r\n \r\n {results.map((media, index) => {\r\n const iconString = socialMediaTypes[\r\n media?.mediaTypeId\r\n ]?.toLowerCase()\r\n return (\r\n selectMediaType(media)}\r\n active={mediaSelected === media}\r\n >\r\n {media?.mediaTypeId && (\r\n \r\n )}\r\n {media?.value || media?.username}\r\n \r\n )\r\n })}\r\n \r\n ) : (\r\n \r\n \r\n {t('No results')}\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nconst Wrapper = styled.div`\r\n height: auto;\r\n flex: 0 0 100%;\r\n width: 100%;\r\n`\r\n\r\nconst List = styled.ul`\r\n display: flex;\r\n flex-direction: column;\r\n margin: 0 0 7px;\r\n max-height: 215px;\r\n overflow: auto;\r\n\r\n svg {\r\n margin: 0 10px 0 0;\r\n background: white;\r\n box-sizing: border-box;\r\n width: 25px;\r\n height: 25px;\r\n border-radius: 5px;\r\n\r\n path {\r\n background: linear-gradient(\r\n 45deg,\r\n #405de6,\r\n #5851db,\r\n #833ab4,\r\n #c13584,\r\n #e1306c,\r\n #fd1d1d\r\n );\r\n }\r\n }\r\n`\r\n\r\nconst ListType = styled.li`\r\n align-items: center;\r\n background: ${props => (props.active ? '#ffffff' : '#444')};\r\n border-radius: 5px;\r\n color: ${props => (props.active ? '#000000' : '#ffffff')};\r\n display: flex;\r\n margin: 0 auto 5px;\r\n padding: 8px 15px;\r\n width: 86%;\r\n cursor: ${props => (props.noPointer ? 'text' : 'pointer')};\r\n justify-content: ${props => (props.center ? 'center' : 'start')};\r\n\r\n &:after {\r\n content: '\\u2715';\r\n display: ${props => (props.active ? 'block' : 'none')};\r\n margin-left: auto;\r\n }\r\n`\r\n\r\nAdvanceSearch.propTypes = {\r\n values: PropTypes.string.isRequired\r\n}\r\n","import { Icon } from 'atoms/Icon'\r\nimport { MenuIcon } from 'atoms/MenuIcon'\r\nimport { AdvanceSearch } from 'molecules/AdvanceSearch'\r\nimport React, { useContext, useEffect, useMemo, useState } from 'react'\r\nimport { useForm } from 'react-hook-form'\r\nimport { useHistory } from 'react-router'\r\nimport styled from 'styled-components'\r\nimport { appInsights } from 'util/appInsights'\r\nimport { AppContext } from 'util/contexts'\r\nimport { isSafariMobile, size } from 'util/mediaBreakpoints'\r\n\r\nconst SearchBox = () => {\r\n const {\r\n register,\r\n handleSubmit,\r\n watch,\r\n reset,\r\n errors,\r\n setValue,\r\n formState: { isSubmitting, dirty }\r\n } = useForm()\r\n const history = useHistory()\r\n const { appShortName, t } = useContext(AppContext)\r\n const searchVl = watch('queryVl')\r\n const { setQueryValue, setSearchFocus } = useContext(AppContext)\r\n const [openAdvanceSearch, setOpenAdvanceSearch] = useState(false)\r\n const [inputFocus, setInputFocus] = useState(false)\r\n const [advanceQuery, setAdvanceQuery] = useState('')\r\n\r\n useEffect(() => {\r\n if (inputFocus) {\r\n setSearchFocus(true)\r\n }\r\n }, [inputFocus, setSearchFocus])\r\n\r\n const handleSubmitForm = vl => {\r\n if (openAdvanceSearch) {\r\n setAdvanceQuery(vl)\r\n appInsights.trackEvent({\r\n name: 'Advanced filter',\r\n properties: { searchedText: vl }\r\n })\r\n } else {\r\n setQueryValue({ query: vl })\r\n appInsights.trackEvent({\r\n name: 'Free text filter',\r\n properties: { searchedText: vl }\r\n })\r\n }\r\n }\r\n\r\n const onSubmit = data => {\r\n handleSubmitForm(data.queryVl)\r\n }\r\n\r\n const clearInput = () => {\r\n setAdvanceQuery('')\r\n reset()\r\n setValue('queryVl', '')\r\n setQueryValue({})\r\n history.push(`/${appShortName}/main-view`)\r\n }\r\n\r\n const handleOpenAdvanceSearch = () => {\r\n setOpenAdvanceSearch(true)\r\n reset()\r\n setQueryValue({})\r\n setSearchFocus(false)\r\n }\r\n\r\n const handleCloseAdvanceSearch = () => {\r\n setAdvanceQuery('')\r\n setOpenAdvanceSearch(false)\r\n reset()\r\n setQueryValue({})\r\n history.push(`/${appShortName}/main-view`)\r\n }\r\n\r\n const isDisabled = useMemo(\r\n () => searchVl?.length < 3 || searchVl === undefined,\r\n [searchVl]\r\n )\r\n\r\n const [countDirty, setCountDirty] = useState(0)\r\n useEffect(() => {\r\n if (dirty) {\r\n setCountDirty(vl => vl + 1)\r\n }\r\n }, [dirty, setCountDirty])\r\n return (\r\n \r\n {openAdvanceSearch && }\r\n \r\n {openAdvanceSearch ? (\r\n \r\n \r\n \r\n ) : (\r\n handleOpenAdvanceSearch()}\r\n id='searchAdvanceOpenButton'\r\n >\r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default SearchBox\r\n\r\nconst Loading = styled.div`\r\n font-size: 0;\r\n width: 21px;\r\n height: 21px;\r\n border: 2px solid #ffff;\r\n border-radius: 50%;\r\n position: relative;\r\n box-sizing: border-box;\r\n top: -4px;\r\n\r\n &::before {\r\n content: ' ';\r\n position: absolute;\r\n top: -2px;\r\n right: 0;\r\n left: -2px;\r\n margin: 0 auto;\r\n border-radius: 50%;\r\n border-top: 2px solid rgb(82, 82, 82);\r\n border-bottom: 2px solid transparent;\r\n border-left: 2px solid transparent;\r\n border-right: 2px solid transparent;\r\n border-radius: 50%;\r\n width: 100%;\r\n height: 100%;\r\n animation: loading 1s linear infinite;\r\n }\r\n\r\n @keyframes loading {\r\n from {\r\n transform: rotate(0deg);\r\n }\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n`\r\n\r\nconst FormSearch = styled.form`\r\n align-items: center;\r\n background: #1f1f1f;\r\n color: #ffffff;\r\n display: flex;\r\n height: auto;\r\n justify-content: space-evenly;\r\n margin: 0 auto;\r\n max-width: ${props => props.size};\r\n width: 100%;\r\n position: ${props => (props.moveUp ? 'absolute' : 'fixed')};\r\n bottom: ${props => (props.moveUp ? '40px' : '3rem')};\r\n padding: 10px 0;\r\n flex-wrap: wrap;\r\n\r\n @media (max-width: 768px) {\r\n bottom: ${props => (props.moveUp ? '40px' : '3rem')};\r\n min-height: 3rem;\r\n }\r\n`\r\n\r\nconst Label = styled.div`\r\n position: relative;\r\n width: 85%;\r\n display: flex;\r\n`\r\n\r\nconst SearchButton = styled.button`\r\n background: no-repeat;\r\n border: 0;\r\n color: #ffffff;\r\n opacity: ${props => (props.disabled ? '0.2' : '1')};\r\n cursor: ${props => (props.disabled ? 'not-allowed' : 'pointer')};\r\n position: absolute;\r\n right: 5px;\r\n bottom: 4px;\r\n padding: 0;\r\n border: 0;\r\n padding: 0;\r\n\r\n svg {\r\n width: 20px;\r\n }\r\n`\r\n\r\nconst CleanInputIcon = styled.div`\r\n align-items: center;\r\n background: #636363;\r\n border-radius: 50%;\r\n cursor: pointer;\r\n display: flex;\r\n justify-content: center;\r\n height: 15px;\r\n position: absolute;\r\n right: 41px;\r\n top: 10px;\r\n width: 15px;\r\n border: 0;\r\n padding: 0;\r\n\r\n svg {\r\n height: 7px;\r\n }\r\n`\r\n\r\nconst LineSeparator = styled.div`\r\n width: 1px;\r\n height: 25px;\r\n background: #fff;\r\n display: block;\r\n position: absolute;\r\n right: 33px;\r\n top: 5px;\r\n`\r\nconst SearchAdvance = styled.button`\r\n width: 20px;\r\n cursor: pointer;\r\n background: transparent;\r\n border: 0;\r\n padding: 0;\r\n`\r\n\r\nconst Input = styled.input`\r\n background: #313131;\r\n color: #ffffff;\r\n border: 0;\r\n border-radius: 5px;\r\n font-size: 0.9rem;\r\n height: 1.5rem;\r\n padding: 5px 40px 5px 10px;\r\n width: 100%;\r\n position: relative;\r\n\r\n @media (max-width: 768px) {\r\n height: 1.8rem;\r\n }\r\n\r\n @supports (-webkit-overflow-scrolling: touch) {\r\n font-size: 16px;\r\n }\r\n\r\n &:focus {\r\n border: 1px solid #636363;\r\n box-shadow: 0px 0px 4px #989898;\r\n }\r\n\r\n &::-webkit-input-placeholder {\r\n color: #636363;\r\n font-weight: 100;\r\n font-style: italic;\r\n }\r\n &:-moz-placeholder {\r\n color: #636363;\r\n font-weight: 100;\r\n font-style: italic;\r\n }\r\n &::-moz-placeholder {\r\n color: #636363;\r\n font-weight: 100;\r\n font-style: italic;\r\n }\r\n &:-ms-input-placeholder {\r\n color: #636363;\r\n font-weight: 100;\r\n font-style: italic;\r\n }\r\n`\r\n","import { MenuIcon } from 'atoms/MenuIcon'\r\nimport { Spinner } from 'atoms/Spinner'\r\nimport SearchBox from 'organisms/SearchBox'\r\nimport React, {\r\n lazy,\r\n Suspense,\r\n useContext,\r\n useEffect,\r\n useMemo,\r\n useState\r\n} from 'react'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { CSSTransition } from 'react-transition-group'\r\nimport styled, { css } from 'styled-components'\r\nimport { appInsights } from 'util/appInsights'\r\nimport { AppContext } from 'util/contexts'\r\nimport { size } from 'util/mediaBreakpoints'\r\n\r\n// const SearchBox = lazy(() => import('organisms/SearchBox'))\r\nconst SettingsMenu = lazy(() => import('organisms/SettingsMenu'))\r\n\r\nexport const Menu = () => {\r\n const history = useHistory()\r\n const {\r\n appShortName,\r\n xPagesPointer,\r\n setQueryValue,\r\n setMainFilter,\r\n setToHome\r\n } = useContext(AppContext)\r\n\r\n const [openSearch, setopenSearch] = useState(false)\r\n const hasPointer = useMemo(() => xPagesPointer?.length, [xPagesPointer])\r\n const [openSettings, setOpenSettings] = useState(false)\r\n const toogleOpenSettings = () => {\r\n if (!openSettings) {\r\n appInsights.trackEvent({\r\n name: 'Open Settings'\r\n })\r\n }\r\n openSearch && setopenSearch(false)\r\n openSettings ? setActiveMenu('home') : setActiveMenu('settings')\r\n setOpenSettings(!openSettings)\r\n }\r\n const toogleOpenSearch = () => {\r\n openSearch ? setActiveMenu('home') : setActiveMenu('search')\r\n setopenSearch(!openSearch)\r\n }\r\n const handleSearch = () => {\r\n history.push(`/${appShortName}/main-view`)\r\n toogleOpenSearch()\r\n }\r\n const [activeMenu, setActiveMenu] = useState('home')\r\n\r\n useEffect(() => {\r\n if (openSearch) {\r\n setMainFilter(false)\r\n setQueryValue({})\r\n } else {\r\n setQueryValue({})\r\n }\r\n }, [openSearch, setQueryValue, setMainFilter])\r\n\r\n const menuArray = [\r\n {\r\n icon: 'search',\r\n onclick: handleSearch\r\n },\r\n {\r\n icon: 'home',\r\n onclick: () => {\r\n setopenSearch(false)\r\n setActiveMenu('home')\r\n setToHome(true)\r\n }\r\n },\r\n { icon: 'settings', onclick: toogleOpenSettings }\r\n ]\r\n\r\n if (hasPointer) menuArray.splice(0, 2)\r\n\r\n const MenuItem = ({ icon, onclick }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n {menuArray.map(props => (\r\n \r\n ))}\r\n \r\n {/* }>\r\n \r\n */}\r\n \r\n \r\n\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst MenuPanel = styled.div`\r\n align-items: center;\r\n background: #080808;\r\n bottom: -1px;\r\n color: #ffffff;\r\n display: flex;\r\n max-width: ${props => props.size};\r\n position: fixed;\r\n width: 100%;\r\n z-index: 2;\r\n border-top: 2px solid #1a1a1a;\r\n height: auto;\r\n justify-content: center;\r\n`\r\n\r\nconst CustomLink = styled.div`\r\n flex: 0 0 20%;\r\n text-align: center;\r\n position: relative;\r\n min-height: 3rem;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n cursor: pointer;\r\n\r\n @media (max-width: 768px) {\r\n min-height: 3.5rem;\r\n }\r\n\r\n svg {\r\n width: 1.8rem;\r\n height: 1.8rem;\r\n }\r\n\r\n @media (max-width: 768px) {\r\n width: 2rem;\r\n height: 2rem;\r\n }\r\n\r\n ${({ active }) =>\r\n active &&\r\n css`\r\n &:before {\r\n content: '';\r\n border: 1px solid #ffffff;\r\n font-size: 0;\r\n position: absolute;\r\n top: 0;\r\n width: 50%;\r\n }\r\n `}\r\n`\r\n","import React from 'react'\r\n\r\nconst Logo = props => {\r\n return (\r\n \r\n Social_XP_Logo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Logo\r\n","import Logo from 'atoms/Logo'\r\nimport logo from 'logo.svg'\r\nimport React from 'react'\r\nimport styled from 'styled-components'\r\nimport { withAppInsights } from 'util/appInsights'\r\n\r\nexport const Home = withAppInsights('Home', () => {\r\n return (\r\n \r\n \r\n (ref.target.src = logo)}\r\n alt='App icon'\r\n />\r\n {' '}\r\n
\r\n \r\n
\r\n
\r\n

Social

\r\n Xperience\r\n |\r\n Xploring\r\n |\r\n Xposure\r\n
\r\n
\r\n )\r\n})\r\n\r\nconst LogoImage = styled.div`\r\n background: black;\r\n position: absolute;\r\n top: 0;\r\n width: 100%;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: flex-end;\r\n padding: 0 15px;\r\n box-sizing: border-box;\r\n\r\n @media only screen and (min-width: 768px) {\r\n img {\r\n max-width: 90px;\r\n }\r\n }\r\n\r\n @media (min-width: 1281px) {\r\n img {\r\n max-width: 60px;\r\n }\r\n }\r\n`\r\nconst HomeWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n color: #ffffff;\r\n flex-direction: column;\r\n text-align: center;\r\n background: rgb(43 43 43 / 50%);\r\n height: 100vh;\r\n overflow: hidden;\r\n justify-content: center;\r\n\r\n .no-result {\r\n background: #f00d7f;\r\n padding: 25px;\r\n border-radius: 35px;\r\n max-width: 50%;\r\n margin: 0 auto 50px;\r\n overflow: hidden;\r\n\r\n img {\r\n width: 200px;\r\n }\r\n\r\n svg {\r\n width: 100vw;\r\n fill: #000000;\r\n max-width: 100%;\r\n margin: 0;\r\n }\r\n }\r\n\r\n .footer {\r\n margin-top: 25px;\r\n font-size: 25px;\r\n line-height: 2rem;\r\n color: white;\r\n overflow: hidden;\r\n\r\n @media only screen and (min-width: 768px) {\r\n font-size: 4rem;\r\n line-height: 8rem;\r\n }\r\n\r\n @media (min-width: 1281px) {\r\n font-size: 1rem;\r\n line-height: 2rem;\r\n }\r\n\r\n i {\r\n font-style: italic;\r\n }\r\n\r\n span {\r\n color: white;\r\n margin: 0 10px;\r\n font-weight: 600;\r\n }\r\n\r\n p {\r\n padding: 0;\r\n font-style: italic;\r\n text-transform: uppercase;\r\n }\r\n }\r\n`\r\n","import biri from 'biri'\r\nimport { useEffect } from 'react'\r\nimport { createLocalStorageStateHook } from 'use-local-storage-state'\r\nimport { v4 as uuidv4 } from 'uuid'\r\n\r\nexport const useClientIdState = createLocalStorageStateHook('clientId')\r\n\r\nexport const useClientId = () => {\r\n const [clientId, setClientId] = useClientIdState()\r\n\r\n useEffect(() => {\r\n if (!clientId) {\r\n generateClientId().then(clientId => setClientId(clientId))\r\n }\r\n // eslint-disable-next-line\r\n }, [clientId])\r\n\r\n return clientId\r\n}\r\n\r\nconst generateClientId = async () => {\r\n let clientId\r\n\r\n try {\r\n clientId = await biri()\r\n } catch (err) {\r\n clientId = uuidv4()\r\n }\r\n\r\n return clientId\r\n}\r\n","import { keys, reduce, replace } from 'ramda'\r\n\r\nexport const buildRoute = (route, params) =>\r\n '' + reduce(paramReducer(params), route, keys(params))\r\n\r\nconst paramReducer = params => (acc, cur) =>\r\n params[cur] ? replace(`:${cur}`, params[cur], acc) : acc\r\n","import { buildRoute } from './buildRoute'\r\n\r\nexport const homeRoute = ({ appShortName = 0 }) =>\r\n buildRoute('/:appShortName', { appShortName })\r\nexport const settingsPageRoute = ({ appShortName = 0 }) =>\r\n buildRoute('/:appShortName/settings', { appShortName })\r\nexport const mainView = ({ appShortName = 0, contentDividerId = 0 }) =>\r\n buildRoute('/:appShortName/main-view', {\r\n appShortName,\r\n contentDividerId\r\n })\r\nexport const shareUrl = ({ appShortName, shareCode = null }) =>\r\n buildRoute('/:appShortName/:shareCode', {\r\n appShortName,\r\n shareCode\r\n })\r\n\r\n// Home subroutes\r\nexport const customPageRoute = ({ appShortName = 0, customPageId = 0 }) =>\r\n buildRoute('/:appShortName/customPage/:customPageId', {\r\n appShortName,\r\n customPageId\r\n })\r\nexport const categoryRoute = ({ appShortName = 0, contentDividerId = 0 }) =>\r\n buildRoute('/:appShortName/categories/:contentDividerId', {\r\n appShortName,\r\n contentDividerId\r\n })\r\nexport const listRoute = ({ appShortName = 0, contentDividerId = 0 }) =>\r\n buildRoute('/:appShortName/list/:contentDividerId', {\r\n appShortName,\r\n contentDividerId\r\n })\r\n\r\n// History subroutes\r\nexport const historyCustomPageRoute = ({\r\n appShortName = 0,\r\n customPageId = 0\r\n}) =>\r\n buildRoute('/:appShortName/history/customPage/:customPageId', {\r\n appShortName,\r\n customPageId\r\n })\r\nexport const historyCategoryRoute = ({\r\n appShortName = 0,\r\n contentDividerId = 0\r\n}) =>\r\n buildRoute('/:appShortName/history/categories/:contentDividerId', {\r\n appShortName,\r\n contentDividerId\r\n })\r\nexport const historyListRoute = ({ appShortName = 0, contentDividerId = 0 }) =>\r\n buildRoute('/:appShortName/history/list/:contentDividerId', {\r\n appShortName,\r\n contentDividerId\r\n })\r\n\r\nexport const contentFilterPageRoute = ({ appShortName = 0 }) =>\r\n buildRoute('/:appShortName/settings/content-filter', {\r\n appShortName\r\n })\r\nexport const aboutPageRoute = ({ appShortName = 0 }) =>\r\n buildRoute('/:appShortName/settings/about', { appShortName })\r\n\r\nexport const explorerPageRoute = ({ appShortName = 0 }) =>\r\n buildRoute('/:appShortName/explore', { appShortName })\r\n\r\nexport const categoryExplorerPageRoute = ({\r\n appShortName = 0,\r\n contentDividerId = 0\r\n}) =>\r\n buildRoute('/:appShortName/explore/categoriesExplore/:contentDividerId', {\r\n appShortName,\r\n contentDividerId\r\n })\r\n\r\nexport const listExplorePageRoute = ({\r\n appShortName = 0,\r\n contentDividerId = 0\r\n}) =>\r\n buildRoute('/:appShortName/explore/listExplore/:contentDividerId', {\r\n appShortName,\r\n contentDividerId\r\n })\r\n\r\nexport const searchPage = ({ appShortName = 0 }) =>\r\n buildRoute('/:appShortName/search', {\r\n appShortName\r\n })\r\n\r\nexport const searchByTags = ({ appShortName = 0 }) =>\r\n buildRoute('/:appShortName/search/tags', {\r\n appShortName\r\n })\r\n\r\nexport const searchByCategories = ({ appShortName = 0 }) =>\r\n buildRoute('/:appShortName/search/categories', {\r\n appShortName\r\n })\r\n\r\nexport const explorerListResults = ({ appShortName = 0 }) =>\r\n buildRoute('/:appShortName/search/list', {\r\n appShortName\r\n })\r\n","import { StatusIndicator } from 'atoms/StatusIndicator'\r\nimport React, { lazy, Suspense, useContext, useEffect } from 'react'\r\nimport { Redirect, useLocation } from 'react-router-dom'\r\nimport styled from 'styled-components'\r\nimport { withAppInsights } from 'util/appInsights'\r\nimport { AppContext } from 'util/contexts'\r\nimport { getDefaultView } from 'util/queries'\r\nimport { useAPI } from 'util/useAPI'\r\n\r\nconst XPagesAccordion = lazy(() => import('organisms/XPagesAccordion'))\r\nconst GoBack = lazy(() => import('atoms/GoBack'))\r\nexport const DefaultViewPage = withAppInsights('Default View Page', () => {\r\n const {\r\n xPagesPointer,\r\n setXPagesPointer,\r\n appProperties,\r\n titleProps\r\n } = useContext(AppContext)\r\n const {\r\n status: defaultViewStatus,\r\n data: defaultViewData,\r\n isLoading\r\n } = useAPI(['default-view'], getDefaultView)\r\n\r\n useEffect(() => {\r\n if (defaultViewData) {\r\n setXPagesPointer(defaultViewData?.data)\r\n }\r\n }, [defaultViewData, setXPagesPointer])\r\n if (!isLoading && !defaultViewData?.data.length) {\r\n const newPath = `${useLocation().pathname}/main-view`\r\n const pathname = newPath.replace(/(\\b\\S.+\\b)(?=.*\\1)/g, '').trim()\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n }>\r\n \r\n \r\n \r\n \r\n {appProperties?.name}\r\n \r\n }>\r\n \r\n \r\n \r\n \r\n )\r\n})\r\n\r\nconst Wrapper = styled.div`\r\n height: 100vh;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n`\r\n\r\nconst Title = styled.h1`\r\n font-size: 33px;\r\n text-align: center;\r\n font-weight: 500;\r\n text-shadow: 1px 1px 2.5px rgba(0, 0, 0, 0.4);\r\n color: ${props => props.color};\r\n opacity: ${props => props.opacity};\r\n margin-top: -55px;\r\n margin-bottom: 22px;\r\n`\r\n","import { HexagonImg } from 'atoms/HexagonImage'\r\nimport { StatusIndicator } from 'atoms/StatusIndicator'\r\nimport { Truncate } from 'atoms/Truncate'\r\nimport logo from 'logo.svg'\r\nimport React, { useContext } from 'react'\r\nimport styled from 'styled-components'\r\nimport { AppContext } from 'util/contexts'\r\nimport { size } from 'util/mediaBreakpoints'\r\n\r\nexport const MainViewHeader = ({ isMainView }) => {\r\n const { appProperties } = useContext(AppContext)\r\n return (\r\n \r\n {appProperties?.icon?.includes('undefined') ? (\r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n (ref.target.src = logo)}\r\n alt='App icon'\r\n />\r\n \r\n
\r\n )\r\n}\r\nconst LogoImage = styled.div`\r\n width: 15%;\r\n position: relative;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n img {\r\n max-width: 100%;\r\n }\r\n`\r\nconst Header = styled.div`\r\n display: flex;\r\n margin: 0 auto;\r\n align-items: left;\r\n width: -webkit-fill-available;\r\n justify-content: left;\r\n align-items: center;\r\n max-height: 60px;\r\n\r\n img {\r\n max-width: 35px;\r\n margin: 0 10px 0 0;\r\n border-radius: 2px;\r\n max-height: 35px;\r\n }\r\n\r\n span {\r\n padding: 0 0 0 15px;\r\n }\r\n`\r\n\r\nconst WrapperBar = styled.header`\r\n background: #000000;\r\n position: fixed;\r\n width: 100%;\r\n top: 0;\r\n justify-content: flex-start;\r\n box-sizing: border-box;\r\n color: white;\r\n align-items: center;\r\n display: flex;\r\n z-index: 2;\r\n padding: ${props => (props.isHidden ? '0' : '0 15px')};\r\n max-width: ${size.mobileL};\r\n\r\n svg {\r\n width: 10px;\r\n cursor: pointer;\r\n margin: 5px 0;\r\n }\r\n`\r\n","import { MainViewHeader } from 'atoms/MainViewHeader'\r\nimport { StatusIndicator } from 'atoms/StatusIndicator'\r\nimport { UnderConstruction } from 'molecules/UnderConstruction'\r\n// import queryString from 'query-string'\r\nimport React, {\r\n lazy,\r\n Suspense,\r\n useCallback,\r\n useContext,\r\n useEffect,\r\n useMemo,\r\n useRef\r\n} from 'react'\r\nimport { useParams } from 'react-router-dom'\r\nimport { withAppInsights } from 'util/appInsights'\r\nimport { AppContext } from 'util/contexts'\r\nimport { useMainViewQuery } from 'util/queries'\r\nimport { scrollToTop } from 'util/useScrollTo'\r\n\r\nconst ListView = lazy(() => import('organisms/ListView'))\r\nexport const MainViewPage = withAppInsights('Main View Page', () => {\r\n const { shareCode } = useParams()\r\n const { queryValue, appProperties, t } = useContext(AppContext)\r\n const take = 30\r\n const {\r\n data,\r\n status,\r\n isLoading,\r\n isFetchingNextPage,\r\n fetchNextPage,\r\n hasNextPage,\r\n error\r\n } = useMainViewQuery({\r\n take,\r\n query: queryValue?.query,\r\n advancedQuery: queryValue?.advancedQuery,\r\n mediaTypeId: queryValue?.mediaTypeId,\r\n sort: queryValue?.sort,\r\n customPageId: queryValue?.customPageId,\r\n shareCode: shareCode\r\n })\r\n\r\n useEffect(() => {\r\n status && scrollToTop()\r\n }, [status])\r\n\r\n const customPages = useMemo(\r\n () => data?.flatMap(page => page.data.posts)?.flatMap(posts => posts),\r\n [data]\r\n )\r\n\r\n const statusPage = useMemo(\r\n () => data?.map(page => page.status)?.map(i => i)[0],\r\n [data]\r\n )\r\n\r\n const observer = useRef()\r\n\r\n const lastItemNode = useCallback(\r\n node => {\r\n if (isLoading) return\r\n if (observer?.current) observer.current.disconnect()\r\n // eslint-disable-next-line\r\n observer.current = new IntersectionObserver(entries => {\r\n if (entries[0].isIntersecting) {\r\n hasNextPage && fetchNextPage()\r\n }\r\n })\r\n if (node) observer.current.observe(node)\r\n },\r\n [fetchNextPage, hasNextPage, isLoading]\r\n )\r\n\r\n return (\r\n <>\r\n \r\n\r\n {isLoading ? (\r\n \r\n ) : (\r\n <>\r\n {statusPage === 204 ? (\r\n
\r\n \r\n
\r\n ) : (\r\n }\r\n >\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )\r\n})\r\n","export const scrollToTop = () =>\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n })\r\n","import { StatusIndicator } from 'atoms/StatusIndicator'\r\nimport React, { lazy, Suspense, useContext, useEffect, useMemo } from 'react'\r\nimport { Helmet } from 'react-helmet'\r\nimport { Route, Switch, useLocation } from 'react-router-dom'\r\nimport { appInsights } from 'util/appInsights'\r\nimport { AppContext } from 'util/contexts'\r\nimport { getDesignApp } from 'util/queries'\r\nimport { useAPI } from 'util/useAPI'\r\nimport { useClientId } from 'util/useClientId'\r\nimport { useRoutes } from 'util/useRoutes'\r\nimport { DefaultViewPage } from './DefaultViewPage'\r\nimport { MainViewPage } from './MainViewPage'\r\n\r\nconst appImages = process.env.REACT_APP_BLOB_IMAGES_URL\r\n\r\nconst MainViewFilter = lazy(() => import('organisms/MainViewFilter'))\r\n\r\nexport const RootPage = () => {\r\n const { homeRoute, mainView, shareUrl } = useRoutes()\r\n const clientId = useClientId()\r\n const location = useLocation()\r\n const isMainView = location.pathname.includes('main-view')\r\n\r\n const {\r\n appShortName,\r\n xPagesPointer,\r\n setTitleProps,\r\n cache,\r\n setCache,\r\n setAppProperties\r\n } = useContext(AppContext)\r\n const hasPointer = useMemo(() => xPagesPointer?.length, [xPagesPointer])\r\n\r\n const { status: designStatus, data } = useAPI(\r\n ['app'],\r\n getDesignApp,\r\n {},\r\n {\r\n onSuccess: data => {\r\n if (cache !== null && !Array.isArray(cache)) {\r\n return setCache([data.data])\r\n }\r\n const pageIndex = cache?.findIndex(\r\n e => e.shortName.toLowerCase() === data.data.shortName.toLowerCase()\r\n )\r\n if (pageIndex !== -1) {\r\n const newCache = [...cache]\r\n\r\n return setCache(newCache.splice(pageIndex))\r\n }\r\n if (\r\n cache?.length &&\r\n cache[0].shortName?.toLowerCase() ===\r\n location.state?.fromPointer?.toLowerCase()\r\n ) {\r\n return setCache(prevArray => [data.data, ...prevArray])\r\n }\r\n return setCache([data.data])\r\n }\r\n }\r\n )\r\n\r\n const appProperties = data?.data || {}\r\n\r\n useEffect(() => {\r\n if (appProperties.backGroundImageUrl) {\r\n setAppProperties({\r\n background: appImages + appProperties.backGroundImageUrl,\r\n name: appProperties.name,\r\n icon: appImages + appProperties.iconUrl,\r\n description: appProperties.description\r\n })\r\n setTitleProps({\r\n textColor: appProperties.textColor,\r\n textTransparency: appProperties.textTransparency\r\n })\r\n }\r\n }, [appProperties, setTitleProps, setAppProperties])\r\n\r\n useEffect(() => {\r\n if (clientId) {\r\n appInsights.trackEvent({\r\n name: 'xPage viewed',\r\n properties: { clientId, appShortName }\r\n })\r\n }\r\n }, [clientId, appShortName])\r\n\r\n return (\r\n <>\r\n \r\n {appProperties.name}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {hasPointer ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {designStatus === 'loading' && (\r\n \r\n )}\r\n\r\n {isMainView ? (\r\n }>\r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n )\r\n}\r\n","import { useContext } from 'react'\r\nimport { AppContext } from 'util/contexts'\r\nimport { buildRoute } from './buildRoute'\r\nimport * as routes from './routes'\r\n\r\nexport const useRoutes = () => {\r\n const { appShortName } = useContext(AppContext)\r\n\r\n return new Proxy(routes, {\r\n get: (target, name) =>\r\n name in target\r\n ? params => buildRoute(target[name](params || {}), { appShortName })\r\n : undefined\r\n })\r\n}\r\n","import { createLocalStorageStateHook } from 'use-local-storage-state'\r\n\r\nexport const useAppHistoryState = createLocalStorageStateHook('history')\r\nexport const useCustomPageCacheState = createLocalStorageStateHook(\r\n 'customPageCache'\r\n)\r\nexport const useContentDividerCacheState = createLocalStorageStateHook(\r\n 'contentDividerCache'\r\n)\r\nexport const usePageholderCacheState = createLocalStorageStateHook(\r\n 'pageholderCache'\r\n)\r\n","import i18n from 'i18next'\r\nimport LanguageDetector from 'i18next-browser-languagedetector'\r\nimport Backend from 'i18next-http-backend'\r\nimport { initReactI18next } from 'react-i18next'\r\n\r\nconst options = {\r\n order: ['querystring', 'navigator'],\r\n lookupQuerystring: 'lng'\r\n}\r\n\r\ni18n\r\n .use(Backend)\r\n .use(LanguageDetector)\r\n .use(initReactI18next)\r\n .init({\r\n lng: 'en',\r\n detection: options,\r\n debug: false,\r\n fallbackLng: 'en',\r\n whitelist: ['en', 'pr', 'es'],\r\n interpolation: {\r\n escapeValue: false\r\n },\r\n react: {\r\n useSuspense: false\r\n },\r\n ns: ['common'],\r\n defaultNS: 'common',\r\n supportedLngs: ['en', 'pr'],\r\n backend: {\r\n loadPath: `/locales/{{lng}}/{{ns}}.json`\r\n }\r\n })\r\n\r\nexport default i18n\r\n","import { Menu } from 'organisms/Menu'\r\nimport { Home } from 'pages/Home'\r\nimport { RootPage } from 'pages/RootPage'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { QueryClient, QueryClientProvider } from 'react-query'\r\nimport { Route, Router } from 'react-router-dom'\r\nimport styled from 'styled-components'\r\nimport { AppContext } from 'util/contexts'\r\nimport history from 'util/history'\r\nimport { languages } from 'util/languages'\r\nimport { usePageholderCacheState } from 'util/storage'\r\nimport './i18n'\r\n\r\nconst queryClient = new QueryClient()\r\n\r\nexport const App = () => {\r\n const [xPagesPointer, setXPagesPointer] = useState([])\r\n const [queryValue, setQueryValue] = useState({})\r\n const [titleProps, setTitleProps] = useState({})\r\n const [searchFocus, setSearchFocus] = useState(false)\r\n const [mainFilter, setMainFilter] = useState(false)\r\n const [cache, setCache] = usePageholderCacheState()\r\n const [appProperties, setAppProperties] = useState({\r\n background: '',\r\n name: '',\r\n icon: '',\r\n description: ''\r\n })\r\n const [isHome, setToHome] = useState(false)\r\n const { t, i18n } = useTranslation()\r\n\r\n const handleLanguageChange = lang => {\r\n i18n.changeLanguage(lang)\r\n }\r\n\r\n useEffect(() => {\r\n i18n.changeLanguage(window.localStorage.getItem('language'))\r\n }, [i18n])\r\n const screenWMax = window.screen.availWidth > 425 ? '425px' : 'initial'\r\n const [defaultLang, setLanguage] = useState(languages[0])\r\n\r\n return (\r\n \r\n \r\n \r\n (\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n } />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst Wrapper = styled.div`\r\n height: auto;\r\n background-position: center;\r\n background-size: cover;\r\n background-repeat: no-repeat;\r\n background-image: url('${props => props.background}');\r\n max-width: ${props => props.size};\r\n margin: 0 auto;\r\n position: relative;\r\n\r\n &::before {\r\n content: '';\r\n width: 100%;\r\n height: 100%;\r\n background: rgba(0, 0, 0, 0.35);\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n margin: 0 auto;\r\n }\r\n`\r\n","/*\r\n* required polyfills\r\n*/\r\n\r\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\r\nimport 'core-js/es/symbol'\r\nimport 'core-js/es/object'\r\nimport 'core-js/es/function'\r\nimport 'core-js/es/parse-int'\r\nimport 'core-js/es/parse-float'\r\nimport 'core-js/es/number'\r\nimport 'core-js/es/math'\r\nimport 'core-js/es/string'\r\nimport 'core-js/es/date'\r\nimport 'core-js/es/array'\r\nimport 'core-js/es/regexp'\r\nimport 'core-js/es/map'\r\nimport 'core-js/es/weak-map'\r\nimport 'core-js/es/set'\r\nimport 'core-js/es/object'\r\n\r\n/** IE10 and IE11 requires the following for the Reflect API. */\r\n// import 'core-js/es/reflect'\r\n\r\n/** Evergreen browsers require these. **/\r\n// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.\r\n// import 'core-js/es7/reflect'\r\n\r\n// CustomEvent() constructor functionality in IE9, IE10, IE11\r\n(function () {\r\n\r\n if ( typeof window.CustomEvent === \"function\" ) return false\r\n\r\n function CustomEvent ( event, params ) {\r\n params = params || { bubbles: false, cancelable: false, detail: undefined }\r\n var evt = document.createEvent( 'CustomEvent' )\r\n evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail )\r\n return evt\r\n }\r\n\r\n CustomEvent.prototype = window.Event.prototype\r\n\r\n window.CustomEvent = CustomEvent\r\n})()\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n)\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config)\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n )\r\n })\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing\r\n if (installingWorker == null) {\r\n return\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n )\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration)\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.')\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error)\r\n })\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type')\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload()\r\n })\r\n })\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n )\r\n })\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister()\r\n })\r\n }\r\n}\r\n","import React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport { App } from './App'\r\nimport './App.scss'\r\nimport './polyfill'\r\nimport { unregister } from './serviceWorker.js'\r\n\r\nReactDOM.render(, document.getElementById('root'))\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nunregister()\r\n","import PropTypes from 'prop-types'\r\nimport React from 'react'\r\n\r\nexport const Icon = ({ icon, ...props }) =>\r\n ({\r\n about: (\r\n \r\n \r\n \r\n ),\r\n arrowBack: (\r\n \r\n \r\n \r\n ),\r\n checkCircle: (\r\n \r\n \r\n \r\n ),\r\n contentFilter: (\r\n \r\n \r\n \r\n ),\r\n login: (\r\n \r\n \r\n \r\n ),\r\n history: (\r\n \r\n \r\n \r\n ),\r\n signUp: (\r\n \r\n \r\n \r\n ),\r\n tools: (\r\n \r\n \r\n \r\n ),\r\n timesCircle: (\r\n \r\n \r\n \r\n ),\r\n times: (\r\n \r\n \r\n \r\n ),\r\n socialXP: (\r\n \r\n Social_XP_Logo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n externalAlt: (\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n dobleSquares: (\r\n \r\n \r\n \r\n ),\r\n search: (\r\n \r\n \r\n \r\n ),\r\n pages: (\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n ),\r\n ellipsis: (\r\n \r\n \r\n \r\n ),\r\n share: (\r\n \r\n \r\n \r\n )\r\n }[icon])\r\n\r\nIcon.propTypes = {\r\n icon: PropTypes.string.isRequired\r\n}\r\n","/*\r\n util/queries\r\n\r\n To use with react-query, all queries should be wrapped by util/useAPI.\r\n This way, context is injected. Also, queries are converted to thunks,\r\n so they are passed without being fired at every render.\r\n*/\r\n\r\nimport _axios from 'axios'\r\nimport qs from 'qs'\r\nimport * as R from 'ramda'\r\nimport { useContext, useState } from 'react'\r\nimport { useInfiniteQuery } from 'react-query'\r\nimport { AppContext } from './contexts'\r\n\r\nconst url = process.env.REACT_APP_API_URL\r\n\r\n// Workaround for array URL parameters\r\nconst axios = _axios.create({\r\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'repeat' })\r\n})\r\n\r\n//\r\n// API methods\r\n//\r\n\r\nexport const getDesignApp = ({ appShortName: pageHolderShortName }) =>\r\n axios.get(`${url}/App/${pageHolderShortName}/Design`)\r\n\r\nexport const getNavigationItems = ({\r\n appShortName: pageHolderShortName,\r\n parentId\r\n}) =>\r\n axios.get(`${url}/App/${pageHolderShortName}/ContentDividers`, {\r\n params: { parentId }\r\n })\r\n\r\nexport const getContentDividers = ({ appShortName: pageHolderShortName }) =>\r\n axios.get(`${url}/App/${pageHolderShortName}/content-dividers`)\r\n\r\nexport const getSingleContentDivider = ({ contentDividerId }) =>\r\n axios.get(`${url}/App/${contentDividerId}/ContentDivider`)\r\n\r\nexport const getDefaultView = ({ appShortName: pageHolderShortName }) =>\r\n axios.get(`${url}/App/${pageHolderShortName}/default-view`)\r\n\r\nexport const getTags = () => axios.get(`${url}/App/Tags`)\r\n\r\nexport const getMainView = ({\r\n appShortName: pageHolderShortName,\r\n take,\r\n endCursor,\r\n query,\r\n advancedQuery,\r\n mediaTypeId,\r\n sort,\r\n customPageId,\r\n shareCode\r\n}) =>\r\n axios.get(`${url}/App/${pageHolderShortName}/main-view`, {\r\n params: {\r\n take,\r\n endCursor,\r\n query,\r\n advancedQuery,\r\n mediaTypeId,\r\n sort,\r\n customPageId,\r\n shareCode\r\n }\r\n })\r\n\r\nexport const getCategories = () => axios.get(`${url}/App/Categories`)\r\n\r\nexport const getSharePost = ({ shareCode }) =>\r\n axios.get(`${url}/App/share`, {\r\n params: { shareCode }\r\n })\r\n\r\nexport const getAbout = ({ appShortName: pageHolderShortName }) =>\r\n axios.get(`${url}/App/${pageHolderShortName}/about`)\r\n\r\nexport const getAdvanceSearch = ({\r\n appShortName: pageHolderShortName,\r\n query\r\n}) =>\r\n axios.get(`${url}/App/${pageHolderShortName}/advance-search`, {\r\n params: { query }\r\n })\r\n\r\n//\r\n// Queries\r\n//\r\n\r\nexport const useMainViewQuery = ({\r\n take,\r\n endCursor,\r\n query,\r\n advancedQuery,\r\n mediaTypeId,\r\n sort,\r\n customPageId,\r\n shareCode\r\n}) => {\r\n const { appShortName } = useContext(AppContext)\r\n const [dt, setdt] = useState([])\r\n\r\n const retryDelay =\r\n R.last(dt)?.data?.posts?.length === 0 && advancedQuery ? 30000 : false\r\n\r\n return {\r\n ...useInfiniteQuery(\r\n [\r\n 'mainViewQuery',\r\n {\r\n appShortName,\r\n take,\r\n query,\r\n endCursor,\r\n advancedQuery,\r\n mediaTypeId,\r\n sort,\r\n customPageId,\r\n shareCode\r\n }\r\n ],\r\n ({ pageParam = undefined }) => {\r\n return getMainView({\r\n appShortName,\r\n take,\r\n endCursor: pageParam,\r\n query,\r\n advancedQuery,\r\n mediaTypeId,\r\n sort,\r\n customPageId,\r\n shareCode\r\n })\r\n },\r\n {\r\n refetchOnReconnect: false,\r\n refetchOnMount: false,\r\n refetchIntervalInBackground: false,\r\n refetchOnWindowFocus: false,\r\n structuralSharing: false,\r\n select: data => data?.pages,\r\n onSuccess: data => setdt(data),\r\n getNextPageParam: (lastPage, pages) => lastPage.data.endCursor,\r\n staleTime: retryDelay,\r\n refetchInterval: retryDelay\r\n }\r\n )\r\n }\r\n}\r\n","export const size = {\r\n mobileS: '320px',\r\n mobileM: '375px',\r\n mobileL: '425px',\r\n tablet: '768px',\r\n laptop: '1024px',\r\n laptopL: '1440px',\r\n desktop: '2560px'\r\n}\r\n\r\nexport const device = {\r\n mobileS: `(min-width: ${size.mobileS})`,\r\n mobileM: `(min-width: ${size.mobileM})`,\r\n mobileL: `(min-width: ${size.mobileL})`,\r\n tablet: `(min-width: ${size.tablet})`,\r\n laptop: `(min-width: ${size.laptop})`,\r\n laptopL: `(min-width: ${size.laptopL})`,\r\n desktop: `(min-width: ${size.desktop})`,\r\n desktopL: `(min-width: ${size.desktop})`\r\n}\r\n\r\nexport const isSafari = navigator.userAgent.toLowerCase().indexOf('safari')\r\nexport const isSafariMobile = isSafari === 127\r\n","module.exports = __webpack_public_path__ + \"static/media/logo.b32f6712.svg\";","import { useContext } from 'react'\r\nimport { useQuery } from 'react-query'\r\nimport { AppContext } from 'util/contexts'\r\n\r\nexport const useAPI = (key, fetch, params = {}, config = {}) => {\r\n const { appShortName } = useContext(AppContext)\r\n return useQuery(\r\n key && [appShortName, ...key],\r\n () => fetch({ appShortName, ...params }),\r\n config\r\n )\r\n}\r\n"],"sourceRoot":""}