{"version":3,"file":"static/chunks/pages/compliance/state-filings/state-filing-guide-30d6789a14e63297.js","mappings":"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","sources":["webpack://_N_E/./pages/compliance/state-filings/state-filing-guide/[slug].js","webpack://_N_E/./pages/compliance/state-filings/state-filing-guide/index.js","webpack://_N_E/./src/shared/components/MembershipPageWrap/index.js","webpack://_N_E/./src/shared/hooks/useListSearch.js","webpack://_N_E/?3f54"],"sourcesContent":["import moment from 'moment';\nimport { useRouter } from 'next/router';\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport ListPageStates from '@/src/shared/components/ListPage/ListPageStates';\nimport withMembershipAccessWrap, {\n mapStateToProps,\n} from '@/src/shared/components/MembershipPageWrap';\nimport { COMPLIANCE_ACCESS } from '@/src/shared/constants';\nimport useListSearch from '@/src/shared/hooks/useListSearch';\nimport states from '@/utils/states';\n\nconst now = moment();\nconst nowMinu5Yrs = moment().add(-5, 'years');\n\nconst searchOptions = {\n pubCode: 381,\n dateStart: nowMinu5Yrs.format('MM/DD/YYYY'),\n dateEnd: now.format('MM/DD/YYYY'),\n date: 'true',\n sortField: 'state',\n};\n\nconst StateFilingGuide = props => {\n const router = useRouter();\n const { statecode } = props;\n const _statecode = statecode || router.query.slug || 0;\n const [loading, results] = useListSearch(searchOptions, _statecode);\n\n return (\n \n );\n};\n\nexport async function getStaticPaths() {\n return {\n paths: states.map(s => ({ params: { slug: s.StateCode } })),\n fallback: false,\n };\n}\n\nexport async function getStaticProps({ params }) {\n return {\n props: {\n statecode: params.slug || 0,\n },\n };\n}\n\nexport default connect(mapStateToProps)(\n withMembershipAccessWrap(StateFilingGuide, COMPLIANCE_ACCESS.STATE_FILINGS)\n);\n","import searchContent from '@/utils/searchContent';\n\nimport StateFilingGuide from './[slug]';\n\nexport async function getStaticProps() {\n const response = await searchContent({\n fieldOptionsToReturn: ['States'],\n });\n const { options } = response;\n return {\n props: {\n states: options.States,\n statecode: 0,\n },\n };\n}\nexport default StateFilingGuide;\n","import { useAuth0 } from '@auth0/auth0-react';\nimport Router from 'next/router';\nimport React, { useEffect } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport Error from '@/pages/_error';\nimport { checkAccess } from '@/src/shared/constants';\n\nimport LoadingPage from '../LoadingPage/LoadingPage';\n\nconst isBrowser = typeof window !== 'undefined';\n\nconst withMembershipAccessWrap = (PageComponent, memberLevels, ssr = false) => {\n return function PageComponentWithAccess(props) {\n const { loginWithRedirect, isLoading } = useAuth0();\n const { isLoggedIn, role } = useSelector(state => state.auth);\n const stateLoading = useSelector(state => state.auth.isLoading);\n const personId = useSelector(state => state.auth.userinfo.PersonID);\n\n useEffect(() => {\n if (!stateLoading && !isLoggedIn) {\n loginWithRedirect({\n appState: {\n returnTo: Router.pathname,\n },\n });\n }\n }, [isLoggedIn, stateLoading]);\n\n const hasAccess = checkAccess(memberLevels, role);\n const isAuthorized = personId && Array.isArray(role) && hasAccess;\n const errorCode = isLoggedIn && !hasAccess ? 401.4 : 401;\n\n if (!ssr || isBrowser) {\n if (isLoading || stateLoading) return ;\n if (!stateLoading && !isLoggedIn) {\n loginWithRedirect({\n appState: {\n returnTo: Router.pathname,\n },\n });\n }\n if (!stateLoading && isLoggedIn && !isAuthorized) return ;\n }\n\n return ;\n };\n};\n\nexport const mapStateToProps = state => {\n const {\n auth: {\n isLoggedIn,\n isLoading,\n role,\n userinfo: { PersonID },\n },\n } = state;\n return {\n isLoggedIn,\n isLoading,\n role,\n personId: PersonID,\n };\n};\n\nexport default withMembershipAccessWrap;\n","import { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport searchContent, { generatePostData } from '@/utils/searchContent';\nimport { getPathWithParams } from '@/utils/utils';\n\n/**\n *\n * @param {object} searchOptions searchContent options. See utils/searchContent\n * @param {number|String} statecode -\n * @returns {[boolean, Array]} Search Results\n */\nexport default function useListSearch(searchOptions, statecode) {\n const searchPayload = {\n ...searchOptions,\n ...(statecode && { stateCode: statecode }),\n };\n const pathWithData = getPathWithParams({\n baseURL: process.env.NEW_API_URL,\n url: 'cms/search',\n data: generatePostData(searchPayload),\n method: 'post',\n });\n\n const cache = useSelector(\n state => JSON.parse(state?.pageLoad?.pageCaches?.[pathWithData]?.data || '{}')?.Results || []\n );\n const [results, setResults] = useState([]);\n const [loading, setLoading] = useState(false);\n const [cached, setCached] = useState(false);\n\n useEffect(() => {\n if (cache && cache.length) {\n setCached(true);\n return;\n }\n (async function mounted() {\n try {\n setLoading(true);\n const response = await searchContent(searchPayload);\n\n setResults(response.results);\n setCached(response.cached);\n setLoading(false);\n } catch (error) {\n setResults([]);\n setLoading(false);\n }\n })();\n }, []);\n\n useEffect(() => {\n if (cached) {\n (async function reMounted() {\n try {\n const response = await searchContent(searchPayload, {\n triggerLoad: false,\n serveFromCache: false,\n });\n if (JSON.stringify(response.results) !== JSON.stringify(results)) {\n // diff detected\n setResults(response.results);\n } else {\n // results are the same\n }\n setCached(false);\n } catch (error) {\n // noop\n }\n })();\n }\n }, [cached]);\n\n return [loading, results.length ? results : cache];\n}\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/compliance/state-filings/state-filing-guide\",\n function () {\n return require(\"private-next-pages/compliance/state-filings/state-filing-guide/index.js\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/compliance/state-filings/state-filing-guide\"])\n });\n }\n "],"names":["now","moment","searchOptions","pubCode","dateStart","add","format","dateEnd","date","sortField","connect","mapStateToProps","withMembershipAccessWrap","props","router","useRouter","_statecode","statecode","query","slug","useListSearch","loading","results","title","heroContent","truncateResultSummary","titlePrefix","routeBase","COMPLIANCE_ACCESS","StateFilingGuide","state","auth","isLoggedIn","isLoading","role","personId","userinfo","PersonID","PageComponent","memberLevels","useAuth0","loginWithRedirect","useSelector","stateLoading","useEffect","appState","returnTo","Router","hasAccess","checkAccess","isAuthorized","Array","isArray","errorCode","status","searchPayload","stateCode","pathWithData","getPathWithParams","baseURL","process","url","data","generatePostData","method","cache","JSON","parse","pageLoad","pageCaches","Results","useState","setResults","setLoading","cached","setCached","length","searchContent","response","triggerLoad","serveFromCache","stringify","window","__NEXT_P","push"],"sourceRoot":""}