Skip to content

Commit

Permalink
refactor: Update NavBar component to remove unused code and improve a…
Browse files Browse the repository at this point in the history
…uthentication logic
  • Loading branch information
johnpapa committed Jun 26, 2024
1 parent 374e8e3 commit c6e0fc8
Showing 1 changed file with 27 additions and 35 deletions.
62 changes: 27 additions & 35 deletions svelte-app/src/components/NavBar.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,22 @@
import { Link } from 'svelte-routing';
import AuthLogin from './AuthLogin.svelte';
import AuthLogout from './AuthLogout.svelte';
import { FASTIFY } from '../config';
// const { activeRoute } = getContext(ROUTER);
let userInfo: any = undefined;
// TODO: remove this flg if i can get SWA CLI to work with Fastify in dev mode for auth
let freeTrial: boolean = false; //FASTIFY;
console.log('NavBar.svelte: freeTrial', freeTrial);
const providers: string[] = ['github', 'Microsoft Entra ID'];
onMount(async () => (userInfo = await getUserInfo()));
async function getUserInfo() {
if (!freeTrial) {
try {
const response = await fetch('/.auth/me');
const payload = await response.json();
const { clientPrincipal } = payload;
return clientPrincipal;
} catch (error) {
console.error('NavBar.svelte: No profile could be found');
return undefined;
}
try {
const response = await fetch('/.auth/me');
const payload = await response.json();
const { clientPrincipal } = payload;
return clientPrincipal;
} catch (error) {
console.error('NavBar.svelte: No profile could be found');
return undefined;
}
}
Expand Down Expand Up @@ -57,26 +51,24 @@
<Link to="/discounts" {getProps}>My Discounts</Link>
</ul>
</nav>
{#if !freeTrial}
<nav class="menu auth">
<p class="menu-label">Auth</p>
<div class="menu-list auth">
{#if !userInfo}
{#each providers as provider (provider)}
<AuthLogin {provider} />
{/each}
{/if}
{#if userInfo}
<AuthLogout />
{/if}
</div>
</nav>
{#if userInfo}
<div class="user">
<p>Welcome</p>
<p>{userInfo && userInfo.userDetails}</p>
<p>{userInfo && userInfo.identityProvider}</p>
</div>
{/if}
<nav class="menu auth">
<p class="menu-label">Auth</p>
<div class="menu-list auth">
{#if !userInfo}
{#each providers as provider (provider)}
<AuthLogin {provider} />
{/each}
{/if}
{#if userInfo}
<AuthLogout />
{/if}
</div>
</nav>
{#if userInfo}
<div class="user">
<p>Welcome</p>
<p>{userInfo && userInfo.userDetails}</p>
<p>{userInfo && userInfo.identityProvider}</p>
</div>
{/if}
</div>

0 comments on commit c6e0fc8

Please sign in to comment.