search_interface/node_modules/.cache/babel-loader/87af809a352fd39908213fee4bebc5a5ee2c49bf33fe617129b5638ca2d02cc4.json
2025-04-14 09:23:55 +09:00

1 line
35 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"ast":null,"code":"var _jsxFileName = \"/home/magh/Documents/landing_page_experimental/src/ResultsPage.jsx\",\n _s = $RefreshSig$();\nimport React, { useEffect, useState } from 'react';\nimport { useLocation, Link } from 'react-router-dom';\nimport './App.css';\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nfunction ResultsPage() {\n _s();\n const [results, setResults] = useState([]);\n const [videoResults, setVideoResults] = useState([]);\n const [loading, setLoading] = useState(true);\n const [videoLoading, setVideoLoading] = useState(false);\n const [currentPage, setCurrentPage] = useState(1);\n const [viewMode, setViewMode] = useState('web'); // \"web\" for normal results, \"video\" for Peertube videos\n const [visitedLinks, setVisitedLinks] = useState(() => {\n const stored = localStorage.getItem('visitedLinks');\n return stored ? JSON.parse(stored) : [];\n });\n const resultsPerPage = 10;\n const location = useLocation();\n const queryParams = new URLSearchParams(location.search);\n const query = queryParams.get('q') || '';\n\n // Get the \"cat\" parameter and split it into an array.\n // The primary category is always the first element.\n const catParam = queryParams.get('cat') || 'science';\n const categories = catParam.split(',').filter(Boolean);\n const primaryCategory = categories[0] || 'science';\n\n // Determine number of categories selected.\n const numCats = categories.length;\n\n // Define pages per category according to the rules:\n // 1 category: 9 pages, 2 categories: 4 pages each, 3 categories: 3 pages each, 4+ categories: 2 pages each.\n let pagesPerCat;\n if (numCats === 1) {\n pagesPerCat = 9;\n } else if (numCats === 2) {\n pagesPerCat = 4;\n } else if (numCats === 3) {\n pagesPerCat = 3;\n } else {\n pagesPerCat = 2;\n }\n\n // Compute total pages:\n const totalPages = numCats > 1 ? numCats * pagesPerCat : pagesPerCat;\n\n // Determine which category to fetch for the current page and which page within that category.\n let fetchCategory, pageForCategory;\n if (numCats > 1) {\n const categoryIndex = (currentPage - 1) % numCats; // index of the category for this page\n pageForCategory = Math.floor((currentPage - 1) / numCats) + 1;\n fetchCategory = categories[categoryIndex];\n } else {\n fetchCategory = primaryCategory;\n pageForCategory = currentPage;\n }\n\n // For header purposes, always use the primary category.\n const headerCategory = primaryCategory;\n\n // Source and header maps as originally defined.\n const sourceMap = {\n science: 'https://science.tsugutsugugo.com/yacysearch.json',\n philosophy: 'https://sophos.tsugutsugugo.com/yacysearch.json',\n tech: 'https://tech.tsugutsugugo.com/yacysearch.json',\n discover: 'https://web.tsugutsugugo.com/yacysearch.json'\n };\n const headerMap = {\n science: '/header.png',\n philosophy: '/header_philosophy.png',\n tech: '/header_tech.png',\n discover: '/header_web.png',\n multi: '/header_multi.png'\n };\n\n // For header, we always use the primary categorys colors.\n const headerBgMap = {\n science: '#f8f8f8',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n multi: '#ffffff'\n };\n const appBgMap = {\n science: '#fcfcff',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n multi: '#ffffff'\n };\n useEffect(() => {\n const fetchResults = async () => {\n setLoading(true);\n if (numCats > 1) {\n // For multiple categories, fetch only one page of results\n // for the computed category and page number.\n const startRecord = (pageForCategory - 1) * resultsPerPage;\n try {\n const response = await fetch(`${sourceMap[fetchCategory]}?query=${encodeURIComponent(query)}&resource=global&urlmaskfilter=.*&prefermaskfilter=&nav=all&maximumRecords=${resultsPerPage}&startRecord=${startRecord}`);\n if (response.ok) {\n var _data$channels$;\n const data = await response.json();\n setResults(((_data$channels$ = data.channels[0]) === null || _data$channels$ === void 0 ? void 0 : _data$channels$.items) || []);\n } else {\n setResults([]);\n }\n } catch (error) {\n console.error(\"Error fetching results:\", error);\n setResults([]);\n }\n } else {\n // For a single category, aggregate results over pagesPerCat pages.\n let allResults = [];\n for (let page = 0; page < pagesPerCat; page++) {\n const startRecord = page * resultsPerPage;\n try {\n var _data$channels$2;\n const response = await fetch(`${sourceMap[primaryCategory]}?query=${encodeURIComponent(query)}&resource=global&urlmaskfilter=.*&prefermaskfilter=&nav=all&maximumRecords=${resultsPerPage}&startRecord=${startRecord}`);\n if (!response.ok) continue;\n const data = await response.json();\n allResults = [...allResults, ...(((_data$channels$2 = data.channels[0]) === null || _data$channels$2 === void 0 ? void 0 : _data$channels$2.items) || [])];\n } catch (error) {\n console.error(\"Error fetching results:\", error);\n }\n }\n setResults(allResults);\n }\n setLoading(false);\n };\n if (viewMode === \"web\") {\n fetchResults();\n }\n }, [query, numCats, pagesPerCat, fetchCategory, pageForCategory, primaryCategory, viewMode]);\n const fetchVideoResults = async () => {\n setVideoLoading(true);\n try {\n const response = await fetch(`https://stream.tsugutsugugo.com/api/v1/videos?search=${encodeURIComponent(query)}`);\n if (!response.ok) {\n throw new Error(`Video API responded with status ${response.status}`);\n }\n const data = await response.json();\n setVideoResults(data.data || []);\n } catch (error) {\n console.error(\"Error fetching video results:\", error);\n } finally {\n setVideoLoading(false);\n }\n };\n const computedPages = numCats > 1 ? totalPages : Math.ceil(results.length / resultsPerPage);\n const paginate = page => setCurrentPage(page);\n const handleLinkClick = url => {\n setVisitedLinks(prev => {\n if (!prev.includes(url)) {\n const newVisited = [...prev, url];\n localStorage.setItem('visitedLinks', JSON.stringify(newVisited));\n return newVisited;\n }\n return prev;\n });\n };\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"App results-page\",\n style: {\n backgroundColor: appBgMap[headerCategory]\n },\n children: [/*#__PURE__*/_jsxDEV(\"header\", {\n className: \"header-bar\",\n style: {\n backgroundColor: headerBgMap[headerCategory]\n },\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"img\", {\n src: headerMap[headerCategory],\n alt: `${headerCategory} Header`\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 176,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 175,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 174,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"main\", {\n className: \"main-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n id: \"tagline\",\n children: [\"Search Results for \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: query\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 181,\n columnNumber: 32\n }, this), \",\", \" \", viewMode === \"web\" ? /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"link-switch\",\n onClick: async () => {\n await fetchVideoResults();\n setViewMode(\"video\");\n },\n children: \"browse videos\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 183,\n columnNumber: 15\n }, this) : /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"link-switch\",\n onClick: () => setViewMode(\"web\"),\n children: \"browse web results\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 193,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 180,\n columnNumber: 11\n }, this), viewMode === \"web\" ? loading ? /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Loading results...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 201,\n columnNumber: 15\n }, this) : results.length > 0 ? /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [/*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"results-list\",\n children: results.map((item, idx) => /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"result-item\",\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n href: item.link,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n onClick: () => handleLinkClick(item.link),\n className: `result-title ${visitedLinks.includes(item.link) ? 'visited-link' : ''}`,\n children: item.title\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 207,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n dangerouslySetInnerHTML: {\n __html: item.description\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 216,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: `https://web.archive.org/web/*/${item.link}`,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"cache-link\",\n children: \"Cache\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 217,\n columnNumber: 23\n }, this)]\n }, idx, true, {\n fileName: _jsxFileName,\n lineNumber: 206,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 204,\n columnNumber: 17\n }, this), window.innerWidth >= 600 && computedPages > 1 && /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"pagination\",\n children: [...Array(computedPages)].map((_, idx) => /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: () => paginate(idx + 1),\n className: `page-btn ${currentPage === idx + 1 ? 'active-page' : ''}`,\n children: idx + 1\n }, idx, false, {\n fileName: _jsxFileName,\n lineNumber: 231,\n columnNumber: 23\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 229,\n columnNumber: 19\n }, this)]\n }, void 0, true) : /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"No search results found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 243,\n columnNumber: 15\n }, this) : videoLoading ? /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Loading videos...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 246,\n columnNumber: 13\n }, this) : videoResults && videoResults.length > 0 ? /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"results-list\",\n children: videoResults.map((video, idx) => /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"result-item\",\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n href: video.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"result-title\",\n children: video.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 251,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n dangerouslySetInnerHTML: {\n __html: video.description\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 259,\n columnNumber: 19\n }, this)]\n }, idx, true, {\n fileName: _jsxFileName,\n lineNumber: 250,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 248,\n columnNumber: 13\n }, this) : /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"No video results found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 264,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 179,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"footer\", {\n className: \"footer\",\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n href: \"https://git.tsugutsugugo.com/explore/repos\",\n children: \"Source\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 268,\n columnNumber: 11\n }, this), \" |\", \" \", /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"https://docs.tsugutsugugo.com/\",\n children: \"Docs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 269,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 267,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 173,\n columnNumber: 7\n }, this)\n }, void 0, false);\n}\n_s(ResultsPage, \"uwqTDoSoe1ghclz16pMS19XbwaE=\", false, function () {\n return [useLocation];\n});\n_c = ResultsPage;\nexport default ResultsPage;\nvar _c;\n$RefreshReg$(_c, \"ResultsPage\");","map":{"version":3,"names":["React","useEffect","useState","useLocation","Link","jsxDEV","_jsxDEV","Fragment","_Fragment","ResultsPage","_s","results","setResults","videoResults","setVideoResults","loading","setLoading","videoLoading","setVideoLoading","currentPage","setCurrentPage","viewMode","setViewMode","visitedLinks","setVisitedLinks","stored","localStorage","getItem","JSON","parse","resultsPerPage","location","queryParams","URLSearchParams","search","query","get","catParam","categories","split","filter","Boolean","primaryCategory","numCats","length","pagesPerCat","totalPages","fetchCategory","pageForCategory","categoryIndex","Math","floor","headerCategory","sourceMap","science","philosophy","tech","discover","headerMap","multi","headerBgMap","appBgMap","fetchResults","startRecord","response","fetch","encodeURIComponent","ok","_data$channels$","data","json","channels","items","error","console","allResults","page","_data$channels$2","fetchVideoResults","Error","status","computedPages","ceil","paginate","handleLinkClick","url","prev","includes","newVisited","setItem","stringify","children","className","style","backgroundColor","to","src","alt","fileName","_jsxFileName","lineNumber","columnNumber","id","onClick","map","item","idx","href","link","target","rel","title","dangerouslySetInnerHTML","__html","description","window","innerWidth","Array","_","video","name","_c","$RefreshReg$"],"sources":["/home/magh/Documents/landing_page_experimental/src/ResultsPage.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useLocation, Link } from 'react-router-dom';\nimport './App.css';\n\nfunction ResultsPage() {\n const [results, setResults] = useState([]);\n const [videoResults, setVideoResults] = useState([]);\n const [loading, setLoading] = useState(true);\n const [videoLoading, setVideoLoading] = useState(false);\n const [currentPage, setCurrentPage] = useState(1);\n const [viewMode, setViewMode] = useState('web'); // \"web\" for normal results, \"video\" for Peertube videos\n const [visitedLinks, setVisitedLinks] = useState(() => {\n const stored = localStorage.getItem('visitedLinks');\n return stored ? JSON.parse(stored) : [];\n });\n const resultsPerPage = 10;\n\n const location = useLocation();\n const queryParams = new URLSearchParams(location.search);\n const query = queryParams.get('q') || '';\n\n // Get the \"cat\" parameter and split it into an array.\n // The primary category is always the first element.\n const catParam = queryParams.get('cat') || 'science';\n const categories = catParam.split(',').filter(Boolean);\n const primaryCategory = categories[0] || 'science';\n\n // Determine number of categories selected.\n const numCats = categories.length;\n\n // Define pages per category according to the rules:\n // 1 category: 9 pages, 2 categories: 4 pages each, 3 categories: 3 pages each, 4+ categories: 2 pages each.\n let pagesPerCat;\n if (numCats === 1) {\n pagesPerCat = 9;\n } else if (numCats === 2) {\n pagesPerCat = 4;\n } else if (numCats === 3) {\n pagesPerCat = 3;\n } else {\n pagesPerCat = 2;\n }\n\n // Compute total pages:\n const totalPages = numCats > 1 ? numCats * pagesPerCat : pagesPerCat;\n\n // Determine which category to fetch for the current page and which page within that category.\n let fetchCategory, pageForCategory;\n if (numCats > 1) {\n const categoryIndex = (currentPage - 1) % numCats; // index of the category for this page\n pageForCategory = Math.floor((currentPage - 1) / numCats) + 1;\n fetchCategory = categories[categoryIndex];\n } else {\n fetchCategory = primaryCategory;\n pageForCategory = currentPage;\n }\n\n // For header purposes, always use the primary category.\n const headerCategory = primaryCategory;\n\n // Source and header maps as originally defined.\n const sourceMap = {\n science: 'https://science.tsugutsugugo.com/yacysearch.json',\n philosophy: 'https://sophos.tsugutsugugo.com/yacysearch.json',\n tech: 'https://tech.tsugutsugugo.com/yacysearch.json',\n discover: 'https://web.tsugutsugugo.com/yacysearch.json',\n };\n\n const headerMap = {\n science: '/header.png',\n philosophy: '/header_philosophy.png',\n tech: '/header_tech.png',\n discover: '/header_web.png',\n multi: '/header_multi.png',\n };\n\n // For header, we always use the primary categorys colors.\n const headerBgMap = {\n science: '#f8f8f8',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n multi: '#ffffff'\n };\n\n const appBgMap = {\n science: '#fcfcff',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n multi: '#ffffff'\n };\n\n useEffect(() => {\n const fetchResults = async () => {\n setLoading(true);\n if (numCats > 1) {\n // For multiple categories, fetch only one page of results\n // for the computed category and page number.\n const startRecord = (pageForCategory - 1) * resultsPerPage;\n try {\n const response = await fetch(\n `${sourceMap[fetchCategory]}?query=${encodeURIComponent(query)}&resource=global&urlmaskfilter=.*&prefermaskfilter=&nav=all&maximumRecords=${resultsPerPage}&startRecord=${startRecord}`\n );\n if (response.ok) {\n const data = await response.json();\n setResults(data.channels[0]?.items || []);\n } else {\n setResults([]);\n }\n } catch (error) {\n console.error(\"Error fetching results:\", error);\n setResults([]);\n }\n } else {\n // For a single category, aggregate results over pagesPerCat pages.\n let allResults = [];\n for (let page = 0; page < pagesPerCat; page++) {\n const startRecord = page * resultsPerPage;\n try {\n const response = await fetch(\n `${sourceMap[primaryCategory]}?query=${encodeURIComponent(query)}&resource=global&urlmaskfilter=.*&prefermaskfilter=&nav=all&maximumRecords=${resultsPerPage}&startRecord=${startRecord}`\n );\n if (!response.ok) continue;\n const data = await response.json();\n allResults = [...allResults, ...(data.channels[0]?.items || [])];\n } catch (error) {\n console.error(\"Error fetching results:\", error);\n }\n }\n setResults(allResults);\n }\n setLoading(false);\n };\n\n if (viewMode === \"web\") {\n fetchResults();\n }\n }, [query, numCats, pagesPerCat, fetchCategory, pageForCategory, primaryCategory, viewMode]);\n\n const fetchVideoResults = async () => {\n setVideoLoading(true);\n try {\n const response = await fetch(`https://stream.tsugutsugugo.com/api/v1/videos?search=${encodeURIComponent(query)}`);\n if (!response.ok) {\n throw new Error(`Video API responded with status ${response.status}`);\n }\n const data = await response.json();\n setVideoResults(data.data || []);\n } catch (error) {\n console.error(\"Error fetching video results:\", error);\n } finally {\n setVideoLoading(false);\n }\n };\n\n const computedPages = numCats > 1 ? totalPages : Math.ceil(results.length / resultsPerPage);\n const paginate = (page) => setCurrentPage(page);\n\n const handleLinkClick = (url) => {\n setVisitedLinks((prev) => {\n if (!prev.includes(url)) {\n const newVisited = [...prev, url];\n localStorage.setItem('visitedLinks', JSON.stringify(newVisited));\n return newVisited;\n }\n return prev;\n });\n };\n\n return (\n <>\n <div className=\"App results-page\" style={{ backgroundColor: appBgMap[headerCategory] }}>\n <header className=\"header-bar\" style={{ backgroundColor: headerBgMap[headerCategory] }}>\n <Link to=\"/\">\n <img src={headerMap[headerCategory]} alt={`${headerCategory} Header`} />\n </Link>\n </header>\n <main className=\"main-content\">\n <div id=\"tagline\">\n Search Results for <strong>{query}</strong>,{\" \"}\n {viewMode === \"web\" ? (\n <span\n className=\"link-switch\"\n onClick={async () => {\n await fetchVideoResults();\n setViewMode(\"video\");\n }}\n >\n browse videos\n </span>\n ) : (\n <span className=\"link-switch\" onClick={() => setViewMode(\"web\")}>\n browse web results\n </span>\n )}\n </div>\n\n {viewMode === \"web\" ? (\n loading ? (\n <p>Loading results...</p>\n ) : results.length > 0 ? (\n <>\n <ul className=\"results-list\">\n {results.map((item, idx) => (\n <li key={idx} className=\"result-item\">\n <a\n href={item.link}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={() => handleLinkClick(item.link)}\n className={`result-title ${visitedLinks.includes(item.link) ? 'visited-link' : ''}`}\n >\n {item.title}\n </a>\n <p dangerouslySetInnerHTML={{ __html: item.description }} />\n <a\n href={`https://web.archive.org/web/*/${item.link}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"cache-link\"\n >\n Cache\n </a>\n </li>\n ))}\n </ul>\n {window.innerWidth >= 600 && computedPages > 1 && (\n <div className=\"pagination\">\n {[...Array(computedPages)].map((_, idx) => (\n <button\n key={idx}\n onClick={() => paginate(idx + 1)}\n className={`page-btn ${currentPage === idx + 1 ? 'active-page' : ''}`}\n >\n {idx + 1}\n </button>\n ))}\n </div>\n )}\n </>\n ) : (\n <p>No search results found.</p>\n )\n ) : videoLoading ? (\n <p>Loading videos...</p>\n ) : videoResults && videoResults.length > 0 ? (\n <ul className=\"results-list\">\n {videoResults.map((video, idx) => (\n <li key={idx} className=\"result-item\">\n <a\n href={video.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"result-title\"\n >\n {video.name}\n </a>\n <p dangerouslySetInnerHTML={{ __html: video.description }} />\n </li>\n ))}\n </ul>\n ) : (\n <p>No video results found.</p>\n )}\n </main>\n <footer className=\"footer\">\n <a href=\"https://git.tsugutsugugo.com/explore/repos\">Source</a> |{\" \"}\n <a href=\"https://docs.tsugutsugugo.com/\">Docs</a>\n </footer>\n </div>\n </>\n );\n}\n\nexport default ResultsPage;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}