Files
radicle-desktop/src/components/FileTreeFile.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

54 lines
1.1 KiB
Svelte

<script lang="ts">
import Icon from "@app/components/Icon.svelte";
const {
name,
fetchBlob,
active,
indent = 0.5,
}: {
name: string;
fetchBlob: () => Promise<void>;
active: boolean;
indent?: number;
} = $props();
</script>
<style>
.file {
width: 100%;
cursor: pointer;
white-space: nowrap;
border-radius: var(--border-radius-sm);
}
.file:hover,
.active {
background-color: var(--color-surface-subtle);
}
.active:hover {
background-color: var(--color-surface-strong);
}
.file:hover .icon,
.active .icon {
color: var(--color-text-primary);
}
</style>
<!-- svelte-ignore a11y_no_static_element_interactions -->
<!-- svelte-ignore a11y_click_events_have_key_events -->
<div
class="file"
class:active
style:padding-left="{indent}rem"
style:padding-right="0.5rem"
onclick={fetchBlob}>
<div class="global-flex" style:padding="0.25rem 0">
<div class="icon txt-missing">
<Icon name="document" />
</div>
<div class="txt-body-m-regular txt-overflow">
{name}
</div>
</div>
</div>