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

82 lines
1.6 KiB
Svelte

<script lang="ts">
import type { Snippet } from "svelte";
interface Props {
children: Snippet;
selected: boolean;
onclick?: () => void;
disabled?: boolean;
title?: string;
styleGap?: string;
styleMinHeight?: string;
styleWidth?: string;
}
const {
onclick,
children,
selected,
disabled = false,
title,
styleGap,
styleMinHeight,
styleWidth,
}: Props = $props();
</script>
<style>
.item {
cursor: pointer;
display: flex;
align-items: center;
flex-direction: row;
min-height: 2rem;
padding: 0 0.75rem;
white-space: nowrap;
font: var(--txt-body-m-regular);
color: var(--color-text-primary);
border-radius: var(--border-radius-sm);
}
.item.disabled {
color: var(--color-text-disabled);
}
.item:hover,
.selected {
background-color: var(--color-surface-subtle);
}
.selected {
color: var(--color-text-primary);
background-color: var(--color-surface-subtle);
}
.item:hover.selected {
background-color: var(--color-surface-mid);
}
.item:hover.selected.disabled {
background-color: var(--color-surface-subtle);
}
.item:hover.disabled {
cursor: not-allowed;
background-color: var(--color-surface-canvas);
}
</style>
<!-- svelte-ignore a11y_click_events_have_key_events -->
<div
role="button"
tabindex="0"
class="item"
class:selected
class:disabled
style:width={styleWidth}
style:gap={styleGap}
style:min-height={styleMinHeight}
{title}
onclick={() => {
if (disabled || !onclick) {
return;
}
onclick();
}}>
{@render children()}
</div>