cleaned up add button, spacing things
This commit is contained in:
parent
2c1dedac28
commit
13d12bbb2f
|
@ -106,7 +106,7 @@ export function ContractCard(props: {
|
||||||
<>
|
<>
|
||||||
{outcomeType === 'BINARY' && (
|
{outcomeType === 'BINARY' && (
|
||||||
<BinaryResolutionOrChance
|
<BinaryResolutionOrChance
|
||||||
className="items-center self-center"
|
className="items-center self-center pr-5"
|
||||||
contract={contract}
|
contract={contract}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -106,6 +106,11 @@ export function AvatarDetails(props: {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getIsMobile() {
|
||||||
|
const { width } = useWindowSize()
|
||||||
|
return (width ?? 0) < 600
|
||||||
|
}
|
||||||
|
|
||||||
export function ContractDetails(props: {
|
export function ContractDetails(props: {
|
||||||
contract: Contract
|
contract: Contract
|
||||||
disabled?: boolean
|
disabled?: boolean
|
||||||
|
@ -123,7 +128,7 @@ export function ContractDetails(props: {
|
||||||
const user = useUser()
|
const user = useUser()
|
||||||
const isCreator = user?.id === creatorId
|
const isCreator = user?.id === creatorId
|
||||||
const { width } = useWindowSize()
|
const { width } = useWindowSize()
|
||||||
const isMobile = (width ?? 0) < 600
|
const isMobile = getIsMobile()
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Col>
|
<Col>
|
||||||
|
@ -136,7 +141,7 @@ export function ContractDetails(props: {
|
||||||
className="mr-1.5"
|
className="mr-1.5"
|
||||||
/>
|
/>
|
||||||
{!disabled && (
|
{!disabled && (
|
||||||
<div className="absolute mt-2 ml-[11px]">
|
<div className="absolute mt-3 ml-[11px]">
|
||||||
<MiniUserFollowButton userId={creatorId} />
|
<MiniUserFollowButton userId={creatorId} />
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
@ -234,7 +239,7 @@ export function MarketGroups(props: {
|
||||||
isMobile ? 'max-w-[140px]' : 'max-w-[250px]'
|
isMobile ? 'max-w-[140px]' : 'max-w-[250px]'
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<div className="bg-greyscale-6 hover:bg-greyscale-4 text-2xs items-center truncate rounded-full px-2 text-white sm:text-xs">
|
<div className="bg-greyscale-4 hover:bg-greyscale-3 text-2xs items-center truncate rounded-full px-2 text-white sm:text-xs">
|
||||||
{groupToDisplay.name}
|
{groupToDisplay.name}
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
|
@ -248,7 +253,7 @@ export function MarketGroups(props: {
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className={clsx(
|
className={clsx(
|
||||||
'bg-greyscale-6 text-2xs items-center truncate rounded-full px-2 text-white sm:text-xs'
|
'bg-greyscale-4 text-2xs items-center truncate rounded-full px-2 text-white sm:text-xs'
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
No Group
|
No Group
|
||||||
|
@ -268,7 +273,7 @@ export function MarketGroups(props: {
|
||||||
{groupInfo}
|
{groupInfo}
|
||||||
{user && (
|
{user && (
|
||||||
<button
|
<button
|
||||||
className="text-greyscale-6 hover:text-greyscale-4"
|
className="text-greyscale-4 hover:text-greyscale-3"
|
||||||
onClick={() => setOpen(!open)}
|
onClick={() => setOpen(!open)}
|
||||||
>
|
>
|
||||||
<PlusCircleIcon className="mb-0.5 mr-0.5 inline h-4 w-4 shrink-0" />
|
<PlusCircleIcon className="mb-0.5 mr-0.5 inline h-4 w-4 shrink-0" />
|
||||||
|
|
|
@ -19,6 +19,9 @@ import ShortToggle from '../widgets/short-toggle'
|
||||||
import { DuplicateContractButton } from '../copy-contract-button'
|
import { DuplicateContractButton } from '../copy-contract-button'
|
||||||
import { Row } from '../layout/row'
|
import { Row } from '../layout/row'
|
||||||
import { Button } from '../button'
|
import { Button } from '../button'
|
||||||
|
import { FollowMarketButton } from '../follow-market-button'
|
||||||
|
import { useUser } from 'web/hooks/use-user'
|
||||||
|
import { LikeMarketButton } from './like-market-button'
|
||||||
|
|
||||||
export const contractDetailsButtonClassName =
|
export const contractDetailsButtonClassName =
|
||||||
'group flex items-center rounded-md px-3 py-2 text-sm font-medium cursor-pointer hover:bg-gray-100 text-gray-400 hover:text-gray-500'
|
'group flex items-center rounded-md px-3 py-2 text-sm font-medium cursor-pointer hover:bg-gray-100 text-gray-400 hover:text-gray-500'
|
||||||
|
@ -27,6 +30,7 @@ export function ContractInfoDialog(props: {
|
||||||
contract: Contract
|
contract: Contract
|
||||||
className?: string
|
className?: string
|
||||||
}) {
|
}) {
|
||||||
|
const user = useUser()
|
||||||
const { contract, className } = props
|
const { contract, className } = props
|
||||||
|
|
||||||
const [open, setOpen] = useState(false)
|
const [open, setOpen] = useState(false)
|
||||||
|
@ -82,7 +86,15 @@ export function ContractInfoDialog(props: {
|
||||||
|
|
||||||
<Modal open={open} setOpen={setOpen}>
|
<Modal open={open} setOpen={setOpen}>
|
||||||
<Col className="gap-4 rounded bg-white p-6">
|
<Col className="gap-4 rounded bg-white p-6">
|
||||||
<Title className="!mt-0 !mb-0" text="Market info" />
|
<Row className="w-full justify-between">
|
||||||
|
<Title className="!mt-0 !mb-0" text="This Market" />
|
||||||
|
<div>
|
||||||
|
<FollowMarketButton contract={contract} user={user} />
|
||||||
|
{user?.id !== contract.creatorId && (
|
||||||
|
<LikeMarketButton contract={contract} user={user} />
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</Row>
|
||||||
|
|
||||||
<table className="table-compact table-zebra table w-full text-gray-500">
|
<table className="table-compact table-zebra table w-full text-gray-500">
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
|
@ -73,7 +73,7 @@ const BinaryOverview = (props: { contract: BinaryContract; bets: Bet[] }) => {
|
||||||
const { contract, bets } = props
|
const { contract, bets } = props
|
||||||
return (
|
return (
|
||||||
<Col className="gap-1 md:gap-2">
|
<Col className="gap-1 md:gap-2">
|
||||||
<Col className="gap-3 px-2 sm:gap-4">
|
<Col className="gap-1 px-2">
|
||||||
<ContractDetails contract={contract} />
|
<ContractDetails contract={contract} />
|
||||||
<Row className="justify-between gap-4">
|
<Row className="justify-between gap-4">
|
||||||
<OverviewQuestion text={contract.question} />
|
<OverviewQuestion text={contract.question} />
|
||||||
|
|
|
@ -18,20 +18,16 @@ import ChallengeIcon from 'web/lib/icons/challenge-icon'
|
||||||
|
|
||||||
export function ExtraContractActionsRow(props: { contract: Contract }) {
|
export function ExtraContractActionsRow(props: { contract: Contract }) {
|
||||||
const { contract } = props
|
const { contract } = props
|
||||||
const { outcomeType, resolution } = contract
|
// const { outcomeType, resolution } = contract
|
||||||
const user = useUser()
|
const user = useUser()
|
||||||
const [isShareOpen, setShareOpen] = useState(false)
|
const [isShareOpen, setShareOpen] = useState(false)
|
||||||
const [openCreateChallengeModal, setOpenCreateChallengeModal] =
|
// const [openCreateChallengeModal, setOpenCreateChallengeModal] =
|
||||||
useState(false)
|
// useState(false)
|
||||||
// const showChallenge =
|
// const showChallenge =
|
||||||
// user && outcomeType === 'BINARY' && !resolution && CHALLENGES_ENABLED
|
// user && outcomeType === 'BINARY' && !resolution && CHALLENGES_ENABLED
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Row>
|
<Row>
|
||||||
{/* <FollowMarketButton contract={contract} user={user} />
|
|
||||||
{user?.id !== contract.creatorId && (
|
|
||||||
<LikeMarketButton contract={contract} user={user} />
|
|
||||||
)} */}
|
|
||||||
<Button
|
<Button
|
||||||
size="sm"
|
size="sm"
|
||||||
color="gray-white"
|
color="gray-white"
|
||||||
|
@ -42,7 +38,6 @@ export function ExtraContractActionsRow(props: { contract: Contract }) {
|
||||||
>
|
>
|
||||||
<Row>
|
<Row>
|
||||||
<ShareIcon className={clsx('h-5 w-5')} aria-hidden="true" />
|
<ShareIcon className={clsx('h-5 w-5')} aria-hidden="true" />
|
||||||
{/* <span className="hidden sm:block">Share</span> */}
|
|
||||||
</Row>
|
</Row>
|
||||||
<ShareModal
|
<ShareModal
|
||||||
isOpen={isShareOpen}
|
isOpen={isShareOpen}
|
||||||
|
@ -51,29 +46,6 @@ export function ExtraContractActionsRow(props: { contract: Contract }) {
|
||||||
user={user}
|
user={user}
|
||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
{/* {showChallenge && (
|
|
||||||
<Button
|
|
||||||
size="lg"
|
|
||||||
color="gray-white"
|
|
||||||
className="max-w-xs self-center"
|
|
||||||
onClick={withTracking(
|
|
||||||
() => setOpenCreateChallengeModal(true),
|
|
||||||
'click challenge button'
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
<Col className="items-center sm:flex-row">
|
|
||||||
<ChallengeIcon className="mx-auto h-[24px] w-5 text-gray-500 sm:mr-2" />
|
|
||||||
<span>Challenge</span>
|
|
||||||
</Col>
|
|
||||||
<CreateChallengeModal
|
|
||||||
isOpen={openCreateChallengeModal}
|
|
||||||
setOpen={setOpenCreateChallengeModal}
|
|
||||||
user={user}
|
|
||||||
contract={contract}
|
|
||||||
/>
|
|
||||||
</Button>
|
|
||||||
)} */}
|
|
||||||
<Col className={'justify-center'}>
|
<Col className={'justify-center'}>
|
||||||
<ContractInfoDialog contract={contract} />
|
<ContractInfoDialog contract={contract} />
|
||||||
</Col>
|
</Col>
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import { PlusCircleIcon } from '@heroicons/react/solid'
|
import { CheckCircleIcon, PlusCircleIcon } from '@heroicons/react/solid'
|
||||||
import clsx from 'clsx'
|
import clsx from 'clsx'
|
||||||
|
import { useEffect, useState } from 'react'
|
||||||
import { useFollows } from 'web/hooks/use-follows'
|
import { useFollows } from 'web/hooks/use-follows'
|
||||||
import { useUser } from 'web/hooks/use-user'
|
import { useUser } from 'web/hooks/use-user'
|
||||||
import { follow, unfollow } from 'web/lib/firebase/users'
|
import { follow, unfollow } from 'web/lib/firebase/users'
|
||||||
|
@ -73,35 +74,6 @@ export function UserFollowButton(props: { userId: string; small?: boolean }) {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// export function MiniFollowButton(props: {
|
|
||||||
// isFollowing: boolean | undefined
|
|
||||||
// onFollow: () => void
|
|
||||||
// onUnfollow: () => void
|
|
||||||
// className?: string
|
|
||||||
// }) {
|
|
||||||
// const { isFollowing, onFollow, className } = props
|
|
||||||
|
|
||||||
// const user = useUser()
|
|
||||||
|
|
||||||
// if (isFollowing || !user || isFollowing === undefined) {
|
|
||||||
// return <></>
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return (
|
|
||||||
// <Button
|
|
||||||
// size="sm"
|
|
||||||
// color="highlight-blue"
|
|
||||||
// onClick={withTracking(onFollow, 'follow')}
|
|
||||||
// className={className}
|
|
||||||
// >
|
|
||||||
// <PlusCircleIcon
|
|
||||||
// className={clsx('h-[24px] w-5 sm:mr-2')}
|
|
||||||
// aria-hidden="true"
|
|
||||||
// />
|
|
||||||
// </Button>
|
|
||||||
// )
|
|
||||||
// }
|
|
||||||
|
|
||||||
export function MiniUserFollowButton(props: { userId: string }) {
|
export function MiniUserFollowButton(props: { userId: string }) {
|
||||||
const { userId } = props
|
const { userId } = props
|
||||||
const currentUser = useUser()
|
const currentUser = useUser()
|
||||||
|
@ -117,7 +89,6 @@ export function MiniUserFollowButton(props: { userId: string }) {
|
||||||
isFollowing === undefined
|
isFollowing === undefined
|
||||||
)
|
)
|
||||||
return null
|
return null
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Button
|
<Button
|
||||||
|
@ -126,10 +97,11 @@ export function MiniUserFollowButton(props: { userId: string }) {
|
||||||
onClick={withTracking(() => follow(currentUser.id, userId), 'follow')}
|
onClick={withTracking(() => follow(currentUser.id, userId), 'follow')}
|
||||||
>
|
>
|
||||||
<PlusCircleIcon
|
<PlusCircleIcon
|
||||||
className={clsx('h-[24px] w-5 sm:mr-2')}
|
className={clsx(
|
||||||
|
'hover:text-hover-blue h-5 w-5 rounded-full bg-white sm:mr-2'
|
||||||
|
)}
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
/>
|
/>
|
||||||
<circle className="absolute h-5 w-5 text-white" />
|
|
||||||
</Button>
|
</Button>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|
|
@ -27,6 +27,7 @@ module.exports = {
|
||||||
'greyscale-6': '#66667C',
|
'greyscale-6': '#66667C',
|
||||||
'greyscale-7': '#111140',
|
'greyscale-7': '#111140',
|
||||||
'highlight-blue': '#5BCEFF',
|
'highlight-blue': '#5BCEFF',
|
||||||
|
'hover-blue': '#90DEFF',
|
||||||
},
|
},
|
||||||
typography: {
|
typography: {
|
||||||
quoteless: {
|
quoteless: {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user