diff --git a/packages/fakeyou/src/v2/view/NewTopNavFc.tsx b/packages/fakeyou/src/v2/view/NewTopNavFc.tsx
index 09fed6ce87..46ed43dd3d 100644
--- a/packages/fakeyou/src/v2/view/NewTopNavFc.tsx
+++ b/packages/fakeyou/src/v2/view/NewTopNavFc.tsx
@@ -1,6 +1,6 @@
import React, { useState } from "react";
import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper";
-import { Link } from "react-router-dom";
+import { Link, useHistory } from "react-router-dom";
import { MigrationTopNavSession } from "../../migration/MigrationTopNav_Session";
import { FrontendUrlConfig } from "../../common/FrontendUrlConfig";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
@@ -20,6 +20,8 @@ import {
import { faPatreon } from "@fortawesome/free-brands-svg-icons";
import { t } from "i18next";
import { USE_REFRESH } from "../../Refresh";
+import { Logout } from "@storyteller/components/src/api/session/Logout";
+import { Gravatar } from "@storyteller/components/src/elements/Gravatar";
interface Props {
sessionWrapper: SessionWrapper;
@@ -28,6 +30,8 @@ interface Props {
}
function NewTopNavFc(props: Props) {
+ let history = useHistory();
+
let myDataLink = "/signup";
if (props.sessionWrapper.isLoggedIn()) {
@@ -231,6 +235,77 @@ function NewTopNavFc(props: Props) {
);
}
+ const logoutHandler = async () => {
+ await Logout();
+ props.querySessionCallback();
+ history.push('/');
+ }
+
+ const loggedIn = props.sessionWrapper.isLoggedIn();
+
+ let userOrLoginButton = (
+ <>
+
+ Login
+
+ >
+ );
+
+ let signupOrLogOutButton = (
+ <>
+
+
+
+ >
+ );
+
+ if (loggedIn) {
+ let displayName = props.sessionWrapper.getDisplayName();
+ let gravatarHash = props.sessionWrapper.getEmailGravatarHash();
+ let gravatar = ;
+
+ if (displayName === undefined) {
+ displayName = 'My Account';
+ }
+
+ if (gravatarHash !== undefined) {
+ gravatar =