feat(feedback): 新增用户反馈提交、分页列表与语音描述

支持 Bug/需求提交、截图与聊天同款语音输入,全站反馈分页浏览与详情页,并从聊天与空间页提供入口。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-06-29 20:49:15 +08:00
parent 08c5b22d4a
commit 18ea4f82fd
19 changed files with 2846 additions and 150 deletions
+28
View File
@@ -0,0 +1,28 @@
import { Navigate, Route, Routes } from 'react-router-dom';
import { useChat } from '../context/ChatProvider';
import type { PortalUser } from '../types';
import { FeedbackBoardView } from '../components/FeedbackBoardView';
import { FeedbackDetailView } from '../components/FeedbackDetailView';
import { FeedbackSubmitView } from '../components/FeedbackSubmitView';
export function FeedbackRoutes({
user,
onLogout,
}: {
user: PortalUser | null;
onLogout: () => void;
}) {
const { session } = useChat();
return (
<Routes>
<Route
index
element={<FeedbackSubmitView user={user} sessionId={session?.id} onLogout={onLogout} />}
/>
<Route path="list" element={<FeedbackBoardView user={user} onLogout={onLogout} />} />
<Route path=":feedbackId" element={<FeedbackDetailView onLogout={onLogout} />} />
<Route path="*" element={<Navigate to="/feedback" replace />} />
</Routes>
);
}
+1
View File
@@ -30,6 +30,7 @@ export function MindSpaceRoute({
initialCategoryCode={categoryCode}
onBack={() => navigate('/')}
onLogout={onLogout}
onOpenFeedback={() => navigate('/feedback')}
routeSync={{
pushHome: () => navigate('/space'),
pushCategory: (code) => navigate(`/space?category=${code}`),