more changes for free response/multiple choice

This commit is contained in:
ingawei 2022-09-14 17:44:30 -07:00
parent e1f10fb712
commit c7de9eb321
5 changed files with 31 additions and 7 deletions

View File

@ -11,6 +11,8 @@ import { ResolveConfirmationButton } from '../confirmation-button'
import { removeUndefinedProps } from 'common/util/object'
export function AnswerResolvePanel(props: {
isAdmin: boolean
isCreator: boolean
contract: FreeResponseContract | MultipleChoiceContract
resolveOption: 'CHOOSE' | 'CHOOSE_MULTIPLE' | 'CANCEL' | undefined
setResolveOption: (
@ -18,7 +20,14 @@ export function AnswerResolvePanel(props: {
) => void
chosenAnswers: { [answerId: string]: number }
}) {
const { contract, resolveOption, setResolveOption, chosenAnswers } = props
const {
contract,
resolveOption,
setResolveOption,
chosenAnswers,
isAdmin,
isCreator,
} = props
const answers = Object.keys(chosenAnswers)
const [isSubmitting, setIsSubmitting] = useState(false)
@ -76,7 +85,14 @@ export function AnswerResolvePanel(props: {
return (
<Col className="gap-4 rounded">
<Row className="justify-between">
<div>Resolve your market</div>
{isAdmin && !isCreator && (
<span className="rounded bg-red-200 p-1 text-xs text-red-600">
ADMIN
</span>
)}
</Row>
<Col className="gap-4 sm:flex-row sm:items-center">
<ChooseCancelSelector
className="sm:!flex-row sm:items-center"

View File

@ -24,10 +24,12 @@ import { Linkify } from 'web/components/linkify'
import { BuyButton } from 'web/components/yes-no-selector'
import { UserLink } from 'web/components/user-link'
import { Button } from 'web/components/button'
import { useAdmin } from 'web/hooks/use-admin'
export function AnswersPanel(props: {
contract: FreeResponseContract | MultipleChoiceContract
}) {
const isAdmin = useAdmin()
const { contract } = props
const { creatorId, resolution, resolutions, totalBets, outcomeType } =
contract
@ -154,10 +156,12 @@ export function AnswersPanel(props: {
<CreateAnswerPanel contract={contract} />
)}
{user?.id === creatorId && !resolution && (
{(user?.id === creatorId || isAdmin) && !resolution && (
<>
<Spacer h={2} />
<AnswerResolvePanel
isAdmin={isAdmin}
isCreator={user?.id === creatorId}
contract={contract}
resolveOption={resolveOption}
setResolveOption={setResolveOption}

View File

@ -14,11 +14,12 @@ import { Row } from './layout/row'
export function NumericResolutionPanel(props: {
isAdmin: boolean
isCreator: boolean
creator: User
contract: NumericContract | PseudoNumericContract
className?: string
}) {
const { contract, className, isAdmin } = props
const { contract, className, isAdmin, isCreator } = props
const { min, max, outcomeType } = contract
const [outcomeMode, setOutcomeMode] = useState<
@ -86,7 +87,7 @@ export function NumericResolutionPanel(props: {
className
)}
>
{isAdmin && (
{isAdmin && !isCreator && (
<span className="absolute right-4 top-4 rounded bg-red-200 p-1 text-xs text-red-600">
ADMIN
</span>

View File

@ -13,11 +13,12 @@ import { BinaryContract, resolution } from 'common/contract'
export function ResolutionPanel(props: {
isAdmin: boolean
isCreator: boolean
creator: User
contract: BinaryContract
className?: string
}) {
const { contract, className, isAdmin } = props
const { contract, className, isAdmin, isCreator } = props
// const earnedFees =
// contract.mechanism === 'dpm-2'
@ -68,7 +69,7 @@ export function ResolutionPanel(props: {
return (
<Col className={clsx('relative rounded-md bg-white px-8 py-6', className)}>
{isAdmin && (
{isAdmin && !isCreator && (
<span className="absolute right-4 top-4 rounded bg-red-200 p-1 text-xs text-red-600">
ADMIN
</span>

View File

@ -146,12 +146,14 @@ export function ContractPageSidebar(props: {
<NumericResolutionPanel
isAdmin={isAdmin}
creator={user}
isCreator={isCreator}
contract={contract}
/>
) : (
<ResolutionPanel
isAdmin={isAdmin}
creator={user}
isCreator={isCreator}
contract={contract}
/>
))}