import { capitalize, plural } from '../../utils' import { Show } from 'solid-js/web' import './Card.scss' import { createMemo } from 'solid-js' import type { Topic } from '../../graphql/types.gen' import { t } from '../../utils/intl' import { locale as locstore } from '../../stores/ui' import { useStore } from '@nanostores/solid' import { session } from '../../stores/auth' interface TopicProps { topic: Topic compact?: boolean subscribed?: boolean shortDescription?: boolean subscribeButtonBottom?: boolean } export const TopicCard = (props: TopicProps) => { const locale = useStore(locstore) const auth = useStore(session) const topic = createMemo(() => props.topic) // const subscribed = createMemo(() => { // return Boolean(auth()?.user?.slug) && topic().slug ? topic().slug in auth().info.topics : false // }) // FIXME use store actions // const subscribe = async (really = true) => { // if (really) { // const result = await apiClient.q(follow, { what: 'topic', slug: topic().slug }) // if (result.error) console.error(result.error) // // TODO: setSubscribers(topic().stat?.followers as number + 1) // } else { // const result = await apiClient.q(unfollow, { what: 'topic', slug: topic().slug }) // if (result.error) console.error(result.error) // // TODO: setSubscribers(topic().stat?.followers as number - 1) // } // } return (
{topic().body}
{topic().stat?.shouts + ' ' + t('post') + plural(topic().stat?.shouts || 0, locale() === 'ru' ? ['ов', '', 'а'] : ['s', '', 's'])} {topic().stat?.authors + ' ' + t('author') + plural(topic().stat?.authors || 0, locale() === 'ru' ? ['ов', '', 'а'] : ['s', '', 's'])} {/*FIXME*/} {/**/} {/* */} {/* {topic().stat?.viewed +*/} {/* ' ' +*/} {/* t('view') +*/} {/* plural(*/} {/* topic().stat?.viewed || 0,*/} {/* locale() === 'ru' ? ['ов', '', 'а'] : ['s', '', 's']*/} {/* )}*/} {/* */} {/**/} {/* {subscribers().toString() + ' ' + t('follower') + plural( subscribers(), locale() === 'ru' ? ['ов', '', 'а'] : ['s', '', 's'] )} */}
{/*FIXME*/} {/* subscribe(true)} class="button--light">*/} {/* + {t('Follow')}*/} {/* */} {/* }*/} {/*>*/} {/* */} {/**/}
) }