import { clsx } from 'clsx' import { For, Show, createEffect, createSignal, } from 'solid-js' import { useFollowing } from '../../../context/following' import { useLocalize } from '../../../context/localize' import { Author, Topic } from '../../../graphql/schema/core.gen' import { SubscriptionFilter } from '../../../pages/types' import { dummyFilter } from '../../../utils/dummyFilter' // TODO: refactor styles import { isAuthor } from '../../../utils/isAuthor' import { AuthorBadge } from '../../Author/AuthorBadge' import { ProfileSettingsNavigation } from '../../Nav/ProfileSettingsNavigation' import { TopicBadge } from '../../Topic/TopicBadge' import { Loading } from '../../_shared/Loading' import { SearchField } from '../../_shared/SearchField' import styles from '../../../pages/profile/Settings.module.scss' import stylesSettings from '../../../styles/FeedSettings.module.scss' export const ProfileSubscriptions = () => { const { t, lang } = useLocalize() const { subscriptions } = useFollowing() const [following, setFollowing] = createSignal>([]) const [filtered, setFiltered] = createSignal>([]) const [subscriptionFilter, setSubscriptionFilter] = createSignal('all') const [searchQuery, setSearchQuery] = createSignal('') createEffect(() => { const { authors, topics } = subscriptions if (authors || topics) { const fdata = [...(authors || []), ...(topics || [])] setFollowing(fdata) if (subscriptionFilter() === 'authors') { setFiltered(fdata.filter((s) => 'name' in s)) } else if (subscriptionFilter() === 'topics') { setFiltered(fdata.filter((s) => 'title' in s)) } else { setFiltered(fdata) } } }) createEffect(() => { if (searchQuery()) { setFiltered(dummyFilter(following(), searchQuery(), lang())) } }) return (

{t('My subscriptions')}

{t('Here you can manage all your Discours subscriptions')}

}>
setSearchQuery(value)} class={styles.searchField} variant="bordered" />
{(followingItem) => (
{isAuthor(followingItem) ? ( ) : ( )}
)}
) }