diff --git a/web/components/probability-selector.tsx b/web/components/probability-selector.tsx index 2fc03787..74dab3c6 100644 --- a/web/components/probability-selector.tsx +++ b/web/components/probability-selector.tsx @@ -4,8 +4,11 @@ export function ProbabilitySelector(props: { probabilityInt: number setProbabilityInt: (p: number) => void isSubmitting?: boolean + minProb?: number + maxProb?: number }) { - const { probabilityInt, setProbabilityInt, isSubmitting } = props + const { probabilityInt, setProbabilityInt, isSubmitting, minProb, maxProb } = + props return ( @@ -15,19 +18,28 @@ export function ProbabilitySelector(props: { value={probabilityInt} className="input input-bordered input-md text-lg" disabled={isSubmitting} - min={1} - max={99} + min={minProb ?? 1} + max={maxProb ?? 99} onChange={(e) => setProbabilityInt(parseInt(e.target.value.substring(0, 2))) } + onBlur={() => + setProbabilityInt( + maxProb && probabilityInt > maxProb + ? maxProb + : minProb && probabilityInt < minProb + ? minProb + : probabilityInt + ) + } /> % setProbabilityInt(parseInt(e.target.value))} /> diff --git a/web/pages/create.tsx b/web/pages/create.tsx index b668fffb..4a4a07b5 100644 --- a/web/pages/create.tsx +++ b/web/pages/create.tsx @@ -106,11 +106,14 @@ export function NewContract(props: { question: string; tag?: string }) { setIsSubmitting(true) + const boundedProb = + initialProb > 90 ? 90 : initialProb < 10 ? 10 : initialProb + const result: any = await createContract({ question, outcomeType, description, - initialProb, + initialProb: boundedProb, ante, closeTime, tags, @@ -172,6 +175,8 @@ export function NewContract(props: { question: string; tag?: string }) { )}