authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-10-04 20:42:34-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-10-04 20:42:59-07:00
logdb72677058d1cdf39ba27832e57fd7b2d7c355ed
treeb16c8d92ccda0903675e3e9df235b92681fda549
parentf626d0b12c00e104ce4bb0aa07c4e908eeba35ce
signature Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU

Wait for the profile before showing the avatar initial

Assisted-by: gpt-6.1-sol

1 files changed, 2 insertions(+), 3 deletions(-)

dashboard/web/components/Sidebar.tsx+2-3
...@@ -223,12 +223,11 @@ export function viewAs(groups: string[] | null) {...@@ -223,12 +223,11 @@ export function viewAs(groups: string[] | null) {
223 location.reload();223 location.reload();
224}224}
225225
226/** The signed-in user's corner. */
227function Whoami(props: { me: Me }) {226function Whoami(props: { me: Me }) {
228 const user = lastGood(account);227 const user = lastGood(account);
229 const name = () => {228 const name = () => {
230 const known = user();229 const known = user();
231 return known ? displayName(known) : props.me.name;230 return known ? displayName(known) : account.error ? props.me.name : "";
232 };231 };
233 const here = useMatch(() => "/account");232 const here = useMatch(() => "/account");
234 const [picked, setPicked] = createSignal(props.me.viewing ? props.me.groups : []);233 const [picked, setPicked] = createSignal(props.me.viewing ? props.me.groups : []);
...@@ -237,7 +236,7 @@ function Whoami(props: { me: Me }) {...@@ -237,7 +236,7 @@ function Whoami(props: { me: Me }) {
237 <div class="whoami">236 <div class="whoami">
238 <button class="whoami-button" classList={{ active: !!here() }} popovertarget="account-menu">237 <button class="whoami-button" classList={{ active: !!here() }} popovertarget="account-menu">
239 <Avatar picture={user()?.picture ?? null} name={name()} />238 <Avatar picture={user()?.picture ?? null} name={name()} />
240 <span class="name"><Show when={user()} fallback={account.error ? props.me.name : <span class="skeleton" style={{ width: "100px" }} />}>239 <span class="name"><Show when={user()} fallback={account.error ? name() : <span class="skeleton" style={{ width: "100px" }} />}>
241 {(profile) => displayName(profile())}240 {(profile) => displayName(profile())}
242 </Show></span>241 </Show></span>
243 <ChevronsUpDown size={14} class="icon" />242 <ChevronsUpDown size={14} class="icon" />