go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/projects/chirp/pkg/static/_nextjs/src/components/headerNavbar.tsx (about)

     1  /**
     2   * Copyright (c) 2024 - Present. Will Charczuk. All rights reserved.
     3   * Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository.
     4   */
     5  import * as React from 'react-dom';
     6  import { Navbar, NavbarDivider, Icon, Alignment } from '@blueprintjs/core';
     7  import { useSession } from './sessionProvider';
     8  import Link from 'next/link';
     9  
    10  export function HeaderNavbar() {
    11    const session = useSession();
    12    const user = session.data?.state?.User || {};
    13    return (
    14      <Navbar>
    15        <Navbar.Group align={Alignment.LEFT}>
    16          <Navbar.Heading>Chirp</Navbar.Heading>
    17          <Navbar.Divider />
    18          <Link href={`/`} className="bp5-navbar-item bp5-button" title="home"><Icon icon="home" /></Link>
    19        </Navbar.Group>
    20        <Navbar.Group align={Alignment.RIGHT}>
    21          <NavbarDivider />
    22          <Link href={`/chirp.new`} className="bp5-navbar-item bp5-minimal bp5-button bp5-intent-success" title="Post a new chirp"><Icon icon="add" /></Link>
    23          <NavbarDivider />
    24          <Link href={`/profile`} className="bp5-navbar-item">
    25            <img className="profile-picture-small" src={user.PictureURL} title={user.Email} />
    26          </Link>
    27          <NavbarDivider />
    28          <Link href={`/logout`} className="bp5-navbar-item bp5-button bp5-minimal"><Icon icon="log-out" /></Link>
    29        </Navbar.Group>
    30      </Navbar>
    31    )
    32  }