Files
radicle-explorer/src/components/RepoAvatar.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

38 lines
863 B
Svelte

<script lang="ts">
import { cachedRepoAvatar } from "@app/lib/avatar";
interface Props {
name: string;
rid: string;
styleWidth: string;
}
const { name, rid, styleWidth }: Props = $props();
let dataUri: string | undefined = $state(undefined);
$effect(() => {
// We strip out characters from the RID that repeat for all RIDs this leads
// to the generated avatars looking nicer visually.
const key = `${name}${rid.replace("rad:z", "")}${name}`;
void cachedRepoAvatar(key).then((data: string) => {
dataUri = data;
});
});
</script>
{#if dataUri}
<img
style:width={styleWidth}
style:height={styleWidth}
src={dataUri}
alt="Repository Avatar" />
{:else}
<div
style:width={styleWidth}
style:height={styleWidth}
style:background-color="var(--color-surface-subtle)">
</div>
{/if}