rendering app from withing an auth/http wrapper

This commit is contained in:
Carter 2024-10-23 14:22:31 -06:00
parent 47e3939112
commit 90fd2905fb
5 changed files with 74 additions and 61 deletions

View file

@ -2,72 +2,44 @@ import { useState } from 'react'
import reactLogo from '../assets/react.svg'
import viteLogo from '/vite.svg'
import './App.css'
import { Auth0Provider } from '@auth0/auth0-react'
import { useUserAPI } from '../providers/pond/userAPI'
import { useAuth0 } from '@auth0/auth0-react'
import { or } from '../utils/types'
import AuthWrapper from '../providers/auth'
import HTTPProvider from '../providers/http'
// import { useUserAPI } from '../providers/pond/userAPI'
// import LoginButton from '../providers/LoginButton'
function App() {
const [count, setCount] = useState(0)
// const userAPI = useUserAPI();
const userAPI = useUserAPI();
const useAuth = useAuth0();
let url: string | undefined = window.location.origin;
let audience: string | undefined;
if (window.location.origin === "https://staging.brandxtech.ca") {
url = import.meta.env.VITE_AUTH0_CLIENT_STAGING_DOMAIN;
audience = import.meta.env.VITE_AUTH0_STAGING_AUDIENCE;
} else {
url = import.meta.env.VITE_AUTH0_CLIENT_DOMAIN;
audience = import.meta.env.VITE_AUTH0_AUDIENCE;
}
let user_id = or(useAuth.user?.sub, "")
// console.log("User ID: ", user_id)
let client_id = import.meta.env.VITE_AUTH0_BXT_CLIENT_ID;
console.log(url)
// console.log(audience)
if (user_id.length > 1) userAPI.getUser(user_id).then(resp => {
console.log(resp)
})
return (
<Auth0Provider
domain={or(url, "")}
clientId={or(client_id, "")}
authorizationParams={{
audience: or(audience, ""),
redirect_uri: window.location.origin + "/callback"
}}
useRefreshTokens={true}
cacheLocation='localstorage'
>
<AuthWrapper>
<HTTPProvider>
{/* <LoginButton/> */}
<div>
<a href="https://vitejs.dev" target="_blank">
<img src={viteLogo} className="logo" alt="Vite logo" />
</a>
<a href="https://react.dev" target="_blank">
<img src={reactLogo} className="logo react" alt="React logo" />
</a>
</div>
<h1>Vite + React</h1>
<div className="card">
<button onClick={() => setCount((count) => count + 1)}>
count is {count}
</button>
<p>
The new Adaptive App
</p>
</div>
<p className="read-the-docs">
<><div>
<a href="https://vitejs.dev" target="_blank">
<img src={viteLogo} className="logo" alt="Vite logo" />
</a>
<a href="https://react.dev" target="_blank">
<img src={reactLogo} className="logo react" alt="React logo" />
</a>
</div>
<h1>Vite + React</h1>
<div className="card">
<button onClick={() => setCount((count) => count + 1)}>
count is {count}
</button>
<p>
The new Adaptive App
</p>
</div><p className="read-the-docs">
Coming soon
</p>
</HTTPProvider>
</AuthWrapper>
</Auth0Provider>
</p>
</>
)
}
export default App
export default App

View file

@ -0,0 +1,41 @@
import { Auth0Provider } from '@auth0/auth0-react'
import { or } from '../utils/types'
import AuthWrapper from '../providers/auth'
import HTTPProvider from '../providers/http'
import App from './App'
function AuthHTTPWrapper() {
let url: string | undefined = window.location.origin;
let audience: string | undefined;
if (window.location.origin === "https://staging.brandxtech.ca") {
url = import.meta.env.VITE_AUTH0_CLIENT_STAGING_DOMAIN;
audience = import.meta.env.VITE_AUTH0_STAGING_AUDIENCE;
} else {
url = import.meta.env.VITE_AUTH0_CLIENT_DOMAIN;
audience = import.meta.env.VITE_AUTH0_AUDIENCE;
}
let client_id = import.meta.env.VITE_AUTH0_BXT_CLIENT_ID;
return (
<Auth0Provider
domain={or(url, "")}
clientId={or(client_id, "")}
authorizationParams={{
audience: or(audience, ""),
redirect_uri: window.location.origin + "/callback"
}}
useRefreshTokens={true}
cacheLocation='localstorage'
>
<AuthWrapper>
<HTTPProvider>
<App/>
</HTTPProvider>
</AuthWrapper>
</Auth0Provider>
)
}
export default AuthHTTPWrapper

View file

@ -1,10 +1,10 @@
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import App from './App.tsx'
import './index.css'
import AuthHTTPWrapper from './AuthHTTPWrapper.tsx'
createRoot(document.getElementById('root')!).render(
<StrictMode>
<App />
<AuthHTTPWrapper />
</StrictMode>,
)