mirror of
https://github.com/hoornet/vega.git
synced 2026-06-30 14:08:34 -07:00
Increase Large/XL font sizes, enlarge account switcher, fix relay drop and bookmark persistence
- Large font 16→17px, Extra Large 18→20px - Account avatar w-8→w-10, name and arrow text larger - resetNDK preserves outbox-discovered relay URLs instead of dropping to fallback 3 - BookmarkView merges relay results with cache instead of replacing, so cached notes survive timeouts
This commit is contained in:
@@ -91,10 +91,16 @@ export function BookmarkView() {
|
||||
if (!cancelled) {
|
||||
const fetched = results.filter((e): e is NDKEvent => e !== null);
|
||||
// Separate articles (kind 30023) bookmarked via e-tag from notes
|
||||
const notesOnly = fetched.filter((e) => e.kind !== 30023)
|
||||
.sort((a, b) => (b.created_at ?? 0) - (a.created_at ?? 0));
|
||||
const fetchedNotes = fetched.filter((e) => e.kind !== 30023);
|
||||
const articlesFromETag = fetched.filter((e) => e.kind === 30023);
|
||||
setNotes(notesOnly);
|
||||
// Merge with existing (cached) notes — don't replace, so cached notes survive relay timeouts
|
||||
setNotes((prev) => {
|
||||
const byId = new Map(prev.map((e) => [e.id, e]));
|
||||
for (const e of fetchedNotes) byId.set(e.id, e);
|
||||
return Array.from(byId.values())
|
||||
.filter((e) => bookmarkedIds.includes(e.id!))
|
||||
.sort((a, b) => (b.created_at ?? 0) - (a.created_at ?? 0));
|
||||
});
|
||||
// Merge any articles found via e-tag into the articles list
|
||||
if (articlesFromETag.length > 0) {
|
||||
setArticles((prev) => {
|
||||
|
||||
@@ -331,8 +331,8 @@ function ThemeSection() {
|
||||
const FONT_PRESETS = [
|
||||
{ label: "Small", size: 12 },
|
||||
{ label: "Normal", size: 14 },
|
||||
{ label: "Large", size: 16 },
|
||||
{ label: "Extra Large", size: 18 },
|
||||
{ label: "Large", size: 17 },
|
||||
{ label: "Extra Large", size: 20 },
|
||||
];
|
||||
|
||||
function FontSizeSection() {
|
||||
|
||||
@@ -153,12 +153,12 @@ export function AccountSwitcher() {
|
||||
className="flex items-center gap-2 flex-1 min-w-0 cursor-pointer hover:opacity-80 transition-opacity"
|
||||
onClick={() => openProfile(pubkey)}
|
||||
>
|
||||
<Avatar account={current} size="w-8 h-8" textSize="text-[12px]" />
|
||||
<span className={`text-[12px] font-medium truncate flex-1 ${loggedIn ? "text-text" : "text-text-muted"}`}>{displayName(current)}</span>
|
||||
<Avatar account={current} size="w-10 h-10" textSize="text-[14px]" />
|
||||
<span className={`text-[14px] font-medium truncate flex-1 ${loggedIn ? "text-text" : "text-text-muted"}`}>{displayName(current)}</span>
|
||||
</div>
|
||||
<button
|
||||
onClick={() => setOpen((v) => !v)}
|
||||
className="text-text-dim hover:text-text text-[10px] transition-colors px-0.5"
|
||||
className="text-text-dim hover:text-text text-[14px] transition-colors px-1"
|
||||
title="Switch account"
|
||||
>
|
||||
{open ? "▲" : "▼"}
|
||||
|
||||
Reference in New Issue
Block a user