more changes for free response/multiple choice
This commit is contained in:
parent
e1f10fb712
commit
c7de9eb321
|
@ -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"
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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}
|
||||
/>
|
||||
))}
|
||||
|
|
Loading…
Reference in New Issue
Block a user