import 'core-js/es/string/to-well-formed.js'; // Polyfill for older browsers import './homebrew.less'; import React, { useState, useEffect } from 'react'; import { BrowserRouter as Router, Routes, Route, useParams, useSearchParams } from 'react-router-dom'; import { updateLocalStorage } from './utils/updateLocalStorage/updateLocalStorageKeys.js'; import HomePage from './pages/homePage/homePage.jsx'; import EditPage from './pages/editPage/editPage.jsx'; import UserPage from './pages/userPage/userPage.jsx'; import SharePage from './pages/sharePage/sharePage.jsx'; import NewPage from './pages/newPage/newPage.jsx'; import ErrorPage from './pages/errorPage/errorPage.jsx'; import VaultPage from './pages/vaultPage/vaultPage.jsx'; import AccountPage from './pages/accountPage/accountPage.jsx'; const WithRoute = ({ el: Element, ...rest })=>{ const params = useParams(); const [searchParams] = useSearchParams(); const queryParams = Object.fromEntries(searchParams?.entries() || []); return ; }; const Homebrew = ()=>{ // SPA defaults / client-side state const [account, setAccount] = useState(null); const [version] = useState('0.0.0'); const [config, setConfig] = useState({}); const [brew, setBrew] = useState({ title : '', text : '', shareId : null, editId : null, createdAt : null, updatedAt : null, lang : '' }); const [userThemes, setUserThemes] = useState([]); const [brews, setBrews] = useState([]); // Maybe should fetch the data here? //probably should fetch the object later // useEffect(() => { fetch('/api/...').then(res => res.json()).then(setBrew) }, []); // Set globals if needed (legacy) global.account = account; global.version = version; global.config = config; const backgroundObject = ()=>{ if(config?.deployment || (config?.local && config?.development)) { const bgText = config?.deployment || 'Local'; return { backgroundImage : `url("data:image/svg+xml;utf8,${bgText}")` }; } return null; }; updateLocalStorage(); return ( } /> } /> } /> } /> } /> }/> } /> } /> } /> } /> } /> } /> } /> } /> ); }; export default Homebrew;