Skip to content

feat: add payload copy, centralize UI theme, and extract UseCase interface - #8

Merged
xvlet merged 1 commit into
masterfrom
feature/payload-copy-and-extract-interface
Aug 24, 2026
Merged

feat: add payload copy, centralize UI theme, and extract UseCase interface#8
xvlet merged 1 commit into
masterfrom
feature/payload-copy-and-extract-interface

Conversation

@xvlet

@xvlet xvlet commented Aug 24, 2026

Copy link
Copy Markdown
Owner
- UI: Created theme.go to centralize lipgloss color definitions into an AppTheme struct.
- UI: Replaced hardcoded hex colors with AppTheme references across all TUI views and components.
- UI: Added c and y keybindings in the message detail view to copy the raw payload directly to the OS clipboard.
- UI: Updated the footer hints to display the new copy shortcut.
- UI: Implemented a success notification for clipboard actions and prevented these notifications from falsely triggering the disconnected status.
- UI: Updated AppModel to depend on the UseCase interface instead of a concrete struct pointer, strictly adhering to Clean Architecture principles.
- Usecase: Extracted UseCase interface to decouple the UI layer from concrete business logic implementations.
- Usecase: Renamed ActiveMQUseCase struct to activeMQInteractor to encapsulate the implementation details.
- Usecase: Fixed a potential resource leak in GetFullMessageBody by catching and bubbling up temporary queue deletion errors using named return variables.
- Build: Resolved ST1005 golangci-lint warning by removing trailing punctuation from error strings.

…rface

    - UI: Created theme.go to centralize lipgloss color definitions into an AppTheme struct.
    - UI: Replaced hardcoded hex colors with AppTheme references across all TUI views and components.
    - UI: Added c and y keybindings in the message detail view to copy the raw payload directly to the OS clipboard.
    - UI: Updated the footer hints to display the new copy shortcut.
    - UI: Implemented a success notification for clipboard actions and prevented these notifications from falsely triggering the disconnected status.
    - UI: Updated AppModel to depend on the UseCase interface instead of a concrete struct pointer, strictly adhering to Clean Architecture principles.
    - Usecase: Extracted UseCase interface to decouple the UI layer from concrete business logic implementations.
    - Usecase: Renamed ActiveMQUseCase struct to activeMQInteractor to encapsulate the implementation details.
    - Usecase: Fixed a potential resource leak in GetFullMessageBody by catching and bubbling up temporary queue deletion errors using named return variables.
    - Build: Resolved ST1005 golangci-lint warning by removing trailing punctuation from error strings.
@xvlet
xvlet merged commit 7fcb257 into master Aug 24, 2026
1 check passed
@xvlet
xvlet deleted the feature/payload-copy-and-extract-interface branch August 24, 2026 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant