added current user profile to navigatorbar

This commit is contained in:
Ren Amamiya
2023-02-24 10:34:47 +07:00
parent f6d687cec9
commit 745c9141a0
9 changed files with 519 additions and 15 deletions

View File

@@ -1,16 +1,36 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import ActiveLink from '@components/activeLink';
import CreatePost from '@components/navigatorBar/createPost';
import { ProfileMenu } from '@components/navigatorBar/profileMenu';
import { truncate } from '@utils/truncate';
import { currentUser } from '@stores/currentUser';
import { useStore } from '@nanostores/react';
import { PlusIcon } from '@radix-ui/react-icons';
export default function NavigatorBar() {
const $currentUser: any = useStore(currentUser);
const profile = JSON.parse($currentUser.metadata);
return (
<div className="flex h-full flex-col flex-wrap justify-between overflow-hidden px-2 pt-3 pb-4">
{/* main */}
<div className="flex flex-col gap-4">
{/* Create post */}
<div className="flex flex-col rounded-lg bg-zinc-900 ring-1 ring-white/10">
<div className="flex flex-col p-2">
<div className="flex items-center justify-between">
<h5 className="font-semibold leading-tight text-zinc-100">
{profile.display_name || profile.name}
</h5>
<ProfileMenu pubkey={$currentUser.pubkey} />
</div>
<span className="text-sm leading-tight text-zinc-500">
@{profile.username || truncate($currentUser.pubkey, 16, ' .... ')}
</span>
</div>
<div className="p-2">
<CreatePost />
</div>
@@ -28,15 +48,15 @@ export default function NavigatorBar() {
<div className="flex flex-col gap-1 text-zinc-500">
<ActiveLink
href={`/feed/following`}
activeClassName="rounded-lg ring-1 ring-white/10 dark:bg-zinc-900 dark:text-white"
className="flex h-10 items-center gap-1 px-2.5 text-sm font-medium">
activeClassName="ring-1 ring-white/10 dark:bg-zinc-900 dark:text-white"
className="flex h-10 items-center gap-1 rounded-lg px-2.5 text-sm font-medium hover:bg-zinc-900">
<span>#</span>
<span>following</span>
</ActiveLink>
<ActiveLink
href={`/feed/global`}
activeClassName="rounded-lg ring-1 ring-white/10 dark:bg-zinc-900 dark:text-white"
className="flex h-10 items-center gap-1 px-2.5 text-sm font-medium">
activeClassName="ring-1 ring-white/10 dark:bg-zinc-900 dark:text-white"
className="flex h-10 items-center gap-1 rounded-lg px-2.5 text-sm font-medium hover:bg-zinc-900">
<span>#</span>
<span>global</span>
</ActiveLink>