2023-02-07 20:04:50 +00:00
|
|
|
import "./index.css";
|
|
|
|
import "@szhsin/react-menu/dist/index.css";
|
2022-12-18 14:51:47 +00:00
|
|
|
|
2023-02-07 20:04:50 +00:00
|
|
|
import { StrictMode } from "react";
|
|
|
|
import { QueryClient, QueryClientProvider } from "react-query";
|
|
|
|
import * as ReactDOM from "react-dom/client";
|
|
|
|
import { Provider } from "react-redux";
|
|
|
|
import { createBrowserRouter, RouterProvider } from "react-router-dom";
|
2022-12-18 14:51:47 +00:00
|
|
|
|
2023-02-07 20:04:50 +00:00
|
|
|
import * as serviceWorkerRegistration from "serviceWorkerRegistration";
|
2023-01-20 11:11:50 +00:00
|
|
|
import Store from "State/Store";
|
2023-02-07 20:04:50 +00:00
|
|
|
import EventPage from "Pages/EventPage";
|
|
|
|
import Layout from "Pages/Layout";
|
|
|
|
import LoginPage from "Pages/Login";
|
|
|
|
import ProfilePage from "Pages/ProfilePage";
|
|
|
|
import RootPage from "Pages/Root";
|
|
|
|
import NotificationsPage from "Pages/Notifications";
|
|
|
|
import SettingsPage, { SettingsRoutes } from "Pages/SettingsPage";
|
|
|
|
import ErrorPage from "Pages/ErrorPage";
|
|
|
|
import VerificationPage from "Pages/Verification";
|
|
|
|
import MessagesPage from "Pages/MessagesPage";
|
|
|
|
import ChatPage from "Pages/ChatPage";
|
|
|
|
import DonatePage from "Pages/DonatePage";
|
|
|
|
import HashTagsPage from "Pages/HashTagsPage";
|
|
|
|
import SearchPage from "Pages/SearchPage";
|
|
|
|
import HelpPage from "Pages/HelpPage";
|
|
|
|
import { NewUserRoutes } from "Pages/new";
|
2023-01-29 19:44:53 +00:00
|
|
|
import NostrLinkHandler from 'Pages/NostrLinkHandler';
|
2023-02-08 04:54:33 +00:00
|
|
|
import { IntlProvider } from "./IntlProvider";
|
2023-02-07 19:47:57 +00:00
|
|
|
import { unwrap } from "Util";
|
2022-12-18 14:51:47 +00:00
|
|
|
|
2023-01-15 10:41:34 +00:00
|
|
|
/**
|
|
|
|
* HTTP query provider
|
|
|
|
*/
|
2023-02-07 20:04:50 +00:00
|
|
|
const HTTP = new QueryClient();
|
2023-01-15 10:41:34 +00:00
|
|
|
|
2023-01-19 11:03:51 +00:00
|
|
|
serviceWorkerRegistration.register();
|
|
|
|
|
2023-01-28 15:40:19 +00:00
|
|
|
export const router = createBrowserRouter([
|
2023-01-12 12:00:44 +00:00
|
|
|
{
|
|
|
|
element: <Layout />,
|
|
|
|
errorElement: <ErrorPage />,
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
path: "/",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <RootPage />,
|
2023-01-12 12:00:44 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/login",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <LoginPage />,
|
2023-01-12 12:00:44 +00:00
|
|
|
},
|
2023-02-03 18:20:17 +00:00
|
|
|
{
|
|
|
|
path: "/help",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <HelpPage />,
|
2023-02-03 18:20:17 +00:00
|
|
|
},
|
2023-01-12 12:00:44 +00:00
|
|
|
{
|
|
|
|
path: "/e/:id",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <EventPage />,
|
2023-01-12 12:00:44 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/p/:id",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <ProfilePage />,
|
2023-01-12 12:00:44 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/notifications",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <NotificationsPage />,
|
2023-01-12 12:00:44 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/settings",
|
2023-01-20 17:07:14 +00:00
|
|
|
element: <SettingsPage />,
|
2023-02-07 20:04:50 +00:00
|
|
|
children: SettingsRoutes,
|
2023-01-12 15:35:42 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/verification",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <VerificationPage />,
|
2023-01-12 09:48:39 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/messages",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <MessagesPage />,
|
2023-01-12 09:48:39 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/messages/:id",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <ChatPage />,
|
2023-01-19 00:03:24 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/donate",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <DonatePage />,
|
2023-01-19 18:00:56 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/t/:tag",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <HashTagsPage />,
|
2023-01-24 12:33:18 +00:00
|
|
|
},
|
|
|
|
{
|
2023-01-28 15:40:19 +00:00
|
|
|
path: "/search/:keyword?",
|
2023-02-07 20:04:50 +00:00
|
|
|
element: <SearchPage />,
|
2023-02-05 18:02:13 +00:00
|
|
|
},
|
2023-01-29 19:44:53 +00:00
|
|
|
{
|
|
|
|
path: "/handler/*",
|
|
|
|
element: <NostrLinkHandler />
|
|
|
|
},
|
2023-02-07 20:04:50 +00:00
|
|
|
...NewUserRoutes,
|
|
|
|
],
|
|
|
|
},
|
2023-01-12 12:00:44 +00:00
|
|
|
]);
|
|
|
|
|
2023-02-07 19:47:57 +00:00
|
|
|
const root = ReactDOM.createRoot(unwrap(document.getElementById("root")));
|
2022-12-18 14:51:47 +00:00
|
|
|
root.render(
|
2023-01-18 23:39:50 +00:00
|
|
|
<StrictMode>
|
2022-12-30 23:35:02 +00:00
|
|
|
<Provider store={Store}>
|
2023-01-15 10:41:34 +00:00
|
|
|
<QueryClientProvider client={HTTP}>
|
2023-02-08 04:54:33 +00:00
|
|
|
<IntlProvider>
|
|
|
|
<RouterProvider router={router} />
|
|
|
|
</IntlProvider>
|
2023-01-15 10:41:34 +00:00
|
|
|
</QueryClientProvider>
|
2022-12-30 23:35:02 +00:00
|
|
|
</Provider>
|
2023-01-18 23:39:50 +00:00
|
|
|
</StrictMode>
|
2022-12-18 14:51:47 +00:00
|
|
|
);
|