struct
This commit is contained in:
parent
77d8ca352a
commit
cad695dc59
|
@ -18,16 +18,16 @@ import { capitalize } from '~/utils/capitalize'
|
|||
import { AuthorBadge } from '../Author/AuthorBadge'
|
||||
import { CardTopic } from '../Feed/CardTopic'
|
||||
import { FeedArticlePopup } from '../Feed/FeedArticlePopup'
|
||||
import stylesHeader from '../Nav/Header/Header.module.scss'
|
||||
import { Modal } from '../Nav/Modal'
|
||||
import { TableOfContents } from '../TableOfContents'
|
||||
import stylesHeader from '../HeaderNav/Header.module.scss'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
import { Image } from '../_shared/Image'
|
||||
import { InviteMembers } from '../_shared/InviteMembers'
|
||||
import { Lightbox } from '../_shared/Lightbox'
|
||||
import { Modal } from '../_shared/Modal'
|
||||
import { Popover } from '../_shared/Popover'
|
||||
import { ShareModal } from '../_shared/ShareModal'
|
||||
import { ImageSwiper } from '../_shared/SolidSwiper'
|
||||
import { TableOfContents } from '../_shared/TableOfContents'
|
||||
import { VideoPlayer } from '../_shared/VideoPlayer'
|
||||
import styles from './Article.module.scss'
|
||||
import { AudioHeader } from './AudioHeader'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { clsx } from 'clsx'
|
||||
import { Show, createEffect, createSignal, on } from 'solid-js'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { Icon } from '../../../_shared/Icon'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import styles from './PasswordField.module.scss'
|
||||
|
||||
type Props = {
|
|
@ -1,7 +1,7 @@
|
|||
import { For } from 'solid-js'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import { Icon } from '../../../_shared/Icon'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import styles from './SocialProviders.module.scss'
|
||||
|
||||
export const PROVIDERS = ['facebook', 'google', 'github'] // 'vk' | 'telegram'
|
|
@ -13,8 +13,8 @@ import { FollowingEntity, Topic } from '~/graphql/schema/core.gen'
|
|||
import { isCyrillic } from '~/intl/translate'
|
||||
import { translit } from '~/intl/translit'
|
||||
import { SharePopup, getShareUrl } from '../../Article/SharePopup'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { TopicBadge } from '../../Topic/TopicBadge'
|
||||
import { Modal } from '../../_shared/Modal'
|
||||
import { AuthorBadge } from '../AuthorBadge'
|
||||
import { Userpic } from '../Userpic'
|
||||
import styles from './AuthorCard.module.scss'
|
||||
|
|
|
@ -5,7 +5,7 @@ import { Icon } from '~/components/_shared/Icon'
|
|||
import { Popover } from '~/components/_shared/Popover'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { UploadedFile } from '~/types/upload'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { Modal } from '../../_shared/Modal'
|
||||
import { UploadModalContent } from '../UploadModalContent'
|
||||
|
||||
import { useUI } from '~/context/ui'
|
||||
|
|
|
@ -7,7 +7,7 @@ import { useLocalize } from '~/context/localize'
|
|||
import { useUI } from '~/context/ui'
|
||||
import { useOutsideClickHandler } from '~/lib/useOutsideClickHandler'
|
||||
import { UploadedFile } from '~/types/upload'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { Modal } from '../../_shared/Modal'
|
||||
import { InlineForm } from '../InlineForm'
|
||||
import { UploadModalContent } from '../UploadModalContent'
|
||||
import { Menu } from './Menu'
|
||||
|
|
|
@ -23,10 +23,10 @@ import {
|
|||
import { useEditorContext } from '~/context/editor'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { UploadedFile } from '~/types/upload'
|
||||
import { Modal } from '../Nav/Modal'
|
||||
import { Button } from '../_shared/Button'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
import { Loading } from '../_shared/Loading'
|
||||
import { Modal } from '../_shared/Modal'
|
||||
import { Popover } from '../_shared/Popover'
|
||||
import { ShowOnlyOnClient } from '../_shared/ShowOnlyOnClient'
|
||||
import { LinkBubbleMenuModule } from './LinkBubbleMenu'
|
||||
|
|
|
@ -13,7 +13,7 @@ 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 stylesHeader from '../../HeaderNav/Header.module.scss'
|
||||
import { CardTopic } from '../CardTopic'
|
||||
import { FeedArticlePopup } from '../FeedArticlePopup'
|
||||
import styles from './ArticleCard.module.scss'
|
||||
|
|
|
@ -753,12 +753,7 @@
|
|||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.rightItem {
|
||||
margin-right: 0;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
a:link,
|
||||
|
@ -801,13 +796,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
.rightItemIcon {
|
||||
display: inline-block;
|
||||
margin-left: 0.3em;
|
||||
position: relative;
|
||||
top: 0.15em;
|
||||
}
|
||||
|
||||
.editorPopup {
|
||||
border: 1px solid rgb(0 0 0 / 15%) !important;
|
||||
border-radius: 1.6rem;
|
|
@ -1,24 +1,20 @@
|
|||
import { A, redirect, useSearchParams } from '@solidjs/router'
|
||||
import { clsx } from 'clsx'
|
||||
import { For, Show, createEffect, createSignal, onCleanup, onMount } from 'solid-js'
|
||||
|
||||
import type { Topic } from '~/graphql/schema/core.gen'
|
||||
import { getRandomTopicsFromArray } from '~/lib/getRandomTopicsFromArray'
|
||||
|
||||
import { Show, createEffect, createSignal, onCleanup, onMount } from 'solid-js'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
import { useSession } from '~/context/session'
|
||||
import { useTopics } from '~/context/topics'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { SharePopup, getShareUrl } from '../../Article/SharePopup'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { Newsletter } from '../../_shared/Newsletter'
|
||||
import { SharePopup, getShareUrl } from '../Article/SharePopup'
|
||||
import { AuthModal } from '../AuthModal'
|
||||
import { ConfirmModal } from '../ConfirmModal'
|
||||
import { HeaderAuth } from '../HeaderAuth'
|
||||
import { Modal } from '../Modal'
|
||||
import { SearchModal } from '../SearchModal/SearchModal'
|
||||
import { Snackbar } from '../Snackbar'
|
||||
import { Snackbar } from '../Snackbar/Snackbar'
|
||||
import { RandomTopics } from '../TopicsNav/TopicsNav'
|
||||
import { ConfirmModal } from '../_shared/ConfirmModal'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
import { Modal } from '../_shared/Modal'
|
||||
import { Newsletter } from '../_shared/Newsletter'
|
||||
import styles from './Header.module.scss'
|
||||
import { HeaderAuth } from './HeaderAuth'
|
||||
import { Link } from './HeaderLink'
|
||||
|
||||
type Props = {
|
||||
|
@ -43,8 +39,6 @@ export const Header = (props: Props) => {
|
|||
const { modal } = useUI()
|
||||
const { requireAuthentication } = useSession()
|
||||
const [searchParams] = useSearchParams<HeaderSearchParams>()
|
||||
const { sortedTopics: topics } = useTopics()
|
||||
const [randomTopics, setRandomTopics] = createSignal<Topic[]>([])
|
||||
const [getIsScrollingBottom, setIsScrollingBottom] = createSignal(false)
|
||||
const [getIsScrolled, setIsScrolled] = createSignal(false)
|
||||
const [fixed, setFixed] = createSignal(false)
|
||||
|
@ -57,17 +51,8 @@ export const Header = (props: Props) => {
|
|||
const { session } = useSession()
|
||||
const toggleFixed = () => setFixed(!fixed())
|
||||
|
||||
const tag = (topic: Topic) =>
|
||||
/[ЁА-яё]/.test(topic.title || '') && lang() !== 'ru' ? topic.slug : topic.title
|
||||
|
||||
let windowScrollTop = 0
|
||||
|
||||
createEffect(() => {
|
||||
if (topics()?.length) {
|
||||
setRandomTopics(getRandomTopicsFromArray(topics()))
|
||||
}
|
||||
})
|
||||
|
||||
createEffect(() => {
|
||||
const mainContent = document.querySelector<HTMLDivElement>('.main-content')
|
||||
|
||||
|
@ -439,25 +424,7 @@ export const Header = (props: Props) => {
|
|||
onMouseOver={clearTimer}
|
||||
onMouseOut={hideSubnavigation}
|
||||
>
|
||||
<ul class="nodash">
|
||||
<Show when={randomTopics().length > 0}>
|
||||
<For each={randomTopics()}>
|
||||
{(topic: Topic) => (
|
||||
<li class="item">
|
||||
<A href={`/topic/${topic.slug}`}>
|
||||
<span>#{tag(topic)}</span>
|
||||
</A>
|
||||
</li>
|
||||
)}
|
||||
</For>
|
||||
<li class={styles.rightItem}>
|
||||
<A href="/topic">
|
||||
{t('All topics')}
|
||||
<Icon name="arrow-right-black" class={clsx(styles.icon, styles.rightItemIcon)} />
|
||||
</A>
|
||||
</li>
|
||||
</Show>
|
||||
</ul>
|
||||
<RandomTopics />
|
||||
</div>
|
||||
|
||||
<div
|
|
@ -1,3 +1,4 @@
|
|||
import { A, useLocation } from '@solidjs/router'
|
||||
import { clsx } from 'clsx'
|
||||
import { Show, createMemo, createSignal, onCleanup, onMount } from 'solid-js'
|
||||
import { useEditorContext } from '~/context/editor'
|
||||
|
@ -7,15 +8,13 @@ import { useSession } from '~/context/session'
|
|||
import { useUI } from '~/context/ui'
|
||||
import type { Author } from '~/graphql/schema/core.gen'
|
||||
import { Userpic } from '../Author/Userpic'
|
||||
import { ProfilePopup } from '../ProfileNav/ProfilePopup'
|
||||
import { Button } from '../_shared/Button'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
import { Popover } from '../_shared/Popover'
|
||||
import { ShowOnlyOnClient } from '../_shared/ShowOnlyOnClient'
|
||||
|
||||
import { A, useLocation } from '@solidjs/router'
|
||||
import { Popup } from '../_shared/Popup'
|
||||
import styles from './Header/Header.module.scss'
|
||||
import { ProfilePopup } from './ProfilePopup'
|
||||
import { ShowOnlyOnClient } from '../_shared/ShowOnlyOnClient'
|
||||
import styles from './Header.module.scss'
|
||||
|
||||
type Props = {
|
||||
setIsProfilePopupVisible: (value: boolean) => void
|
|
@ -1,6 +1,6 @@
|
|||
import { A, useLocation } from '@solidjs/router'
|
||||
import { clsx } from 'clsx'
|
||||
import { ConditionalWrapper } from '../../_shared/ConditionalWrapper'
|
||||
import { ConditionalWrapper } from '../_shared/ConditionalWrapper'
|
||||
import styles from './Header.module.scss'
|
||||
|
||||
type Props = {
|
|
@ -7,7 +7,7 @@ import { useLocalize } from '~/context/localize'
|
|||
import type { Shout } from '~/graphql/schema/core.gen'
|
||||
import { byScore } from '~/lib/sort'
|
||||
import { restoreScrollPosition, saveScrollPosition } from '~/utils/scroll'
|
||||
import { FEED_PAGE_SIZE } from '../../Views/Feed/Feed'
|
||||
import { FEED_PAGE_SIZE } from '../Views/Feed/Feed'
|
||||
import styles from './SearchModal.module.scss'
|
||||
import { SearchResultItem } from './SearchResultItem'
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import type { Shout } from '~/graphql/schema/core.gen'
|
||||
|
||||
import { ArticleCard } from '../../Feed/ArticleCard'
|
||||
import { ArticleCard } from '../Feed/ArticleCard'
|
||||
|
||||
interface SearchCardProps {
|
||||
settings?: {
|
|
@ -76,3 +76,17 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rightItem {
|
||||
margin-right: 0;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.rightItemIcon {
|
||||
display: inline-block;
|
||||
margin-left: 0.3em;
|
||||
position: relative;
|
||||
top: 0.15em;
|
||||
}
|
|
@ -1,10 +1,50 @@
|
|||
import { A, useMatch } from '@solidjs/router'
|
||||
import { clsx } from 'clsx'
|
||||
import { For, Show, createEffect, createSignal, on, onMount } from 'solid-js'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
|
||||
import { A, useMatch } from '@solidjs/router'
|
||||
import { useTopics } from '~/context/topics'
|
||||
import type { Topic } from '~/graphql/schema/core.gen'
|
||||
import { getRandomTopicsFromArray } from '~/lib/getRandomTopicsFromArray'
|
||||
import styles from './TopicsNav.module.scss'
|
||||
|
||||
export const RandomTopics = () => {
|
||||
const { sortedTopics } = useTopics()
|
||||
const { lang, t } = useLocalize()
|
||||
const tag = (topic: Topic) =>
|
||||
/[ЁА-яё]/.test(topic.title || '') && lang() !== 'ru' ? topic.slug : topic.title
|
||||
const [randomTopics, setRandomTopics] = createSignal<Topic[]>([])
|
||||
createEffect(
|
||||
on(sortedTopics, (ttt: Topic[]) => {
|
||||
if (ttt?.length) {
|
||||
setRandomTopics(getRandomTopicsFromArray(ttt))
|
||||
}
|
||||
})
|
||||
)
|
||||
onMount(() => sortedTopics() && getRandomTopicsFromArray(sortedTopics()))
|
||||
return (
|
||||
<ul class="nodash">
|
||||
<Show when={randomTopics().length > 0}>
|
||||
<For each={randomTopics()}>
|
||||
{(topic: Topic) => (
|
||||
<li class="item">
|
||||
<A href={`/topic/${topic.slug}`}>
|
||||
<span>#{tag(topic)}</span>
|
||||
</A>
|
||||
</li>
|
||||
)}
|
||||
</For>
|
||||
<li class={styles.rightItem}>
|
||||
<A href="/topic">
|
||||
{t('All topics')}
|
||||
<Icon name="arrow-right-black" class={clsx(styles.icon, styles.rightItemIcon)} />
|
||||
</A>
|
||||
</li>
|
||||
</Show>
|
||||
</ul>
|
||||
)
|
||||
}
|
||||
|
||||
export const TopicsNav = () => {
|
||||
const { t } = useLocalize()
|
||||
const matchExpo = useMatch(() => '/expo')
|
|
@ -2,8 +2,8 @@ import { useSearchParams } from '@solidjs/router'
|
|||
import { clsx } from 'clsx'
|
||||
import { For, Show, createEffect, createMemo, createSignal } from 'solid-js'
|
||||
import { AuthorBadge } from '~/components/Author/AuthorBadge'
|
||||
import { InlineLoader } from '~/components/InlineLoader'
|
||||
import { Button } from '~/components/_shared/Button'
|
||||
import { InlineLoader } from '~/components/_shared/InlineLoader'
|
||||
import { Loading } from '~/components/_shared/Loading'
|
||||
import { SearchField } from '~/components/_shared/SearchField'
|
||||
import { useAuthors } from '~/context/authors'
|
||||
|
|
|
@ -14,8 +14,8 @@ import { isDesktop } from '~/lib/mediaQuery'
|
|||
import { clone } from '~/utils/clone'
|
||||
import { Panel } from '../../Editor'
|
||||
import { AutoSaveNotice } from '../../Editor/AutoSaveNotice'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { TableOfContents } from '../../TableOfContents'
|
||||
import { Modal } from '../../_shared/Modal'
|
||||
import { TableOfContents } from '../../_shared/TableOfContents'
|
||||
import { PublishSettings } from '../PublishSettings'
|
||||
import styles from './EditView.module.scss'
|
||||
|
||||
|
|
|
@ -34,8 +34,8 @@ 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 { Modal } from '../../_shared/Modal'
|
||||
import { TableOfContents } from '../../_shared/TableOfContents'
|
||||
import styles from './EditView.module.scss'
|
||||
|
||||
const SimplifiedEditor = lazy(() => import('../../Editor/SimplifiedEditor'))
|
||||
|
|
|
@ -27,7 +27,7 @@ import stylesBeside from '../../Feed/Beside.module.scss'
|
|||
import stylesTopic from '../../Feed/CardTopic.module.scss'
|
||||
import { Placeholder } from '../../Feed/Placeholder'
|
||||
import { Sidebar } from '../../Feed/Sidebar'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { Modal } from '../../_shared/Modal'
|
||||
import styles from './Feed.module.scss'
|
||||
|
||||
export const FEED_PAGE_SIZE = 20
|
||||
|
|
|
@ -16,7 +16,7 @@ import { Row2 } from '../Feed/Row2'
|
|||
import { Row3 } from '../Feed/Row3'
|
||||
import { Row5 } from '../Feed/Row5'
|
||||
import RowShort from '../Feed/RowShort'
|
||||
import { TopicsNav } from '../Nav/TopicsNav'
|
||||
import { TopicsNav } from '../TopicsNav'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
import { ArticleCardSwiper } from '../_shared/SolidSwiper/ArticleCardSwiper'
|
||||
import styles from './Home.module.scss'
|
||||
|
|
|
@ -21,7 +21,7 @@ import DialogHeader from '../../Inbox/DialogHeader'
|
|||
import { Message } from '../../Inbox/Message'
|
||||
import MessagesFallback from '../../Inbox/MessagesFallback'
|
||||
import Search from '../../Inbox/Search'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { Modal } from '../../_shared/Modal'
|
||||
|
||||
import { useSearchParams } from '@solidjs/router'
|
||||
import styles from './Inbox.module.scss'
|
||||
|
|
|
@ -2,8 +2,8 @@ import { UpdateProfileInput } from '@authorizerdev/authorizer-js'
|
|||
import { clsx } from 'clsx'
|
||||
import { Show, createEffect, createSignal, on } from 'solid-js'
|
||||
import { AuthGuard } from '~/components/AuthGuard'
|
||||
import { PasswordField } from '~/components/Nav/AuthModal/PasswordField'
|
||||
import { ProfileSettingsNavigation } from '~/components/Nav/ProfileSettingsNavigation'
|
||||
import { PasswordField } from '~/components/AuthModal/PasswordField'
|
||||
import { ProfileSettingsNavigation } from '~/components/ProfileNav'
|
||||
import { Button } from '~/components/_shared/Button'
|
||||
import { Icon } from '~/components/_shared/Icon'
|
||||
import { Loading } from '~/components/_shared/Loading'
|
||||
|
@ -183,7 +183,7 @@ export const ProfileSecurityView = (_props: any) => {
|
|||
<PasswordField
|
||||
onFocus={() => setOldPasswordError()}
|
||||
setError={oldPasswordError()}
|
||||
onInput={(value) => handleInputChange('oldPassword', value)}
|
||||
onInput={(value: string) => handleInputChange('oldPassword', value)}
|
||||
value={formData()['oldPassword'] || undefined}
|
||||
disabled={isSubmitting()}
|
||||
/>
|
||||
|
@ -191,7 +191,7 @@ export const ProfileSecurityView = (_props: any) => {
|
|||
|
||||
<h5>{t('New password')}</h5>
|
||||
<PasswordField
|
||||
onInput={(value) => {
|
||||
onInput={(value: string) => {
|
||||
handleInputChange('newPassword', value)
|
||||
handleInputChange('newPasswordConfirm', '')
|
||||
}}
|
||||
|
@ -207,7 +207,7 @@ export const ProfileSecurityView = (_props: any) => {
|
|||
value={formData?.()['newPasswordConfirm']}
|
||||
onFocus={() => setNewPasswordError()}
|
||||
setError={newPasswordError()}
|
||||
onInput={(value) => handleCheckNewPassword(value)}
|
||||
onInput={handleCheckNewPassword}
|
||||
disabled={isSubmitting()}
|
||||
disableAutocomplete={true}
|
||||
/>
|
||||
|
|
|
@ -24,12 +24,12 @@ import { handleImageUpload } from '~/lib/handleImageUpload'
|
|||
import { profileSocialLinks } from '~/lib/profileSocialLinks'
|
||||
import { clone } from '~/utils/clone'
|
||||
import { validateUrl } from '~/utils/validate'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { ProfileSettingsNavigation } from '../../Nav/ProfileSettingsNavigation'
|
||||
import { ProfileSettingsNavigation } from '../../ProfileNav'
|
||||
import { Button } from '../../_shared/Button'
|
||||
import { Icon } from '../../_shared/Icon'
|
||||
import { ImageCropper } from '../../_shared/ImageCropper'
|
||||
import { Loading } from '../../_shared/Loading'
|
||||
import { Modal } from '../../_shared/Modal'
|
||||
import { Popover } from '../../_shared/Popover'
|
||||
import { SocialNetworkInput } from '../../_shared/SocialNetworkInput'
|
||||
import styles from './Settings.module.scss'
|
||||
|
|
|
@ -8,7 +8,7 @@ import { Author, Topic } from '~/graphql/schema/core.gen'
|
|||
import { dummyFilter } from '~/lib/dummyFilter'
|
||||
import stylesSettings from '../../../styles/FeedSettings.module.scss'
|
||||
import { AuthorBadge } from '../../Author/AuthorBadge'
|
||||
import { ProfileSettingsNavigation } from '../../Nav/ProfileSettingsNavigation'
|
||||
import { ProfileSettingsNavigation } from '../../ProfileNav'
|
||||
import { TopicBadge } from '../../Topic/TopicBadge'
|
||||
import styles from '../Profile/Settings.module.scss'
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ import { useTopics } from '~/context/topics'
|
|||
import { useSnackbar, useUI } from '~/context/ui'
|
||||
import { Topic } from '~/graphql/schema/core.gen'
|
||||
import { TopicSelect, UploadModalContent } from '../../Editor'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { Modal } from '../../_shared/Modal'
|
||||
|
||||
import { useNavigate } from '@solidjs/router'
|
||||
import { UploadedFile } from '~/types/upload'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { JSX, onMount } from 'solid-js'
|
||||
import { processPrepositions } from '~/intl/prepositions'
|
||||
import { TableOfContents } from '../TableOfContents'
|
||||
import { PageLayout } from '../_shared/PageLayout'
|
||||
import { TableOfContents } from '../_shared/TableOfContents'
|
||||
|
||||
type Props = {
|
||||
title: string
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useLocalize } from '~/context/localize'
|
||||
import { Loading } from '../_shared/Loading'
|
||||
import { Loading } from '../Loading'
|
||||
import styles from './InlineLoader.module.scss'
|
||||
|
||||
type Props = {
|
|
@ -8,9 +8,9 @@ import { useLocalize } from '~/context/localize'
|
|||
import { useUI } from '~/context/ui'
|
||||
import { Author } from '~/graphql/schema/core.gen'
|
||||
import { AuthorBadge } from '../../Author/AuthorBadge'
|
||||
import { InlineLoader } from '../../InlineLoader'
|
||||
import { Button } from '../Button'
|
||||
import { DropdownSelect } from '../DropdownSelect'
|
||||
import { InlineLoader } from '../InlineLoader'
|
||||
|
||||
import styles from './InviteMembers.module.scss'
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ import ruKeywords from '~/intl/locales/ru/keywords.json'
|
|||
import { getImageUrl, getOpenGraphImageUrl } from '~/lib/getThumbUrl'
|
||||
import { descFromBody } from '~/utils/meta'
|
||||
import { FooterView } from '../Discours/Footer'
|
||||
import { Header } from '../Nav/Header'
|
||||
import { Header } from '../HeaderNav'
|
||||
import styles from './PageLayout.module.scss'
|
||||
|
||||
type PageLayoutProps = {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { useLocalize } from '~/context/localize'
|
||||
import { useUI } from '~/context/ui'
|
||||
import { Modal } from '../../Nav/Modal'
|
||||
import { Modal } from '../Modal'
|
||||
import { ShareLinks } from '../ShareLinks'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -5,7 +5,7 @@ import { debounce, throttle } from 'throttle-debounce'
|
|||
import { useLocalize } from '~/context/localize'
|
||||
import { DEFAULT_HEADER_OFFSET } from '~/context/ui'
|
||||
import { isDesktop } from '~/lib/mediaQuery'
|
||||
import { Icon } from '../_shared/Icon'
|
||||
import { Icon } from '../Icon'
|
||||
|
||||
import styles from './TableOfContents.module.scss'
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import { Feedback } from '~/components/Discours/Feedback'
|
||||
import { Modal } from '~/components/Nav/Modal'
|
||||
import { Opener } from '~/components/Nav/Modal/Opener'
|
||||
import { StaticPage } from '~/components/Views/StaticPage'
|
||||
import { Modal } from '~/components/_shared/Modal'
|
||||
import { Opener } from '~/components/_shared/Modal/Opener'
|
||||
import { Newsletter } from '~/components/_shared/Newsletter'
|
||||
|
||||
export default () => (
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Params, RouteSectionProps, createAsync } from '@solidjs/router'
|
||||
import { createEffect, createMemo, on } from 'solid-js'
|
||||
import { TopicsNav } from '~/components/Nav/TopicsNav'
|
||||
import { TopicsNav } from '~/components/TopicsNav'
|
||||
import { Expo } from '~/components/Views/Expo'
|
||||
import { PageLayout } from '~/components/_shared/PageLayout'
|
||||
import { useLocalize } from '~/context/localize'
|
||||
|
|
Loading…
Reference in New Issue
Block a user