{"ast":null,"code":"var _jsxFileName = \"/Users/shoofle/Projects/the-forest/src/PageView.jsx\",\n _s = $RefreshSig$();\nimport logo from './logo.svg';\nimport { queryClient, App } from './App.js';\nimport './App.css';\nimport { useQuery, useMutation } from '@tanstack/react-query';\nimport { useParams } from 'react-router-dom';\nimport { useState } from 'react';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst url = \"http://127.0.0.1:8000\";\nfunction setCurrentPage(row) {\n console.log(\"\" + row[0] + \" \" + row[1] + \" \" + row[2]);\n}\nfunction PageView() {\n _s();\n const {\n pagenumber\n } = useParams();\n const [text_of_page, setBodyText] = useState(\"Nothing loaded yet\");\n const {\n isPending,\n error,\n data\n } = useQuery({\n queryKey: ['page', pagenumber],\n queryFn: () => fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n statements: [{\n q: 'select * from pages where id=@val',\n params: {\n 'val': pagenumber\n }\n }]\n })\n }).then(res => res.json()).then(data => data[0].results.rows[0])\n });\n const mutation = useMutation({\n mutationFn: () => {\n console.log(\"trying to mutate\");\n if (isPending || error) return;\n return fetch(url, {\n metthod: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n statements: [{\n q: 'replace into pages (id, title, description) values (?, ?, ?)',\n params: [data[0], data[1], text_of_page] // TODO: gett the value of the contenteditable block\n }]\n })\n }).then(res => console.log(\"tried to insert!\", res.json()));\n },\n onSuccess: () => {\n // Invalidate and refetch\n queryClient.invalidateQueries({\n queryKey: ['page', pagenumber]\n });\n }\n });\n function handleSubmit(e) {\n e.preventDefault();\n mutation.mutate();\n }\n if (isPending) return \"Loading...\";\n if (error) return \"Uh oh!\";\n setBodyText(data[2]);\n const [the_id, page_title, page_text] = data;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"App\",\n children: /*#__PURE__*/_jsxDEV(\"form\", {\n onSubmit: handleSubmit,\n children: /*#__PURE__*/_jsxDEV(\"header\", {\n className: \"App-header\",\n children: [/*#__PURE__*/_jsxDEV(\"img\", {\n src: logo,\n className: \"App-logo\",\n alt: \"logo\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 71,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"Page-title\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: [the_id, \". \", page_title]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 73,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 72,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"Page-contents\",\n children: /*#__PURE__*/_jsxDEV(\"pre\", {\n contentEditable: \"true\",\n onChange: e => setBodyText(e.target.innerHTML),\n children: text_of_page\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 76,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n type: \"submit\",\n children: \"Submit!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 70,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 69,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 5\n }, this);\n}\n_s(PageView, \"oMOvVECwckPwl6G/Y3a4FK0IKkE=\", false, function () {\n return [useParams, useQuery, useMutation];\n});\n_c = PageView;\nexport default PageView;\nvar _c;\n$RefreshReg$(_c, \"PageView\");","map":{"version":3,"names":["logo","queryClient","App","useQuery","useMutation","useParams","useState","jsxDEV","_jsxDEV","url","setCurrentPage","row","console","log","PageView","_s","pagenumber","text_of_page","setBodyText","isPending","error","data","queryKey","queryFn","fetch","method","headers","body","JSON","stringify","statements","q","params","then","res","json","results","rows","mutation","mutationFn","metthod","onSuccess","invalidateQueries","handleSubmit","e","preventDefault","mutate","the_id","page_title","page_text","className","children","onSubmit","src","alt","fileName","_jsxFileName","lineNumber","columnNumber","contentEditable","onChange","target","innerHTML","type","_c","$RefreshReg$"],"sources":["/Users/shoofle/Projects/the-forest/src/PageView.jsx"],"sourcesContent":["import logo from './logo.svg';\nimport { queryClient, App } from './App.js';\nimport './App.css';\nimport { useQuery, useMutation } from '@tanstack/react-query';\nimport { useParams } from 'react-router-dom';\nimport { useState } from 'react';\n\nconst url = \"http://127.0.0.1:8000\"\n\nfunction setCurrentPage(row) {\n console.log(\"\" + row[0] + \" \" + row[1] + \" \" + row[2]);\n}\n\nfunction PageView() {\n const { pagenumber } = useParams();\n const [ text_of_page, setBodyText ] = useState(\"Nothing loaded yet\");\n\n const { isPending, error, data } = useQuery({\n queryKey: ['page', pagenumber],\n queryFn: () =>\n fetch(url, {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify({\n statements: [{\n q: 'select * from pages where id=@val',\n params: {'val': pagenumber}\n }]\n })\n }).then((res) => res.json())\n .then((data) => data[0].results.rows[0])\n })\n\n const mutation = useMutation({\n mutationFn: () => {\n console.log(\"trying to mutate\");\n if (isPending || error) return;\n return fetch(url, {\n metthod: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify({\n statements: [{\n q: 'replace into pages (id, title, description) values (?, ?, ?)',\n params: [data[0], data[1], text_of_page], // TODO: gett the value of the contenteditable block\n }]\n })\n }).then((res) => console.log(\"tried to insert!\", res.json()));\n },\n onSuccess: () => {\n // Invalidate and refetch\n queryClient.invalidateQueries({ queryKey: ['page', pagenumber] })\n },\n });\n\n function handleSubmit(e) {\n e.preventDefault();\n mutation.mutate();\n }\n\n if (isPending) return \"Loading...\";\n\n if (error) return \"Uh oh!\";\n\n setBodyText(data[2]);\n const [the_id, page_title, page_text] = data;\n\n return (\n
\n
\n
\n \"logo\"\n
\n

{the_id}. {page_title}

\n
\n
\n
 setBodyText(e.target.innerHTML)}>{text_of_page}
\n
\n \n
\n
\n
\n );\n}\n\nexport default PageView;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}