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>
7 lines
251 B
TypeScript
7 lines
251 B
TypeScript
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),
|
|
}
|