import { createMemo, createSignal, For, onMount, Show } from 'solid-js' import '../../styles/Feed.scss' import stylesBeside from '../../components/Feed/Beside.module.scss' import { Icon } from '../_shared/Icon' import { byCreated, sortBy } from '../../utils/sortby' import { TopicCard } from '../Topic/Card' import { ArticleCard } from '../Feed/Card' import { AuthorCard } from '../Author/Card' import { t } from '../../utils/intl' import { FeedSidebar } from '../Feed/Sidebar' import CommentCard from '../Article/Comment' import { loadShoutsBy, useArticlesStore } from '../../stores/zine/articles' import { useReactionsStore } from '../../stores/zine/reactions' import { useAuthorsStore } from '../../stores/zine/authors' import { useTopicsStore } from '../../stores/zine/topics' import { useTopAuthorsStore } from '../../stores/zine/topAuthors' import { useSession } from '../../context/session' // const AUTHORSHIP_REACTIONS = [ // ReactionKind.Accept, // ReactionKind.Reject, // ReactionKind.Propose, // ReactionKind.Ask // ] export const FEED_PAGE_SIZE = 20 export const FeedView = () => { // state const { sortedArticles } = useArticlesStore() const reactions = useReactionsStore() const { sortedAuthors } = useAuthorsStore() const { topTopics } = useTopicsStore() const { topAuthors } = useTopAuthorsStore() const { session } = useSession() const topReactions = createMemo(() => sortBy(reactions(), byCreated)) const [isLoadMoreButtonVisible, setIsLoadMoreButtonVisible] = createSignal(false) // const expectingFocus = createMemo(() => { // // 1 co-author notifications needs // // TODO: list of articles where you are co-author // // TODO: preload proposals // // TODO: (maybe?) and changes history // console.debug(reactions().filter((r) => r.kind in AUTHORSHIP_REACTIONS)) // // // 2 community self-regulating mechanics // // TODO: query all new posts to be rated for publishing // // TODO: query all reactions where user is in authors list // return [] // }) const loadMore = async () => { const { hasMore } = await loadShoutsBy({ by: { visibility: 'community' }, limit: FEED_PAGE_SIZE, offset: sortedArticles().length }) setIsLoadMoreButtonVisible(hasMore) } onMount(() => { loadMore() }) return ( <>
0}> {(article) => }

{t('Popular authors')}

{t('All authors')}
    {(author) => (
  • )}
{(article) => }

) }