Skip to content

feat: add ChatAction sealed interface with CompositionLocal#1012

Merged
bmc08gt merged 1 commit into
code/cashfrom
chore/chat-action-handler
Jun 29, 2026
Merged

feat: add ChatAction sealed interface with CompositionLocal#1012
bmc08gt merged 1 commit into
code/cashfrom
chore/chat-action-handler

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Threading action lambdas through MessageList -> ContentBubble -> CashBubble (and deeper as more bubble types gain interactions) is verbose. A CompositionLocal matches the project established pattern (LocalVibrator, LocalExchange, LocalCodeNavigator, etc.) and avoids lambda-threading entirely.

Introduce ChatAction, ChatActionHandler, and LocalChatActionHandler in the shared chat-ui module. MessageList accepts onAction and provides it via CompositionLocalProvider so nested composables consume it from the local. Cash bubbles are now clickable, dispatching ViewToken to navigate to the token info screen.

Threading action lambdas through MessageList -> ContentBubble -> CashBubble
(and deeper as more bubble types gain interactions) is verbose. A
CompositionLocal matches the project established pattern (LocalVibrator,
LocalExchange, LocalCodeNavigator, etc.) and avoids lambda-threading
entirely.

Introduce ChatAction, ChatActionHandler, and LocalChatActionHandler in
the shared chat-ui module. MessageList accepts onAction and provides it
via CompositionLocalProvider so nested composables consume it from the
local. Cash bubbles are now clickable, dispatching ViewToken to navigate
to the token info screen.

Signed-off-by: Brandon McAnsh <git@bmcreations.dev>
@bmc08gt bmc08gt self-assigned this Jun 29, 2026
@github-actions github-actions Bot added the type: feature New functionality label Jun 29, 2026
@bmc08gt bmc08gt merged commit f4f57d8 into code/cash Jun 29, 2026
3 checks passed
@bmc08gt bmc08gt deleted the chore/chat-action-handler branch June 29, 2026 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant