mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-11-04 03:00:32 +08:00
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
38 lines
863 B
Svelte
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}
|