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 { 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 { Topic } from '../../../graphql/schema/core.gen'
|
||||
import { CardTopic } from '../../Feed/CardTopic'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Image } from '../../_shared/Image'
|
||||
|
||||
import styles from './AudioHeader.module.scss'
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { Show, createSignal } from 'solid-js'
|
||||
import { useOutsideClickHandler } from '../../../utils/useOutsideClickHandler'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { useOutsideClickHandler } from '~/utils/useOutsideClickHandler'
|
||||
|
||||
import { MediaItem } from '~/types/mediaitem'
|
||||
import styles from './AudioPlayer.module.scss'
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
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 { useLocalize } from '../../../context/localize'
|
||||
import { getDescription } from '../../../utils/meta'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Popover } from '../../_shared/Popover'
|
||||
import { getDescription } from '~/utils/meta'
|
||||
import { SharePopup, getShareUrl } from '../SharePopup'
|
||||
|
||||
import styles from './AudioPlayer.module.scss'
|
||||
|
||||
const SimplifiedEditor = lazy(() => import('../../Editor/SimplifiedEditor'))
|
||||
const GrowingTextarea = lazy(() => import('../../_shared/GrowingTextarea/GrowingTextarea'))
|
||||
const GrowingTextarea = lazy(() => import('~/components/_shared/GrowingTextarea/GrowingTextarea'))
|
||||
|
||||
type Props = {
|
||||
media: MediaItem[]
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
import { A } from '@solidjs/router'
|
||||
import { clsx } from 'clsx'
|
||||
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 { useLocalize } from '~/context/localize'
|
||||
import { useReactions } from '~/context/reactions'
|
||||
import { useSession } from '~/context/session'
|
||||
import { useSnackbar, useUI } from '~/context/ui'
|
||||
import deleteReactionMutation from '~/graphql/mutation/core/reaction-destroy'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useReactions } from '../../../context/reactions'
|
||||
import { useSession } from '../../../context/session'
|
||||
import {
|
||||
Author,
|
||||
MutationCreate_ReactionArgs,
|
||||
MutationUpdate_ReactionArgs,
|
||||
Reaction,
|
||||
ReactionKind
|
||||
} from '../../../graphql/schema/core.gen'
|
||||
} from '~/graphql/schema/core.gen'
|
||||
import { AuthorLink } from '../../Author/AuthorLink'
|
||||
import { Userpic } from '../../Author/Userpic'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { ShowIfAuthenticated } from '../../_shared/ShowIfAuthenticated'
|
||||
import { CommentDate } from '../CommentDate'
|
||||
import { CommentRatingControl } from '../CommentRatingControl'
|
||||
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 { useLocalize } from '../../../context/localize'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
|
||||
import styles from './CommentDate.module.scss'
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@ import { clsx } from 'clsx'
|
|||
import { createMemo } from 'solid-js'
|
||||
|
||||
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 { useLocalize } from '../../context/localize'
|
||||
import { useReactions } from '../../context/reactions'
|
||||
import { useSession } from '../../context/session'
|
||||
import { Reaction, ReactionKind } from '../../graphql/schema/core.gen'
|
||||
import { Reaction, ReactionKind } from '~/graphql/schema/core.gen'
|
||||
import { Popup } from '../_shared/Popup'
|
||||
import { VotersList } from '../_shared/VotersList'
|
||||
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { For, Show, createMemo, createSignal, lazy, onMount } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useReactions } from '../../context/reactions'
|
||||
import { useSession } from '../../context/session'
|
||||
import { Author, Reaction, ReactionKind, ReactionSort } from '../../graphql/schema/core.gen'
|
||||
import { byCreated, byStat } from '../../utils/sortby'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useReactions } from '~/context/reactions'
|
||||
import { useSession } from '~/context/session'
|
||||
import { Author, Reaction, ReactionKind, ReactionSort } from '~/graphql/schema/core.gen'
|
||||
import { byCreated, byStat } from '~/utils/sortby'
|
||||
import { Button } from '../_shared/Button'
|
||||
import { ShowIfAuthenticated } from '../_shared/ShowIfAuthenticated'
|
||||
|
||||
import { Comment } from './Comment'
|
||||
|
||||
import { SortFunction } from '~/context/authors'
|
||||
import { useFeed } from '../../context/feed'
|
||||
import { useFeed } from '~/context/feed'
|
||||
import styles from './Article.module.scss'
|
||||
|
||||
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 { 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 type { Author, Maybe, Shout, Topic } from '~/graphql/schema/core.gen'
|
||||
import { MediaItem } from '~/types/mediaitem'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useReactions } from '../../context/reactions'
|
||||
import { useSession } from '../../context/session'
|
||||
import type { Author, Maybe, Shout, Topic } from '../../graphql/schema/core.gen'
|
||||
import { capitalize } from '../../utils/capitalize'
|
||||
import { getImageUrl, getOpenGraphImageUrl } from '../../utils/getImageUrl'
|
||||
import { getDescription, getKeywords } from '../../utils/meta'
|
||||
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 { CardTopic } from '../Feed/CardTopic'
|
||||
import { FeedArticlePopup } from '../Feed/FeedArticlePopup'
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { Show, createMemo, createSignal } from 'solid-js'
|
||||
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 { useLocalize } from '../../context/localize'
|
||||
import { useReactions } from '../../context/reactions'
|
||||
import { useSession } from '../../context/session'
|
||||
import { ReactionKind, Shout } from '../../graphql/schema/core.gen'
|
||||
import { ReactionKind, Shout } from '~/graphql/schema/core.gen'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
import { Popup } from '../_shared/Popup'
|
||||
import { VotersList } from '../_shared/VotersList'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { useSearchParams } from '@solidjs/router'
|
||||
import { JSX, Show, createEffect, createMemo, on } from 'solid-js'
|
||||
import { useSession } from '~/context/session'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { useSession } from '../../context/session'
|
||||
|
||||
type Props = {
|
||||
children: JSX.Element
|
||||
|
|
|
@ -2,18 +2,18 @@ import { clsx } from 'clsx'
|
|||
import { Match, Show, Switch, createEffect, createMemo, createSignal, on } from 'solid-js'
|
||||
|
||||
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 { useFollowing } from '../../../context/following'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
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 { translit } from '~/utils/ru2en'
|
||||
import { isCyrillic } from '~/utils/translate'
|
||||
import { Userpic } from '../Userpic'
|
||||
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 { For, Show, createEffect, createMemo, createSignal, onMount } from 'solid-js'
|
||||
import { FollowsFilter, useFollowing } from '../../../context/following'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
import { FollowingEntity, Topic } from '../../../graphql/schema/core.gen'
|
||||
import { isAuthor } from '../../../utils/isAuthor'
|
||||
import { translit } from '../../../utils/ru2en'
|
||||
import { isCyrillic } from '../../../utils/translate'
|
||||
import { Button } from '~/components/_shared/Button'
|
||||
import { FollowingCounters } from '~/components/_shared/FollowingCounters/FollowingCounters'
|
||||
import { ShowOnlyOnClient } from '~/components/_shared/ShowOnlyOnClient'
|
||||
import { FollowsFilter, useFollowing } from '~/context/following'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
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 { Modal } from '../../Nav/Modal'
|
||||
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 { Userpic } from '../Userpic'
|
||||
|
||||
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'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { createMemo } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { Author } from '../../../graphql/schema/core.gen'
|
||||
import { capitalize } from '../../../utils/capitalize'
|
||||
import { translit } from '../../../utils/ru2en'
|
||||
import { isCyrillic } from '../../../utils/translate'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { Author } from '~/graphql/schema/core.gen'
|
||||
import { capitalize } from '~/utils/capitalize'
|
||||
import { translit } from '~/utils/ru2en'
|
||||
import { isCyrillic } from '~/utils/translate'
|
||||
import { Userpic } from '../Userpic'
|
||||
|
||||
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 { 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 { createMemo } from 'solid-js'
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { Show, createMemo } from 'solid-js'
|
||||
|
||||
import { ConditionalWrapper } from '../../_shared/ConditionalWrapper'
|
||||
import { Image } from '../../_shared/Image'
|
||||
import { Loading } from '../../_shared/Loading'
|
||||
import { ConditionalWrapper } from '~/components/_shared/ConditionalWrapper'
|
||||
import { Image } from '~/components/_shared/Image'
|
||||
import { Loading } from '~/components/_shared/Loading'
|
||||
|
||||
import styles from './Userpic.module.scss'
|
||||
|
||||
|
|
|
@ -2,9 +2,9 @@ import { clsx } from 'clsx'
|
|||
import { For, Show, createEffect, createSignal, on } from 'solid-js'
|
||||
import { useAuthors } from '~/context/authors'
|
||||
import { useGraphQL } from '~/context/graphql'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import loadAuthorsByQuery from '~/graphql/query/core/authors-load-by'
|
||||
import { Author } from '~/graphql/schema/core.gen'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { AuthorBadge } from '../Author/AuthorBadge'
|
||||
import { InlineLoader } from '../InlineLoader'
|
||||
import { Button } from '../_shared/Button'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { clsx } from 'clsx'
|
||||
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { Image } from '../_shared/Image'
|
||||
|
||||
import styles from './Banner.module.scss'
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { createSignal, onMount } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSnackbar, useUI } from '~/context/ui'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
|
||||
import styles from './Donate.module.scss'
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useLocalize } from '~/context/localize'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { Button } from '../_shared/Button'
|
||||
|
||||
export const Feedback = () => {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { For, createSignal, onMount } from 'solid-js'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
import { Newsletter } from '../_shared/Newsletter'
|
||||
import styles from './Footer.module.scss'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useLocalize } from '~/context/localize'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
|
||||
import { useSearchParams } from '@solidjs/router'
|
||||
import styles from './Hero.module.scss'
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { clsx } from 'clsx'
|
||||
|
||||
import { useLocalize } from '~/context/localize'
|
||||
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 { A } from '@solidjs/router'
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { Show } from 'solid-js'
|
||||
|
||||
import { DropArea } from '~/components/_shared/DropArea'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
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 { DropArea } from '../../_shared/DropArea'
|
||||
|
||||
// import { Buffer } from 'node:buffer'
|
||||
import styles from './AudioUploader.module.scss'
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
import { clsx } from 'clsx'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { Loading } from '../../_shared/Loading'
|
||||
|
||||
import { Loading } from '~/components/_shared/Loading'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import styles from './AutoSaveNotice.module.scss'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import type { Editor } from '@tiptap/core'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Popover } from '../../_shared/Popover'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { Popover } from '~/components/_shared/Popover'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
|
||||
import styles from './BubbleMenu.module.scss'
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
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 { useLocalize } from '../../../context/localize'
|
||||
import { renderUploadedImage } from '../../../utils/renderUploadedImage'
|
||||
import { renderUploadedImage } from '~/utils/renderUploadedImage'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Popover } from '../../_shared/Popover'
|
||||
import { UploadModalContent } from '../UploadModalContent'
|
||||
|
||||
import { useUI } from '~/context/ui'
|
||||
|
|
|
@ -3,8 +3,8 @@ import type { Editor } from '@tiptap/core'
|
|||
import { clsx } from 'clsx'
|
||||
import { For, Show, createSignal } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
|
||||
import styles from './BubbleMenu.module.scss'
|
||||
|
||||
|
|
|
@ -30,11 +30,11 @@ import { createTiptapEditor, useEditorHTML } from 'solid-tiptap'
|
|||
import uniqolor from 'uniqolor'
|
||||
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 { useEditorContext } from '../../context/editor'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useSession } from '../../context/session'
|
||||
import { handleImageUpload } from '../../utils/handleImageUpload'
|
||||
import { handleImageUpload } from '~/utils/handleImageUpload'
|
||||
|
||||
import { BlockquoteBubbleMenu, FigureBubbleMenu, IncutBubbleMenu } from './BubbleMenu'
|
||||
import { EditorFloatingMenu } from './EditorFloatingMenu'
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
import type { Editor } from '@tiptap/core'
|
||||
import { Show, createEffect, createSignal } from 'solid-js'
|
||||
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { UploadedFile } from '~/types/upload'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { renderUploadedImage } from '../../../utils/renderUploadedImage'
|
||||
import { useOutsideClickHandler } from '../../../utils/useOutsideClickHandler'
|
||||
import { renderUploadedImage } from '~/utils/renderUploadedImage'
|
||||
import { useOutsideClickHandler } from '~/utils/useOutsideClickHandler'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { InlineForm } from '../InlineForm'
|
||||
import { UploadModalContent } from '../UploadModalContent'
|
||||
import { Menu } from './Menu'
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { createSignal, onMount } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Popover } from '../../_shared/Popover'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { Popover } from '~/components/_shared/Popover'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
|
||||
import styles from './InlineForm.module.scss'
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { Editor } from '@tiptap/core'
|
||||
import { createEditorTransaction } from 'solid-tiptap'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { validateUrl } from '../../../utils/validateUrl'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { validateUrl } from '~/utils/validateUrl'
|
||||
import { InlineForm } from '../InlineForm'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -3,14 +3,14 @@ import { Show, createSignal } from 'solid-js'
|
|||
import { useEditorHTML } from 'solid-tiptap'
|
||||
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 { useEditorContext } from '../../../context/editor'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
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 { useEscKeyDownHandler } from '~/utils/useEscKeyDownHandler'
|
||||
import { useOutsideClickHandler } from '~/utils/useOutsideClickHandler'
|
||||
|
||||
import { A } from '@solidjs/router'
|
||||
import styles from './Panel.module.scss'
|
||||
|
|
|
@ -20,9 +20,9 @@ import {
|
|||
useEditorIsFocused
|
||||
} from 'solid-tiptap'
|
||||
|
||||
import { useEditorContext } from '~/context/editor'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { UploadedFile } from '~/types/upload'
|
||||
import { useEditorContext } from '../../context/editor'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { Modal } from '../Nav/Modal'
|
||||
import { Button } from '../_shared/Button'
|
||||
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 { createEditorTransaction } from 'solid-tiptap'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Popover } from '../../_shared/Popover'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { Popover } from '~/components/_shared/Popover'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { InsertLinkForm } from '../InsertLinkForm'
|
||||
|
||||
import styles from './TextBubbleMenu.module.scss'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { For, Show, createSignal } from 'solid-js'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import type { Topic } from '~/graphql/schema/core.gen'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import styles from './TopicSelect.module.scss'
|
||||
|
||||
type TopicSelectProps = {
|
||||
|
|
|
@ -2,15 +2,15 @@ import { UploadFile, createDropzone, createFileUploader } from '@solid-primitive
|
|||
import { clsx } from 'clsx'
|
||||
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 { UploadedFile } from '~/types/upload'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
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 { handleImageUpload } from '~/utils/handleImageUpload'
|
||||
import { verifyImg } from '~/utils/verifyImg'
|
||||
import { InlineForm } from '../InlineForm'
|
||||
|
||||
import styles from './UploadModalContent.module.scss'
|
||||
|
|
|
@ -2,11 +2,11 @@ import { createDropzone } from '@solid-primitives/upload'
|
|||
import { clsx } from 'clsx'
|
||||
import { For, Show, createSignal } from 'solid-js'
|
||||
|
||||
import { VideoPlayer } from '~/components/_shared/VideoPlayer'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSnackbar } from '~/context/ui'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { composeMediaItems } from '../../../utils/composeMediaItems'
|
||||
import { validateUrl } from '../../../utils/validateUrl'
|
||||
import { VideoPlayer } from '../../_shared/VideoPlayer'
|
||||
import { composeMediaItems } from '~/utils/composeMediaItems'
|
||||
import { validateUrl } from '~/utils/validateUrl'
|
||||
|
||||
import { MediaItem } from '~/types/mediaitem'
|
||||
import styles from './VideoUploader.module.scss'
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
import { A, useNavigate, useSearchParams } from '@solidjs/router'
|
||||
import { clsx } from 'clsx'
|
||||
import { Accessor, For, Show, createMemo, createSignal } from 'solid-js'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
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 { Icon } from '~/components/_shared/Icon'
|
||||
import { Image } from '~/components/_shared/Image'
|
||||
import { Popover } from '~/components/_shared/Popover'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
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 { SharePopup, getShareUrl } from '../../Article/SharePopup'
|
||||
import { ShoutRatingControl } from '../../Article/ShoutRatingControl'
|
||||
import { AuthorLink } from '../../Author/AuthorLink'
|
||||
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 { FeedArticlePopup } from '../FeedArticlePopup'
|
||||
import styles from './ArticleCard.module.scss'
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
// 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 { For, Show } from 'solid-js'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { AuthorBadge } from '../Author/AuthorBadge'
|
||||
import { TopicCard } from '../Topic/Card'
|
||||
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 { Show, createSignal } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Popup } from '../../_shared/Popup'
|
||||
import { SoonChip } from '../../_shared/SoonChip'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { Popup } from '~/components/_shared/Popup'
|
||||
import { SoonChip } from '~/components/_shared/SoonChip'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
|
||||
import styles from './FeedArticlePopup.module.scss'
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
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'
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { For, Show, createMemo } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import styles from './Placeholder.module.scss'
|
||||
|
||||
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'
|
||||
|
||||
|
|
|
@ -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'
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
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'
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import type { Shout } from '../../graphql/schema/core.gen'
|
||||
import type { Shout } from '~/graphql/schema/core.gen'
|
||||
|
||||
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'
|
||||
|
||||
|
|
|
@ -2,12 +2,12 @@ import { clsx } from 'clsx'
|
|||
import { For, Show, createSignal } from 'solid-js'
|
||||
|
||||
import { A, useMatch } from '@solidjs/router'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { useFeed } from '~/context/feed'
|
||||
import { useFollowing } from '../../../context/following'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { Author } from '../../../graphql/schema/core.gen'
|
||||
import { useFollowing } from '~/context/following'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { Author } from '~/graphql/schema/core.gen'
|
||||
import { Userpic } from '../../Author/Userpic'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import styles from './Sidebar.module.scss'
|
||||
|
||||
export const Sidebar = () => {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { For, createEffect, createSignal } from 'solid-js'
|
||||
|
||||
import { useInbox } from '~/context/inbox'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { useInbox } from '../../context/inbox'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import type { Author } from '../../graphql/schema/core.gen'
|
||||
import type { Author } from '~/graphql/schema/core.gen'
|
||||
import InviteUser from './InviteUser'
|
||||
|
||||
import styles from './CreateModalContent.module.scss'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { Show, createMemo } from 'solid-js'
|
||||
|
||||
import { getImageUrl } from '../../utils/getImageUrl'
|
||||
import { getImageUrl } from '~/utils/getImageUrl'
|
||||
import './DialogCard.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 { Match, Show, Switch, createMemo } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { Author } from '../../graphql/schema/core.gen'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { Author } from '~/graphql/schema/core.gen'
|
||||
import { AuthorBadge } from '../Author/AuthorBadge'
|
||||
|
||||
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'
|
||||
|
||||
|
|
|
@ -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 { 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'
|
||||
|
||||
|
|
|
@ -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 { Show, createSignal } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
|
||||
import DialogAvatar from './DialogAvatar'
|
||||
|
|
|
@ -2,7 +2,7 @@ import type { PopupProps } from '../_shared/Popup'
|
|||
|
||||
import { For, createEffect, createSignal } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { Popup } from '../_shared/Popup'
|
||||
|
||||
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 styles from './InlineLoader.module.scss'
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { JSX, Show, createSignal } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
import { PasswordField } from './PasswordField'
|
||||
|
||||
import { useSearchParams } from '@solidjs/router'
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { Show, createEffect, createSignal } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
|
||||
import { email, setEmail } from './sharedLogic'
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { JSX, Show, createSignal } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import { useSnackbar, useUI } from '~/context/ui'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
import { validateEmail } from '../../../utils/validateEmail'
|
||||
import { validateEmail } from '~/utils/validateEmail'
|
||||
|
||||
import { AuthModalHeader } from './AuthModalHeader'
|
||||
import { PasswordField } from './PasswordField'
|
||||
|
|
|
@ -3,10 +3,10 @@ import type { JSX } from 'solid-js'
|
|||
import { Show, createMemo, createSignal } from 'solid-js'
|
||||
|
||||
import { useSearchParams } from '@solidjs/router'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
import { validateEmail } from '../../../utils/validateEmail'
|
||||
import { validateEmail } from '~/utils/validateEmail'
|
||||
import { AuthModalHeader } from './AuthModalHeader'
|
||||
import { PasswordField } from './PasswordField'
|
||||
import { SocialProviders } from './SocialProviders'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { clsx } from 'clsx'
|
||||
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
|
||||
import styles from './AuthModal.module.scss'
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { JSX, Show, createSignal, onMount } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
import { validateEmail } from '../../../utils/validateEmail'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import { validateEmail } from '~/utils/validateEmail'
|
||||
import { email, setEmail } from './sharedLogic'
|
||||
|
||||
import { useSearchParams } from '@solidjs/router'
|
||||
|
|
|
@ -2,9 +2,9 @@ import { clsx } from 'clsx'
|
|||
import { Component, Show, createEffect, createMemo } from 'solid-js'
|
||||
import { Dynamic } from 'solid-js/web'
|
||||
|
||||
import { useLocalize } from '~/context/localize'
|
||||
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 { EmailConfirm } from './EmailConfirm'
|
||||
import { LoginForm } from './LoginForm'
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { useLocalize } from '../../../context/localize'
|
||||
import { useUI } from '../../../context/ui'
|
||||
import { Button } from '../../_shared/Button'
|
||||
import { Button } from '~/components/_shared/Button'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useUI } from '~/context/ui'
|
||||
|
||||
import styles from './ConfirmModal.module.scss'
|
||||
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
import { A, useLocation, useNavigate, useSearchParams } from '@solidjs/router'
|
||||
import { clsx } from 'clsx'
|
||||
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 { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
import { useTopics } from '../../../context/topics'
|
||||
import type { Topic } from '../../../graphql/schema/core.gen'
|
||||
import { getRandomTopicsFromArray } from '../../../utils/getRandomTopicsFromArray'
|
||||
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 { Icon } from '../../_shared/Icon'
|
||||
import { Newsletter } from '../../_shared/Newsletter'
|
||||
import { AuthModal } from '../AuthModal'
|
||||
import { ConfirmModal } from '../ConfirmModal'
|
||||
import { HeaderAuth } from '../HeaderAuth'
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import { clsx } from 'clsx'
|
||||
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 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 { Button } from '../_shared/Button'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import { clsx } from 'clsx'
|
||||
import type { JSX } from 'solid-js'
|
||||
import { Show } from 'solid-js'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { isPortrait } from '~/utils/media-query'
|
||||
import { useEscKeyDownHandler } from '../../../utils/useEscKeyDownHandler'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { useEscKeyDownHandler } from '~/utils/useEscKeyDownHandler'
|
||||
import styles from './Modal.module.scss'
|
||||
|
||||
interface Props {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { createMemo } from 'solid-js'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import type { Author } from '~/graphql/schema/core.gen'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useSession } from '../../context/session'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
import type { PopupProps } from '../_shared/Popup'
|
||||
import { Popup } from '../_shared/Popup'
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { clsx } from 'clsx'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
|
||||
import { useLocation } from '@solidjs/router'
|
||||
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 { debounce } from 'throttle-debounce'
|
||||
|
||||
import { Button } from '~/components/_shared/Button'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { useFeed } from '~/context/feed'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { restoreScrollPosition, saveScrollPosition } from '../../../utils/scroll'
|
||||
import { byScore } from '../../../utils/sortby'
|
||||
import { restoreScrollPosition, saveScrollPosition } from '~/utils/scroll'
|
||||
import { byScore } from '~/utils/sortby'
|
||||
import { FEED_PAGE_SIZE } from '../../Views/Feed/Feed'
|
||||
import { Button } from '../../_shared/Button'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
|
||||
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'
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
|
||||
import { A, useMatch } from '@solidjs/router'
|
||||
import styles from './Topics.module.scss'
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { clsx } from 'clsx'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
|
||||
import styles from './EmptyMessage.module.scss'
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { For, Show } from 'solid-js'
|
||||
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useNotifications } from '../../../context/notifications'
|
||||
import { Author, NotificationGroup as Group } from '../../../graphql/schema/core.gen'
|
||||
import { GroupAvatar } from '../../_shared/GroupAvatar'
|
||||
import { TimeAgo } from '../../_shared/TimeAgo'
|
||||
import { GroupAvatar } from '~/components/_shared/GroupAvatar'
|
||||
import { TimeAgo } from '~/components/_shared/TimeAgo'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useNotifications } from '~/context/notifications'
|
||||
import { Author, NotificationGroup as Group } from '~/graphql/schema/core.gen'
|
||||
|
||||
import { A, useNavigate, useSearchParams } from '@solidjs/router'
|
||||
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 { throttle } from 'throttle-debounce'
|
||||
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { PAGE_SIZE, useNotifications } from '../../context/notifications'
|
||||
import { useSession } from '../../context/session'
|
||||
import { useEscKeyDownHandler } from '../../utils/useEscKeyDownHandler'
|
||||
import { useOutsideClickHandler } from '../../utils/useOutsideClickHandler'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { PAGE_SIZE, useNotifications } from '~/context/notifications'
|
||||
import { useSession } from '~/context/session'
|
||||
import { useEscKeyDownHandler } from '~/utils/useEscKeyDownHandler'
|
||||
import { useOutsideClickHandler } from '~/utils/useOutsideClickHandler'
|
||||
import { Button } from '../_shared/Button'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
|
||||
|
|
|
@ -14,16 +14,16 @@ import {
|
|||
onMount
|
||||
} from 'solid-js'
|
||||
import { createStore } from 'solid-js/store'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useProfile } from '../../context/profile'
|
||||
import { useSession } from '../../context/session'
|
||||
import { useSnackbar, useUI } from '../../context/ui'
|
||||
import { InputMaybe, ProfileInput } from '../../graphql/schema/core.gen'
|
||||
import { clone } from '../../utils/clone'
|
||||
import { getImageUrl } from '../../utils/getImageUrl'
|
||||
import { handleImageUpload } from '../../utils/handleImageUpload'
|
||||
import { profileSocialLinks } from '../../utils/profileSocialLinks'
|
||||
import { validateUrl } from '../../utils/validateUrl'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useProfile } from '~/context/profile'
|
||||
import { useSession } from '~/context/session'
|
||||
import { useSnackbar, useUI } from '~/context/ui'
|
||||
import { InputMaybe, ProfileInput } from '~/graphql/schema/core.gen'
|
||||
import { clone } from '~/utils/clone'
|
||||
import { getImageUrl } from '~/utils/getImageUrl'
|
||||
import { handleImageUpload } from '~/utils/handleImageUpload'
|
||||
import { profileSocialLinks } from '~/utils/profileSocialLinks'
|
||||
import { validateUrl } from '~/utils/validateUrl'
|
||||
import { Modal } from '../Nav/Modal'
|
||||
import { ProfileSettingsNavigation } from '../Nav/ProfileSettingsNavigation'
|
||||
import { Button } from '../_shared/Button'
|
||||
|
@ -34,8 +34,8 @@ import { Popover } from '../_shared/Popover'
|
|||
import { SocialNetworkInput } from '../_shared/SocialNetworkInput'
|
||||
import styles from './Settings.module.scss'
|
||||
|
||||
const SimplifiedEditor = lazy(() => import('../../components/Editor/SimplifiedEditor'))
|
||||
const GrowingTextarea = lazy(() => import('../../components/_shared/GrowingTextarea/GrowingTextarea'))
|
||||
const SimplifiedEditor = lazy(() => import('~/components/Editor/SimplifiedEditor'))
|
||||
const GrowingTextarea = lazy(() => import('~/components/_shared/GrowingTextarea/GrowingTextarea'))
|
||||
|
||||
function filterNulls(arr: InputMaybe<string>[]): string[] {
|
||||
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 { debounce, throttle } from 'throttle-debounce'
|
||||
|
||||
import { useLocalize } from '~/context/localize'
|
||||
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 styles from './TableOfContents.module.scss'
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { Show, createEffect, createMemo, createSignal, on } from 'solid-js'
|
||||
|
||||
import { useFollowing } from '../../context/following'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useSession } from '../../context/session'
|
||||
import { Author, FollowingEntity, type Topic } from '../../graphql/schema/core.gen'
|
||||
import { capitalize } from '../../utils/capitalize'
|
||||
import { useFollowing } from '~/context/following'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import { Author, FollowingEntity, type Topic } from '~/graphql/schema/core.gen'
|
||||
import { capitalize } from '~/utils/capitalize'
|
||||
import { CardTopic } from '../Feed/CardTopic'
|
||||
import { CheckButton } from '../_shared/CheckButton'
|
||||
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 './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 { Show, createEffect, createSignal } from 'solid-js'
|
||||
|
||||
import { useFollowing } from '../../context/following'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useSession } from '../../context/session'
|
||||
import { FollowingEntity } from '../../graphql/schema/core.gen'
|
||||
import { useFollowing } from '~/context/following'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import { FollowingEntity } from '~/graphql/schema/core.gen'
|
||||
import { Button } from '../_shared/Button'
|
||||
|
||||
import { FollowingCounters } from '../_shared/FollowingCounters/FollowingCounters'
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
import { clsx } from 'clsx'
|
||||
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 { 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'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -2,18 +2,18 @@ import { Meta } from '@solidjs/meta'
|
|||
import { useSearchParams } from '@solidjs/router'
|
||||
import { clsx } from 'clsx'
|
||||
import { For, Show, createMemo, createSignal, onMount } from 'solid-js'
|
||||
import ruKeywords from '~/lib/locales/ru/keywords.json'
|
||||
import enKeywords from '~/lib/locales/ru/keywords.json'
|
||||
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 { 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 { 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 { authorLetterReduce, translateAuthor } from '../../../utils/translate'
|
||||
import { authorLetterReduce, translateAuthor } from '~/utils/translate'
|
||||
import { AuthorsList } from '../../AuthorsList'
|
||||
import { Loading } from '../../_shared/Loading'
|
||||
import { SearchField } from '../../_shared/SearchField'
|
||||
import styles from './AllAuthors.module.scss'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -2,18 +2,18 @@ import { Meta } from '@solidjs/meta'
|
|||
import { A, useSearchParams } from '@solidjs/router'
|
||||
import { clsx } from 'clsx'
|
||||
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 ruKeywords from '~/lib/locales/ru/keywords.json'
|
||||
import enKeywords from '~/lib/locales/ru/keywords.json'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import type { Topic } from '../../../graphql/schema/core.gen'
|
||||
import { capitalize } from '../../../utils/capitalize'
|
||||
import { dummyFilter } from '../../../utils/dummyFilter'
|
||||
import { getImageUrl } from '../../../utils/getImageUrl'
|
||||
import { scrollHandler } from '../../../utils/scroll'
|
||||
import type { Topic } from '~/graphql/schema/core.gen'
|
||||
import { capitalize } from '~/utils/capitalize'
|
||||
import { dummyFilter } from '~/utils/dummyFilter'
|
||||
import { getImageUrl } from '~/utils/getImageUrl'
|
||||
import { scrollHandler } from '~/utils/scroll'
|
||||
import { TopicBadge } from '../../Topic/TopicBadge'
|
||||
import { Loading } from '../../_shared/Loading'
|
||||
import { SearchField } from '../../_shared/SearchField'
|
||||
import styles from './AllTopics.module.scss'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -2,23 +2,24 @@ import { Meta, Title } from '@solidjs/meta'
|
|||
import { A, useLocation, useParams } from '@solidjs/router'
|
||||
import { clsx } from 'clsx'
|
||||
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 { useFeed } from '~/context/feed'
|
||||
import { useFollowing } from '~/context/following'
|
||||
import { useGraphQL } from '~/context/graphql'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { useFeed } from '../../../context/feed'
|
||||
import { useFollowing } from '../../../context/following'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
import loadShoutsQuery from '../../../graphql/query/core/articles-load-by'
|
||||
import getAuthorFollowersQuery from '../../../graphql/query/core/author-followers'
|
||||
import getAuthorFollowsQuery from '../../../graphql/query/core/author-follows'
|
||||
import loadReactionsBy from '../../../graphql/query/core/reactions-load-by'
|
||||
import type { Author, Reaction, Shout, Topic } from '../../../graphql/schema/core.gen'
|
||||
import { getImageUrl } from '../../../utils/getImageUrl'
|
||||
import { getDescription } from '../../../utils/meta'
|
||||
import { restoreScrollPosition, saveScrollPosition } from '../../../utils/scroll'
|
||||
import { byCreated } from '../../../utils/sortby'
|
||||
import { splitToPages } from '../../../utils/splitToPages'
|
||||
import loadShoutsQuery from '~/graphql/query/core/articles-load-by'
|
||||
import getAuthorFollowersQuery from '~/graphql/query/core/author-followers'
|
||||
import getAuthorFollowsQuery from '~/graphql/query/core/author-follows'
|
||||
import loadReactionsBy from '~/graphql/query/core/reactions-load-by'
|
||||
import type { Author, Reaction, Shout, Topic } from '~/graphql/schema/core.gen'
|
||||
import { getImageUrl } from '~/utils/getImageUrl'
|
||||
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 { Comment } from '../../Article/Comment'
|
||||
import { AuthorCard } from '../../Author/AuthorCard'
|
||||
|
@ -27,7 +28,6 @@ import { Placeholder } from '../../Feed/Placeholder'
|
|||
import { Row1 } from '../../Feed/Row1'
|
||||
import { Row2 } from '../../Feed/Row2'
|
||||
import { Row3 } from '../../Feed/Row3'
|
||||
import { Loading } from '../../_shared/Loading'
|
||||
import styles from './Author.module.scss'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -3,19 +3,19 @@ import deepEqual from 'fast-deep-equal'
|
|||
import { Show, createEffect, createSignal, on, onCleanup, onMount } from 'solid-js'
|
||||
import { createStore } from 'solid-js/store'
|
||||
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 { useLocalize } from '~/context/localize'
|
||||
import getMyShoutQuery from '~/graphql/query/core/article-my'
|
||||
import { ShoutForm, useEditorContext } from '../../../context/editor'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import type { Shout, Topic } from '../../../graphql/schema/core.gen'
|
||||
import { clone } from '../../../utils/clone'
|
||||
import { isDesktop } from '../../../utils/media-query'
|
||||
import type { Shout, Topic } from '~/graphql/schema/core.gen'
|
||||
import { clone } from '~/utils/clone'
|
||||
import { isDesktop } from '~/utils/media-query'
|
||||
import { Panel } from '../../Editor'
|
||||
import { AutoSaveNotice } from '../../Editor/AutoSaveNotice'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { TableOfContents } from '../../TableOfContents'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { InviteMembers } from '../../_shared/InviteMembers'
|
||||
import { PublishSettings } from '../PublishSettings'
|
||||
import styles from './EditView.module.scss'
|
||||
|
||||
|
|
|
@ -13,33 +13,33 @@ import {
|
|||
} from 'solid-js'
|
||||
import { createStore } from 'solid-js/store'
|
||||
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 { useLocalize } from '~/context/localize'
|
||||
import getMyShoutQuery from '~/graphql/query/core/article-my'
|
||||
import type { Shout, Topic } from '~/graphql/schema/core.gen'
|
||||
import { LayoutType } from '~/types/common'
|
||||
import { MediaItem } from '~/types/mediaitem'
|
||||
import { ShoutForm, useEditorContext } from '../../../context/editor'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import type { Shout, Topic } from '../../../graphql/schema/core.gen'
|
||||
import { clone } from '../../../utils/clone'
|
||||
import { getImageUrl } from '../../../utils/getImageUrl'
|
||||
import { isDesktop } from '../../../utils/media-query'
|
||||
import { slugify } from '../../../utils/slugify'
|
||||
import { clone } from '~/utils/clone'
|
||||
import { getImageUrl } from '~/utils/getImageUrl'
|
||||
import { isDesktop } from '~/utils/media-query'
|
||||
import { slugify } from '~/utils/slugify'
|
||||
import { Editor, Panel } from '../../Editor'
|
||||
import { AudioUploader } from '../../Editor/AudioUploader'
|
||||
import { AutoSaveNotice } from '../../Editor/AutoSaveNotice'
|
||||
import { VideoUploader } from '../../Editor/VideoUploader'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
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'
|
||||
|
||||
const SimplifiedEditor = lazy(() => import('../../Editor/SimplifiedEditor'))
|
||||
const GrowingTextarea = lazy(() => import('../../_shared/GrowingTextarea/GrowingTextarea'))
|
||||
const GrowingTextarea = lazy(() => import('~/components/_shared/GrowingTextarea/GrowingTextarea'))
|
||||
|
||||
type Props = {
|
||||
shout: Shout
|
||||
|
|
|
@ -2,19 +2,19 @@ import { clsx } from 'clsx'
|
|||
import { For, Show, createEffect, createSignal, on, onCleanup, onMount } from 'solid-js'
|
||||
|
||||
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 { useLocalize } from '~/context/localize'
|
||||
import getShoutsQuery from '~/graphql/query/core/articles-load-by'
|
||||
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 { useLocalize } from '../../../context/localize'
|
||||
import { LoadShoutsFilters, LoadShoutsOptions, Shout } from '../../../graphql/schema/core.gen'
|
||||
import { getUnixtime } from '../../../utils/getServerDate'
|
||||
import { restoreScrollPosition, saveScrollPosition } from '../../../utils/scroll'
|
||||
import { getUnixtime } from '~/utils/getServerDate'
|
||||
import { restoreScrollPosition, saveScrollPosition } from '~/utils/scroll'
|
||||
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'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -2,21 +2,26 @@ import { Meta } from '@solidjs/meta'
|
|||
import { A, createAsync, useLocation, useNavigate, useSearchParams } from '@solidjs/router'
|
||||
import { clsx } from 'clsx'
|
||||
import { For, Show, createMemo, createSignal, onMount } from 'solid-js'
|
||||
import { DropDown } from '~/components/_shared/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 { 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 { loadUnratedShouts } from '~/lib/api/private'
|
||||
import ruKeywords from '~/lib/locales/ru/keywords.json'
|
||||
import enKeywords from '~/lib/locales/ru/keywords.json'
|
||||
import { loadUnratedShouts } from '~/graphql/api/private'
|
||||
import type { Author, Reaction, Shout } from '~/graphql/schema/core.gen'
|
||||
import { FeedSearchParams } from '~/routes/feed/[...feed]'
|
||||
import { useAuthors } from '../../../context/authors'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
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 { getImageUrl } from '~/utils/getImageUrl'
|
||||
import { byCreated } from '~/utils/sortby'
|
||||
import { CommentDate } from '../../Article/CommentDate'
|
||||
import { getShareUrl } from '../../Article/SharePopup'
|
||||
import { AuthorBadge } from '../../Author/AuthorBadge'
|
||||
|
@ -27,11 +32,6 @@ import stylesTopic from '../../Feed/CardTopic.module.scss'
|
|||
import { Placeholder } from '../../Feed/Placeholder'
|
||||
import { Sidebar } from '../../Feed/Sidebar'
|
||||
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'
|
||||
|
||||
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'
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { clsx } from 'clsx'
|
||||
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
|
||||
import { useNavigate } from '@solidjs/router'
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
import { For, Show, createEffect, createMemo, createSignal, on } from 'solid-js'
|
||||
|
||||
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 { loadShouts } from '~/lib/api/public'
|
||||
import ruKeywords from '~/lib/locales/ru/keywords.json'
|
||||
import enKeywords from '~/lib/locales/ru/keywords.json'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useTopics } from '~/context/topics'
|
||||
import { loadShouts } from '~/graphql/api/public'
|
||||
import { Author, Shout, Topic } from '~/graphql/schema/core.gen'
|
||||
import { SHOUTS_PER_PAGE } from '~/routes/(home)'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import { useTopics } from '../../context/topics'
|
||||
import { Author, Shout, Topic } from '../../graphql/schema/core.gen'
|
||||
import { capitalize } from '../../utils/capitalize'
|
||||
import { splitToPages } from '../../utils/splitToPages'
|
||||
import { capitalize } from '~/utils/capitalize'
|
||||
import { splitToPages } from '~/utils/splitToPages'
|
||||
import Banner from '../Discours/Banner'
|
||||
import Hero from '../Discours/Hero'
|
||||
import { Beside } from '../Feed/Beside'
|
||||
|
|
|
@ -1,17 +1,20 @@
|
|||
import { clsx } from 'clsx'
|
||||
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 { useInbox } from '../../../context/inbox'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
import type {
|
||||
Chat,
|
||||
ChatMember,
|
||||
Message as MessageType,
|
||||
MutationCreate_MessageArgs
|
||||
} from '../../../graphql/schema/chat.gen'
|
||||
import type { Author } from '../../../graphql/schema/core.gen'
|
||||
} from '~/graphql/schema/chat.gen'
|
||||
import type { Author } from '~/graphql/schema/core.gen'
|
||||
import SimplifiedEditor from '../../Editor/SimplifiedEditor'
|
||||
import DialogCard from '../../Inbox/DialogCard'
|
||||
import DialogHeader from '../../Inbox/DialogHeader'
|
||||
|
@ -19,9 +22,6 @@ import { Message } from '../../Inbox/Message'
|
|||
import MessagesFallback from '../../Inbox/MessagesFallback'
|
||||
import Search from '../../Inbox/Search'
|
||||
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 styles from './Inbox.module.scss'
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { For, Show, createEffect, createSignal, on } from 'solid-js'
|
||||
|
||||
import { FollowsFilter, useFollowing } from '../../../context/following'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { Author, Topic } from '../../../graphql/schema/core.gen'
|
||||
import { dummyFilter } from '../../../utils/dummyFilter'
|
||||
import { isAuthor } from '../../../utils/isAuthor'
|
||||
import { Loading } from '~/components/_shared/Loading'
|
||||
import { SearchField } from '~/components/_shared/SearchField'
|
||||
import { FollowsFilter, useFollowing } from '~/context/following'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { Author, Topic } from '~/graphql/schema/core.gen'
|
||||
import { dummyFilter } from '~/utils/dummyFilter'
|
||||
import { isAuthor } from '~/utils/isAuthor'
|
||||
import { AuthorBadge } from '../../Author/AuthorBadge'
|
||||
import { ProfileSettingsNavigation } from '../../Nav/ProfileSettingsNavigation'
|
||||
import { TopicBadge } from '../../Topic/TopicBadge'
|
||||
import { Loading } from '../../_shared/Loading'
|
||||
import { SearchField } from '../../_shared/SearchField'
|
||||
|
||||
import styles from '../../../pages/profile/Settings.module.scss'
|
||||
import stylesSettings from '../../../styles/FeedSettings.module.scss'
|
||||
|
|
|
@ -2,17 +2,17 @@ import { clsx } from 'clsx'
|
|||
import { Show, createEffect, createMemo, createSignal, lazy, onMount } from 'solid-js'
|
||||
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 { ShoutForm, useEditorContext } from '../../../context/editor'
|
||||
import { useLocalize } from '../../../context/localize'
|
||||
import { useSession } from '../../../context/session'
|
||||
import { useTopics } from '../../../context/topics'
|
||||
import { Topic } from '../../../graphql/schema/core.gen'
|
||||
import { Topic } from '~/graphql/schema/core.gen'
|
||||
import { TopicSelect, UploadModalContent } from '../../Editor'
|
||||
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 { UploadedFile } from '~/types/upload'
|
||||
|
@ -20,7 +20,7 @@ import stylesBeside from '../../Feed/Beside.module.scss'
|
|||
import styles from './PublishSettings.module.scss'
|
||||
|
||||
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
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import { For, Show, createSignal, onMount } from 'solid-js'
|
||||
|
||||
import { useSearchParams } from '@solidjs/router'
|
||||
import { useFeed } from '../../context/feed'
|
||||
import { useLocalize } from '../../context/localize'
|
||||
import type { SearchResult } from '../../graphql/schema/core.gen'
|
||||
import { restoreScrollPosition, saveScrollPosition } from '../../utils/scroll'
|
||||
import { useFeed } from '~/context/feed'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import type { SearchResult } from '~/graphql/schema/core.gen'
|
||||
import { restoreScrollPosition, saveScrollPosition } from '~/utils/scroll'
|
||||
import { ArticleCard } from '../Feed/ArticleCard'
|
||||
|
||||
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