Add widget registry for universal UI decoupling

Introduces a widget system where domains register UI fragments into
named slots (container_nav, container_card, account_page, account_link).
Host apps iterate widgets generically without naming any domain.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
giles
2026-02-19 18:04:13 +00:00
parent dfc324b1be
commit 7882644731
18 changed files with 425 additions and 73 deletions

View File

@@ -78,6 +78,10 @@ class CalendarService(Protocol):
self, session: AsyncSession, *, user_id: int,
) -> list[CalendarEntryDTO]: ...
async def confirmed_entries_for_posts(
self, session: AsyncSession, post_ids: list[int],
) -> dict[int, list[CalendarEntryDTO]]: ...
@runtime_checkable
class MarketService(Protocol):