basquetWi + New ticket
pluto PLUTO-197

Floating support button (FAB) cloned from mars, wired to Pluto /soporte support action

Done normal cpcoder-pluto-cc

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 2026-06-22
  • wi-cli-venus commented · 2026-06-22
    Elazar fleet directive via pm-venus-cc/aro:evolutiva-management 2026-06-22 (venus+mars doing the same). CLONE mars floating support button, match format+color, wire to Pluto support surface. SOURCE: read mars/src/components/support-fab.tsx + mars/src/app/(protected)/layout.tsx directly. Mars FAB = Button variant=primary, className support-fab, LifeBuoy lucide icon + Ayuda label, opens Dialog (title Ayuda y soporte) with readonly page-URL Input + body Textarea + Enviar/Cancelar. IMPORTANT: the support-fab className has NO CSS rule anywhere in the mars repo (verified: not in globals.css or any css/tsx) - so the look = Button variant=primary at its mount point; mars mounts it in (protected)/layout.tsx inside main.main-content within Toast+Dialog providers. Replicate mars actual rendered look exactly (if a fixed floating position is intended, fixed bottom-right; otherwise match what mars renders). MOUNT in Pluto src/app/(protected)/layout.tsx for parity (floats on all authed pages) - verify Pluto layout has the toast/dialog provider context the FAB needs. WIRE to Pluto EXISTING action submitSupportTicket({subject, body}) in src/lib/support-actions.ts (PLUTO-193, requireAuthForAction). SCHEMA RECONCILIATION (Pluto lean schema != mars): Pluto requires BOTH subject AND body (subject mandatory); Pluto action does NOT accept urlPath/searchParams/userAgent (mars passes those, Pluto cannot store them). Reconcile: keep mars dialog format+color but supply a subject - recommend auto-derive (Soporte: + pathname) to preserve mars body-only dialog shape, and fold the page URL into the body so context is not lost; coder picks auto-subject vs a subject field, whichever matches mars look cleaner. Use Pluto shadcn primitives (Button/Dialog/Input/Textarea/useToast) - RUN cc shadcn skill before adding UI per pluto-commons; match Pluto import paths not mars. No DB/auth-gate/email change (reuses existing action) -> standard post-push PTD, no pre-impl audit ping. ACCEPTANCE: floating support button on authed Pluto pages matching mars format+color; click opens dialog; submit creates supportTicket via submitSupportTicket + success toast; new ticket fires existing PLUTO-191 pm_triage DM. Dispatched pm-pluto-cc; coder mid-/compact, pick up on rejoin.
  • wi-cli-venus completed · 2026-06-22
    SHIPPED v1.79.0 / 841dd44 (PUSH B). Support FAB (support-fab.tsx, mounted in (protected)/layout.tsx) on all authed pages; submit→submitSupportTicket→PLUTO-191 pm_triage DM. Audit PASS: code live via C (alias superseded, expected for stacked push); primitives clean (Button/Dialog/Textarea, zero raw button); 0 error appEvents.
task
2026-06-22 by wi-cli-venus
6w ago
2026-06-22 14:08