Browse Source

feat: add logout in navbar

needed to change user
master
DanConwayDev 2 years ago
parent
commit
a031fd7763
No known key found for this signature in database
GPG Key ID: 68E15486D73F75E1
  1. 14
      src/lib/components/Navbar.svelte
  2. 6
      src/lib/stores/users.ts

14
src/lib/components/Navbar.svelte

@ -1,4 +1,5 @@
<script lang="ts"> <script lang="ts">
import { logout } from '$lib/stores/users'
import Container from './Container.svelte' import Container from './Container.svelte'
import UserHeader from './users/UserHeader.svelte' import UserHeader from './users/UserHeader.svelte'
import type { User } from './users/type' import type { User } from './users/type'
@ -24,7 +25,18 @@
</div> </div>
<div class="navbar-end gap-4"> <div class="navbar-end gap-4">
{#if logged_in_user} {#if logged_in_user}
<UserHeader user={logged_in_user} /> <div class="dropdown dropdown-end">
<div tabindex="0" role="button" class="m-1">
<UserHeader user={logged_in_user} link_to_profile={false} />
</div>
<!-- svelte-ignore a11y-no-noninteractive-tabindex -->
<ul tabindex="0" class="dropdown-content z-[1] menu -mr-4 p-2 shadow bg-base-400 rounded-box">
<li><UserHeader user={logged_in_user} /></li>
<!-- svelte-ignore a11y-click-events-have-key-events -->
<!-- svelte-ignore a11y-missing-attribute -->
<li><a on:click={()=>{logout()}}>Logout</a></li>
</ul>
</div>
{:else if nip07_plugin === undefined} {:else if nip07_plugin === undefined}
<div class="skeleton h-8 w-20"></div> <div class="skeleton h-8 w-20"></div>
{:else if nip07_plugin} {:else if nip07_plugin}

6
src/lib/stores/users.ts

@ -130,6 +130,12 @@ export const login = async (): Promise<void> => {
}) })
} }
export const logout = async (): Promise<void> => {
logged_in_user.set(undefined)
localStorage.removeItem('nip07pubkey')
ndk.signer = undefined
}
interface UserRelays { interface UserRelays {
loading: boolean loading: boolean
ndk_relays: NDKRelayList | undefined ndk_relays: NDKRelayList | undefined

Loading…
Cancel
Save