diff --git a/src/components/standard-layout.tsx b/src/components/standard-layout.tsx
index f6e1224d3..174dac331 100644
--- a/src/components/standard-layout.tsx
+++ b/src/components/standard-layout.tsx
@@ -21,6 +21,7 @@ import Login from "./icons/login.svg";
import Logout from "./icons/logout.svg";
import Pencil from "./icons/pencil.svg";
import Question from "./icons/question-mark-circle.svg";
+import Spinner from "./icons/spinner.svg";
import Support from "./icons/support.svg";
import Twitter from "./icons/twitter.svg";
import ModalProvider, { useModalContext } from "./modal/modal-provider";
@@ -37,7 +38,7 @@ const HomeLink = () => {
};
const MobileNavigation: React.VoidFunctionComponent = () => {
- const { user } = useUser();
+ const { user, isUpdating } = useUser();
const { t } = useTranslation(["common", "app"]);
return (
{
className="group inline-flex w-full items-center space-x-2 rounded-lg px-2 py-1 text-left transition-colors hover:bg-slate-500/10 active:bg-slate-500/20"
>
-
+ {isUpdating ? (
+
+ ) : (
+
+ )}
{user.shortName}
@@ -237,7 +242,7 @@ const UserDropdown: React.VoidFunctionComponent
= ({
const StandardLayout: React.VoidFunctionComponent<{
children?: React.ReactNode;
}> = ({ children, ...rest }) => {
- const { user } = useUser();
+ const { user, isUpdating } = useUser();
const { t } = useTranslation(["common", "app"]);
return (
@@ -309,7 +314,11 @@ const StandardLayout: React.VoidFunctionComponent<{
>
-
+ {isUpdating ? (
+
+ ) : (
+
+ )}
diff --git a/src/components/user-provider.tsx b/src/components/user-provider.tsx
index e9ffb4c8c..c72514712 100644
--- a/src/components/user-provider.tsx
+++ b/src/components/user-provider.tsx
@@ -12,6 +12,7 @@ export const UserContext =
React.createContext<{
user: UserSession & { shortName: string };
refresh: () => void;
+ isUpdating: boolean;
logout: () => void;
ownsObject: (obj: { userId: string | null }) => boolean;
} | null>(null);
@@ -82,9 +83,7 @@ export const UserProvider = (props: { children?: React.ReactNode }) => {
});
});
- const shortName = isFetching
- ? t("loading")
- : user
+ const shortName = user
? user.isGuest === false
? user.name
: user.id.substring(0, 10)
@@ -97,6 +96,7 @@ export const UserProvider = (props: { children?: React.ReactNode }) => {
return (
{
return queryClient.whoami.invalidate();