redrob-labs

Finding

Component

About

A card that reports one issue found during review, how serious it is, and what to do about it, with a plain-language severity label and an open/accepted/dismissed state.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Finding to your project and fits it to your theme.

Code

How Finding is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

import Finding from "@/components/ui/finding";

export default function FindingDemo() {
  return (
    <div className="flex w-full max-w-xl flex-col gap-4 p-6">
      <Finding
        severity="high"
        title="Unencrypted field stores applicant SSNs"
        where="data-model.ts, line 42"
        detail="The applicant record keeps the Social Security number in plain text. Anyone with read access to the database can see it."
        suggestion="Move the value behind the existing field-level encryption helper, the same one used for bank details."
        onOpen={() => {}}
      />
      <Finding
        severity="medium"
        title="Retry loop has no backoff"
        where="sync-worker.ts, line 118"
        detail="A failed sync retries immediately, up to five times a second, until it succeeds or the queue empties."
        suggestion="Add exponential backoff starting at 500ms."
      />
      <Finding
        severity="low"
        title="Inconsistent date format in export"
        detail="The CSV export writes dates as MM/DD/YYYY while the rest of the product uses ISO 8601."
        state="accepted"
      />
      <Finding
        severity="note"
        title="Consider caching the lookup table"
        detail="This isn't wrong, just slower than it needs to be: the lookup table is rebuilt on every call."
        state="dismissed"
      />
    </div>
  );
}

More by redrob-labs

View all
  • Alert

    Alert

    18
  • Schedule Picker

    Schedule Picker

    15
  • Hero Section

    Hero Section

    7
  • Switch

    Switch

    5
  • Status Card

    Status Card

    4
  • Meter

    Meter

    2
  • Memory Scope

    Memory Scope

    2
  • Accordion

    Accordion

    2