diff --git a/src/frontend/src/lib/app.css b/src/frontend/src/lib/app.css index 5f58ba5f51..3bc9ceecae 100644 --- a/src/frontend/src/lib/app.css +++ b/src/frontend/src/lib/app.css @@ -13,6 +13,7 @@ body { html { background-color: var(--color-bg-primary); -webkit-font-smoothing: antialiased; + color-scheme: light dark; } button:not(:disabled), diff --git a/src/frontend/src/lib/components/ui/Avatar.svelte b/src/frontend/src/lib/components/ui/Avatar.svelte index 6f0979a5fc..2b8f124cee 100644 --- a/src/frontend/src/lib/components/ui/Avatar.svelte +++ b/src/frontend/src/lib/components/ui/Avatar.svelte @@ -1,7 +1,7 @@ -
-
-

- {$t`Switch identity`} -

+{#snippet authMethodBadge(logo: string | undefined, size: "sm" | "lg")} + + {#if logo !== undefined} + + {@html logo} + + {:else} + + {/if} + +{/snippet} + +{#snippet selectedIdentityCard()} +
+
+ + + + {@render authMethodBadge(selectedLogo, "lg")} +
+

+ {selectedIdentity.name ?? selectedIdentity.identityNumber} +

+

+ {#if "openid" in selectedIdentity.authMethod && selectedIdentity.authMethod.openid.metadata !== undefined} + {getMetadataString( + selectedIdentity.authMethod.openid.metadata, + "email", + ) ?? $t`Hidden email`} + {/if} +

+ {#if onSignOut !== undefined} + + {/if} + {#if onManageIdentity !== undefined} + + {/if}
-
-
    - {#each identities as identity} - {@const name = lastUsedIdentityTypeName(identity)} - {@const date = nonNullish(identity.createdAtMillis) - ? $formatDate(new Date(identity.createdAtMillis), { - dateStyle: "short", - }) - : undefined} -
  • - handleSwitchIdentity(identity.identityNumber)} - class={[ - selected === identity.identityNumber && - "!ring-border-brand disabled:!ring-border-disabled !ring-2", - ]} - > - - {#if switchingToIdentity === identity.identityNumber} - - {:else} - +{/snippet} + +{#snippet identityListItem(identity: LastUsedIdentity)} + {@const logo = + "openid" in identity.authMethod && + identity.authMethod.openid.metadata !== undefined + ? openIdLogo( + identity.authMethod.openid.iss, + identity.authMethod.openid.metadata, + ) + : undefined} + {@const notUnique = + "passkey" in identity.authMethod && + (passkeyNameCounts.get(identity.name) ?? 0) > 1} +
  • +
  • - {/each} -
- - - - - - - {$t`Use another identity`} - -
- {#if onSignOut !== undefined} - - {:else} - - {/if} +
diff --git a/src/frontend/src/lib/components/ui/Popover.svelte b/src/frontend/src/lib/components/ui/Popover.svelte index e88f87f114..de3ce40001 100644 --- a/src/frontend/src/lib/components/ui/Popover.svelte +++ b/src/frontend/src/lib/components/ui/Popover.svelte @@ -175,7 +175,7 @@ >
{:else} - + {@render children?.()} {/if} diff --git a/src/frontend/src/lib/components/ui/Select.svelte b/src/frontend/src/lib/components/ui/Select.svelte index 0beb4544e0..6a4b30fba6 100644 --- a/src/frontend/src/lib/components/ui/Select.svelte +++ b/src/frontend/src/lib/components/ui/Select.svelte @@ -69,7 +69,7 @@ {distance} responsive={false} onClose={() => (isOpen = false)} - class={["!w-max !p-1.5 !shadow-lg", className]} + class={["!w-max p-1.5 !shadow-lg", className]} >