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>
88 lines
3.9 KiB
Python
88 lines
3.9 KiB
Python
from fastapi import APIRouter
|
|
from app.api.endpoints import auth, trees, sessions, sidebar, invite, categories, tags, folders, step_categories, steps, admin, accounts, webhooks, shares, shared, tree_markdown
|
|
from app.api.endpoints import admin_dashboard, admin_audit, admin_plan_limits, admin_feature_flags, admin_settings, admin_categories
|
|
from app.api.endpoints import ratings, analytics
|
|
from app.api.endpoints import target_lists
|
|
from app.api.endpoints import maintenance_schedules
|
|
from app.api.endpoints import feedback
|
|
from app.api.endpoints import ai_builder
|
|
from app.api.endpoints import ai_fix
|
|
from app.api.endpoints import ai_chat
|
|
from app.api.endpoints import copilot
|
|
from app.api.endpoints import assistant_chat
|
|
from app.api.endpoints import survey
|
|
from app.api.endpoints import admin_survey
|
|
from app.api.endpoints import tree_transfer
|
|
from app.api.endpoints import ai_suggestions
|
|
from app.api.endpoints import kb_accelerator
|
|
from app.api.endpoints import beta_signup
|
|
from app.api.endpoints import scripts
|
|
from app.api.endpoints import integrations
|
|
from app.api.endpoints import onboarding
|
|
from app.api.endpoints import branding
|
|
from app.api.endpoints import supporting_data
|
|
from app.api.endpoints import ai_sessions
|
|
from app.api.endpoints import flow_proposals
|
|
from app.api.endpoints import flowpilot_analytics
|
|
from app.api.endpoints import notifications
|
|
from app.api.endpoints import public_templates
|
|
from app.api.endpoints import admin_gallery
|
|
from app.api.endpoints import uploads
|
|
from app.api.endpoints import script_builder
|
|
from app.api.endpoints import beta_feedback
|
|
|
|
api_router = APIRouter()
|
|
|
|
api_router.include_router(auth.router)
|
|
api_router.include_router(trees.router)
|
|
api_router.include_router(sidebar.router)
|
|
api_router.include_router(sessions.router)
|
|
api_router.include_router(invite.router)
|
|
api_router.include_router(categories.router)
|
|
api_router.include_router(tags.router)
|
|
api_router.include_router(folders.router)
|
|
api_router.include_router(step_categories.router)
|
|
api_router.include_router(steps.router)
|
|
api_router.include_router(admin.router)
|
|
api_router.include_router(admin_dashboard.router)
|
|
api_router.include_router(admin_audit.router)
|
|
api_router.include_router(admin_plan_limits.router)
|
|
api_router.include_router(admin_feature_flags.router)
|
|
api_router.include_router(admin_settings.router)
|
|
api_router.include_router(admin_categories.router)
|
|
api_router.include_router(accounts.router)
|
|
api_router.include_router(webhooks.router)
|
|
api_router.include_router(shares.router)
|
|
api_router.include_router(shared.router) # Public endpoints (no auth)
|
|
api_router.include_router(tree_markdown.router)
|
|
api_router.include_router(ratings.router)
|
|
api_router.include_router(analytics.router)
|
|
api_router.include_router(target_lists.router)
|
|
api_router.include_router(maintenance_schedules.router)
|
|
api_router.include_router(feedback.router)
|
|
api_router.include_router(ai_builder.router)
|
|
api_router.include_router(ai_fix.router)
|
|
api_router.include_router(ai_chat.router)
|
|
api_router.include_router(copilot.router)
|
|
api_router.include_router(assistant_chat.router)
|
|
api_router.include_router(survey.router)
|
|
api_router.include_router(admin_survey.router)
|
|
api_router.include_router(tree_transfer.router)
|
|
api_router.include_router(ai_suggestions.router)
|
|
api_router.include_router(kb_accelerator.router)
|
|
api_router.include_router(beta_signup.router)
|
|
api_router.include_router(scripts.router)
|
|
api_router.include_router(integrations.router)
|
|
api_router.include_router(onboarding.router)
|
|
api_router.include_router(branding.router)
|
|
api_router.include_router(supporting_data.router)
|
|
api_router.include_router(ai_sessions.router)
|
|
api_router.include_router(flow_proposals.router)
|
|
api_router.include_router(flowpilot_analytics.router)
|
|
api_router.include_router(notifications.router)
|
|
api_router.include_router(public_templates.router)
|
|
api_router.include_router(admin_gallery.router)
|
|
api_router.include_router(uploads.router)
|
|
api_router.include_router(script_builder.router)
|
|
api_router.include_router(beta_feedback.router)
|