create-near-app
Version:
Quickly scaffold your dApp on NEAR Blockchain
35 lines (31 loc) • 1.11 kB
JavaScript
import Image from 'next/image';
import Link from 'next/link';
import { useEffect, useState } from 'react';
import NearLogo from '/public/near-logo.svg';
import { useWalletSelector } from '@near-wallet-selector/react-hook';
export const Navigation = () => {
const { signedAccountId, signIn, signOut } = useWalletSelector();
const [action, setAction] = useState(() => { });
const [label, setLabel] = useState('Loading...');
useEffect(() => {
if (signedAccountId) {
setAction(() => signOut);
setLabel(`Logout ${signedAccountId}`);
} else {
setAction(() => signIn);
setLabel('Login');
}
}, [signedAccountId, signIn, signOut]);
return (
<nav className="navbar navbar-expand-lg">
<div className="container-fluid">
<Link href="/" passHref>
<Image priority src={NearLogo} alt="NEAR" width="30" height="24" className="d-inline-block align-text-top" />
</Link>
<div className='navbar-nav pt-1'>
<button className="btn btn-secondary" onClick={action} > {label} </button>
</div>
</div>
</nav>
);
};