import { A, useMatch } from '@solidjs/router' import { clsx } from 'clsx' import { For, Show, createEffect, createSignal, on, onMount } from 'solid-js' import { Icon } from '~/components/_shared/Icon' import { useLocalize } from '~/context/localize' import { useTopics } from '~/context/topics' import type { Topic } from '~/graphql/schema/core.gen' import { getRandomItemsFromArray } from '~/utils/random' import styles from './TopicsNav.module.scss' export const RandomTopics = () => { const { sortedTopics } = useTopics() const { lang, t } = useLocalize() const tag = (topic: Topic) => /[ЁА-яё]/.test(topic.title || '') && lang() !== 'ru' ? topic.slug : topic.title const [randomTopics, setRandomTopics] = createSignal([]) createEffect( on(sortedTopics, (ttt: Topic[]) => { if (ttt?.length) { setRandomTopics(getRandomItemsFromArray(ttt)) } }) ) onMount(() => sortedTopics() && getRandomItemsFromArray(sortedTopics())) return ( ) } export const TopicsNav = () => { const { t } = useLocalize() const matchExpo = useMatch(() => '/expo') return ( ) }