feat(frontend): My Reviews queue, duplicate-test badge, tactic order, legend + tooltip fixes
Aegis CI / lint-and-test (push) Has been cancelled
Snyk Security Scan / Python vulnerabilities (backend) (push) Has been cancelled
Snyk Security Scan / npm vulnerabilities (frontend) (push) Has been cancelled
Snyk Security Scan / Docker image vulnerabilities (backend) (push) Has been cancelled
Aegis CI / lint-and-test (push) Has been cancelled
Snyk Security Scan / Python vulnerabilities (backend) (push) Has been cancelled
Snyk Security Scan / npm vulnerabilities (frontend) (push) Has been cancelled
Snyk Security Scan / Docker image vulnerabilities (backend) (push) Has been cancelled
- TestsPage gains a "My Reviews" toggle for red_lead/blue_lead, separate from "My Tasks" — filters by reviewer_id at the red_review/blue_review gate instead of the unrelated in_review validation stage - Test Catalog cards now warn when a technique already has existing tests, using the backend's new existing_test_count - ExecutiveDashboardPage drops its duplicate client-side tactic-order sort now that the backend returns canonical order; time-range filter now notes which sections it actually scopes - HeatmapLegend adds the missing review_required swatch (as an overlay indicator, matching how it's actually rendered on cells) and hover tooltips reusing StatusBadge's copy instead of being unexplained static color chips - Fix a real React key bug in ControlsTable: rows were grouped in a keyless shorthand fragment, which can misreconcile when the table is filtered/sorted; switched to a keyed Fragment - Minor: CompliancePage summary-card grid no longer strands a lone card on tablet widths
This commit is contained in:
@@ -70,6 +70,8 @@ export interface TestListFilters {
|
||||
platform?: string;
|
||||
created_by?: string;
|
||||
pending_validation_side?: "red" | "blue";
|
||||
/** "My reviews" queue — tests assigned to this reviewer at the red_review/blue_review gate. */
|
||||
reviewer_id?: string;
|
||||
not_in_any_campaign?: boolean;
|
||||
assigned_to_me?: boolean;
|
||||
unassigned_red?: boolean;
|
||||
@@ -88,6 +90,7 @@ export async function getTests(filters?: TestListFilters): Promise<Test[]> {
|
||||
if (filters?.platform) params.append("platform", filters.platform);
|
||||
if (filters?.created_by) params.append("created_by", filters.created_by);
|
||||
if (filters?.pending_validation_side) params.append("pending_validation_side", filters.pending_validation_side);
|
||||
if (filters?.reviewer_id) params.append("reviewer_id", filters.reviewer_id);
|
||||
if (filters?.not_in_any_campaign) params.append("not_in_any_campaign", "true");
|
||||
if (filters?.offset !== undefined) params.append("offset", String(filters.offset));
|
||||
if (filters?.limit !== undefined) params.append("limit", String(filters.limit));
|
||||
|
||||
Reference in New Issue
Block a user