Mark all as read

This commit is contained in:
Jack Kingsman
2026-01-07 17:42:25 -08:00
parent 4df8b89fc4
commit 8ef617fe29
3 changed files with 40 additions and 4 deletions
+16 -3
View File
@@ -21,15 +21,16 @@ interface SidebarProps {
showCracker: boolean;
crackerRunning: boolean;
onToggleCracker: () => void;
onMarkAllRead: () => void;
}
// Load sort preference from localStorage
// Load sort preference from localStorage (default to 'recent')
function loadSortOrder(): SortOrder {
try {
const stored = localStorage.getItem('remoteterm-sortOrder');
return stored === 'recent' ? 'recent' : 'alpha';
return stored === 'alpha' ? 'alpha' : 'recent';
} catch {
return 'alpha';
return 'recent';
}
}
@@ -53,6 +54,7 @@ export function Sidebar({
showCracker,
crackerRunning,
onToggleCracker,
onMarkAllRead,
}: SidebarProps) {
const [sortOrder, setSortOrder] = useState<SortOrder>(loadSortOrder);
const [searchQuery, setSearchQuery] = useState('');
@@ -247,6 +249,17 @@ export function Sidebar({
</div>
)}
{/* Mark All Read */}
{!query && Object.keys(unreadCounts).length > 0 && (
<div
className="px-3 py-2.5 cursor-pointer flex items-center gap-2 border-l-2 border-transparent hover:bg-accent"
onClick={onMarkAllRead}
>
<span className="text-muted-foreground text-xs"></span>
<span className="flex-1 truncate text-muted-foreground">Mark all as read</span>
</div>
)}
{/* Channels */}
{filteredChannels.length > 0 && (
<>