import { useNavigate } from '@solidjs/router' import { clsx } from 'clsx' import { For } from 'solid-js' import { AuthGuard } from '~/components/AuthGuard' import { Button } from '~/components/_shared/Button' import { Icon } from '~/components/_shared/Icon' import { PageLayout } from '~/components/_shared/PageLayout' import { useGraphQL } from '~/context/graphql' import { useLocalize } from '~/context/localize' import createShoutMutation from '~/graphql/mutation/core/article-create' import styles from '~/styles/Create.module.scss' import { LayoutType } from '~/types/common' export default () => { const { t } = useLocalize() const client = useGraphQL() const navigate = useNavigate() const handleCreate = async (layout: LayoutType) => { const result = await client.mutation(createShoutMutation, { shout: { layout: layout } }).toPromise() if (result) { const shout = result.data.create_shout if (shout?.id) navigate(`/edit/${shout.id}`) } } return (

{t('Choose a post type')}

    {(layout: string) => (
  • handleCreate(layout.toLowerCase() as LayoutType)}>
    {t(layout)}
  • )}
) }