import JobForm from './job-form' import Link from 'next/link' import Button from 'react-bootstrap/Button' import Alert from 'react-bootstrap/Alert' import AccordianItem from './accordian-item' import { useMe } from './me' import { useRouter } from 'next/router' import { DiscussionForm } from './discussion-form' import { LinkForm } from './link-form' import { PollForm } from './poll-form' import { BountyForm } from './bounty-form' import SubSelect from './sub-select-form' import Info from './info' import { useCallback, useState } from 'react' function FreebieDialog () { return (
you have no sats, so this one is on us
) } export function PostForm ({ type, sub, children }) { const me = useMe() const [errorMessage, setErrorMessage] = useState() const prefix = sub?.name ? `/~${sub.name}` : '' const checkSession = useCallback((e) => { if (!me) { e.preventDefault() setErrorMessage('you must be logged in') } }, [me, setErrorMessage]) if (!type) { return (
{errorMessage && setErrorMessage(undefined)} dismissible> {errorMessage} } {me?.sats < 1 && } or
more types
} body={
or
} />
) } let FormType = JobForm if (type === 'discussion') { FormType = DiscussionForm } else if (type === 'link') { FormType = LinkForm } else if (type === 'poll') { FormType = PollForm } else if (type === 'bounty') { FormType = BountyForm } return {children} } export default function Post ({ sub }) { const router = useRouter() let type = router.query.type if (sub?.postTypes?.length === 1) { type = sub.postTypes[0].toLowerCase() } return ( <> {sub?.name !== 'jobs' && } ) }