1 line
31 KiB
JSON
1 line
31 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, 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 [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 const category = queryParams.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 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 useEffect(() => {\n const fetchResults = async () => {\n let allResults = [];\n for (let page = 0; page < 10; page++) {\n const startRecord = page * resultsPerPage;\n try {\n const response = await fetch(`${sourceMap[category]}?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[0].items || [])];\n } catch (error) {\n console.error(\"Error fetching results:\", error);\n }\n }\n setResults(allResults);\n setLoading(false);\n };\n fetchResults();\n }, [query, category]);\n const computedPages = Math.ceil(results.length / resultsPerPage);\n const totalPages = computedPages > 10 ? 10 : computedPages;\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\n // New: function to fetch video results from PeerTube API\n const fetchVideoResults = async () => {\n setVideoLoading(true);\n try {\n const response = await fetch(`https://tube.kjernsmo.net/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 // Assume results are in data.data (adjust if your API response differs)\n setVideoResults(data.data || []);\n } catch (error) {\n console.error(\"Error fetching video results:\", error);\n } finally {\n setVideoLoading(false);\n }\n };\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"App results-page\",\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: 113,\n columnNumber: 13\n }, this)\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), /*#__PURE__*/_jsxDEV(\"main\", {\n className: \"main-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n id: \"tagline\",\n style: {\n display: 'flex',\n flexDirection: window.innerWidth >= 600 ? 'row' : 'column',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n children: [/*#__PURE__*/_jsxDEV(\"span\", {\n children: [\"Search Results for \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: query\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 126,\n columnNumber: 34\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 125,\n columnNumber: 13\n }, this), window.innerWidth >= 600 && /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"video-button\",\n onClick: fetchVideoResults,\n children: \"Browse Videos\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 129,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 117,\n columnNumber: 11\n }, this), window.innerWidth < 600 && /*#__PURE__*/_jsxDEV(\"div\", {\n style: {\n textAlign: 'center',\n marginBottom: '20px'\n },\n children: /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"video-button\",\n onClick: fetchVideoResults,\n children: \"Browse Videos\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 137,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 136,\n columnNumber: 13\n }, this), loading ? /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Loading results...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 144,\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: 155,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n dangerouslySetInnerHTML: {\n __html: item.description\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 164,\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: 165,\n columnNumber: 23\n }, this)]\n }, idx, true, {\n fileName: _jsxFileName,\n lineNumber: 154,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 147,\n columnNumber: 15\n }, this), window.innerWidth >= 600 && totalPages > 1 && /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"pagination\",\n children: [...Array(totalPages)].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: 179,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 177,\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: 191,\n columnNumber: 13\n }, this), videoLoading && /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Loading videos...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 195,\n columnNumber: 28\n }, this), videoResults && videoResults.length > 0 && /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"video-results-container\",\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: [\"Video Results for \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: query\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 198,\n columnNumber: 37\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 198,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"video-results-list\",\n children: videoResults.map((video, idx) => /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"video-result-item\",\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n href: video.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"video-result-title\",\n children: video.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 202,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: \"video-result-description\",\n children: video.description\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 210,\n columnNumber: 21\n }, this)]\n }, idx, true, {\n fileName: _jsxFileName,\n lineNumber: 201,\n columnNumber: 19\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 199,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 197,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 116,\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: 218,\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: 219,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 217,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 110,\n columnNumber: 7\n }, this)\n }, void 0, false);\n}\n_s(ResultsPage, \"9l956Uh6dQWRCvEa8bx5fA1oArM=\", 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","visitedLinks","setVisitedLinks","stored","localStorage","getItem","JSON","parse","resultsPerPage","location","queryParams","URLSearchParams","search","query","get","category","sourceMap","science","philosophy","tech","discover","headerMap","headerBgMap","appBgMap","fetchResults","allResults","page","startRecord","response","fetch","encodeURIComponent","ok","data","json","channels","items","error","console","computedPages","Math","ceil","length","totalPages","paginate","handleLinkClick","url","prev","includes","newVisited","setItem","stringify","fetchVideoResults","Error","status","children","className","style","backgroundColor","to","src","alt","fileName","_jsxFileName","lineNumber","columnNumber","id","display","flexDirection","window","innerWidth","justifyContent","alignItems","onClick","textAlign","marginBottom","slice","map","item","idx","href","link","target","rel","title","dangerouslySetInnerHTML","__html","description","Array","_","video","name","_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 [videoResults, setVideoResults] = useState([]);\n const [loading, setLoading] = useState(true);\n const [videoLoading, setVideoLoading] = useState(false);\n const [currentPage, setCurrentPage] = useState(1);\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 const category = queryParams.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 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 useEffect(() => {\n const fetchResults = async () => {\n let allResults = [];\n\n for (let page = 0; page < 10; page++) {\n const startRecord = page * resultsPerPage;\n try {\n const response = await fetch(\n `${sourceMap[category]}?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\n setResults(allResults);\n setLoading(false);\n };\n\n fetchResults();\n }, [query, category]);\n\n const computedPages = Math.ceil(results.length / resultsPerPage);\n const totalPages = computedPages > 10 ? 10 : computedPages;\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 // New: function to fetch video results from PeerTube API\n const fetchVideoResults = async () => {\n setVideoLoading(true);\n try {\n const response = await fetch(`https://tube.kjernsmo.net/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 // Assume results are in data.data (adjust if your API response differs)\n setVideoResults(data.data || []);\n } catch (error) {\n console.error(\"Error fetching video results:\", error);\n } finally {\n setVideoLoading(false);\n }\n };\n\n return (\n <>\n <div className=\"App results-page\" 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\"\n style={{\n display: 'flex',\n flexDirection: window.innerWidth >= 600 ? 'row' : 'column',\n justifyContent: 'space-between',\n alignItems: 'center'\n }}\n >\n <span>\n Search Results for <strong>{query}</strong>\n </span>\n {window.innerWidth >= 600 && (\n <button className=\"video-button\" onClick={fetchVideoResults}>\n Browse Videos\n </button>\n )}\n </div>\n\n {window.innerWidth < 600 && (\n <div style={{ textAlign: 'center', marginBottom: '20px' }}>\n <button className=\"video-button\" onClick={fetchVideoResults}>\n Browse Videos\n </button>\n </div>\n )}\n\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 && totalPages > 1 && (\n <div className=\"pagination\">\n {[...Array(totalPages)].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\n {/* Video Results Section */}\n {videoLoading && <p>Loading videos...</p>}\n {videoResults && videoResults.length > 0 && (\n <div className=\"video-results-container\">\n <h2>Video Results for <strong>{query}</strong></h2>\n <ul className=\"video-results-list\">\n {videoResults.map((video, idx) => (\n <li key={idx} className=\"video-result-item\">\n <a\n href={video.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"video-result-title\"\n >\n {video.name}\n </a>\n <p className=\"video-result-description\">{video.description}</p>\n </li>\n ))}\n </ul>\n </div>\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":[]} |