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>
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
import React from 'react';
|
|
import ReactDOM from 'react-dom/client';
|
|
import assert from 'assert';
|
|
import { Toaster } from 'react-hot-toast';
|
|
import { GQLClient } from 'gql-client';
|
|
|
|
import { ThemeProvider } from '@material-tailwind/react';
|
|
|
|
import './index.css';
|
|
import App from './App';
|
|
import reportWebVitals from './reportWebVitals';
|
|
import { GQLClientProvider } from './context/GQLClientContext';
|
|
import Web3ModalProvider from './context/Web3ModalProvider';
|
|
import { SERVER_GQL_PATH } from './constants';
|
|
|
|
const root = ReactDOM.createRoot(
|
|
document.getElementById('root') as HTMLElement,
|
|
);
|
|
|
|
assert(
|
|
process.env.REACT_APP_SERVER_URL,
|
|
'REACT_APP_SERVER_URL is not set in env',
|
|
);
|
|
const gqlEndpoint = `${process.env.REACT_APP_SERVER_URL}/${SERVER_GQL_PATH}`;
|
|
|
|
const gqlClient = new GQLClient({ gqlEndpoint });
|
|
|
|
root.render(
|
|
<React.StrictMode>
|
|
<ThemeProvider>
|
|
<Web3ModalProvider>
|
|
<GQLClientProvider client={gqlClient}>
|
|
<App />
|
|
<Toaster position="bottom-center" />
|
|
</GQLClientProvider>
|
|
</Web3ModalProvider>
|
|
</ThemeProvider>
|
|
</React.StrictMode>,
|
|
);
|
|
|
|
// If you want to start measuring performance in your app, pass a function
|
|
// to log results (for example: reportWebVitals(console.log))
|
|
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
|
|
reportWebVitals();
|