search_interface/node_modules/.cache/babel-loader/1a39a2577d58f1e5dc5b0130f938232a9f24cacdb07d076b6787b595c4437cd5.json
2025-04-16 00:01:13 +09:00

1 line
28 KiB
JSON

{"ast":null,"code":"var _jsxFileName = \"/Users/christian/workspace/search_interface/src/SingleCategoryResults.jsx\",\n _s = $RefreshSig$();\n// SingleCategoryResults.jsx\nimport React, { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport './App.css';\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nfunction SingleCategoryResults({\n query,\n primaryCategory\n}) {\n _s();\n const [results, setResults] = useState([]);\n const [loading, setLoading] = useState(true);\n const [videoResults, setVideoResults] = useState([]);\n const [videoLoading, setVideoLoading] = useState(false);\n const [currentPage, setCurrentPage] = useState(1);\n const [viewMode, setViewMode] = useState('web'); // \"web\" or \"video\"\n const [visitedLinks, setVisitedLinks] = useState(() => {\n const stored = localStorage.getItem('visitedLinks');\n return stored ? JSON.parse(stored) : [];\n });\n const resultsPerPage = 10;\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 };\n const headerBgMap = {\n science: '#f8f8f8',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff'\n };\n const appBgMap = {\n science: '#fcfcff',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff'\n };\n\n // For header, always use primaryCategory.\n const headerCategory = primaryCategory;\n\n // Fetch aggregated results over 10 pages.\n useEffect(() => {\n const fetchSingleResults = async () => {\n setLoading(true);\n let allResults = [];\n for (let page = 0; page < 10; page++) {\n const startRecord = page * resultsPerPage;\n try {\n const response = await fetch(`${sourceMap[primaryCategory]}?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 allResults = [...allResults, ...(((_data$channels$ = data.channels[0]) === null || _data$channels$ === void 0 ? void 0 : _data$channels$.items) || [])];\n }\n } catch (error) {\n console.error(\"Error fetching single-category results:\", error);\n }\n }\n setResults(allResults);\n setLoading(false);\n };\n if (viewMode === \"web\") {\n fetchSingleResults();\n }\n }, [query, primaryCategory, viewMode]);\n\n // Video results logic (unchanged)\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) throw new Error(\"Video API error\");\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 = 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(\"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: 112,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 111,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 110,\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: 117,\n columnNumber: 30\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: 119,\n columnNumber: 13\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: 126,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 116,\n columnNumber: 9\n }, this), viewMode === \"web\" ? loading ? /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Loading results...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 133,\n columnNumber: 13\n }, this) : results.length > 0 ? /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [/*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"results-list\",\n children: results.slice(window.innerWidth < 600 ? 0 : (currentPage - 1) * resultsPerPage, window.innerWidth < 600 ? results.length : currentPage * resultsPerPage).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: 144,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n dangerouslySetInnerHTML: {\n __html: item.description\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 153,\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: 154,\n columnNumber: 23\n }, this)]\n }, idx, true, {\n fileName: _jsxFileName,\n lineNumber: 143,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 136,\n columnNumber: 15\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: 168,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 166,\n columnNumber: 17\n }, this)]\n }, void 0, true) : /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"No search results found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 180,\n columnNumber: 13\n }, this) : videoLoading ? /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Loading videos...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 183,\n columnNumber: 11\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: 188,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n dangerouslySetInnerHTML: {\n __html: video.description\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 196,\n columnNumber: 17\n }, this)]\n }, idx, true, {\n fileName: _jsxFileName,\n lineNumber: 187,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 185,\n columnNumber: 11\n }, this) : /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"No video results found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 201,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 115,\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: 205,\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: 206,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 204,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 109,\n columnNumber: 5\n }, this);\n}\n_s(SingleCategoryResults, \"Skr6hTW/kru+XpXVjCJfGf2W/P8=\");\n_c = SingleCategoryResults;\nexport default SingleCategoryResults;\nvar _c;\n$RefreshReg$(_c, \"SingleCategoryResults\");","map":{"version":3,"names":["React","useEffect","useState","Link","jsxDEV","_jsxDEV","Fragment","_Fragment","SingleCategoryResults","query","primaryCategory","_s","results","setResults","loading","setLoading","videoResults","setVideoResults","videoLoading","setVideoLoading","currentPage","setCurrentPage","viewMode","setViewMode","visitedLinks","setVisitedLinks","stored","localStorage","getItem","JSON","parse","resultsPerPage","sourceMap","science","philosophy","tech","discover","headerMap","headerBgMap","appBgMap","headerCategory","fetchSingleResults","allResults","page","startRecord","response","fetch","encodeURIComponent","ok","_data$channels$","data","json","channels","items","error","console","fetchVideoResults","Error","computedPages","Math","ceil","length","paginate","handleLinkClick","url","prev","includes","newVisited","setItem","stringify","className","style","backgroundColor","children","to","src","alt","fileName","_jsxFileName","lineNumber","columnNumber","id","onClick","slice","window","innerWidth","map","item","idx","href","link","target","rel","title","dangerouslySetInnerHTML","__html","description","Array","_","video","name","_c","$RefreshReg$"],"sources":["/Users/christian/workspace/search_interface/src/SingleCategoryResults.jsx"],"sourcesContent":["// SingleCategoryResults.jsx\nimport React, { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport './App.css';\n\nfunction SingleCategoryResults({ query, primaryCategory }) {\n const [results, setResults] = useState([]);\n const [loading, setLoading] = useState(true);\n const [videoResults, setVideoResults] = useState([]);\n const [videoLoading, setVideoLoading] = useState(false);\n const [currentPage, setCurrentPage] = useState(1);\n const [viewMode, setViewMode] = useState('web'); // \"web\" or \"video\"\n const [visitedLinks, setVisitedLinks] = useState(() => {\n const stored = localStorage.getItem('visitedLinks');\n return stored ? JSON.parse(stored) : [];\n });\n const resultsPerPage = 10;\n\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 const headerMap = {\n science: '/header.png',\n philosophy: '/header_philosophy.png',\n tech: '/header_tech.png',\n discover: '/header_web.png',\n };\n\n const headerBgMap = {\n science: '#f8f8f8',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n };\n\n const appBgMap = {\n science: '#fcfcff',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n };\n\n // For header, always use primaryCategory.\n const headerCategory = primaryCategory;\n\n // Fetch aggregated results over 10 pages.\n useEffect(() => {\n const fetchSingleResults = async () => {\n setLoading(true);\n let allResults = [];\n for (let page = 0; page < 10; 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) {\n const data = await response.json();\n allResults = [...allResults, ...(data.channels[0]?.items || [])];\n }\n } catch (error) {\n console.error(\"Error fetching single-category results:\", error);\n }\n }\n setResults(allResults);\n setLoading(false);\n };\n\n if (viewMode === \"web\") {\n fetchSingleResults();\n }\n }, [query, primaryCategory, viewMode]);\n\n // Video results logic (unchanged)\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) throw new Error(\"Video API error\");\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 = 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 <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 () => { await fetchVideoResults(); setViewMode(\"video\"); }}\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 {viewMode === \"web\" ? (\n loading ? (\n <p>Loading results...</p>\n ) : results.length > 0 ? (\n <>\n <ul className=\"results-list\">\n {results\n .slice(\n window.innerWidth < 600 ? 0 : (currentPage - 1) * resultsPerPage,\n window.innerWidth < 600 ? results.length : currentPage * resultsPerPage\n )\n .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\nexport default SingleCategoryResults;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}