Release v0.3.1

- Feed bounded context with DDD implementation (Phases 1-5)
- Domain event handlers for cross-context coordination
- Fix Blossom media upload setting persistence
- Fix wallet connection persistence on page reload
- New branding assets and icons
- Vitest testing infrastructure with 151 domain model tests
- Help page scaffolding
- Keyboard navigation provider

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
woikos
2026-01-04 07:29:07 +01:00
parent 158f3d77d3
commit 4c3e8d5cc7
167 changed files with 13451 additions and 1903 deletions

View File

@@ -1,18 +1,26 @@
import { usePrimaryPage } from '@/PageManager'
import { useDM } from '@/providers/DMProvider'
import { useKeyboardNavigation } from '@/providers/KeyboardNavigationProvider'
import { MessageSquare } from 'lucide-react'
import SidebarItem from './SidebarItem'
export default function InboxButton({ collapse }: { collapse: boolean }) {
export default function InboxButton({ collapse, navIndex }: { collapse: boolean; navIndex?: number }) {
const { navigate, current, display } = usePrimaryPage()
const { hasNewMessages } = useDM()
const { clearColumn } = useKeyboardNavigation()
const handleClick = () => {
navigate('inbox')
clearColumn(1)
}
return (
<SidebarItem
title="Inbox"
onClick={() => navigate('inbox')}
onClick={handleClick}
active={display && current === 'inbox'}
collapse={collapse}
navIndex={navIndex}
>
<div className="relative">
<MessageSquare />