import { QuestionFragment } from "../../fragments.generated"; import { formatProbability } from "../utils"; type Option = QuestionFragment["options"][0]; const textColor = (probability: number) => { if (probability < 0.03) { return "text-red-600"; } else if (probability < 0.1) { return "text-red-600 opacity-80"; } else if (probability < 0.2) { return "text-red-600 opacity-80"; } else if (probability < 0.3) { return "text-red-600 opacity-70"; } else if (probability < 0.4) { return "text-red-600 opacity-70"; } else if (probability < 0.5) { return "text-gray-500"; } else if (probability < 0.6) { return "text-gray-500"; } else if (probability < 0.7) { return "text-green-600 opacity-70"; } else if (probability < 0.8) { return "text-green-600 opacity-70"; } else if (probability < 0.9) { return "text-green-600 opacity-80"; } else if (probability < 0.97) { return "text-green-600 opacity-80"; } else { return "text-green-600"; } }; const primaryForecastColor = (probability: number) => { if (probability < 0.03) { return "bg-red-600"; } else if (probability < 0.1) { return "bg-red-600 opacity-80"; } else if (probability < 0.2) { return "bg-red-600 opacity-70"; } else if (probability < 0.3) { return "bg-red-600 opacity-60"; } else if (probability < 0.4) { return "bg-red-600 opacity-50"; } else if (probability < 0.5) { return "bg-gray-500"; } else if (probability < 0.6) { return "bg-gray-500"; } else if (probability < 0.7) { return "bg-green-600 opacity-50"; } else if (probability < 0.8) { return "bg-green-600 opacity-60"; } else if (probability < 0.9) { return "bg-green-600 opacity-70"; } else if (probability < 0.97) { return "bg-green-600 opacity-80"; } else { return "bg-green-600"; } }; const primaryEstimateAsText = (probability: number) => { if (probability < 0.03) { return "Exceptionally unlikely"; } else if (probability < 0.1) { return "Very unlikely"; } else if (probability < 0.4) { return "Unlikely"; } else if (probability < 0.6) { return "About Even"; } else if (probability < 0.9) { return "Likely"; } else if (probability < 0.97) { return "Very likely"; } else { return "Virtually certain"; } }; const chooseColor = (probability: number) => { if (probability < 0.1) { return "bg-blue-50 text-blue-500"; } else if (probability < 0.3) { return "bg-blue-100 text-blue-600"; } else if (probability < 0.7) { return "bg-blue-200 text-blue-700"; } else { return "bg-blue-300 text-blue-800"; } }; const OptionRow: React.FC<{ option: Option }> = ({ option }) => { return (