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

1 line
16 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/App.jsx\",\n _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport './App.css';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction App() {\n _s();\n const [query, setQuery] = useState('');\n // Store multiple selected categories in an array\n const [selectedCategories, setSelectedCategories] = useState(['science']);\n const navigate = useNavigate();\n\n // Extended your existing maps with a \"multi\" entry\n const imageMap = {\n science: '/main.png',\n philosophy: '/philosophy.png',\n tech: '/tech.png',\n discover: '/web.png',\n multi: '/multi.png' // <-- displayed when >1 category is selected\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' // <-- displayed when >1 category is selected\n };\n const appBgMap = {\n science: '#fcfcff',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n multi: '#f0f0f0' // <-- background for multi-category\n };\n const headerBgMap = {\n science: '#f8f8f8',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n multi: '#cccccc' // <-- header background for multi-category\n };\n\n // If multiple categories are selected, switch to 'multi' for images/colors\n const currentCategory = selectedCategories.length > 1 ? 'multi' : selectedCategories[0];\n\n // Form submit: pass categories as a comma-separated list\n const handleSubmit = e => {\n e.preventDefault();\n navigate(`/results?q=${encodeURIComponent(query)}&cat=${selectedCategories.join(\",\")}`);\n };\n\n // Handle selecting / deselecting categories\n const handleCategoryChange = e => {\n const options = Array.from(e.target.selectedOptions, opt => opt.value);\n setSelectedCategories(options);\n };\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"App\",\n style: {\n backgroundColor: appBgMap[currentCategory]\n },\n children: [/*#__PURE__*/_jsxDEV(\"header\", {\n className: \"header-bar\",\n style: {\n backgroundColor: headerBgMap[currentCategory]\n },\n children: /*#__PURE__*/_jsxDEV(\"img\", {\n src: headerMap[currentCategory],\n alt: \"Header\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"main\", {\n className: \"main-content\",\n children: [/*#__PURE__*/_jsxDEV(\"img\", {\n id: \"mascot-img\",\n src: imageMap[currentCategory],\n alt: \"Mascot\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 65,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"tagline\",\n children: \"a search engine for the rest of us\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 66,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"form\", {\n className: \"search-form\",\n onSubmit: handleSubmit,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"search-container\",\n children: /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n name: \"search\",\n placeholder: \"Search...\",\n value: query,\n onChange: e => setQuery(e.target.value)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 69,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n style: {\n display: 'block',\n margin: '1rem 0 0.5rem'\n },\n children: \"Hold Ctrl (Windows) or Command (Mac) to select multiple categories:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"multi-select-container\",\n children: /*#__PURE__*/_jsxDEV(\"select\", {\n multiple: true,\n size: \"5\",\n style: {\n width: '400px'\n },\n value: selectedCategories,\n onChange: handleCategoryChange,\n children: [\"science\", \"philosophy\", \"tech\", \"discover\"].sort((a, b) => {\n // Put the first selected category on top, then alphabetical\n if (a === selectedCategories[0]) return -1;\n if (b === selectedCategories[0]) return 1;\n return a.localeCompare(b);\n }).map(cat => /*#__PURE__*/_jsxDEV(\"option\", {\n value: cat,\n children: cat.charAt(0).toUpperCase() + cat.slice(1)\n }, cat, false, {\n fileName: _jsxFileName,\n lineNumber: 98,\n columnNumber: 19\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 83,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 81,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 64,\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: 107,\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: 108,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 5\n }, this);\n}\n_s(App, \"Pdez9FCaZhls8ybi96jsrXayt30=\", false, function () {\n return [useNavigate];\n});\n_c = App;\nexport default App;\nvar _c;\n$RefreshReg$(_c, \"App\");","map":{"version":3,"names":["React","useState","useNavigate","jsxDEV","_jsxDEV","App","_s","query","setQuery","selectedCategories","setSelectedCategories","navigate","imageMap","science","philosophy","tech","discover","multi","headerMap","appBgMap","headerBgMap","currentCategory","length","handleSubmit","e","preventDefault","encodeURIComponent","join","handleCategoryChange","options","Array","from","target","selectedOptions","opt","value","className","style","backgroundColor","children","src","alt","fileName","_jsxFileName","lineNumber","columnNumber","id","onSubmit","type","name","placeholder","onChange","display","margin","multiple","size","width","sort","a","b","localeCompare","map","cat","charAt","toUpperCase","slice","href","_c","$RefreshReg$"],"sources":["/home/magh/Documents/landing_page_experimental/src/App.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport './App.css';\n\nfunction App() {\n const [query, setQuery] = useState('');\n // Store multiple selected categories in an array\n const [selectedCategories, setSelectedCategories] = useState(['science']);\n const navigate = useNavigate();\n\n // Extended your existing maps with a \"multi\" entry\n const imageMap = {\n science: '/main.png',\n philosophy: '/philosophy.png',\n tech: '/tech.png',\n discover: '/web.png',\n multi: '/multi.png', // <-- displayed when >1 category is selected\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', // <-- displayed when >1 category is selected\n };\n\n const appBgMap = {\n science: '#fcfcff',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n multi: '#f0f0f0', // <-- background for multi-category\n };\n\n const headerBgMap = {\n science: '#f8f8f8',\n philosophy: '#ffffff',\n tech: '#ffffff',\n discover: '#ffffff',\n multi: '#cccccc', // <-- header background for multi-category\n };\n\n // If multiple categories are selected, switch to 'multi' for images/colors\n const currentCategory = selectedCategories.length > 1 ? 'multi' : selectedCategories[0];\n\n // Form submit: pass categories as a comma-separated list\n const handleSubmit = (e) => {\n e.preventDefault();\n navigate(`/results?q=${encodeURIComponent(query)}&cat=${selectedCategories.join(\",\")}`);\n };\n\n // Handle selecting / deselecting categories\n const handleCategoryChange = (e) => {\n const options = Array.from(e.target.selectedOptions, (opt) => opt.value);\n setSelectedCategories(options);\n };\n\n return (\n <div className=\"App\" style={{ backgroundColor: appBgMap[currentCategory] }}>\n <header className=\"header-bar\" style={{ backgroundColor: headerBgMap[currentCategory] }}>\n <img src={headerMap[currentCategory]} alt=\"Header\" />\n </header>\n <main className=\"main-content\">\n <img id=\"mascot-img\" src={imageMap[currentCategory]} alt=\"Mascot\" />\n <div id=\"tagline\">a search engine for the rest of us</div>\n <form className=\"search-form\" onSubmit={handleSubmit}>\n <div className=\"search-container\">\n <input\n type=\"text\"\n name=\"search\"\n placeholder=\"Search...\"\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n />\n </div>\n {/* Label explaining how to pick multiple items */}\n <label style={{ display: 'block', margin: '1rem 0 0.5rem' }}>\n Hold Ctrl (Windows) or Command (Mac) to select multiple categories:\n </label>\n <div className=\"multi-select-container\">\n {/* A standard multi-select: size=5 to display as a taller list; user must Ctrl/⌘/Shiftclick to multi-select */}\n <select\n multiple\n size=\"5\"\n style={{ width: '400px' }}\n value={selectedCategories}\n onChange={handleCategoryChange}\n >\n {[\"science\", \"philosophy\", \"tech\", \"discover\"]\n .sort((a, b) => {\n // Put the first selected category on top, then alphabetical\n if (a === selectedCategories[0]) return -1;\n if (b === selectedCategories[0]) return 1;\n return a.localeCompare(b);\n })\n .map((cat) => (\n <option key={cat} value={cat}>\n {cat.charAt(0).toUpperCase() + cat.slice(1)}\n </option>\n ))}\n </select>\n </div>\n </form>\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 App;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}