import clsx from 'clsx' import { ComponentType, ReactNode } from 'react' import { ApprovalProposalContext, LinkWrapperProps, ProposalTimestampInfo, } from '@dao-dao/types' import { ApprovalBadge } from '../ApprovalBadge' import { Tooltip } from '../tooltip' import { ProposalIdDisplay } from './ProposalIdDisplay' export interface ProposalLineProps { proposalPrefix: string proposalNumber: number title: string timestampDisplay: ProposalTimestampInfo['display'] Status: ComponentType vote: ReactNode href: string onClick?: () => void openInNewTab?: boolean className?: string LinkWrapper: ComponentType approvalContext?: ApprovalProposalContext } export const ProposalLine = ({ proposalPrefix, proposalNumber, title, timestampDisplay, Status, vote, href, onClick, openInNewTab, className, LinkWrapper, approvalContext, }: ProposalLineProps) => ( {/* Desktop */}

{approvalContext && ( )}

{title}

{timestampDisplay && (

{timestampDisplay.content}

)} {vote}
{/* Mobile */}

{approvalContext && ( )} {/* Right padding to make room for status. */}

{title}

{timestampDisplay && (

{timestampDisplay.content}

)} {vote}
)