forked from cerc-io/snowballtools-base
Nabarun Gogoi
ef0eac8293
* Create web3 modal provider with SIWE * Add auth router to handle SIWE authentication * Use axios instance to make request * Add button for SIWE authentication * Add changes to access session in web-app GQL requests * Add auth check in GQL context and load/create user * Use authenticated user from context * Redirect to sign in page if unauthenticated and logout button * Change sign-in route to login * Get project domain from config file * Set user ethAddress column as unique * Use formatted user name * Get session secret and origin url from config file * Add unique constraint for eth address * Get secure and samesite from origin url * Get wallet connect id and backend url from env file * Format user email in member tab panel * Add backend config isProduction to set trust proxy * Use only one server url config * Add tool tip for displaying email * Add trustProxy and domain in server.session config * Add SERVER_GQL_PATH constant in frontend --------- Co-authored-by: neeraj <neeraj.rtly@gmail.com>
58 lines
1.2 KiB
TypeScript
58 lines
1.2 KiB
TypeScript
import React from 'react';
|
|
import { createBrowserRouter, RouterProvider } from 'react-router-dom';
|
|
|
|
import OrgSlug from './pages/OrgSlug';
|
|
import Projects from './pages/org-slug';
|
|
import Settings from './pages/org-slug/Settings';
|
|
import {
|
|
projectsRoutesWithSearch,
|
|
projectsRoutesWithoutSearch,
|
|
} from './pages/org-slug/projects/routes';
|
|
import ProjectSearchLayout from './layouts/ProjectSearch';
|
|
import Index from './pages';
|
|
import Login from './pages/Login';
|
|
|
|
const router = createBrowserRouter([
|
|
{
|
|
path: ':orgSlug',
|
|
element: <OrgSlug />,
|
|
children: [
|
|
{
|
|
element: <ProjectSearchLayout />,
|
|
children: [
|
|
{
|
|
path: '',
|
|
element: <Projects />,
|
|
},
|
|
{
|
|
path: 'projects',
|
|
children: projectsRoutesWithSearch,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'settings',
|
|
element: <Settings />,
|
|
},
|
|
{
|
|
path: 'projects',
|
|
children: projectsRoutesWithoutSearch,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/',
|
|
element: <Index />,
|
|
},
|
|
{
|
|
path: '/login',
|
|
element: <Login />,
|
|
},
|
|
]);
|
|
|
|
function App() {
|
|
return <RouterProvider router={router} />;
|
|
}
|
|
|
|
export default App;
|