e.stopPropagation()}
>
-
-
-
Flag Feedback
-
Reporting incorrect feedback from {agentName}
+ {showSuccess ? (
+
+
+
Flag Submitted
+
Thank you for your feedback on the {agentName}'s review. This has been logged for auditing.
-
-
+ ) : (
+ <>
+
+
+
Flag Feedback
+
Reporting incorrect feedback from {agentName}
+
+
+
-
+
+ >
+ )}
);
@@ -255,7 +272,8 @@ const SubReviewCard: React.FC<{
review: SubReview;
onFlag: () => void;
onResolve: (issueText: string, reason: string) => void;
-}> = ({ title, review, onFlag, onResolve }) => {
+ isFlagged?: boolean;
+}> = ({ title, review, onFlag, onResolve, isFlagged }) => {
interface IssueState {
text: string;
status: 'actionable' | 'resolved';
@@ -391,11 +409,11 @@ const SubReviewCard: React.FC<{
@@ -667,7 +685,7 @@ const SubReviewCard: React.FC<{
);
};
-const LeadAgentSummary: React.FC<{ status: OverallStatus, summary: string, onFlag: () => void; }> = ({ status, summary, onFlag }) => {
+const LeadAgentSummary: React.FC<{ status: OverallStatus, summary: string, onFlag: () => void; isFlagged?: boolean; }> = ({ status, summary, onFlag, isFlagged }) => {
const isPassed = status === 'Passed';
let themeStyles = 'from-sky-50 to-white border-sky-100 text-primary-blue';
@@ -705,10 +723,10 @@ const LeadAgentSummary: React.FC<{ status: OverallStatus, summary: string, onFla
@@ -770,11 +788,20 @@ const FinancialPromotionSummary: React.FC<{ reason: string; summary: string }> =
};
-export const FeedbackReport: React.FC<{
+export const FeedbackReport: React.FC<{
feedback: AgentReview;
onFlagSubmit: (agentName: string, comments: string) => void;
onResolveSubmit: (agentName: string, issueText: string, reason: string) => void;
-}> = ({ feedback, onFlagSubmit, onResolveSubmit }) => {
+ flaggedItems?: FlaggedItem[];
+ proofName?: string;
+ version?: number;
+}> = ({ feedback, onFlagSubmit, onResolveSubmit, flaggedItems = [], proofName, version }) => {
+ const flaggedAgents = new Set(
+ flaggedItems
+ .filter(f => f.proofName === proofName && f.version === version)
+ .map(f => f.agentFlagged)
+ );
+
const [flagModalState, setFlagModalState] = useState<{ isOpen: boolean; agentName: string }>({
isOpen: false,
agentName: '',
@@ -790,8 +817,6 @@ export const FeedbackReport: React.FC<{
const handleSubmitFlag = (comments: string) => {
onFlagSubmit(flagModalState.agentName, comments);
- alert(`Thank you for your feedback on the ${flagModalState.agentName}'s review. This has been logged for auditing.`);
- handleCloseFlagModal();
};
const agentReviews = [
@@ -818,22 +843,24 @@ export const FeedbackReport: React.FC<{
summary={feedback.leadAgentSummary}
/>
) : (
-
handleOpenFlagModal('Lead Agent')}
+ isFlagged={flaggedAgents.has('Lead Agent')}
/>
)}
{agentReviews.map(({ title, review }) => (
- handleOpenFlagModal(title)}
onResolve={(issueText, reason) => onResolveSubmit(title, issueText, reason)}
+ isFlagged={flaggedAgents.has(title)}
/>
))}
diff --git a/frontend/components/icons/FlagIcon.tsx b/frontend/components/icons/FlagIcon.tsx
index 2ef6704..c68d611 100755
--- a/frontend/components/icons/FlagIcon.tsx
+++ b/frontend/components/icons/FlagIcon.tsx
@@ -1,7 +1,7 @@
import React from 'react';
-export const FlagIcon: React.FC> = (props) => (
-