Files
radicle-explorer/src/components/NodeId.svelte
T
Rūdolfs Ošiņš 010cac0377 Redesign app with new UI kit
Redesign the entire app with a new UI kit. Typography, colors, icons,
avatars, and border radii have all been updated for a more polished,
consistent appearance that matches our other products like
radicle-explorer.

- Replace blockies-based avatars with a new DID-based avatar system
- Move Settings and Create Issue into fullscreen modals
- Change the default theme to follow the system theme
- Remove window decorations on macOS for a cleaner, more native feel
- Update the app icon
- Fix popovers and tooltips

Navigation:

- Rewrite app navigation and layouts
- Add a sidebar that gives you access to all your repos
- Change the startup screen to open directly to the notification inbox
- Add a getting started guide shown to new users on first launch

Settings:

- Add a setting to disable the notification badge
- Add a code font setting

Bug fixes:

- Fix reactions and edits incorrectly targeting the root comment
  instead of the intended reply
- Restrict issue/patch state, labels and assignees to delegates only
2026-03-20 17:48:38 -06:00

67 lines
1.2 KiB
Svelte

<script lang="ts">
import { truncateId } from "@app/lib/utils";
import UserAvatar from "@app/components/UserAvatar.svelte";
interface Props {
publicKey: string;
alias?: string;
inline?: boolean;
styleFont?: string;
}
const {
publicKey,
alias,
inline = false,
styleFont = undefined,
}: Props = $props();
</script>
<style>
.avatar-alias {
display: flex;
align-items: center;
gap: 0.375rem;
font: var(--txt-body-m-regular);
}
.avatar-container {
width: 1rem;
height: 1rem;
overflow: hidden;
flex-shrink: 0;
}
.avatar-container :global(img) {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.no-alias {
color: var(--color-text-secondary);
}
.inline {
display: inline-flex;
align-items: center;
gap: 0.375rem;
}
.inline .alias {
align-self: baseline;
}
</style>
<div class="avatar-alias" class:inline style:font={styleFont}>
<div class="avatar-container">
<UserAvatar nodeId={publicKey} styleWidth="1rem" />
</div>
{#if alias}
<span class="txt-overflow alias">
{alias}
</span>
{:else}
<span class="no-alias">
{truncateId(publicKey)}
</span>
{/if}
</div>