tui: Sharing overlay — wire sharing plugin calls #93

Closed
opened 2026-04-12 13:24:45 +00:00 by claude-desktop · 0 comments
Collaborator

User Story

As a loom-tui user, I want the Sharing overlay to actually post my images to Mastodon, Pixelfed, Bluesky, and CivitAI, so that I can share my generations directly from the terminal.

Context

The Sharing overlay (#40) has a form UI with platform checkboxes, caption textarea, and visibility selector. But submitting does nothing because the sharing plugins aren't called. This ticket wires the overlay to PluginBridge sharing calls.

Acceptance Criteria

Posting

  • Submit calls the appropriate sharing plugin for each checked platform via PluginBridge
  • Per-platform status updates in real-time: spinner → ✓ success / ✗ error with message
  • Caption, visibility (public/unlisted/private), and NSFW flag are passed to each plugin

CivitAI

  • CivitAI sharing includes: title, description, NSFW toggle, resource links
  • Separate form fields for CivitAI-specific metadata

Integration Points

  • Triggered from Gallery detail view (s key)
  • Triggered from Generate preview pane (s key)
  • Image thumbnail shown in the overlay via ImageRenderer

Tests

  • Unit test: form state validation (at least one platform checked, caption not empty)
  • Integration test: mock plugin bridge receives correct share parameters

Out of Scope

  • Platform authentication setup (that's in Settings screen)

References

  • Spec §4.7 (Sharing Overlay)
  • Existing code: src/components/sharing.rs
  • Tracking issue: #47
## User Story As a **loom-tui user**, I want the Sharing overlay to actually post my images to Mastodon, Pixelfed, Bluesky, and CivitAI, so that I can share my generations directly from the terminal. ## Context The Sharing overlay (#40) has a form UI with platform checkboxes, caption textarea, and visibility selector. But submitting does nothing because the sharing plugins aren't called. This ticket wires the overlay to `PluginBridge` sharing calls. ## Acceptance Criteria ### Posting - [ ] Submit calls the appropriate sharing plugin for each checked platform via `PluginBridge` - [ ] Per-platform status updates in real-time: spinner → ✓ success / ✗ error with message - [ ] Caption, visibility (public/unlisted/private), and NSFW flag are passed to each plugin ### CivitAI - [ ] CivitAI sharing includes: title, description, NSFW toggle, resource links - [ ] Separate form fields for CivitAI-specific metadata ### Integration Points - [ ] Triggered from Gallery detail view (`s` key) - [ ] Triggered from Generate preview pane (`s` key) - [ ] Image thumbnail shown in the overlay via `ImageRenderer` ### Tests - [ ] Unit test: form state validation (at least one platform checked, caption not empty) - [ ] Integration test: mock plugin bridge receives correct share parameters ## Out of Scope - Platform authentication setup (that's in Settings screen) ## References - Spec §4.7 (Sharing Overlay) - Existing code: `src/components/sharing.rs` - Tracking issue: #47
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/loom#93
No description provided.