feat: beta feedback widget — frictionless in-session feedback
Full-stack beta feedback system: Backend: - BetaFeedback model with reaction, category, text, page context - POST /feedback/beta (any auth user), GET /feedback/beta (admin, filtered) - Alembic migration 065 with indexes on user_id, reaction, created_at Frontend: - Persistent "Feedback" tab on right edge of all authenticated pages - Slide-out panel: quick reaction (👍😐👎), category pills, optional text - Auto-captures page URL and FlowPilot session ID - Hidden on mobile (<640px), closes on Escape/outside click - Shows "Thanks!" confirmation then auto-closes Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
6
frontend/src/api/betaFeedback.ts
Normal file
6
frontend/src/api/betaFeedback.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { apiClient } from './client'
|
||||
|
||||
export const betaFeedbackApi = {
|
||||
submit: (data: { reaction: string; category?: string; text?: string; page_url?: string; session_id?: string }) =>
|
||||
apiClient.post('/feedback/beta', data).then(r => r.data),
|
||||
}
|
||||
@@ -31,3 +31,4 @@ export { notificationsApi } from './notifications'
|
||||
export { publicTemplatesApi } from './publicTemplates'
|
||||
export { uploadsApi, default as uploadsApiDefault } from './uploads'
|
||||
export { scriptBuilderApi } from './scriptBuilder'
|
||||
export { betaFeedbackApi } from './betaFeedback'
|
||||
|
||||
Reference in New Issue
Block a user