search_interface/node_modules/.cache/babel-loader/0c90207f2b316e882caeff41cc52c2afd74ebe038f7948925983b6bab1f9e24e.json
2025-04-10 18:12:05 +09:00

1 line
17 KiB
JSON

{"ast":null,"code":"var _jsxFileName = \"/home/magh/Documents/landing_page_scroll/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 } from \"react/jsx-dev-runtime\";\nfunction ResultsPage() {\n _s();\n const [results, setResults] = useState([]);\n const [loading, setLoading] = useState(true);\n const location = useLocation();\n const searchParams = new URLSearchParams(location.search);\n const query = searchParams.get('q') || '';\n const category = searchParams.get('cat') || 'science';\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 // Mapping for header images by category\n const headerMap = {\n science: '/header.png',\n philosophy: '/header_philosophy.png',\n tech: '/header_tech.png',\n discover: '/header_web.png'\n };\n\n // Mapping for header background colors by category\n const headerBgMap = {\n science: '#f8f8f8',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff'\n };\n\n // Mapping for page background colors by category\n const appBgMap = {\n science: '#fcfcff',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff'\n };\n useEffect(() => {\n const fetchResults = async () => {\n const resultsPerPage = 10;\n const totalPages = 5;\n let allResults = [];\n const apiUrl = sourceMap[category];\n for (let page = 0; page < totalPages; page++) {\n const startRecord = page * resultsPerPage;\n try {\n var _data$channels, _data$channels$;\n const response = await fetch(`${apiUrl}?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 const items = ((_data$channels = data.channels) === null || _data$channels === void 0 ? void 0 : (_data$channels$ = _data$channels[0]) === null || _data$channels$ === void 0 ? void 0 : _data$channels$.items) || [];\n allResults = [...allResults, ...items];\n } catch (error) {\n console.error(\"Fetching results failed:\", error);\n }\n }\n setResults(allResults);\n setLoading(false);\n };\n fetchResults();\n }, [query, category]);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"App\",\n style: {\n backgroundColor: appBgMap[category]\n },\n children: [/*#__PURE__*/_jsxDEV(\"header\", {\n className: \"header-bar\",\n style: {\n backgroundColor: headerBgMap[category]\n },\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"img\", {\n src: headerMap[category],\n alt: `${category} Header`\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 81,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 7\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: 86,\n columnNumber: 46\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 86,\n columnNumber: 9\n }, this), loading ? /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Loading results...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 89,\n columnNumber: 11\n }, this) : results.length > 0 ? /*#__PURE__*/_jsxDEV(\"ul\", {\n style: {\n textAlign: 'left',\n marginTop: '20px',\n listStyleType: 'none'\n },\n children: results.map((item, idx) => /*#__PURE__*/_jsxDEV(\"li\", {\n style: {\n marginBottom: '20px'\n },\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n href: item.link,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n style: {\n color: 'blue',\n fontSize: '1.1em',\n textDecoration: 'none',\n fontWeight: 'bold'\n },\n children: item.title\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 94,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n dangerouslySetInnerHTML: {\n __html: item.description\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 97,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: `https://web.archive.org/web/*/${item.link}`,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n style: {\n color: '#888',\n fontSize: '0.9em'\n },\n children: \"Cache\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 98,\n columnNumber: 17\n }, this)]\n }, idx, true, {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 91,\n columnNumber: 11\n }, this) : /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"No search results found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 110,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 85,\n columnNumber: 7\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: 114,\n columnNumber: 9\n }, this), \" |\", ' ', /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"https://docs.tsugutsugugo.com/\",\n children: \"Docs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 115,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 113,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 79,\n columnNumber: 5\n }, this);\n}\n_s(ResultsPage, \"tisgxuaUHm2G07XYn4AewBafuwY=\", 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","ResultsPage","_s","results","setResults","loading","setLoading","location","searchParams","URLSearchParams","search","query","get","category","sourceMap","science","philosophy","tech","discover","headerMap","headerBgMap","appBgMap","fetchResults","resultsPerPage","totalPages","allResults","apiUrl","page","startRecord","_data$channels","_data$channels$","response","fetch","encodeURIComponent","ok","data","json","items","channels","error","console","className","style","backgroundColor","children","to","src","alt","fileName","_jsxFileName","lineNumber","columnNumber","id","length","textAlign","marginTop","listStyleType","map","item","idx","marginBottom","href","link","target","rel","color","fontSize","textDecoration","fontWeight","title","dangerouslySetInnerHTML","__html","description","_c","$RefreshReg$"],"sources":["/home/magh/Documents/landing_page_scroll/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 [loading, setLoading] = useState(true);\n const location = useLocation();\n\n const searchParams = new URLSearchParams(location.search);\n const query = searchParams.get('q') || '';\n const category = searchParams.get('cat') || 'science';\n\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 // Mapping for header images by category\n const headerMap = {\n science: '/header.png',\n philosophy: '/header_philosophy.png',\n tech: '/header_tech.png',\n discover: '/header_web.png',\n };\n\n // Mapping for header background colors by category\n const headerBgMap = {\n science: '#f8f8f8',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n };\n\n // Mapping for page background colors by category\n const appBgMap = {\n science: '#fcfcff',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n };\n\n useEffect(() => {\n const fetchResults = async () => {\n const resultsPerPage = 10;\n const totalPages = 5;\n let allResults = [];\n\n const apiUrl = sourceMap[category];\n\n for (let page = 0; page < totalPages; page++) {\n const startRecord = page * resultsPerPage;\n try {\n const response = await fetch(\n `${apiUrl}?query=${encodeURIComponent(query)}&resource=global&urlmaskfilter=.*&prefermaskfilter=&nav=all&maximumRecords=${resultsPerPage}&startRecord=${startRecord}`\n );\n\n if (!response.ok) continue;\n\n const data = await response.json();\n const items = data.channels?.[0]?.items || [];\n\n allResults = [...allResults, ...items];\n } catch (error) {\n console.error(\"Fetching results failed:\", error);\n }\n }\n\n setResults(allResults);\n setLoading(false);\n };\n\n fetchResults();\n }, [query, category]);\n\n return (\n <div className=\"App\" style={{ backgroundColor: appBgMap[category] }}>\n <header className=\"header-bar\" style={{ backgroundColor: headerBgMap[category] }}>\n <Link to=\"/\">\n <img src={headerMap[category]} alt={`${category} Header`} />\n </Link>\n </header>\n <main className=\"main-content\">\n <div id=\"tagline\">Search Results for <strong>{query}</strong></div>\n\n {loading ? (\n <p>Loading results...</p>\n ) : results.length > 0 ? (\n <ul style={{ textAlign: 'left', marginTop: '20px', listStyleType: 'none' }}>\n {results.map((item, idx) => (\n <li key={idx} style={{ marginBottom: '20px' }}>\n <a href={item.link} target=\"_blank\" rel=\"noopener noreferrer\" style={{ color: 'blue', fontSize: '1.1em', textDecoration: 'none', fontWeight: 'bold' }}>\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 style={{ color: '#888', fontSize: '0.9em' }}\n >\n Cache\n </a>\n </li>\n ))}\n </ul>\n ) : (\n <p>No search 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\nexport default ResultsPage;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}