refactored-folder-structure+imports-alias
This commit is contained in:
parent
e5950417ea
commit
8b773e5fed
|
@ -1,66 +0,0 @@
|
||||||
@startuml
|
|
||||||
actor User
|
|
||||||
participant Browser
|
|
||||||
participant Vercel
|
|
||||||
participant article.page.server.ts
|
|
||||||
participant Solid
|
|
||||||
participant Store
|
|
||||||
|
|
||||||
User -> Browser: discours.io
|
|
||||||
activate Browser
|
|
||||||
Browser -> Vercel: GET <slug>
|
|
||||||
activate Vercel
|
|
||||||
Vercel -> article.page.server.ts: render
|
|
||||||
activate article.page.server.ts
|
|
||||||
article.page.server.ts -> apiClient: getArticle({ slug })
|
|
||||||
activate apiClient
|
|
||||||
apiClient -> DB: query: articleBySlug
|
|
||||||
activate DB
|
|
||||||
DB --> apiClient: response
|
|
||||||
deactivate DB
|
|
||||||
apiClient --> article.page.server.ts: article data
|
|
||||||
deactivate apiClient
|
|
||||||
article.page.server.ts -> Solid: render <ArticlePage article={article} />
|
|
||||||
activate Solid
|
|
||||||
Solid -> Store: useCurrentArticleStore(article)
|
|
||||||
activate Store
|
|
||||||
Store -> Store: create store with initial data (server)
|
|
||||||
Store --> Solid: currentArticle
|
|
||||||
deactivate Store
|
|
||||||
Solid -> Solid: render component
|
|
||||||
Solid --> article.page.server.ts: rendered component
|
|
||||||
deactivate Solid
|
|
||||||
article.page.server.ts --> Vercel: rendered page
|
|
||||||
Vercel -> Vercel: save rendered page to CDN
|
|
||||||
deactivate article.page.server.ts
|
|
||||||
Vercel --> Browser: rendered page
|
|
||||||
deactivate Vercel
|
|
||||||
Browser --> User: rendered page
|
|
||||||
deactivate Browser
|
|
||||||
Browser -> Browser: load client scripts
|
|
||||||
Browser -> Solid: render <ArticlePage article={article} />
|
|
||||||
Solid -> Store: useCurrentArticleStore(article)
|
|
||||||
activate Store
|
|
||||||
Store -> Store: create store with initial data (client)
|
|
||||||
Store --> Solid: currentArticle
|
|
||||||
deactivate Store
|
|
||||||
Solid -> Solid: render component (no changes)
|
|
||||||
Solid -> Solid: onMount
|
|
||||||
Solid -> Store: loadArticleComments
|
|
||||||
activate Store
|
|
||||||
Store -> apiClient: getArticleComments
|
|
||||||
activate apiClient
|
|
||||||
apiClient -> DB: query: getReactions
|
|
||||||
activate DB
|
|
||||||
DB --> apiClient: response
|
|
||||||
deactivate DB
|
|
||||||
apiClient --> Store: comments data
|
|
||||||
deactivate apiClient
|
|
||||||
Store -> Store: update store
|
|
||||||
Store --> Solid: store updated
|
|
||||||
deactivate Store
|
|
||||||
Solid -> Solid: render comments
|
|
||||||
Solid --> Browser: rendered comments
|
|
||||||
Browser --> User: comments
|
|
||||||
@enduml
|
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
@startuml
|
|
||||||
actor User
|
|
||||||
participant Browser
|
|
||||||
participant Server
|
|
||||||
|
|
||||||
User -> Browser: discours.io
|
|
||||||
activate Browser
|
|
||||||
Browser -> Server: GET\nquery { lng }\ncookies { lng }
|
|
||||||
opt lng in query
|
|
||||||
Server -> Server: lng = lng from query
|
|
||||||
else no lng in query
|
|
||||||
opt lng in cookies
|
|
||||||
Server -> Server: lng = lng from cookies
|
|
||||||
else no lng in cookies
|
|
||||||
Server -> Server: lng = 'ru'
|
|
||||||
end opt
|
|
||||||
end opt
|
|
||||||
note right
|
|
||||||
_dafault.page.server.ts render
|
|
||||||
end note
|
|
||||||
|
|
||||||
opt i18next is not initialized
|
|
||||||
Server -> Server: initialize i18next with lng
|
|
||||||
else i18next not initialized
|
|
||||||
Server -> Server: change i18next language to lng
|
|
||||||
end opt
|
|
||||||
note right
|
|
||||||
all resources loaded synchronously
|
|
||||||
end note
|
|
||||||
Server --> Browser: pageContext { lng }
|
|
||||||
Browser -> Browser: init client side i18next with http backend
|
|
||||||
activate Browser
|
|
||||||
Browser -> Server: get translations for current language
|
|
||||||
Server --> Browser: translations JSON
|
|
||||||
deactivate Browser
|
|
||||||
Browser -> Browser: render page
|
|
||||||
Browser --> User: rendered page
|
|
||||||
deactivate Browser
|
|
||||||
@enduml
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
@startuml
|
|
||||||
actor User
|
|
||||||
participant Browser
|
|
||||||
participant Server
|
|
||||||
|
|
||||||
User -> Browser: discours.io
|
|
||||||
activate Browser
|
|
||||||
Browser -> Server: GET
|
|
||||||
activate Server
|
|
||||||
Server -> Server: resolve route
|
|
||||||
note right
|
|
||||||
based on routes from
|
|
||||||
*.page.route.ts files
|
|
||||||
end note
|
|
||||||
Server -> Server: some.page.server.ts onBeforeRender
|
|
||||||
Server -> Server: _default.page.server.tsx render
|
|
||||||
Server --> Browser: pageContent
|
|
||||||
deactivate Server
|
|
||||||
Browser -> Browser: _default.page.client.tsx render(pageContext)
|
|
||||||
|
|
||||||
Browser --> User: rendered page
|
|
||||||
deactivate Browser
|
|
||||||
@enduml
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createSignal } from 'solid-js'
|
import { Show, createSignal } from 'solid-js'
|
||||||
|
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { Image } from '~/components/_shared/Image'
|
||||||
|
import { Topic } from '~/graphql/schema/core.gen'
|
||||||
import { MediaItem } from '~/types/mediaitem'
|
import { MediaItem } from '~/types/mediaitem'
|
||||||
import { Topic } from '../../../graphql/schema/core.gen'
|
|
||||||
import { CardTopic } from '../../Feed/CardTopic'
|
import { CardTopic } from '../../Feed/CardTopic'
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { Image } from '../../_shared/Image'
|
|
||||||
|
|
||||||
import styles from './AudioHeader.module.scss'
|
import styles from './AudioHeader.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createSignal } from 'solid-js'
|
import { Show, createSignal } from 'solid-js'
|
||||||
import { useOutsideClickHandler } from '../../../utils/useOutsideClickHandler'
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { Icon } from '../../_shared/Icon'
|
import { useOutsideClickHandler } from '~/utils/useOutsideClickHandler'
|
||||||
|
|
||||||
import { MediaItem } from '~/types/mediaitem'
|
import { MediaItem } from '~/types/mediaitem'
|
||||||
import styles from './AudioPlayer.module.scss'
|
import styles from './AudioPlayer.module.scss'
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
import { For, Show, createSignal, lazy } from 'solid-js'
|
import { For, Show, createSignal, lazy } from 'solid-js'
|
||||||
|
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { Popover } from '~/components/_shared/Popover'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { MediaItem } from '~/types/mediaitem'
|
import { MediaItem } from '~/types/mediaitem'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { getDescription } from '~/utils/meta'
|
||||||
import { getDescription } from '../../../utils/meta'
|
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { Popover } from '../../_shared/Popover'
|
|
||||||
import { SharePopup, getShareUrl } from '../SharePopup'
|
import { SharePopup, getShareUrl } from '../SharePopup'
|
||||||
|
|
||||||
import styles from './AudioPlayer.module.scss'
|
import styles from './AudioPlayer.module.scss'
|
||||||
|
|
||||||
const SimplifiedEditor = lazy(() => import('../../Editor/SimplifiedEditor'))
|
const SimplifiedEditor = lazy(() => import('../../Editor/SimplifiedEditor'))
|
||||||
const GrowingTextarea = lazy(() => import('../../_shared/GrowingTextarea/GrowingTextarea'))
|
const GrowingTextarea = lazy(() => import('~/components/_shared/GrowingTextarea/GrowingTextarea'))
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
media: MediaItem[]
|
media: MediaItem[]
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
import { A } from '@solidjs/router'
|
import { A } from '@solidjs/router'
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, Suspense, createMemo, createSignal, lazy } from 'solid-js'
|
import { For, Show, Suspense, createMemo, createSignal, lazy } from 'solid-js'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { ShowIfAuthenticated } from '~/components/_shared/ShowIfAuthenticated'
|
||||||
import { useGraphQL } from '~/context/graphql'
|
import { useGraphQL } from '~/context/graphql'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useReactions } from '~/context/reactions'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useSnackbar, useUI } from '~/context/ui'
|
import { useSnackbar, useUI } from '~/context/ui'
|
||||||
import deleteReactionMutation from '~/graphql/mutation/core/reaction-destroy'
|
import deleteReactionMutation from '~/graphql/mutation/core/reaction-destroy'
|
||||||
import { useLocalize } from '../../../context/localize'
|
|
||||||
import { useReactions } from '../../../context/reactions'
|
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
import {
|
import {
|
||||||
Author,
|
Author,
|
||||||
MutationCreate_ReactionArgs,
|
MutationCreate_ReactionArgs,
|
||||||
MutationUpdate_ReactionArgs,
|
MutationUpdate_ReactionArgs,
|
||||||
Reaction,
|
Reaction,
|
||||||
ReactionKind
|
ReactionKind
|
||||||
} from '../../../graphql/schema/core.gen'
|
} from '~/graphql/schema/core.gen'
|
||||||
import { AuthorLink } from '../../Author/AuthorLink'
|
import { AuthorLink } from '../../Author/AuthorLink'
|
||||||
import { Userpic } from '../../Author/Userpic'
|
import { Userpic } from '../../Author/Userpic'
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { ShowIfAuthenticated } from '../../_shared/ShowIfAuthenticated'
|
|
||||||
import { CommentDate } from '../CommentDate'
|
import { CommentDate } from '../CommentDate'
|
||||||
import { CommentRatingControl } from '../CommentRatingControl'
|
import { CommentRatingControl } from '../CommentRatingControl'
|
||||||
import styles from './Comment.module.scss'
|
import styles from './Comment.module.scss'
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import type { Reaction } from '../../../graphql/schema/core.gen'
|
import type { Reaction } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
|
|
||||||
import styles from './CommentDate.module.scss'
|
import styles from './CommentDate.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@ import { clsx } from 'clsx'
|
||||||
import { createMemo } from 'solid-js'
|
import { createMemo } from 'solid-js'
|
||||||
|
|
||||||
import { useFeed } from '~/context/feed'
|
import { useFeed } from '~/context/feed'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useReactions } from '~/context/reactions'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useSnackbar } from '~/context/ui'
|
import { useSnackbar } from '~/context/ui'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { Reaction, ReactionKind } from '~/graphql/schema/core.gen'
|
||||||
import { useReactions } from '../../context/reactions'
|
|
||||||
import { useSession } from '../../context/session'
|
|
||||||
import { Reaction, ReactionKind } from '../../graphql/schema/core.gen'
|
|
||||||
import { Popup } from '../_shared/Popup'
|
import { Popup } from '../_shared/Popup'
|
||||||
import { VotersList } from '../_shared/VotersList'
|
import { VotersList } from '../_shared/VotersList'
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createMemo, createSignal, lazy, onMount } from 'solid-js'
|
import { For, Show, createMemo, createSignal, lazy, onMount } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useReactions } from '../../context/reactions'
|
import { useReactions } from '~/context/reactions'
|
||||||
import { useSession } from '../../context/session'
|
import { useSession } from '~/context/session'
|
||||||
import { Author, Reaction, ReactionKind, ReactionSort } from '../../graphql/schema/core.gen'
|
import { Author, Reaction, ReactionKind, ReactionSort } from '~/graphql/schema/core.gen'
|
||||||
import { byCreated, byStat } from '../../utils/sortby'
|
import { byCreated, byStat } from '~/utils/sortby'
|
||||||
import { Button } from '../_shared/Button'
|
import { Button } from '../_shared/Button'
|
||||||
import { ShowIfAuthenticated } from '../_shared/ShowIfAuthenticated'
|
import { ShowIfAuthenticated } from '../_shared/ShowIfAuthenticated'
|
||||||
|
|
||||||
import { Comment } from './Comment'
|
import { Comment } from './Comment'
|
||||||
|
|
||||||
import { SortFunction } from '~/context/authors'
|
import { SortFunction } from '~/context/authors'
|
||||||
import { useFeed } from '../../context/feed'
|
import { useFeed } from '~/context/feed'
|
||||||
import styles from './Article.module.scss'
|
import styles from './Article.module.scss'
|
||||||
|
|
||||||
const SimplifiedEditor = lazy(() => import('../Editor/SimplifiedEditor'))
|
const SimplifiedEditor = lazy(() => import('../Editor/SimplifiedEditor'))
|
||||||
|
|
|
@ -5,16 +5,16 @@ import { For, Show, createEffect, createMemo, createSignal, on, onCleanup, onMou
|
||||||
import { isServer } from 'solid-js/web'
|
import { isServer } from 'solid-js/web'
|
||||||
|
|
||||||
import { Link, Meta } from '@solidjs/meta'
|
import { Link, Meta } from '@solidjs/meta'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useReactions } from '~/context/reactions'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { DEFAULT_HEADER_OFFSET, useUI } from '~/context/ui'
|
import { DEFAULT_HEADER_OFFSET, useUI } from '~/context/ui'
|
||||||
|
import type { Author, Maybe, Shout, Topic } from '~/graphql/schema/core.gen'
|
||||||
import { MediaItem } from '~/types/mediaitem'
|
import { MediaItem } from '~/types/mediaitem'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { capitalize } from '~/utils/capitalize'
|
||||||
import { useReactions } from '../../context/reactions'
|
import { getImageUrl, getOpenGraphImageUrl } from '~/utils/getImageUrl'
|
||||||
import { useSession } from '../../context/session'
|
import { getDescription, getKeywords } from '~/utils/meta'
|
||||||
import type { Author, Maybe, Shout, Topic } from '../../graphql/schema/core.gen'
|
import { isCyrillic } from '~/utils/translate'
|
||||||
import { capitalize } from '../../utils/capitalize'
|
|
||||||
import { getImageUrl, getOpenGraphImageUrl } from '../../utils/getImageUrl'
|
|
||||||
import { getDescription, getKeywords } from '../../utils/meta'
|
|
||||||
import { isCyrillic } from '../../utils/translate'
|
|
||||||
import { AuthorBadge } from '../Author/AuthorBadge'
|
import { AuthorBadge } from '../Author/AuthorBadge'
|
||||||
import { CardTopic } from '../Feed/CardTopic'
|
import { CardTopic } from '../Feed/CardTopic'
|
||||||
import { FeedArticlePopup } from '../Feed/FeedArticlePopup'
|
import { FeedArticlePopup } from '../Feed/FeedArticlePopup'
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createMemo, createSignal } from 'solid-js'
|
import { Show, createMemo, createSignal } from 'solid-js'
|
||||||
import { useFeed } from '~/context/feed'
|
import { useFeed } from '~/context/feed'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useReactions } from '~/context/reactions'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import type { Author } from '~/graphql/schema/core.gen'
|
import type { Author } from '~/graphql/schema/core.gen'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { ReactionKind, Shout } from '~/graphql/schema/core.gen'
|
||||||
import { useReactions } from '../../context/reactions'
|
|
||||||
import { useSession } from '../../context/session'
|
|
||||||
import { ReactionKind, Shout } from '../../graphql/schema/core.gen'
|
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
import { Popup } from '../_shared/Popup'
|
import { Popup } from '../_shared/Popup'
|
||||||
import { VotersList } from '../_shared/VotersList'
|
import { VotersList } from '../_shared/VotersList'
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { useSearchParams } from '@solidjs/router'
|
import { useSearchParams } from '@solidjs/router'
|
||||||
import { JSX, Show, createEffect, createMemo, on } from 'solid-js'
|
import { JSX, Show, createEffect, createMemo, on } from 'solid-js'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useSession } from '../../context/session'
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
children: JSX.Element
|
children: JSX.Element
|
||||||
|
|
|
@ -2,18 +2,18 @@ import { clsx } from 'clsx'
|
||||||
import { Match, Show, Switch, createEffect, createMemo, createSignal, on } from 'solid-js'
|
import { Match, Show, Switch, createEffect, createMemo, createSignal, on } from 'solid-js'
|
||||||
|
|
||||||
import { useNavigate, useSearchParams } from '@solidjs/router'
|
import { useNavigate, useSearchParams } from '@solidjs/router'
|
||||||
|
import { Button } from '~/components/_shared/Button'
|
||||||
|
import { CheckButton } from '~/components/_shared/CheckButton'
|
||||||
|
import { ConditionalWrapper } from '~/components/_shared/ConditionalWrapper'
|
||||||
|
import { FollowingButton } from '~/components/_shared/FollowingButton'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { useFollowing } from '~/context/following'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
|
import { Author, FollowingEntity } from '~/graphql/schema/core.gen'
|
||||||
import { mediaMatches } from '~/utils/media-query'
|
import { mediaMatches } from '~/utils/media-query'
|
||||||
import { useFollowing } from '../../../context/following'
|
import { translit } from '~/utils/ru2en'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { isCyrillic } from '~/utils/translate'
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
import { Author, FollowingEntity } from '../../../graphql/schema/core.gen'
|
|
||||||
import { translit } from '../../../utils/ru2en'
|
|
||||||
import { isCyrillic } from '../../../utils/translate'
|
|
||||||
import { Button } from '../../_shared/Button'
|
|
||||||
import { CheckButton } from '../../_shared/CheckButton'
|
|
||||||
import { ConditionalWrapper } from '../../_shared/ConditionalWrapper'
|
|
||||||
import { FollowingButton } from '../../_shared/FollowingButton'
|
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { Userpic } from '../Userpic'
|
import { Userpic } from '../Userpic'
|
||||||
import styles from './AuthorBadge.module.scss'
|
import styles from './AuthorBadge.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -1,25 +1,25 @@
|
||||||
import type { Author, Community } from '../../../graphql/schema/core.gen'
|
import type { Author, Community } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createEffect, createMemo, createSignal, onMount } from 'solid-js'
|
import { For, Show, createEffect, createMemo, createSignal, onMount } from 'solid-js'
|
||||||
import { FollowsFilter, useFollowing } from '../../../context/following'
|
import { Button } from '~/components/_shared/Button'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { FollowingCounters } from '~/components/_shared/FollowingCounters/FollowingCounters'
|
||||||
import { useSession } from '../../../context/session'
|
import { ShowOnlyOnClient } from '~/components/_shared/ShowOnlyOnClient'
|
||||||
import { FollowingEntity, Topic } from '../../../graphql/schema/core.gen'
|
import { FollowsFilter, useFollowing } from '~/context/following'
|
||||||
import { isAuthor } from '../../../utils/isAuthor'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { translit } from '../../../utils/ru2en'
|
import { useSession } from '~/context/session'
|
||||||
import { isCyrillic } from '../../../utils/translate'
|
import { FollowingEntity, Topic } from '~/graphql/schema/core.gen'
|
||||||
|
import { isAuthor } from '~/utils/isAuthor'
|
||||||
|
import { translit } from '~/utils/ru2en'
|
||||||
|
import { isCyrillic } from '~/utils/translate'
|
||||||
import { SharePopup, getShareUrl } from '../../Article/SharePopup'
|
import { SharePopup, getShareUrl } from '../../Article/SharePopup'
|
||||||
import { Modal } from '../../Nav/Modal'
|
import { Modal } from '../../Nav/Modal'
|
||||||
import { TopicBadge } from '../../Topic/TopicBadge'
|
import { TopicBadge } from '../../Topic/TopicBadge'
|
||||||
import { Button } from '../../_shared/Button'
|
|
||||||
import { FollowingCounters } from '../../_shared/FollowingCounters/FollowingCounters'
|
|
||||||
import { ShowOnlyOnClient } from '../../_shared/ShowOnlyOnClient'
|
|
||||||
import { AuthorBadge } from '../AuthorBadge'
|
import { AuthorBadge } from '../AuthorBadge'
|
||||||
import { Userpic } from '../Userpic'
|
import { Userpic } from '../Userpic'
|
||||||
|
|
||||||
import { useNavigate, useSearchParams } from '@solidjs/router'
|
import { useNavigate, useSearchParams } from '@solidjs/router'
|
||||||
import stylesButton from '../../_shared/Button/Button.module.scss'
|
import stylesButton from '~/components/_shared/Button/Button.module.scss'
|
||||||
import styles from './AuthorCard.module.scss'
|
import styles from './AuthorCard.module.scss'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { createMemo } from 'solid-js'
|
import { createMemo } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Author } from '../../../graphql/schema/core.gen'
|
import { Author } from '~/graphql/schema/core.gen'
|
||||||
import { capitalize } from '../../../utils/capitalize'
|
import { capitalize } from '~/utils/capitalize'
|
||||||
import { translit } from '../../../utils/ru2en'
|
import { translit } from '~/utils/ru2en'
|
||||||
import { isCyrillic } from '../../../utils/translate'
|
import { isCyrillic } from '~/utils/translate'
|
||||||
import { Userpic } from '../Userpic'
|
import { Userpic } from '../Userpic'
|
||||||
|
|
||||||
import styles from './AhtorLink.module.scss'
|
import styles from './AhtorLink.module.scss'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import type { Author } from '../../graphql/schema/core.gen'
|
import type { Author } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createSignal } from 'solid-js'
|
import { Show, createSignal } from 'solid-js'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import type { Author } from '../../graphql/schema/core.gen'
|
import type { Author } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { createMemo } from 'solid-js'
|
import { createMemo } from 'solid-js'
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createMemo } from 'solid-js'
|
import { Show, createMemo } from 'solid-js'
|
||||||
|
|
||||||
import { ConditionalWrapper } from '../../_shared/ConditionalWrapper'
|
import { ConditionalWrapper } from '~/components/_shared/ConditionalWrapper'
|
||||||
import { Image } from '../../_shared/Image'
|
import { Image } from '~/components/_shared/Image'
|
||||||
import { Loading } from '../../_shared/Loading'
|
import { Loading } from '~/components/_shared/Loading'
|
||||||
|
|
||||||
import styles from './Userpic.module.scss'
|
import styles from './Userpic.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,9 @@ import { clsx } from 'clsx'
|
||||||
import { For, Show, createEffect, createSignal, on } from 'solid-js'
|
import { For, Show, createEffect, createSignal, on } from 'solid-js'
|
||||||
import { useAuthors } from '~/context/authors'
|
import { useAuthors } from '~/context/authors'
|
||||||
import { useGraphQL } from '~/context/graphql'
|
import { useGraphQL } from '~/context/graphql'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import loadAuthorsByQuery from '~/graphql/query/core/authors-load-by'
|
import loadAuthorsByQuery from '~/graphql/query/core/authors-load-by'
|
||||||
import { Author } from '~/graphql/schema/core.gen'
|
import { Author } from '~/graphql/schema/core.gen'
|
||||||
import { useLocalize } from '../../context/localize'
|
|
||||||
import { AuthorBadge } from '../Author/AuthorBadge'
|
import { AuthorBadge } from '../Author/AuthorBadge'
|
||||||
import { InlineLoader } from '../InlineLoader'
|
import { InlineLoader } from '../InlineLoader'
|
||||||
import { Button } from '../_shared/Button'
|
import { Button } from '../_shared/Button'
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
|
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../context/localize'
|
|
||||||
import { Image } from '../_shared/Image'
|
import { Image } from '../_shared/Image'
|
||||||
|
|
||||||
import styles from './Banner.module.scss'
|
import styles from './Banner.module.scss'
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { createSignal, onMount } from 'solid-js'
|
import { createSignal, onMount } from 'solid-js'
|
||||||
|
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useSnackbar, useUI } from '~/context/ui'
|
import { useSnackbar, useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../context/localize'
|
|
||||||
|
|
||||||
import styles from './Donate.module.scss'
|
import styles from './Donate.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../context/localize'
|
|
||||||
import { Button } from '../_shared/Button'
|
import { Button } from '../_shared/Button'
|
||||||
|
|
||||||
export const Feedback = () => {
|
export const Feedback = () => {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, createSignal, onMount } from 'solid-js'
|
import { For, createSignal, onMount } from 'solid-js'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
import { Newsletter } from '../_shared/Newsletter'
|
import { Newsletter } from '../_shared/Newsletter'
|
||||||
import styles from './Footer.module.scss'
|
import styles from './Footer.module.scss'
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../context/localize'
|
|
||||||
|
|
||||||
import { useSearchParams } from '@solidjs/router'
|
import { useSearchParams } from '@solidjs/router'
|
||||||
import styles from './Hero.module.scss'
|
import styles from './Hero.module.scss'
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
|
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useSnackbar, useUI } from '~/context/ui'
|
import { useSnackbar, useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../context/localize'
|
import type { Shout } from '~/graphql/schema/core.gen'
|
||||||
import type { Shout } from '../../graphql/schema/core.gen'
|
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
|
|
||||||
import { A } from '@solidjs/router'
|
import { A } from '@solidjs/router'
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show } from 'solid-js'
|
import { Show } from 'solid-js'
|
||||||
|
|
||||||
|
import { DropArea } from '~/components/_shared/DropArea'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { MediaItem } from '~/types/mediaitem'
|
import { MediaItem } from '~/types/mediaitem'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { composeMediaItems } from '~/utils/composeMediaItems'
|
||||||
import { composeMediaItems } from '../../../utils/composeMediaItems'
|
|
||||||
import { AudioPlayer } from '../../Article/AudioPlayer'
|
import { AudioPlayer } from '../../Article/AudioPlayer'
|
||||||
import { DropArea } from '../../_shared/DropArea'
|
|
||||||
|
|
||||||
// import { Buffer } from 'node:buffer'
|
// import { Buffer } from 'node:buffer'
|
||||||
import styles from './AudioUploader.module.scss'
|
import styles from './AudioUploader.module.scss'
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
|
import { Loading } from '~/components/_shared/Loading'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Loading } from '../../_shared/Loading'
|
|
||||||
|
|
||||||
import styles from './AutoSaveNotice.module.scss'
|
import styles from './AutoSaveNotice.module.scss'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import type { Editor } from '@tiptap/core'
|
import type { Editor } from '@tiptap/core'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { Icon } from '../../_shared/Icon'
|
import { Popover } from '~/components/_shared/Popover'
|
||||||
import { Popover } from '../../_shared/Popover'
|
import { useLocalize } from '~/context/localize'
|
||||||
|
|
||||||
import styles from './BubbleMenu.module.scss'
|
import styles from './BubbleMenu.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import type { Editor } from '@tiptap/core'
|
import type { Editor } from '@tiptap/core'
|
||||||
|
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { Popover } from '~/components/_shared/Popover'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { UploadedFile } from '~/types/upload'
|
import { UploadedFile } from '~/types/upload'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { renderUploadedImage } from '~/utils/renderUploadedImage'
|
||||||
import { renderUploadedImage } from '../../../utils/renderUploadedImage'
|
|
||||||
import { Modal } from '../../Nav/Modal'
|
import { Modal } from '../../Nav/Modal'
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { Popover } from '../../_shared/Popover'
|
|
||||||
import { UploadModalContent } from '../UploadModalContent'
|
import { UploadModalContent } from '../UploadModalContent'
|
||||||
|
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
|
|
|
@ -3,8 +3,8 @@ import type { Editor } from '@tiptap/core'
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createSignal } from 'solid-js'
|
import { For, Show, createSignal } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { Icon } from '../../_shared/Icon'
|
import { useLocalize } from '~/context/localize'
|
||||||
|
|
||||||
import styles from './BubbleMenu.module.scss'
|
import styles from './BubbleMenu.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -30,11 +30,11 @@ import { createTiptapEditor, useEditorHTML } from 'solid-tiptap'
|
||||||
import uniqolor from 'uniqolor'
|
import uniqolor from 'uniqolor'
|
||||||
import { Doc } from 'yjs'
|
import { Doc } from 'yjs'
|
||||||
|
|
||||||
|
import { useEditorContext } from '~/context/editor'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useSnackbar } from '~/context/ui'
|
import { useSnackbar } from '~/context/ui'
|
||||||
import { useEditorContext } from '../../context/editor'
|
import { handleImageUpload } from '~/utils/handleImageUpload'
|
||||||
import { useLocalize } from '../../context/localize'
|
|
||||||
import { useSession } from '../../context/session'
|
|
||||||
import { handleImageUpload } from '../../utils/handleImageUpload'
|
|
||||||
|
|
||||||
import { BlockquoteBubbleMenu, FigureBubbleMenu, IncutBubbleMenu } from './BubbleMenu'
|
import { BlockquoteBubbleMenu, FigureBubbleMenu, IncutBubbleMenu } from './BubbleMenu'
|
||||||
import { EditorFloatingMenu } from './EditorFloatingMenu'
|
import { EditorFloatingMenu } from './EditorFloatingMenu'
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import type { Editor } from '@tiptap/core'
|
import type { Editor } from '@tiptap/core'
|
||||||
import { Show, createEffect, createSignal } from 'solid-js'
|
import { Show, createEffect, createSignal } from 'solid-js'
|
||||||
|
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { UploadedFile } from '~/types/upload'
|
import { UploadedFile } from '~/types/upload'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { renderUploadedImage } from '~/utils/renderUploadedImage'
|
||||||
import { renderUploadedImage } from '../../../utils/renderUploadedImage'
|
import { useOutsideClickHandler } from '~/utils/useOutsideClickHandler'
|
||||||
import { useOutsideClickHandler } from '../../../utils/useOutsideClickHandler'
|
|
||||||
import { Modal } from '../../Nav/Modal'
|
import { Modal } from '../../Nav/Modal'
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { InlineForm } from '../InlineForm'
|
import { InlineForm } from '../InlineForm'
|
||||||
import { UploadModalContent } from '../UploadModalContent'
|
import { UploadModalContent } from '../UploadModalContent'
|
||||||
import { Menu } from './Menu'
|
import { Menu } from './Menu'
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { createSignal, onMount } from 'solid-js'
|
import { createSignal, onMount } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { Icon } from '../../_shared/Icon'
|
import { Popover } from '~/components/_shared/Popover'
|
||||||
import { Popover } from '../../_shared/Popover'
|
import { useLocalize } from '~/context/localize'
|
||||||
|
|
||||||
import styles from './InlineForm.module.scss'
|
import styles from './InlineForm.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { Editor } from '@tiptap/core'
|
import { Editor } from '@tiptap/core'
|
||||||
import { createEditorTransaction } from 'solid-tiptap'
|
import { createEditorTransaction } from 'solid-tiptap'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { validateUrl } from '../../../utils/validateUrl'
|
import { validateUrl } from '~/utils/validateUrl'
|
||||||
import { InlineForm } from '../InlineForm'
|
import { InlineForm } from '../InlineForm'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
|
|
@ -3,14 +3,14 @@ import { Show, createSignal } from 'solid-js'
|
||||||
import { useEditorHTML } from 'solid-tiptap'
|
import { useEditorHTML } from 'solid-tiptap'
|
||||||
import Typograf from 'typograf'
|
import Typograf from 'typograf'
|
||||||
|
|
||||||
|
import { Button } from '~/components/_shared/Button'
|
||||||
|
import { DarkModeToggle } from '~/components/_shared/DarkModeToggle'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { useEditorContext } from '~/context/editor'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useEditorContext } from '../../../context/editor'
|
import { useEscKeyDownHandler } from '~/utils/useEscKeyDownHandler'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useOutsideClickHandler } from '~/utils/useOutsideClickHandler'
|
||||||
import { useEscKeyDownHandler } from '../../../utils/useEscKeyDownHandler'
|
|
||||||
import { useOutsideClickHandler } from '../../../utils/useOutsideClickHandler'
|
|
||||||
import { Button } from '../../_shared/Button'
|
|
||||||
import { DarkModeToggle } from '../../_shared/DarkModeToggle'
|
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
|
|
||||||
import { A } from '@solidjs/router'
|
import { A } from '@solidjs/router'
|
||||||
import styles from './Panel.module.scss'
|
import styles from './Panel.module.scss'
|
||||||
|
|
|
@ -20,9 +20,9 @@ import {
|
||||||
useEditorIsFocused
|
useEditorIsFocused
|
||||||
} from 'solid-tiptap'
|
} from 'solid-tiptap'
|
||||||
|
|
||||||
|
import { useEditorContext } from '~/context/editor'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { UploadedFile } from '~/types/upload'
|
import { UploadedFile } from '~/types/upload'
|
||||||
import { useEditorContext } from '../../context/editor'
|
|
||||||
import { useLocalize } from '../../context/localize'
|
|
||||||
import { Modal } from '../Nav/Modal'
|
import { Modal } from '../Nav/Modal'
|
||||||
import { Button } from '../_shared/Button'
|
import { Button } from '../_shared/Button'
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
|
|
|
@ -4,9 +4,9 @@ import { clsx } from 'clsx'
|
||||||
import { Match, Show, Switch, createEffect, createSignal, lazy, onCleanup, onMount } from 'solid-js'
|
import { Match, Show, Switch, createEffect, createSignal, lazy, onCleanup, onMount } from 'solid-js'
|
||||||
import { createEditorTransaction } from 'solid-tiptap'
|
import { createEditorTransaction } from 'solid-tiptap'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { Icon } from '../../_shared/Icon'
|
import { Popover } from '~/components/_shared/Popover'
|
||||||
import { Popover } from '../../_shared/Popover'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { InsertLinkForm } from '../InsertLinkForm'
|
import { InsertLinkForm } from '../InsertLinkForm'
|
||||||
|
|
||||||
import styles from './TextBubbleMenu.module.scss'
|
import styles from './TextBubbleMenu.module.scss'
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createSignal } from 'solid-js'
|
import { For, Show, createSignal } from 'solid-js'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import type { Topic } from '~/graphql/schema/core.gen'
|
import type { Topic } from '~/graphql/schema/core.gen'
|
||||||
import { useLocalize } from '../../../context/localize'
|
|
||||||
import styles from './TopicSelect.module.scss'
|
import styles from './TopicSelect.module.scss'
|
||||||
|
|
||||||
type TopicSelectProps = {
|
type TopicSelectProps = {
|
||||||
|
|
|
@ -2,15 +2,15 @@ import { UploadFile, createDropzone, createFileUploader } from '@solid-primitive
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createSignal } from 'solid-js'
|
import { Show, createSignal } from 'solid-js'
|
||||||
|
|
||||||
|
import { Button } from '~/components/_shared/Button'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { Loading } from '~/components/_shared/Loading'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { UploadedFile } from '~/types/upload'
|
import { UploadedFile } from '~/types/upload'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { handleImageUpload } from '~/utils/handleImageUpload'
|
||||||
import { useSession } from '../../../context/session'
|
import { verifyImg } from '~/utils/verifyImg'
|
||||||
import { handleImageUpload } from '../../../utils/handleImageUpload'
|
|
||||||
import { verifyImg } from '../../../utils/verifyImg'
|
|
||||||
import { Button } from '../../_shared/Button'
|
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { Loading } from '../../_shared/Loading'
|
|
||||||
import { InlineForm } from '../InlineForm'
|
import { InlineForm } from '../InlineForm'
|
||||||
|
|
||||||
import styles from './UploadModalContent.module.scss'
|
import styles from './UploadModalContent.module.scss'
|
||||||
|
|
|
@ -2,11 +2,11 @@ import { createDropzone } from '@solid-primitives/upload'
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createSignal } from 'solid-js'
|
import { For, Show, createSignal } from 'solid-js'
|
||||||
|
|
||||||
|
import { VideoPlayer } from '~/components/_shared/VideoPlayer'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useSnackbar } from '~/context/ui'
|
import { useSnackbar } from '~/context/ui'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { composeMediaItems } from '~/utils/composeMediaItems'
|
||||||
import { composeMediaItems } from '../../../utils/composeMediaItems'
|
import { validateUrl } from '~/utils/validateUrl'
|
||||||
import { validateUrl } from '../../../utils/validateUrl'
|
|
||||||
import { VideoPlayer } from '../../_shared/VideoPlayer'
|
|
||||||
|
|
||||||
import { MediaItem } from '~/types/mediaitem'
|
import { MediaItem } from '~/types/mediaitem'
|
||||||
import styles from './VideoUploader.module.scss'
|
import styles from './VideoUploader.module.scss'
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
import { A, useNavigate, useSearchParams } from '@solidjs/router'
|
import { A, useNavigate, useSearchParams } from '@solidjs/router'
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Accessor, For, Show, createMemo, createSignal } from 'solid-js'
|
import { Accessor, For, Show, createMemo, createSignal } from 'solid-js'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { useSession } from '../../../context/session'
|
import { Image } from '~/components/_shared/Image'
|
||||||
import type { Author, Maybe, Shout, Topic } from '../../../graphql/schema/core.gen'
|
import { Popover } from '~/components/_shared/Popover'
|
||||||
import { capitalize } from '../../../utils/capitalize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { getDescription } from '../../../utils/meta'
|
import { useSession } from '~/context/session'
|
||||||
|
import type { Author, Maybe, Shout, Topic } from '~/graphql/schema/core.gen'
|
||||||
|
import { capitalize } from '~/utils/capitalize'
|
||||||
|
import { getDescription } from '~/utils/meta'
|
||||||
import { CoverImage } from '../../Article/CoverImage'
|
import { CoverImage } from '../../Article/CoverImage'
|
||||||
import { SharePopup, getShareUrl } from '../../Article/SharePopup'
|
import { SharePopup, getShareUrl } from '../../Article/SharePopup'
|
||||||
import { ShoutRatingControl } from '../../Article/ShoutRatingControl'
|
import { ShoutRatingControl } from '../../Article/ShoutRatingControl'
|
||||||
import { AuthorLink } from '../../Author/AuthorLink'
|
import { AuthorLink } from '../../Author/AuthorLink'
|
||||||
import stylesHeader from '../../Nav/Header/Header.module.scss'
|
import stylesHeader from '../../Nav/Header/Header.module.scss'
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { Image } from '../../_shared/Image'
|
|
||||||
import { Popover } from '../../_shared/Popover'
|
|
||||||
import { CardTopic } from '../CardTopic'
|
import { CardTopic } from '../CardTopic'
|
||||||
import { FeedArticlePopup } from '../FeedArticlePopup'
|
import { FeedArticlePopup } from '../FeedArticlePopup'
|
||||||
import styles from './ArticleCard.module.scss'
|
import styles from './ArticleCard.module.scss'
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
// TODO: additional entities list column + article
|
// TODO: additional entities list column + article
|
||||||
|
|
||||||
import type { Author, Shout, Topic } from '../../graphql/schema/core.gen'
|
import type { Author, Shout, Topic } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show } from 'solid-js'
|
import { For, Show } from 'solid-js'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { AuthorBadge } from '../Author/AuthorBadge'
|
import { AuthorBadge } from '../Author/AuthorBadge'
|
||||||
import { TopicCard } from '../Topic/Card'
|
import { TopicCard } from '../Topic/Card'
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import type { PopupProps } from '../../_shared/Popup'
|
import type { PopupProps } from '~/components/_shared/Popup'
|
||||||
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createSignal } from 'solid-js'
|
import { Show, createSignal } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { Icon } from '../../_shared/Icon'
|
import { Popup } from '~/components/_shared/Popup'
|
||||||
import { Popup } from '../../_shared/Popup'
|
import { SoonChip } from '~/components/_shared/SoonChip'
|
||||||
import { SoonChip } from '../../_shared/SoonChip'
|
import { useLocalize } from '~/context/localize'
|
||||||
|
|
||||||
import styles from './FeedArticlePopup.module.scss'
|
import styles from './FeedArticlePopup.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import type { JSX } from 'solid-js/jsx-runtime'
|
import type { JSX } from 'solid-js/jsx-runtime'
|
||||||
import type { Shout } from '../../graphql/schema/core.gen'
|
import type { Shout } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { For, Show } from 'solid-js'
|
import { For, Show } from 'solid-js'
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createMemo } from 'solid-js'
|
import { For, Show, createMemo } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { useSession } from '../../../context/session'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Icon } from '../../_shared/Icon'
|
import { useSession } from '~/context/session'
|
||||||
import styles from './Placeholder.module.scss'
|
import styles from './Placeholder.module.scss'
|
||||||
|
|
||||||
type ProfileLink = {
|
type ProfileLink = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import type { Shout } from '../../graphql/schema/core.gen'
|
import type { Shout } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { Show } from 'solid-js'
|
import { Show } from 'solid-js'
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import type { Shout } from '../../graphql/schema/core.gen'
|
import type { Shout } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { For, Show, createEffect, createSignal } from 'solid-js'
|
import { For, Show, createEffect, createSignal } from 'solid-js'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import type { JSX } from 'solid-js/jsx-runtime'
|
import type { JSX } from 'solid-js/jsx-runtime'
|
||||||
import type { Shout } from '../../graphql/schema/core.gen'
|
import type { Shout } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { For, Show } from 'solid-js'
|
import { For, Show } from 'solid-js'
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import type { Shout } from '../../graphql/schema/core.gen'
|
import type { Shout } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { ArticleCard } from './ArticleCard'
|
import { ArticleCard } from './ArticleCard'
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import type { Shout } from '../../graphql/schema/core.gen'
|
import type { Shout } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { For } from 'solid-js'
|
import { For } from 'solid-js'
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,12 @@ import { clsx } from 'clsx'
|
||||||
import { For, Show, createSignal } from 'solid-js'
|
import { For, Show, createSignal } from 'solid-js'
|
||||||
|
|
||||||
import { A, useMatch } from '@solidjs/router'
|
import { A, useMatch } from '@solidjs/router'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { useFeed } from '~/context/feed'
|
import { useFeed } from '~/context/feed'
|
||||||
import { useFollowing } from '../../../context/following'
|
import { useFollowing } from '~/context/following'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Author } from '../../../graphql/schema/core.gen'
|
import { Author } from '~/graphql/schema/core.gen'
|
||||||
import { Userpic } from '../../Author/Userpic'
|
import { Userpic } from '../../Author/Userpic'
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import styles from './Sidebar.module.scss'
|
import styles from './Sidebar.module.scss'
|
||||||
|
|
||||||
export const Sidebar = () => {
|
export const Sidebar = () => {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { For, createEffect, createSignal } from 'solid-js'
|
import { For, createEffect, createSignal } from 'solid-js'
|
||||||
|
|
||||||
|
import { useInbox } from '~/context/inbox'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useInbox } from '../../context/inbox'
|
import type { Author } from '~/graphql/schema/core.gen'
|
||||||
import { useLocalize } from '../../context/localize'
|
|
||||||
import type { Author } from '../../graphql/schema/core.gen'
|
|
||||||
import InviteUser from './InviteUser'
|
import InviteUser from './InviteUser'
|
||||||
|
|
||||||
import styles from './CreateModalContent.module.scss'
|
import styles from './CreateModalContent.module.scss'
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createMemo } from 'solid-js'
|
import { Show, createMemo } from 'solid-js'
|
||||||
|
|
||||||
import { getImageUrl } from '../../utils/getImageUrl'
|
import { getImageUrl } from '~/utils/getImageUrl'
|
||||||
import './DialogCard.module.scss'
|
import './DialogCard.module.scss'
|
||||||
|
|
||||||
import styles from './DialogAvatar.module.scss'
|
import styles from './DialogAvatar.module.scss'
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import type { ChatMember } from '../../graphql/schema/chat.gen'
|
import type { ChatMember } from '~/graphql/schema/chat.gen'
|
||||||
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Match, Show, Switch, createMemo } from 'solid-js'
|
import { Match, Show, Switch, createMemo } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Author } from '../../graphql/schema/core.gen'
|
import { Author } from '~/graphql/schema/core.gen'
|
||||||
import { AuthorBadge } from '../Author/AuthorBadge'
|
import { AuthorBadge } from '../Author/AuthorBadge'
|
||||||
|
|
||||||
import DialogAvatar from './DialogAvatar'
|
import DialogAvatar from './DialogAvatar'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import type { Chat, ChatMember } from '../../graphql/schema/chat.gen'
|
import type { Chat, ChatMember } from '~/graphql/schema/chat.gen'
|
||||||
|
|
||||||
import DialogCard from './DialogCard'
|
import DialogCard from './DialogCard'
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import type { ChatMember } from '../../graphql/schema/chat.gen'
|
import type { ChatMember } from '~/graphql/schema/chat.gen'
|
||||||
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For } from 'solid-js'
|
import { For } from 'solid-js'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import type { Author } from '../../graphql/schema/core.gen'
|
import type { Author } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import type { ChatMember, Message as MessageType } from '../../graphql/schema/chat.gen'
|
import type { ChatMember, Message as MessageType } from '~/graphql/schema/chat.gen'
|
||||||
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createSignal } from 'solid-js'
|
import { Show, createSignal } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
|
|
||||||
import DialogAvatar from './DialogAvatar'
|
import DialogAvatar from './DialogAvatar'
|
||||||
|
|
|
@ -2,7 +2,7 @@ import type { PopupProps } from '../_shared/Popup'
|
||||||
|
|
||||||
import { For, createEffect, createSignal } from 'solid-js'
|
import { For, createEffect, createSignal } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Popup } from '../_shared/Popup'
|
import { Popup } from '../_shared/Popup'
|
||||||
|
|
||||||
export type MessageActionType = 'reply' | 'copy' | 'pin' | 'forward' | 'select' | 'delete'
|
export type MessageActionType = 'reply' | 'copy' | 'pin' | 'forward' | 'select' | 'delete'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Loading } from '../_shared/Loading'
|
import { Loading } from '../_shared/Loading'
|
||||||
import styles from './InlineLoader.module.scss'
|
import styles from './InlineLoader.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { JSX, Show, createSignal } from 'solid-js'
|
import { JSX, Show, createSignal } from 'solid-js'
|
||||||
|
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../../context/localize'
|
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
import { PasswordField } from './PasswordField'
|
import { PasswordField } from './PasswordField'
|
||||||
|
|
||||||
import { useSearchParams } from '@solidjs/router'
|
import { useSearchParams } from '@solidjs/router'
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createEffect, createSignal } from 'solid-js'
|
import { Show, createEffect, createSignal } from 'solid-js'
|
||||||
|
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../../context/localize'
|
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
|
|
||||||
import { email, setEmail } from './sharedLogic'
|
import { email, setEmail } from './sharedLogic'
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { JSX, Show, createSignal } from 'solid-js'
|
import { JSX, Show, createSignal } from 'solid-js'
|
||||||
|
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useSnackbar, useUI } from '~/context/ui'
|
import { useSnackbar, useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { validateEmail } from '~/utils/validateEmail'
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
import { validateEmail } from '../../../utils/validateEmail'
|
|
||||||
|
|
||||||
import { AuthModalHeader } from './AuthModalHeader'
|
import { AuthModalHeader } from './AuthModalHeader'
|
||||||
import { PasswordField } from './PasswordField'
|
import { PasswordField } from './PasswordField'
|
||||||
|
|
|
@ -3,10 +3,10 @@ import type { JSX } from 'solid-js'
|
||||||
import { Show, createMemo, createSignal } from 'solid-js'
|
import { Show, createMemo, createSignal } from 'solid-js'
|
||||||
|
|
||||||
import { useSearchParams } from '@solidjs/router'
|
import { useSearchParams } from '@solidjs/router'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { validateEmail } from '~/utils/validateEmail'
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
import { validateEmail } from '../../../utils/validateEmail'
|
|
||||||
import { AuthModalHeader } from './AuthModalHeader'
|
import { AuthModalHeader } from './AuthModalHeader'
|
||||||
import { PasswordField } from './PasswordField'
|
import { PasswordField } from './PasswordField'
|
||||||
import { SocialProviders } from './SocialProviders'
|
import { SocialProviders } from './SocialProviders'
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
|
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../../context/localize'
|
|
||||||
|
|
||||||
import styles from './AuthModal.module.scss'
|
import styles from './AuthModal.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { JSX, Show, createSignal, onMount } from 'solid-js'
|
import { JSX, Show, createSignal, onMount } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useSession } from '../../../context/session'
|
import { useSession } from '~/context/session'
|
||||||
import { validateEmail } from '../../../utils/validateEmail'
|
import { validateEmail } from '~/utils/validateEmail'
|
||||||
import { email, setEmail } from './sharedLogic'
|
import { email, setEmail } from './sharedLogic'
|
||||||
|
|
||||||
import { useSearchParams } from '@solidjs/router'
|
import { useSearchParams } from '@solidjs/router'
|
||||||
|
|
|
@ -2,9 +2,9 @@ import { clsx } from 'clsx'
|
||||||
import { Component, Show, createEffect, createMemo } from 'solid-js'
|
import { Component, Show, createEffect, createMemo } from 'solid-js'
|
||||||
import { Dynamic } from 'solid-js/web'
|
import { Dynamic } from 'solid-js/web'
|
||||||
|
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { AuthModalSource, useUI } from '~/context/ui'
|
import { AuthModalSource, useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { isMobile } from '~/utils/media-query'
|
||||||
import { isMobile } from '../../../utils/media-query'
|
|
||||||
import { ChangePasswordForm } from './ChangePasswordForm'
|
import { ChangePasswordForm } from './ChangePasswordForm'
|
||||||
import { EmailConfirm } from './EmailConfirm'
|
import { EmailConfirm } from './EmailConfirm'
|
||||||
import { LoginForm } from './LoginForm'
|
import { LoginForm } from './LoginForm'
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { Button } from '~/components/_shared/Button'
|
||||||
import { useUI } from '../../../context/ui'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Button } from '../../_shared/Button'
|
import { useUI } from '~/context/ui'
|
||||||
|
|
||||||
import styles from './ConfirmModal.module.scss'
|
import styles from './ConfirmModal.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
import { A, useLocation, useNavigate, useSearchParams } from '@solidjs/router'
|
import { A, useLocation, useNavigate, useSearchParams } from '@solidjs/router'
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createEffect, createMemo, createSignal, onCleanup, onMount } from 'solid-js'
|
import { For, Show, createEffect, createMemo, createSignal, onCleanup, onMount } from 'solid-js'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { Newsletter } from '~/components/_shared/Newsletter'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
|
import { useTopics } from '~/context/topics'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import type { Topic } from '~/graphql/schema/core.gen'
|
||||||
import { useSession } from '../../../context/session'
|
import { getRandomTopicsFromArray } from '~/utils/getRandomTopicsFromArray'
|
||||||
import { useTopics } from '../../../context/topics'
|
import { getDescription } from '~/utils/meta'
|
||||||
import type { Topic } from '../../../graphql/schema/core.gen'
|
|
||||||
import { getRandomTopicsFromArray } from '../../../utils/getRandomTopicsFromArray'
|
|
||||||
import { getDescription } from '../../../utils/meta'
|
|
||||||
import { SharePopup, getShareUrl } from '../../Article/SharePopup'
|
import { SharePopup, getShareUrl } from '../../Article/SharePopup'
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { Newsletter } from '../../_shared/Newsletter'
|
|
||||||
import { AuthModal } from '../AuthModal'
|
import { AuthModal } from '../AuthModal'
|
||||||
import { ConfirmModal } from '../ConfirmModal'
|
import { ConfirmModal } from '../ConfirmModal'
|
||||||
import { HeaderAuth } from '../HeaderAuth'
|
import { HeaderAuth } from '../HeaderAuth'
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createMemo, createSignal, onCleanup, onMount } from 'solid-js'
|
import { Show, createMemo, createSignal, onCleanup, onMount } from 'solid-js'
|
||||||
|
import { useEditorContext } from '~/context/editor'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useNotifications } from '~/context/notifications'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import type { Author } from '~/graphql/schema/core.gen'
|
import type { Author } from '~/graphql/schema/core.gen'
|
||||||
import { useEditorContext } from '../../context/editor'
|
|
||||||
import { useLocalize } from '../../context/localize'
|
|
||||||
import { useNotifications } from '../../context/notifications'
|
|
||||||
import { useSession } from '../../context/session'
|
|
||||||
import { Userpic } from '../Author/Userpic'
|
import { Userpic } from '../Author/Userpic'
|
||||||
import { Button } from '../_shared/Button'
|
import { Button } from '../_shared/Button'
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import type { JSX } from 'solid-js'
|
import type { JSX } from 'solid-js'
|
||||||
import { Show } from 'solid-js'
|
import { Show } from 'solid-js'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { isPortrait } from '~/utils/media-query'
|
import { isPortrait } from '~/utils/media-query'
|
||||||
import { useEscKeyDownHandler } from '../../../utils/useEscKeyDownHandler'
|
import { useEscKeyDownHandler } from '~/utils/useEscKeyDownHandler'
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import styles from './Modal.module.scss'
|
import styles from './Modal.module.scss'
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { createMemo } from 'solid-js'
|
import { createMemo } from 'solid-js'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import type { Author } from '~/graphql/schema/core.gen'
|
import type { Author } from '~/graphql/schema/core.gen'
|
||||||
import { useLocalize } from '../../context/localize'
|
|
||||||
import { useSession } from '../../context/session'
|
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
import type { PopupProps } from '../_shared/Popup'
|
import type { PopupProps } from '../_shared/Popup'
|
||||||
import { Popup } from '../_shared/Popup'
|
import { Popup } from '../_shared/Popup'
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
|
|
||||||
import { useLocation } from '@solidjs/router'
|
import { useLocation } from '@solidjs/router'
|
||||||
import styles from './ProfileSettingsNavigation.module.scss'
|
import styles from './ProfileSettingsNavigation.module.scss'
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
import type { Shout } from '../../../graphql/schema/core.gen'
|
import type { Shout } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { For, Show, createResource, createSignal, onCleanup } from 'solid-js'
|
import { For, Show, createResource, createSignal, onCleanup } from 'solid-js'
|
||||||
import { debounce } from 'throttle-debounce'
|
import { debounce } from 'throttle-debounce'
|
||||||
|
|
||||||
|
import { Button } from '~/components/_shared/Button'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { useFeed } from '~/context/feed'
|
import { useFeed } from '~/context/feed'
|
||||||
import { useLocalize } from '~/context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { restoreScrollPosition, saveScrollPosition } from '../../../utils/scroll'
|
import { restoreScrollPosition, saveScrollPosition } from '~/utils/scroll'
|
||||||
import { byScore } from '../../../utils/sortby'
|
import { byScore } from '~/utils/sortby'
|
||||||
import { FEED_PAGE_SIZE } from '../../Views/Feed/Feed'
|
import { FEED_PAGE_SIZE } from '../../Views/Feed/Feed'
|
||||||
import { Button } from '../../_shared/Button'
|
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
|
|
||||||
import { SearchResultItem } from './SearchResultItem'
|
import { SearchResultItem } from './SearchResultItem'
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import type { Shout } from '../../../graphql/schema/core.gen'
|
import type { Shout } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { ArticleCard } from '../../Feed/ArticleCard'
|
import { ArticleCard } from '../../Feed/ArticleCard'
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
import { Icon } from '../../_shared/Icon'
|
import { useLocalize } from '~/context/localize'
|
||||||
|
|
||||||
import { A, useMatch } from '@solidjs/router'
|
import { A, useMatch } from '@solidjs/router'
|
||||||
import styles from './Topics.module.scss'
|
import styles from './Topics.module.scss'
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
|
|
||||||
import styles from './EmptyMessage.module.scss'
|
import styles from './EmptyMessage.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show } from 'solid-js'
|
import { For, Show } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { GroupAvatar } from '~/components/_shared/GroupAvatar'
|
||||||
import { useNotifications } from '../../../context/notifications'
|
import { TimeAgo } from '~/components/_shared/TimeAgo'
|
||||||
import { Author, NotificationGroup as Group } from '../../../graphql/schema/core.gen'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { GroupAvatar } from '../../_shared/GroupAvatar'
|
import { useNotifications } from '~/context/notifications'
|
||||||
import { TimeAgo } from '../../_shared/TimeAgo'
|
import { Author, NotificationGroup as Group } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { A, useNavigate, useSearchParams } from '@solidjs/router'
|
import { A, useNavigate, useSearchParams } from '@solidjs/router'
|
||||||
import styles from './NotificationView.module.scss'
|
import styles from './NotificationView.module.scss'
|
||||||
|
|
|
@ -2,11 +2,11 @@ import { clsx } from 'clsx'
|
||||||
import { Show, createEffect, createMemo, createSignal, on, onCleanup, onMount } from 'solid-js'
|
import { Show, createEffect, createMemo, createSignal, on, onCleanup, onMount } from 'solid-js'
|
||||||
import { throttle } from 'throttle-debounce'
|
import { throttle } from 'throttle-debounce'
|
||||||
|
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { PAGE_SIZE, useNotifications } from '../../context/notifications'
|
import { PAGE_SIZE, useNotifications } from '~/context/notifications'
|
||||||
import { useSession } from '../../context/session'
|
import { useSession } from '~/context/session'
|
||||||
import { useEscKeyDownHandler } from '../../utils/useEscKeyDownHandler'
|
import { useEscKeyDownHandler } from '~/utils/useEscKeyDownHandler'
|
||||||
import { useOutsideClickHandler } from '../../utils/useOutsideClickHandler'
|
import { useOutsideClickHandler } from '~/utils/useOutsideClickHandler'
|
||||||
import { Button } from '../_shared/Button'
|
import { Button } from '../_shared/Button'
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
|
|
||||||
|
|
|
@ -14,16 +14,16 @@ import {
|
||||||
onMount
|
onMount
|
||||||
} from 'solid-js'
|
} from 'solid-js'
|
||||||
import { createStore } from 'solid-js/store'
|
import { createStore } from 'solid-js/store'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useProfile } from '../../context/profile'
|
import { useProfile } from '~/context/profile'
|
||||||
import { useSession } from '../../context/session'
|
import { useSession } from '~/context/session'
|
||||||
import { useSnackbar, useUI } from '../../context/ui'
|
import { useSnackbar, useUI } from '~/context/ui'
|
||||||
import { InputMaybe, ProfileInput } from '../../graphql/schema/core.gen'
|
import { InputMaybe, ProfileInput } from '~/graphql/schema/core.gen'
|
||||||
import { clone } from '../../utils/clone'
|
import { clone } from '~/utils/clone'
|
||||||
import { getImageUrl } from '../../utils/getImageUrl'
|
import { getImageUrl } from '~/utils/getImageUrl'
|
||||||
import { handleImageUpload } from '../../utils/handleImageUpload'
|
import { handleImageUpload } from '~/utils/handleImageUpload'
|
||||||
import { profileSocialLinks } from '../../utils/profileSocialLinks'
|
import { profileSocialLinks } from '~/utils/profileSocialLinks'
|
||||||
import { validateUrl } from '../../utils/validateUrl'
|
import { validateUrl } from '~/utils/validateUrl'
|
||||||
import { Modal } from '../Nav/Modal'
|
import { Modal } from '../Nav/Modal'
|
||||||
import { ProfileSettingsNavigation } from '../Nav/ProfileSettingsNavigation'
|
import { ProfileSettingsNavigation } from '../Nav/ProfileSettingsNavigation'
|
||||||
import { Button } from '../_shared/Button'
|
import { Button } from '../_shared/Button'
|
||||||
|
@ -34,8 +34,8 @@ import { Popover } from '../_shared/Popover'
|
||||||
import { SocialNetworkInput } from '../_shared/SocialNetworkInput'
|
import { SocialNetworkInput } from '../_shared/SocialNetworkInput'
|
||||||
import styles from './Settings.module.scss'
|
import styles from './Settings.module.scss'
|
||||||
|
|
||||||
const SimplifiedEditor = lazy(() => import('../../components/Editor/SimplifiedEditor'))
|
const SimplifiedEditor = lazy(() => import('~/components/Editor/SimplifiedEditor'))
|
||||||
const GrowingTextarea = lazy(() => import('../../components/_shared/GrowingTextarea/GrowingTextarea'))
|
const GrowingTextarea = lazy(() => import('~/components/_shared/GrowingTextarea/GrowingTextarea'))
|
||||||
|
|
||||||
function filterNulls(arr: InputMaybe<string>[]): string[] {
|
function filterNulls(arr: InputMaybe<string>[]): string[] {
|
||||||
return arr.filter((item): item is string => item !== null && item !== undefined)
|
return arr.filter((item): item is string => item !== null && item !== undefined)
|
||||||
|
|
|
@ -2,9 +2,9 @@ import { clsx } from 'clsx'
|
||||||
import { For, Show, createEffect, createSignal, on, onCleanup, onMount } from 'solid-js'
|
import { For, Show, createEffect, createSignal, on, onCleanup, onMount } from 'solid-js'
|
||||||
import { debounce, throttle } from 'throttle-debounce'
|
import { debounce, throttle } from 'throttle-debounce'
|
||||||
|
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { DEFAULT_HEADER_OFFSET } from '~/context/ui'
|
import { DEFAULT_HEADER_OFFSET } from '~/context/ui'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { isDesktop } from '~/utils/media-query'
|
||||||
import { isDesktop } from '../../utils/media-query'
|
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
|
|
||||||
import styles from './TableOfContents.module.scss'
|
import styles from './TableOfContents.module.scss'
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createEffect, createMemo, createSignal, on } from 'solid-js'
|
import { Show, createEffect, createMemo, createSignal, on } from 'solid-js'
|
||||||
|
|
||||||
import { useFollowing } from '../../context/following'
|
import { useFollowing } from '~/context/following'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useSession } from '../../context/session'
|
import { useSession } from '~/context/session'
|
||||||
import { Author, FollowingEntity, type Topic } from '../../graphql/schema/core.gen'
|
import { Author, FollowingEntity, type Topic } from '~/graphql/schema/core.gen'
|
||||||
import { capitalize } from '../../utils/capitalize'
|
import { capitalize } from '~/utils/capitalize'
|
||||||
import { CardTopic } from '../Feed/CardTopic'
|
import { CardTopic } from '../Feed/CardTopic'
|
||||||
import { CheckButton } from '../_shared/CheckButton'
|
import { CheckButton } from '../_shared/CheckButton'
|
||||||
import { FollowingButton } from '../_shared/FollowingButton'
|
import { FollowingButton } from '../_shared/FollowingButton'
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import type { Topic } from '../../graphql/schema/core.gen'
|
import type { Topic } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
|
|
||||||
import './FloorHeader.scss'
|
import './FloorHeader.scss'
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import type { Author, Topic } from '../../graphql/schema/core.gen'
|
import type { Author, Topic } from '~/graphql/schema/core.gen'
|
||||||
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createEffect, createSignal } from 'solid-js'
|
import { Show, createEffect, createSignal } from 'solid-js'
|
||||||
|
|
||||||
import { useFollowing } from '../../context/following'
|
import { useFollowing } from '~/context/following'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useSession } from '../../context/session'
|
import { useSession } from '~/context/session'
|
||||||
import { FollowingEntity } from '../../graphql/schema/core.gen'
|
import { FollowingEntity } from '~/graphql/schema/core.gen'
|
||||||
import { Button } from '../_shared/Button'
|
import { Button } from '../_shared/Button'
|
||||||
|
|
||||||
import { FollowingCounters } from '../_shared/FollowingCounters/FollowingCounters'
|
import { FollowingCounters } from '../_shared/FollowingCounters/FollowingCounters'
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Show, createEffect, createSignal, on } from 'solid-js'
|
import { Show, createEffect, createSignal, on } from 'solid-js'
|
||||||
|
|
||||||
|
import { FollowingButton } from '~/components/_shared/FollowingButton'
|
||||||
|
import { useFollowing } from '~/context/following'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
|
import { FollowingEntity, Topic } from '~/graphql/schema/core.gen'
|
||||||
|
import { capitalize } from '~/utils/capitalize'
|
||||||
|
import { getImageUrl } from '~/utils/getImageUrl'
|
||||||
import { mediaMatches } from '~/utils/media-query'
|
import { mediaMatches } from '~/utils/media-query'
|
||||||
import { useFollowing } from '../../../context/following'
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
import { FollowingEntity, Topic } from '../../../graphql/schema/core.gen'
|
|
||||||
import { capitalize } from '../../../utils/capitalize'
|
|
||||||
import { getImageUrl } from '../../../utils/getImageUrl'
|
|
||||||
import { FollowingButton } from '../../_shared/FollowingButton'
|
|
||||||
import styles from './TopicBadge.module.scss'
|
import styles from './TopicBadge.module.scss'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
|
|
@ -2,18 +2,18 @@ import { Meta } from '@solidjs/meta'
|
||||||
import { useSearchParams } from '@solidjs/router'
|
import { useSearchParams } from '@solidjs/router'
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createMemo, createSignal, onMount } from 'solid-js'
|
import { For, Show, createMemo, createSignal, onMount } from 'solid-js'
|
||||||
import ruKeywords from '~/lib/locales/ru/keywords.json'
|
import { Loading } from '~/components/_shared/Loading'
|
||||||
import enKeywords from '~/lib/locales/ru/keywords.json'
|
import { SearchField } from '~/components/_shared/SearchField'
|
||||||
|
import enKeywords from '~/config/locales/en/keywords.json'
|
||||||
|
import ruKeywords from '~/config/locales/ru/keywords.json'
|
||||||
|
import { type SortFunction, useAuthors } from '~/context/authors'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import type { Author } from '~/graphql/schema/core.gen'
|
||||||
|
import { getImageUrl } from '~/utils/getImageUrl'
|
||||||
|
import { scrollHandler } from '~/utils/scroll'
|
||||||
import { byFirstChar, byStat } from '~/utils/sortby'
|
import { byFirstChar, byStat } from '~/utils/sortby'
|
||||||
import { type SortFunction, useAuthors } from '../../../context/authors'
|
import { authorLetterReduce, translateAuthor } from '~/utils/translate'
|
||||||
import { useLocalize } from '../../../context/localize'
|
|
||||||
import type { Author } from '../../../graphql/schema/core.gen'
|
|
||||||
import { getImageUrl } from '../../../utils/getImageUrl'
|
|
||||||
import { scrollHandler } from '../../../utils/scroll'
|
|
||||||
import { authorLetterReduce, translateAuthor } from '../../../utils/translate'
|
|
||||||
import { AuthorsList } from '../../AuthorsList'
|
import { AuthorsList } from '../../AuthorsList'
|
||||||
import { Loading } from '../../_shared/Loading'
|
|
||||||
import { SearchField } from '../../_shared/SearchField'
|
|
||||||
import styles from './AllAuthors.module.scss'
|
import styles from './AllAuthors.module.scss'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
|
|
@ -2,18 +2,18 @@ import { Meta } from '@solidjs/meta'
|
||||||
import { A, useSearchParams } from '@solidjs/router'
|
import { A, useSearchParams } from '@solidjs/router'
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createEffect, createMemo, createSignal, on, onMount } from 'solid-js'
|
import { For, Show, createEffect, createMemo, createSignal, on, onMount } from 'solid-js'
|
||||||
|
import { Loading } from '~/components/_shared/Loading'
|
||||||
|
import { SearchField } from '~/components/_shared/SearchField'
|
||||||
|
import enKeywords from '~/config/locales/en/keywords.json'
|
||||||
|
import ruKeywords from '~/config/locales/ru/keywords.json'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import { useTopics } from '~/context/topics'
|
import { useTopics } from '~/context/topics'
|
||||||
import ruKeywords from '~/lib/locales/ru/keywords.json'
|
import type { Topic } from '~/graphql/schema/core.gen'
|
||||||
import enKeywords from '~/lib/locales/ru/keywords.json'
|
import { capitalize } from '~/utils/capitalize'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { dummyFilter } from '~/utils/dummyFilter'
|
||||||
import type { Topic } from '../../../graphql/schema/core.gen'
|
import { getImageUrl } from '~/utils/getImageUrl'
|
||||||
import { capitalize } from '../../../utils/capitalize'
|
import { scrollHandler } from '~/utils/scroll'
|
||||||
import { dummyFilter } from '../../../utils/dummyFilter'
|
|
||||||
import { getImageUrl } from '../../../utils/getImageUrl'
|
|
||||||
import { scrollHandler } from '../../../utils/scroll'
|
|
||||||
import { TopicBadge } from '../../Topic/TopicBadge'
|
import { TopicBadge } from '../../Topic/TopicBadge'
|
||||||
import { Loading } from '../../_shared/Loading'
|
|
||||||
import { SearchField } from '../../_shared/SearchField'
|
|
||||||
import styles from './AllTopics.module.scss'
|
import styles from './AllTopics.module.scss'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
|
|
@ -2,23 +2,24 @@ import { Meta, Title } from '@solidjs/meta'
|
||||||
import { A, useLocation, useParams } from '@solidjs/router'
|
import { A, useLocation, useParams } from '@solidjs/router'
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Match, Show, Switch, createEffect, createMemo, createSignal, on, onMount } from 'solid-js'
|
import { For, Match, Show, Switch, createEffect, createMemo, createSignal, on, onMount } from 'solid-js'
|
||||||
|
import { Loading } from '~/components/_shared/Loading'
|
||||||
import { useAuthors } from '~/context/authors'
|
import { useAuthors } from '~/context/authors'
|
||||||
|
import { useFeed } from '~/context/feed'
|
||||||
|
import { useFollowing } from '~/context/following'
|
||||||
import { useGraphQL } from '~/context/graphql'
|
import { useGraphQL } from '~/context/graphql'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useFeed } from '../../../context/feed'
|
import loadShoutsQuery from '~/graphql/query/core/articles-load-by'
|
||||||
import { useFollowing } from '../../../context/following'
|
import getAuthorFollowersQuery from '~/graphql/query/core/author-followers'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import getAuthorFollowsQuery from '~/graphql/query/core/author-follows'
|
||||||
import { useSession } from '../../../context/session'
|
import loadReactionsBy from '~/graphql/query/core/reactions-load-by'
|
||||||
import loadShoutsQuery from '../../../graphql/query/core/articles-load-by'
|
import type { Author, Reaction, Shout, Topic } from '~/graphql/schema/core.gen'
|
||||||
import getAuthorFollowersQuery from '../../../graphql/query/core/author-followers'
|
import { getImageUrl } from '~/utils/getImageUrl'
|
||||||
import getAuthorFollowsQuery from '../../../graphql/query/core/author-follows'
|
import { getDescription } from '~/utils/meta'
|
||||||
import loadReactionsBy from '../../../graphql/query/core/reactions-load-by'
|
import { restoreScrollPosition, saveScrollPosition } from '~/utils/scroll'
|
||||||
import type { Author, Reaction, Shout, Topic } from '../../../graphql/schema/core.gen'
|
import { byCreated } from '~/utils/sortby'
|
||||||
import { getImageUrl } from '../../../utils/getImageUrl'
|
import { splitToPages } from '~/utils/splitToPages'
|
||||||
import { getDescription } from '../../../utils/meta'
|
|
||||||
import { restoreScrollPosition, saveScrollPosition } from '../../../utils/scroll'
|
|
||||||
import { byCreated } from '../../../utils/sortby'
|
|
||||||
import { splitToPages } from '../../../utils/splitToPages'
|
|
||||||
import stylesArticle from '../../Article/Article.module.scss'
|
import stylesArticle from '../../Article/Article.module.scss'
|
||||||
import { Comment } from '../../Article/Comment'
|
import { Comment } from '../../Article/Comment'
|
||||||
import { AuthorCard } from '../../Author/AuthorCard'
|
import { AuthorCard } from '../../Author/AuthorCard'
|
||||||
|
@ -27,7 +28,6 @@ import { Placeholder } from '../../Feed/Placeholder'
|
||||||
import { Row1 } from '../../Feed/Row1'
|
import { Row1 } from '../../Feed/Row1'
|
||||||
import { Row2 } from '../../Feed/Row2'
|
import { Row2 } from '../../Feed/Row2'
|
||||||
import { Row3 } from '../../Feed/Row3'
|
import { Row3 } from '../../Feed/Row3'
|
||||||
import { Loading } from '../../_shared/Loading'
|
|
||||||
import styles from './Author.module.scss'
|
import styles from './Author.module.scss'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
|
|
@ -3,19 +3,19 @@ import deepEqual from 'fast-deep-equal'
|
||||||
import { Show, createEffect, createSignal, on, onCleanup, onMount } from 'solid-js'
|
import { Show, createEffect, createSignal, on, onCleanup, onMount } from 'solid-js'
|
||||||
import { createStore } from 'solid-js/store'
|
import { createStore } from 'solid-js/store'
|
||||||
import { debounce } from 'throttle-debounce'
|
import { debounce } from 'throttle-debounce'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { InviteMembers } from '~/components/_shared/InviteMembers'
|
||||||
|
import { ShoutForm, useEditorContext } from '~/context/editor'
|
||||||
import { useGraphQL } from '~/context/graphql'
|
import { useGraphQL } from '~/context/graphql'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import getMyShoutQuery from '~/graphql/query/core/article-my'
|
import getMyShoutQuery from '~/graphql/query/core/article-my'
|
||||||
import { ShoutForm, useEditorContext } from '../../../context/editor'
|
import type { Shout, Topic } from '~/graphql/schema/core.gen'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { clone } from '~/utils/clone'
|
||||||
import type { Shout, Topic } from '../../../graphql/schema/core.gen'
|
import { isDesktop } from '~/utils/media-query'
|
||||||
import { clone } from '../../../utils/clone'
|
|
||||||
import { isDesktop } from '../../../utils/media-query'
|
|
||||||
import { Panel } from '../../Editor'
|
import { Panel } from '../../Editor'
|
||||||
import { AutoSaveNotice } from '../../Editor/AutoSaveNotice'
|
import { AutoSaveNotice } from '../../Editor/AutoSaveNotice'
|
||||||
import { Modal } from '../../Nav/Modal'
|
import { Modal } from '../../Nav/Modal'
|
||||||
import { TableOfContents } from '../../TableOfContents'
|
import { TableOfContents } from '../../TableOfContents'
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { InviteMembers } from '../../_shared/InviteMembers'
|
|
||||||
import { PublishSettings } from '../PublishSettings'
|
import { PublishSettings } from '../PublishSettings'
|
||||||
import styles from './EditView.module.scss'
|
import styles from './EditView.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -13,33 +13,33 @@ import {
|
||||||
} from 'solid-js'
|
} from 'solid-js'
|
||||||
import { createStore } from 'solid-js/store'
|
import { createStore } from 'solid-js/store'
|
||||||
import { debounce } from 'throttle-debounce'
|
import { debounce } from 'throttle-debounce'
|
||||||
|
import { DropArea } from '~/components/_shared/DropArea'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { InviteMembers } from '~/components/_shared/InviteMembers'
|
||||||
|
import { Loading } from '~/components/_shared/Loading'
|
||||||
|
import { Popover } from '~/components/_shared/Popover'
|
||||||
|
import { EditorSwiper } from '~/components/_shared/SolidSwiper'
|
||||||
|
import { ShoutForm, useEditorContext } from '~/context/editor'
|
||||||
import { useGraphQL } from '~/context/graphql'
|
import { useGraphQL } from '~/context/graphql'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import getMyShoutQuery from '~/graphql/query/core/article-my'
|
import getMyShoutQuery from '~/graphql/query/core/article-my'
|
||||||
|
import type { Shout, Topic } from '~/graphql/schema/core.gen'
|
||||||
import { LayoutType } from '~/types/common'
|
import { LayoutType } from '~/types/common'
|
||||||
import { MediaItem } from '~/types/mediaitem'
|
import { MediaItem } from '~/types/mediaitem'
|
||||||
import { ShoutForm, useEditorContext } from '../../../context/editor'
|
import { clone } from '~/utils/clone'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { getImageUrl } from '~/utils/getImageUrl'
|
||||||
import type { Shout, Topic } from '../../../graphql/schema/core.gen'
|
import { isDesktop } from '~/utils/media-query'
|
||||||
import { clone } from '../../../utils/clone'
|
import { slugify } from '~/utils/slugify'
|
||||||
import { getImageUrl } from '../../../utils/getImageUrl'
|
|
||||||
import { isDesktop } from '../../../utils/media-query'
|
|
||||||
import { slugify } from '../../../utils/slugify'
|
|
||||||
import { Editor, Panel } from '../../Editor'
|
import { Editor, Panel } from '../../Editor'
|
||||||
import { AudioUploader } from '../../Editor/AudioUploader'
|
import { AudioUploader } from '../../Editor/AudioUploader'
|
||||||
import { AutoSaveNotice } from '../../Editor/AutoSaveNotice'
|
import { AutoSaveNotice } from '../../Editor/AutoSaveNotice'
|
||||||
import { VideoUploader } from '../../Editor/VideoUploader'
|
import { VideoUploader } from '../../Editor/VideoUploader'
|
||||||
import { Modal } from '../../Nav/Modal'
|
import { Modal } from '../../Nav/Modal'
|
||||||
import { TableOfContents } from '../../TableOfContents'
|
import { TableOfContents } from '../../TableOfContents'
|
||||||
import { DropArea } from '../../_shared/DropArea'
|
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { InviteMembers } from '../../_shared/InviteMembers'
|
|
||||||
import { Loading } from '../../_shared/Loading'
|
|
||||||
import { Popover } from '../../_shared/Popover'
|
|
||||||
import { EditorSwiper } from '../../_shared/SolidSwiper'
|
|
||||||
import styles from './EditView.module.scss'
|
import styles from './EditView.module.scss'
|
||||||
|
|
||||||
const SimplifiedEditor = lazy(() => import('../../Editor/SimplifiedEditor'))
|
const SimplifiedEditor = lazy(() => import('../../Editor/SimplifiedEditor'))
|
||||||
const GrowingTextarea = lazy(() => import('../../_shared/GrowingTextarea/GrowingTextarea'))
|
const GrowingTextarea = lazy(() => import('~/components/_shared/GrowingTextarea/GrowingTextarea'))
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
shout: Shout
|
shout: Shout
|
||||||
|
|
|
@ -2,19 +2,19 @@ import { clsx } from 'clsx'
|
||||||
import { For, Show, createEffect, createSignal, on, onCleanup, onMount } from 'solid-js'
|
import { For, Show, createEffect, createSignal, on, onCleanup, onMount } from 'solid-js'
|
||||||
|
|
||||||
import { A } from '@solidjs/router'
|
import { A } from '@solidjs/router'
|
||||||
|
import { Button } from '~/components/_shared/Button'
|
||||||
|
import { ConditionalWrapper } from '~/components/_shared/ConditionalWrapper'
|
||||||
|
import { Loading } from '~/components/_shared/Loading'
|
||||||
|
import { ArticleCardSwiper } from '~/components/_shared/SolidSwiper/ArticleCardSwiper'
|
||||||
import { useGraphQL } from '~/context/graphql'
|
import { useGraphQL } from '~/context/graphql'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
import getShoutsQuery from '~/graphql/query/core/articles-load-by'
|
import getShoutsQuery from '~/graphql/query/core/articles-load-by'
|
||||||
import getRandomTopShoutsQuery from '~/graphql/query/core/articles-load-random-top'
|
import getRandomTopShoutsQuery from '~/graphql/query/core/articles-load-random-top'
|
||||||
|
import { LoadShoutsFilters, LoadShoutsOptions, Shout } from '~/graphql/schema/core.gen'
|
||||||
import { LayoutType } from '~/types/common'
|
import { LayoutType } from '~/types/common'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { getUnixtime } from '~/utils/getServerDate'
|
||||||
import { LoadShoutsFilters, LoadShoutsOptions, Shout } from '../../../graphql/schema/core.gen'
|
import { restoreScrollPosition, saveScrollPosition } from '~/utils/scroll'
|
||||||
import { getUnixtime } from '../../../utils/getServerDate'
|
|
||||||
import { restoreScrollPosition, saveScrollPosition } from '../../../utils/scroll'
|
|
||||||
import { ArticleCard } from '../../Feed/ArticleCard'
|
import { ArticleCard } from '../../Feed/ArticleCard'
|
||||||
import { Button } from '../../_shared/Button'
|
|
||||||
import { ConditionalWrapper } from '../../_shared/ConditionalWrapper'
|
|
||||||
import { Loading } from '../../_shared/Loading'
|
|
||||||
import { ArticleCardSwiper } from '../../_shared/SolidSwiper/ArticleCardSwiper'
|
|
||||||
import styles from './Expo.module.scss'
|
import styles from './Expo.module.scss'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
|
|
@ -2,21 +2,26 @@ import { Meta } from '@solidjs/meta'
|
||||||
import { A, createAsync, useLocation, useNavigate, useSearchParams } from '@solidjs/router'
|
import { A, createAsync, useLocation, useNavigate, useSearchParams } from '@solidjs/router'
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createMemo, createSignal, onMount } from 'solid-js'
|
import { For, Show, createMemo, createSignal, onMount } from 'solid-js'
|
||||||
|
import { DropDown } from '~/components/_shared/DropDown'
|
||||||
import { Option } from '~/components/_shared/DropDown/DropDown'
|
import { Option } from '~/components/_shared/DropDown/DropDown'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { InviteMembers } from '~/components/_shared/InviteMembers'
|
||||||
|
import { Loading } from '~/components/_shared/Loading'
|
||||||
|
import { ShareModal } from '~/components/_shared/ShareModal'
|
||||||
|
import ruKeywords from '~/config/locales/ru/keywords.json'
|
||||||
|
import enKeywords from '~/config/locales/ru/keywords.json'
|
||||||
|
import { useAuthors } from '~/context/authors'
|
||||||
import { useGraphQL } from '~/context/graphql'
|
import { useGraphQL } from '~/context/graphql'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useReactions } from '~/context/reactions'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
|
import { useTopics } from '~/context/topics'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { loadUnratedShouts } from '~/lib/api/private'
|
import { loadUnratedShouts } from '~/graphql/api/private'
|
||||||
import ruKeywords from '~/lib/locales/ru/keywords.json'
|
import type { Author, Reaction, Shout } from '~/graphql/schema/core.gen'
|
||||||
import enKeywords from '~/lib/locales/ru/keywords.json'
|
|
||||||
import { FeedSearchParams } from '~/routes/feed/[...feed]'
|
import { FeedSearchParams } from '~/routes/feed/[...feed]'
|
||||||
import { useAuthors } from '../../../context/authors'
|
import { getImageUrl } from '~/utils/getImageUrl'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { byCreated } from '~/utils/sortby'
|
||||||
import { useReactions } from '../../../context/reactions'
|
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
import { useTopics } from '../../../context/topics'
|
|
||||||
import type { Author, Reaction, Shout } from '../../../graphql/schema/core.gen'
|
|
||||||
import { getImageUrl } from '../../../utils/getImageUrl'
|
|
||||||
import { byCreated } from '../../../utils/sortby'
|
|
||||||
import { CommentDate } from '../../Article/CommentDate'
|
import { CommentDate } from '../../Article/CommentDate'
|
||||||
import { getShareUrl } from '../../Article/SharePopup'
|
import { getShareUrl } from '../../Article/SharePopup'
|
||||||
import { AuthorBadge } from '../../Author/AuthorBadge'
|
import { AuthorBadge } from '../../Author/AuthorBadge'
|
||||||
|
@ -27,11 +32,6 @@ import stylesTopic from '../../Feed/CardTopic.module.scss'
|
||||||
import { Placeholder } from '../../Feed/Placeholder'
|
import { Placeholder } from '../../Feed/Placeholder'
|
||||||
import { Sidebar } from '../../Feed/Sidebar'
|
import { Sidebar } from '../../Feed/Sidebar'
|
||||||
import { Modal } from '../../Nav/Modal'
|
import { Modal } from '../../Nav/Modal'
|
||||||
import { DropDown } from '../../_shared/DropDown'
|
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { InviteMembers } from '../../_shared/InviteMembers'
|
|
||||||
import { Loading } from '../../_shared/Loading'
|
|
||||||
import { ShareModal } from '../../_shared/ShareModal'
|
|
||||||
import styles from './Feed.module.scss'
|
import styles from './Feed.module.scss'
|
||||||
|
|
||||||
export const FEED_PAGE_SIZE = 20
|
export const FEED_PAGE_SIZE = 20
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
|
|
||||||
import styles from '../../styles/FeedSettings.module.scss'
|
import styles from '../../styles/FeedSettings.module.scss'
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
|
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
|
|
||||||
import { useNavigate } from '@solidjs/router'
|
import { useNavigate } from '@solidjs/router'
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
import { For, Show, createEffect, createMemo, createSignal, on } from 'solid-js'
|
import { For, Show, createEffect, createMemo, createSignal, on } from 'solid-js'
|
||||||
|
|
||||||
import { Meta } from '@solidjs/meta'
|
import { Meta } from '@solidjs/meta'
|
||||||
|
import enKeywords from '~/config/locales/en/keywords.json'
|
||||||
|
import ruKeywords from '~/config/locales/ru/keywords.json'
|
||||||
import { useAuthors } from '~/context/authors'
|
import { useAuthors } from '~/context/authors'
|
||||||
import { loadShouts } from '~/lib/api/public'
|
import { useLocalize } from '~/context/localize'
|
||||||
import ruKeywords from '~/lib/locales/ru/keywords.json'
|
import { useTopics } from '~/context/topics'
|
||||||
import enKeywords from '~/lib/locales/ru/keywords.json'
|
import { loadShouts } from '~/graphql/api/public'
|
||||||
|
import { Author, Shout, Topic } from '~/graphql/schema/core.gen'
|
||||||
import { SHOUTS_PER_PAGE } from '~/routes/(home)'
|
import { SHOUTS_PER_PAGE } from '~/routes/(home)'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { capitalize } from '~/utils/capitalize'
|
||||||
import { useTopics } from '../../context/topics'
|
import { splitToPages } from '~/utils/splitToPages'
|
||||||
import { Author, Shout, Topic } from '../../graphql/schema/core.gen'
|
|
||||||
import { capitalize } from '../../utils/capitalize'
|
|
||||||
import { splitToPages } from '../../utils/splitToPages'
|
|
||||||
import Banner from '../Discours/Banner'
|
import Banner from '../Discours/Banner'
|
||||||
import Hero from '../Discours/Hero'
|
import Hero from '../Discours/Hero'
|
||||||
import { Beside } from '../Feed/Beside'
|
import { Beside } from '../Feed/Beside'
|
||||||
|
|
|
@ -1,17 +1,20 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createEffect, createMemo, createSignal, on, onMount } from 'solid-js'
|
import { For, Show, createEffect, createMemo, createSignal, on, onMount } from 'solid-js'
|
||||||
|
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { InviteMembers } from '~/components/_shared/InviteMembers'
|
||||||
|
import { Popover } from '~/components/_shared/Popover'
|
||||||
|
import { useInbox } from '~/context/inbox'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
import { useUI } from '~/context/ui'
|
import { useUI } from '~/context/ui'
|
||||||
import { useInbox } from '../../../context/inbox'
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
import type {
|
import type {
|
||||||
Chat,
|
Chat,
|
||||||
ChatMember,
|
ChatMember,
|
||||||
Message as MessageType,
|
Message as MessageType,
|
||||||
MutationCreate_MessageArgs
|
MutationCreate_MessageArgs
|
||||||
} from '../../../graphql/schema/chat.gen'
|
} from '~/graphql/schema/chat.gen'
|
||||||
import type { Author } from '../../../graphql/schema/core.gen'
|
import type { Author } from '~/graphql/schema/core.gen'
|
||||||
import SimplifiedEditor from '../../Editor/SimplifiedEditor'
|
import SimplifiedEditor from '../../Editor/SimplifiedEditor'
|
||||||
import DialogCard from '../../Inbox/DialogCard'
|
import DialogCard from '../../Inbox/DialogCard'
|
||||||
import DialogHeader from '../../Inbox/DialogHeader'
|
import DialogHeader from '../../Inbox/DialogHeader'
|
||||||
|
@ -19,9 +22,6 @@ import { Message } from '../../Inbox/Message'
|
||||||
import MessagesFallback from '../../Inbox/MessagesFallback'
|
import MessagesFallback from '../../Inbox/MessagesFallback'
|
||||||
import Search from '../../Inbox/Search'
|
import Search from '../../Inbox/Search'
|
||||||
import { Modal } from '../../Nav/Modal'
|
import { Modal } from '../../Nav/Modal'
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { InviteMembers } from '../../_shared/InviteMembers'
|
|
||||||
import { Popover } from '../../_shared/Popover'
|
|
||||||
|
|
||||||
import { useSearchParams } from '@solidjs/router'
|
import { useSearchParams } from '@solidjs/router'
|
||||||
import styles from './Inbox.module.scss'
|
import styles from './Inbox.module.scss'
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { For, Show, createEffect, createSignal, on } from 'solid-js'
|
import { For, Show, createEffect, createSignal, on } from 'solid-js'
|
||||||
|
|
||||||
import { FollowsFilter, useFollowing } from '../../../context/following'
|
import { Loading } from '~/components/_shared/Loading'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { SearchField } from '~/components/_shared/SearchField'
|
||||||
import { Author, Topic } from '../../../graphql/schema/core.gen'
|
import { FollowsFilter, useFollowing } from '~/context/following'
|
||||||
import { dummyFilter } from '../../../utils/dummyFilter'
|
import { useLocalize } from '~/context/localize'
|
||||||
import { isAuthor } from '../../../utils/isAuthor'
|
import { Author, Topic } from '~/graphql/schema/core.gen'
|
||||||
|
import { dummyFilter } from '~/utils/dummyFilter'
|
||||||
|
import { isAuthor } from '~/utils/isAuthor'
|
||||||
import { AuthorBadge } from '../../Author/AuthorBadge'
|
import { AuthorBadge } from '../../Author/AuthorBadge'
|
||||||
import { ProfileSettingsNavigation } from '../../Nav/ProfileSettingsNavigation'
|
import { ProfileSettingsNavigation } from '../../Nav/ProfileSettingsNavigation'
|
||||||
import { TopicBadge } from '../../Topic/TopicBadge'
|
import { TopicBadge } from '../../Topic/TopicBadge'
|
||||||
import { Loading } from '../../_shared/Loading'
|
|
||||||
import { SearchField } from '../../_shared/SearchField'
|
|
||||||
|
|
||||||
import styles from '../../../pages/profile/Settings.module.scss'
|
import styles from '../../../pages/profile/Settings.module.scss'
|
||||||
import stylesSettings from '../../../styles/FeedSettings.module.scss'
|
import stylesSettings from '../../../styles/FeedSettings.module.scss'
|
||||||
|
|
|
@ -2,17 +2,17 @@ import { clsx } from 'clsx'
|
||||||
import { Show, createEffect, createMemo, createSignal, lazy, onMount } from 'solid-js'
|
import { Show, createEffect, createMemo, createSignal, lazy, onMount } from 'solid-js'
|
||||||
import { createStore } from 'solid-js/store'
|
import { createStore } from 'solid-js/store'
|
||||||
|
|
||||||
|
import { Button } from '~/components/_shared/Button'
|
||||||
|
import { Icon } from '~/components/_shared/Icon'
|
||||||
|
import { Image } from '~/components/_shared/Image'
|
||||||
|
import { ShoutForm, useEditorContext } from '~/context/editor'
|
||||||
|
import { useLocalize } from '~/context/localize'
|
||||||
|
import { useSession } from '~/context/session'
|
||||||
|
import { useTopics } from '~/context/topics'
|
||||||
import { useSnackbar, useUI } from '~/context/ui'
|
import { useSnackbar, useUI } from '~/context/ui'
|
||||||
import { ShoutForm, useEditorContext } from '../../../context/editor'
|
import { Topic } from '~/graphql/schema/core.gen'
|
||||||
import { useLocalize } from '../../../context/localize'
|
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
import { useTopics } from '../../../context/topics'
|
|
||||||
import { Topic } from '../../../graphql/schema/core.gen'
|
|
||||||
import { TopicSelect, UploadModalContent } from '../../Editor'
|
import { TopicSelect, UploadModalContent } from '../../Editor'
|
||||||
import { Modal } from '../../Nav/Modal'
|
import { Modal } from '../../Nav/Modal'
|
||||||
import { Button } from '../../_shared/Button'
|
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { Image } from '../../_shared/Image'
|
|
||||||
|
|
||||||
import { useNavigate } from '@solidjs/router'
|
import { useNavigate } from '@solidjs/router'
|
||||||
import { UploadedFile } from '~/types/upload'
|
import { UploadedFile } from '~/types/upload'
|
||||||
|
@ -20,7 +20,7 @@ import stylesBeside from '../../Feed/Beside.module.scss'
|
||||||
import styles from './PublishSettings.module.scss'
|
import styles from './PublishSettings.module.scss'
|
||||||
|
|
||||||
const SimplifiedEditor = lazy(() => import('../../Editor/SimplifiedEditor'))
|
const SimplifiedEditor = lazy(() => import('../../Editor/SimplifiedEditor'))
|
||||||
const GrowingTextarea = lazy(() => import('../../_shared/GrowingTextarea/GrowingTextarea'))
|
const GrowingTextarea = lazy(() => import('~/components/_shared/GrowingTextarea/GrowingTextarea'))
|
||||||
const DESCRIPTION_MAX_LENGTH = 400
|
const DESCRIPTION_MAX_LENGTH = 400
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import { For, Show, createSignal, onMount } from 'solid-js'
|
import { For, Show, createSignal, onMount } from 'solid-js'
|
||||||
|
|
||||||
import { useSearchParams } from '@solidjs/router'
|
import { useSearchParams } from '@solidjs/router'
|
||||||
import { useFeed } from '../../context/feed'
|
import { useFeed } from '~/context/feed'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '~/context/localize'
|
||||||
import type { SearchResult } from '../../graphql/schema/core.gen'
|
import type { SearchResult } from '~/graphql/schema/core.gen'
|
||||||
import { restoreScrollPosition, saveScrollPosition } from '../../utils/scroll'
|
import { restoreScrollPosition, saveScrollPosition } from '~/utils/scroll'
|
||||||
import { ArticleCard } from '../Feed/ArticleCard'
|
import { ArticleCard } from '../Feed/ArticleCard'
|
||||||
|
|
||||||
import '../../styles/Search.scss'
|
import '../../styles/Search.scss'
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user