diff --git a/src/components/Article/FullArticle.tsx b/src/components/Article/FullArticle.tsx index e53c1707..7d5e1318 100644 --- a/src/components/Article/FullArticle.tsx +++ b/src/components/Article/FullArticle.tsx @@ -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' diff --git a/src/components/Nav/AuthModal/AuthModal.module.scss b/src/components/AuthModal/AuthModal.module.scss similarity index 100% rename from src/components/Nav/AuthModal/AuthModal.module.scss rename to src/components/AuthModal/AuthModal.module.scss diff --git a/src/components/Nav/AuthModal/AuthModalHeader/AuthModalHeader.module.scss b/src/components/AuthModal/AuthModalHeader/AuthModalHeader.module.scss similarity index 100% rename from src/components/Nav/AuthModal/AuthModalHeader/AuthModalHeader.module.scss rename to src/components/AuthModal/AuthModalHeader/AuthModalHeader.module.scss diff --git a/src/components/Nav/AuthModal/AuthModalHeader/AuthModalHeader.tsx b/src/components/AuthModal/AuthModalHeader/AuthModalHeader.tsx similarity index 100% rename from src/components/Nav/AuthModal/AuthModalHeader/AuthModalHeader.tsx rename to src/components/AuthModal/AuthModalHeader/AuthModalHeader.tsx diff --git a/src/components/Nav/AuthModal/AuthModalHeader/index.ts b/src/components/AuthModal/AuthModalHeader/index.ts similarity index 100% rename from src/components/Nav/AuthModal/AuthModalHeader/index.ts rename to src/components/AuthModal/AuthModalHeader/index.ts diff --git a/src/components/Nav/AuthModal/ChangePasswordForm.tsx b/src/components/AuthModal/ChangePasswordForm.tsx similarity index 100% rename from src/components/Nav/AuthModal/ChangePasswordForm.tsx rename to src/components/AuthModal/ChangePasswordForm.tsx diff --git a/src/components/Nav/AuthModal/EmailConfirm.tsx b/src/components/AuthModal/EmailConfirm.tsx similarity index 100% rename from src/components/Nav/AuthModal/EmailConfirm.tsx rename to src/components/AuthModal/EmailConfirm.tsx diff --git a/src/components/Nav/AuthModal/LoginForm.tsx b/src/components/AuthModal/LoginForm.tsx similarity index 100% rename from src/components/Nav/AuthModal/LoginForm.tsx rename to src/components/AuthModal/LoginForm.tsx diff --git a/src/components/Nav/AuthModal/PasswordField/PasswordField.module.scss b/src/components/AuthModal/PasswordField/PasswordField.module.scss similarity index 100% rename from src/components/Nav/AuthModal/PasswordField/PasswordField.module.scss rename to src/components/AuthModal/PasswordField/PasswordField.module.scss diff --git a/src/components/Nav/AuthModal/PasswordField/PasswordField.tsx b/src/components/AuthModal/PasswordField/PasswordField.tsx similarity index 98% rename from src/components/Nav/AuthModal/PasswordField/PasswordField.tsx rename to src/components/AuthModal/PasswordField/PasswordField.tsx index 16eb65ed..c2fbd029 100644 --- a/src/components/Nav/AuthModal/PasswordField/PasswordField.tsx +++ b/src/components/AuthModal/PasswordField/PasswordField.tsx @@ -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 = { diff --git a/src/components/Nav/AuthModal/PasswordField/index.ts b/src/components/AuthModal/PasswordField/index.ts similarity index 100% rename from src/components/Nav/AuthModal/PasswordField/index.ts rename to src/components/AuthModal/PasswordField/index.ts diff --git a/src/components/Nav/AuthModal/RegisterForm.tsx b/src/components/AuthModal/RegisterForm.tsx similarity index 100% rename from src/components/Nav/AuthModal/RegisterForm.tsx rename to src/components/AuthModal/RegisterForm.tsx diff --git a/src/components/Nav/AuthModal/SendEmailConfirm.tsx b/src/components/AuthModal/SendEmailConfirm.tsx similarity index 100% rename from src/components/Nav/AuthModal/SendEmailConfirm.tsx rename to src/components/AuthModal/SendEmailConfirm.tsx diff --git a/src/components/Nav/AuthModal/SendResetLinkForm.tsx b/src/components/AuthModal/SendResetLinkForm.tsx similarity index 100% rename from src/components/Nav/AuthModal/SendResetLinkForm.tsx rename to src/components/AuthModal/SendResetLinkForm.tsx diff --git a/src/components/Nav/AuthModal/SocialProviders/SocialProviders.module.scss b/src/components/AuthModal/SocialProviders/SocialProviders.module.scss similarity index 100% rename from src/components/Nav/AuthModal/SocialProviders/SocialProviders.module.scss rename to src/components/AuthModal/SocialProviders/SocialProviders.module.scss diff --git a/src/components/Nav/AuthModal/SocialProviders/SocialProviders.tsx b/src/components/AuthModal/SocialProviders/SocialProviders.tsx similarity index 95% rename from src/components/Nav/AuthModal/SocialProviders/SocialProviders.tsx rename to src/components/AuthModal/SocialProviders/SocialProviders.tsx index 5f832b83..36d6c705 100644 --- a/src/components/Nav/AuthModal/SocialProviders/SocialProviders.tsx +++ b/src/components/AuthModal/SocialProviders/SocialProviders.tsx @@ -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' diff --git a/src/components/Nav/AuthModal/SocialProviders/index.ts b/src/components/AuthModal/SocialProviders/index.ts similarity index 100% rename from src/components/Nav/AuthModal/SocialProviders/index.ts rename to src/components/AuthModal/SocialProviders/index.ts diff --git a/src/components/Nav/AuthModal/index.tsx b/src/components/AuthModal/index.tsx similarity index 100% rename from src/components/Nav/AuthModal/index.tsx rename to src/components/AuthModal/index.tsx diff --git a/src/components/Nav/AuthModal/sharedLogic.tsx b/src/components/AuthModal/sharedLogic.tsx similarity index 100% rename from src/components/Nav/AuthModal/sharedLogic.tsx rename to src/components/AuthModal/sharedLogic.tsx diff --git a/src/components/Author/AuthorCard/AuthorCard.tsx b/src/components/Author/AuthorCard/AuthorCard.tsx index 8c11f7b8..405749a9 100644 --- a/src/components/Author/AuthorCard/AuthorCard.tsx +++ b/src/components/Author/AuthorCard/AuthorCard.tsx @@ -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' diff --git a/src/components/Editor/BubbleMenu/FigureBubbleMenu.tsx b/src/components/Editor/BubbleMenu/FigureBubbleMenu.tsx index ad100d98..27ce2f28 100644 --- a/src/components/Editor/BubbleMenu/FigureBubbleMenu.tsx +++ b/src/components/Editor/BubbleMenu/FigureBubbleMenu.tsx @@ -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' diff --git a/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx b/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx index a86bd1ef..5761398c 100644 --- a/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx +++ b/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx @@ -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' diff --git a/src/components/Editor/SimplifiedEditor.tsx b/src/components/Editor/SimplifiedEditor.tsx index 0141d2b6..79db649f 100644 --- a/src/components/Editor/SimplifiedEditor.tsx +++ b/src/components/Editor/SimplifiedEditor.tsx @@ -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' diff --git a/src/components/Feed/ArticleCard/ArticleCard.tsx b/src/components/Feed/ArticleCard/ArticleCard.tsx index ca5e210f..7452067a 100644 --- a/src/components/Feed/ArticleCard/ArticleCard.tsx +++ b/src/components/Feed/ArticleCard/ArticleCard.tsx @@ -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' diff --git a/src/components/Nav/Header/Header.module.scss b/src/components/HeaderNav/Header.module.scss similarity index 98% rename from src/components/Nav/Header/Header.module.scss rename to src/components/HeaderNav/Header.module.scss index 1bf3481d..a4c8b461 100644 --- a/src/components/Nav/Header/Header.module.scss +++ b/src/components/HeaderNav/Header.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; diff --git a/src/components/Nav/Header/Header.tsx b/src/components/HeaderNav/Header.tsx similarity index 91% rename from src/components/Nav/Header/Header.tsx rename to src/components/HeaderNav/Header.tsx index b41feb2b..8f187fe7 100644 --- a/src/components/Nav/Header/Header.tsx +++ b/src/components/HeaderNav/Header.tsx @@ -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() - const { sortedTopics: topics } = useTopics() - const [randomTopics, setRandomTopics] = createSignal([]) 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('.main-content') @@ -439,25 +424,7 @@ export const Header = (props: Props) => { onMouseOver={clearTimer} onMouseOut={hideSubnavigation} > - +
void diff --git a/src/components/Nav/Header/HeaderLink.tsx b/src/components/HeaderNav/HeaderLink.tsx similarity index 93% rename from src/components/Nav/Header/HeaderLink.tsx rename to src/components/HeaderNav/HeaderLink.tsx index 992b37c9..35374782 100644 --- a/src/components/Nav/Header/HeaderLink.tsx +++ b/src/components/HeaderNav/HeaderLink.tsx @@ -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 = { diff --git a/src/components/Nav/Header/index.ts b/src/components/HeaderNav/index.ts similarity index 100% rename from src/components/Nav/Header/index.ts rename to src/components/HeaderNav/index.ts diff --git a/src/components/Nav/ProfilePopup.tsx b/src/components/ProfileNav/ProfilePopup.tsx similarity index 100% rename from src/components/Nav/ProfilePopup.tsx rename to src/components/ProfileNav/ProfilePopup.tsx diff --git a/src/components/Nav/ProfileSettingsNavigation/ProfileSettingsNavigation.module.scss b/src/components/ProfileNav/ProfileSettingsNavigation.module.scss similarity index 100% rename from src/components/Nav/ProfileSettingsNavigation/ProfileSettingsNavigation.module.scss rename to src/components/ProfileNav/ProfileSettingsNavigation.module.scss diff --git a/src/components/Nav/ProfileSettingsNavigation/ProfileSettingsNavigation.tsx b/src/components/ProfileNav/ProfileSettingsNavigation.tsx similarity index 100% rename from src/components/Nav/ProfileSettingsNavigation/ProfileSettingsNavigation.tsx rename to src/components/ProfileNav/ProfileSettingsNavigation.tsx diff --git a/src/components/Nav/ProfileSettingsNavigation/index.ts b/src/components/ProfileNav/index.ts similarity index 100% rename from src/components/Nav/ProfileSettingsNavigation/index.ts rename to src/components/ProfileNav/index.ts diff --git a/src/components/Nav/SearchModal/SearchModal.module.scss b/src/components/SearchModal/SearchModal.module.scss similarity index 100% rename from src/components/Nav/SearchModal/SearchModal.module.scss rename to src/components/SearchModal/SearchModal.module.scss diff --git a/src/components/Nav/SearchModal/SearchModal.tsx b/src/components/SearchModal/SearchModal.tsx similarity index 99% rename from src/components/Nav/SearchModal/SearchModal.tsx rename to src/components/SearchModal/SearchModal.tsx index e809ff31..5545f1c2 100644 --- a/src/components/Nav/SearchModal/SearchModal.tsx +++ b/src/components/SearchModal/SearchModal.tsx @@ -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' diff --git a/src/components/Nav/SearchModal/SearchResultItem.tsx b/src/components/SearchModal/SearchResultItem.tsx similarity index 93% rename from src/components/Nav/SearchModal/SearchResultItem.tsx rename to src/components/SearchModal/SearchResultItem.tsx index 235f038c..19ff6764 100644 --- a/src/components/Nav/SearchModal/SearchResultItem.tsx +++ b/src/components/SearchModal/SearchResultItem.tsx @@ -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?: { diff --git a/src/components/Nav/Snackbar.module.scss b/src/components/Snackbar/Snackbar.module.scss similarity index 100% rename from src/components/Nav/Snackbar.module.scss rename to src/components/Snackbar/Snackbar.module.scss diff --git a/src/components/Nav/Snackbar.tsx b/src/components/Snackbar/Snackbar.tsx similarity index 100% rename from src/components/Nav/Snackbar.tsx rename to src/components/Snackbar/Snackbar.tsx diff --git a/src/components/Nav/TopicsNav/TopicsNav.module.scss b/src/components/TopicsNav/TopicsNav.module.scss similarity index 87% rename from src/components/Nav/TopicsNav/TopicsNav.module.scss rename to src/components/TopicsNav/TopicsNav.module.scss index 9c42ead0..2c436944 100644 --- a/src/components/Nav/TopicsNav/TopicsNav.module.scss +++ b/src/components/TopicsNav/TopicsNav.module.scss @@ -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; +} diff --git a/src/components/Nav/TopicsNav/TopicsNav.tsx b/src/components/TopicsNav/TopicsNav.tsx similarity index 56% rename from src/components/Nav/TopicsNav/TopicsNav.tsx rename to src/components/TopicsNav/TopicsNav.tsx index 54c65c39..2a4f5395 100644 --- a/src/components/Nav/TopicsNav/TopicsNav.tsx +++ b/src/components/TopicsNav/TopicsNav.tsx @@ -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([]) + createEffect( + on(sortedTopics, (ttt: Topic[]) => { + if (ttt?.length) { + setRandomTopics(getRandomTopicsFromArray(ttt)) + } + }) + ) + onMount(() => sortedTopics() && getRandomTopicsFromArray(sortedTopics())) + return ( + + ) +} + export const TopicsNav = () => { const { t } = useLocalize() const matchExpo = useMatch(() => '/expo') diff --git a/src/components/Nav/TopicsNav/index.ts b/src/components/TopicsNav/index.ts similarity index 100% rename from src/components/Nav/TopicsNav/index.ts rename to src/components/TopicsNav/index.ts diff --git a/src/components/Views/AllAuthors/AllAuthors.tsx b/src/components/Views/AllAuthors/AllAuthors.tsx index 71b6060f..d81aac9c 100644 --- a/src/components/Views/AllAuthors/AllAuthors.tsx +++ b/src/components/Views/AllAuthors/AllAuthors.tsx @@ -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' diff --git a/src/components/Views/EditView/EditSettingsView.tsx b/src/components/Views/EditView/EditSettingsView.tsx index 52ea6494..72843f2b 100644 --- a/src/components/Views/EditView/EditSettingsView.tsx +++ b/src/components/Views/EditView/EditSettingsView.tsx @@ -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' diff --git a/src/components/Views/EditView/EditView.tsx b/src/components/Views/EditView/EditView.tsx index 5a5e01eb..dc7cd775 100644 --- a/src/components/Views/EditView/EditView.tsx +++ b/src/components/Views/EditView/EditView.tsx @@ -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')) diff --git a/src/components/Views/Feed/Feed.tsx b/src/components/Views/Feed/Feed.tsx index 45146e3d..c49e6d41 100644 --- a/src/components/Views/Feed/Feed.tsx +++ b/src/components/Views/Feed/Feed.tsx @@ -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 diff --git a/src/components/Views/Home.tsx b/src/components/Views/Home.tsx index d3674dca..63303b2c 100644 --- a/src/components/Views/Home.tsx +++ b/src/components/Views/Home.tsx @@ -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' diff --git a/src/components/Views/Inbox/Inbox.tsx b/src/components/Views/Inbox/Inbox.tsx index d3bf17c1..6f89cff0 100644 --- a/src/components/Views/Inbox/Inbox.tsx +++ b/src/components/Views/Inbox/Inbox.tsx @@ -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' diff --git a/src/components/Views/Profile/ProfileSecurity.tsx b/src/components/Views/Profile/ProfileSecurity.tsx index 7a6345a2..bb0bf0d7 100644 --- a/src/components/Views/Profile/ProfileSecurity.tsx +++ b/src/components/Views/Profile/ProfileSecurity.tsx @@ -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) => { 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) => {
{t('New password')}
{ + 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} /> diff --git a/src/components/Views/Profile/ProfileSettings.tsx b/src/components/Views/Profile/ProfileSettings.tsx index f2b9d693..034e0002 100644 --- a/src/components/Views/Profile/ProfileSettings.tsx +++ b/src/components/Views/Profile/ProfileSettings.tsx @@ -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' diff --git a/src/components/Views/Profile/ProfileSubscriptions.tsx b/src/components/Views/Profile/ProfileSubscriptions.tsx index 8d23eeac..f460f278 100644 --- a/src/components/Views/Profile/ProfileSubscriptions.tsx +++ b/src/components/Views/Profile/ProfileSubscriptions.tsx @@ -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' diff --git a/src/components/Views/PublishSettings/PublishSettings.tsx b/src/components/Views/PublishSettings/PublishSettings.tsx index 023f5d79..f4b0a46b 100644 --- a/src/components/Views/PublishSettings/PublishSettings.tsx +++ b/src/components/Views/PublishSettings/PublishSettings.tsx @@ -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' diff --git a/src/components/Views/StaticPage.tsx b/src/components/Views/StaticPage.tsx index b0411e73..d6eebfb9 100644 --- a/src/components/Views/StaticPage.tsx +++ b/src/components/Views/StaticPage.tsx @@ -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 diff --git a/src/components/Nav/ConfirmModal/ConfirmModal.module.scss b/src/components/_shared/ConfirmModal/ConfirmModal.module.scss similarity index 100% rename from src/components/Nav/ConfirmModal/ConfirmModal.module.scss rename to src/components/_shared/ConfirmModal/ConfirmModal.module.scss diff --git a/src/components/Nav/ConfirmModal/ConfirmModal.tsx b/src/components/_shared/ConfirmModal/ConfirmModal.tsx similarity index 100% rename from src/components/Nav/ConfirmModal/ConfirmModal.tsx rename to src/components/_shared/ConfirmModal/ConfirmModal.tsx diff --git a/src/components/Nav/ConfirmModal/index.ts b/src/components/_shared/ConfirmModal/index.ts similarity index 100% rename from src/components/Nav/ConfirmModal/index.ts rename to src/components/_shared/ConfirmModal/index.ts diff --git a/src/components/InlineLoader/InlineLoader.module.scss b/src/components/_shared/InlineLoader/InlineLoader.module.scss similarity index 100% rename from src/components/InlineLoader/InlineLoader.module.scss rename to src/components/_shared/InlineLoader/InlineLoader.module.scss diff --git a/src/components/InlineLoader/InlineLoader.tsx b/src/components/_shared/InlineLoader/InlineLoader.tsx similarity index 89% rename from src/components/InlineLoader/InlineLoader.tsx rename to src/components/_shared/InlineLoader/InlineLoader.tsx index d05e9af7..702fa7f5 100644 --- a/src/components/InlineLoader/InlineLoader.tsx +++ b/src/components/_shared/InlineLoader/InlineLoader.tsx @@ -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 = { diff --git a/src/components/InlineLoader/index.ts b/src/components/_shared/InlineLoader/index.ts similarity index 100% rename from src/components/InlineLoader/index.ts rename to src/components/_shared/InlineLoader/index.ts diff --git a/src/components/_shared/InviteMembers/InviteMembers.tsx b/src/components/_shared/InviteMembers/InviteMembers.tsx index 3adecf18..a273fd8d 100644 --- a/src/components/_shared/InviteMembers/InviteMembers.tsx +++ b/src/components/_shared/InviteMembers/InviteMembers.tsx @@ -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' diff --git a/src/components/Nav/Modal/Modal.module.scss b/src/components/_shared/Modal/Modal.module.scss similarity index 100% rename from src/components/Nav/Modal/Modal.module.scss rename to src/components/_shared/Modal/Modal.module.scss diff --git a/src/components/Nav/Modal/Modal.tsx b/src/components/_shared/Modal/Modal.tsx similarity index 100% rename from src/components/Nav/Modal/Modal.tsx rename to src/components/_shared/Modal/Modal.tsx diff --git a/src/components/Nav/Modal/Opener.tsx b/src/components/_shared/Modal/Opener.tsx similarity index 100% rename from src/components/Nav/Modal/Opener.tsx rename to src/components/_shared/Modal/Opener.tsx diff --git a/src/components/Nav/Modal/index.ts b/src/components/_shared/Modal/index.ts similarity index 100% rename from src/components/Nav/Modal/index.ts rename to src/components/_shared/Modal/index.ts diff --git a/src/components/_shared/PageLayout.tsx b/src/components/_shared/PageLayout.tsx index ee1e01df..b27ae4d4 100644 --- a/src/components/_shared/PageLayout.tsx +++ b/src/components/_shared/PageLayout.tsx @@ -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 = { diff --git a/src/components/_shared/ShareModal/ShareModal.tsx b/src/components/_shared/ShareModal/ShareModal.tsx index ec550c8d..c9568688 100644 --- a/src/components/_shared/ShareModal/ShareModal.tsx +++ b/src/components/_shared/ShareModal/ShareModal.tsx @@ -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 = { diff --git a/src/components/TableOfContents/TableOfContents.module.scss b/src/components/_shared/TableOfContents/TableOfContents.module.scss similarity index 100% rename from src/components/TableOfContents/TableOfContents.module.scss rename to src/components/_shared/TableOfContents/TableOfContents.module.scss diff --git a/src/components/TableOfContents/TableOfContents.tsx b/src/components/_shared/TableOfContents/TableOfContents.tsx similarity index 99% rename from src/components/TableOfContents/TableOfContents.tsx rename to src/components/_shared/TableOfContents/TableOfContents.tsx index 8fb7617a..2f27b935 100644 --- a/src/components/TableOfContents/TableOfContents.tsx +++ b/src/components/_shared/TableOfContents/TableOfContents.tsx @@ -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' diff --git a/src/components/TableOfContents/index.tsx b/src/components/_shared/TableOfContents/index.tsx similarity index 100% rename from src/components/TableOfContents/index.tsx rename to src/components/_shared/TableOfContents/index.tsx diff --git a/src/routes/(static)/manifest.tsx b/src/routes/(static)/manifest.tsx index 9da017b0..bde793e7 100644 --- a/src/routes/(static)/manifest.tsx +++ b/src/routes/(static)/manifest.tsx @@ -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 () => ( diff --git a/src/routes/expo/[layout].tsx b/src/routes/expo/[layout].tsx index 7a386a80..05857bc3 100644 --- a/src/routes/expo/[layout].tsx +++ b/src/routes/expo/[layout].tsx @@ -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'