diff --git a/src/components/flow/FlowRecentItem/index.tsx b/src/components/common/NodeHorizontalCard/index.tsx similarity index 85% rename from src/components/flow/FlowRecentItem/index.tsx rename to src/components/common/NodeHorizontalCard/index.tsx index 02e18c8d..3c0847be 100644 --- a/src/components/flow/FlowRecentItem/index.tsx +++ b/src/components/common/NodeHorizontalCard/index.tsx @@ -10,13 +10,13 @@ import { getPrettyDate } from '~/utils/dom'; import styles from './styles.module.scss'; -interface IProps { +interface Props { node: Partial; - has_new?: boolean; + hasNew?: boolean; onClick?: MouseEventHandler; } -const FlowRecentItem: FC = ({ node, has_new, onClick }) => { +const NodeHorizontalCard: FC = ({ node, hasNew, onClick }) => { return ( = ({ node, has_new, onClick }) => { >
@@ -44,4 +44,4 @@ const FlowRecentItem: FC = ({ node, has_new, onClick }) => { ); }; -export { FlowRecentItem }; +export { NodeHorizontalCard }; diff --git a/src/components/flow/FlowRecentItem/styles.module.scss b/src/components/common/NodeHorizontalCard/styles.module.scss similarity index 100% rename from src/components/flow/FlowRecentItem/styles.module.scss rename to src/components/common/NodeHorizontalCard/styles.module.scss diff --git a/src/components/flow/FlowCellImageLazyLoad/index.tsx b/src/components/flow/FlowCellImageLazyLoad/index.tsx deleted file mode 100644 index 3b3d8b9a..00000000 --- a/src/components/flow/FlowCellImageLazyLoad/index.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { FC } from 'react'; - -import classNames from 'classnames'; -import LazyLoad from 'react-lazyload'; - -import { IMGProps } from '~/utils/types'; - -import styles from './styles.module.scss'; - -interface Props extends IMGProps { - height?: number; -} - -const FlowCellImageLazyLoad: FC = ({ className, children, ...rest }) => ( - - - {children} - -); - -export { FlowCellImageLazyLoad }; diff --git a/src/components/flow/FlowCellImageLazyLoad/styles.module.scss b/src/components/flow/FlowCellImageLazyLoad/styles.module.scss deleted file mode 100644 index 61ac2651..00000000 --- a/src/components/flow/FlowCellImageLazyLoad/styles.module.scss +++ /dev/null @@ -1,15 +0,0 @@ -.wrapper { - width: 100%; - height: 100%; - position: relative; - - img { - position: absolute; - top: 50%; - left: 50%; - min-width: 100%; - min-height: 100%; - transform: translate(-50%, -50%); - object-fit: cover; - } -} diff --git a/src/components/flow/HeroPlaceholder/index.tsx b/src/components/flow/HeroPlaceholder/index.tsx deleted file mode 100644 index f4e24af4..00000000 --- a/src/components/flow/HeroPlaceholder/index.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import * as React from 'react'; - -const style = require('./style.scss'); - -export const HeroPlaceholder = () => ( -
-); diff --git a/src/components/flow/HeroPlaceholder/style.scss b/src/components/flow/HeroPlaceholder/style.scss deleted file mode 100644 index 38c85817..00000000 --- a/src/components/flow/HeroPlaceholder/style.scss +++ /dev/null @@ -1,14 +0,0 @@ -@import 'src/styles/variables'; - -.container { - height: 280px; - width: 100%; - background: $gray_90 - url('http://37.192.131.144/hero/photos/photo-20140527-1639766.jpg') - no-repeat 50% 30%; - background-size: cover; - opacity: 0.7; - will-change: transform; - //box-shadow: white 0 0 0 1px; - //border-radius: $panel_radius $panel_radius 0 0; -} diff --git a/src/components/sidebar/TagSidebarList/index.tsx b/src/components/sidebar/TagSidebarList/index.tsx index 15ff54e4..91f6c494 100644 --- a/src/components/sidebar/TagSidebarList/index.tsx +++ b/src/components/sidebar/TagSidebarList/index.tsx @@ -1,6 +1,6 @@ import { FC } from 'react'; -import { FlowRecentItem } from '~/components/flow/FlowRecentItem'; +import { NodeHorizontalCard } from '~/components/common/NodeHorizontalCard'; import { INode } from '~/types'; import styles from './styles.module.scss'; @@ -12,7 +12,7 @@ interface IProps { const TagSidebarList: FC = ({ nodes }) => (
{nodes.map((node) => ( - + ))}
); diff --git a/src/components/flow/CellShade/index.tsx b/src/containers/flow/FlowGrid/components/FlowCell/components/CellShade/index.tsx similarity index 100% rename from src/components/flow/CellShade/index.tsx rename to src/containers/flow/FlowGrid/components/FlowCell/components/CellShade/index.tsx diff --git a/src/components/flow/CellShade/styles.module.scss b/src/containers/flow/FlowGrid/components/FlowCell/components/CellShade/styles.module.scss similarity index 100% rename from src/components/flow/CellShade/styles.module.scss rename to src/containers/flow/FlowGrid/components/FlowCell/components/CellShade/styles.module.scss diff --git a/src/components/flow/FlowCellImage/index.tsx b/src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellImage/index.tsx similarity index 100% rename from src/components/flow/FlowCellImage/index.tsx rename to src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellImage/index.tsx diff --git a/src/components/flow/FlowCellImage/styles.module.scss b/src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellImage/styles.module.scss similarity index 100% rename from src/components/flow/FlowCellImage/styles.module.scss rename to src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellImage/styles.module.scss diff --git a/src/components/flow/FlowCellMenu/index.tsx b/src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellMenu/index.tsx similarity index 100% rename from src/components/flow/FlowCellMenu/index.tsx rename to src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellMenu/index.tsx diff --git a/src/components/flow/FlowCellMenu/styles.module.scss b/src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellMenu/styles.module.scss similarity index 100% rename from src/components/flow/FlowCellMenu/styles.module.scss rename to src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellMenu/styles.module.scss diff --git a/src/components/flow/FlowCellText/index.tsx b/src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellText/index.tsx similarity index 100% rename from src/components/flow/FlowCellText/index.tsx rename to src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellText/index.tsx diff --git a/src/components/flow/FlowCellText/styles.module.scss b/src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellText/styles.module.scss similarity index 100% rename from src/components/flow/FlowCellText/styles.module.scss rename to src/containers/flow/FlowGrid/components/FlowCell/components/FlowCellText/styles.module.scss diff --git a/src/components/flow/FlowCell/index.tsx b/src/containers/flow/FlowGrid/components/FlowCell/index.tsx similarity index 93% rename from src/components/flow/FlowCell/index.tsx rename to src/containers/flow/FlowGrid/components/FlowCell/index.tsx index cd8b74ba..25e9d158 100644 --- a/src/components/flow/FlowCell/index.tsx +++ b/src/containers/flow/FlowGrid/components/FlowCell/index.tsx @@ -3,16 +3,16 @@ import { FC, useMemo } from 'react'; import classNames from 'classnames'; import { Anchor } from '~/components/common/Anchor'; -import { CellShade } from '~/components/flow/CellShade'; -import { FlowCellImage } from '~/components/flow/FlowCellImage'; -import { FlowCellMenu } from '~/components/flow/FlowCellMenu'; -import { FlowCellText } from '~/components/flow/FlowCellText'; import { MenuDots } from '~/components/menu/MenuDots'; import { useClickOutsideFocus } from '~/hooks/dom/useClickOutsideFocus'; import { useWindowSize } from '~/hooks/dom/useWindowSize'; import { useFlowCellControls } from '~/hooks/flow/useFlowCellControls'; import { FlowDisplay, INode } from '~/types'; +import { CellShade } from './components/CellShade'; +import { FlowCellImage } from './components/FlowCellImage'; +import { FlowCellMenu } from './components/FlowCellMenu'; +import { FlowCellText } from './components/FlowCellText'; import styles from './styles.module.scss'; interface Props { diff --git a/src/components/flow/FlowCell/styles.module.scss b/src/containers/flow/FlowGrid/components/FlowCell/styles.module.scss similarity index 100% rename from src/components/flow/FlowCell/styles.module.scss rename to src/containers/flow/FlowGrid/components/FlowCell/styles.module.scss diff --git a/src/components/flow/FlowGrid/index.tsx b/src/containers/flow/FlowGrid/index.tsx similarity index 96% rename from src/components/flow/FlowGrid/index.tsx rename to src/containers/flow/FlowGrid/index.tsx index e5db9697..637a0d00 100644 --- a/src/components/flow/FlowGrid/index.tsx +++ b/src/containers/flow/FlowGrid/index.tsx @@ -3,7 +3,6 @@ import { FC, Fragment } from 'react'; import classNames from 'classnames'; import { observer } from 'mobx-react-lite'; -import { FlowCell } from '~/components/flow/FlowCell'; import { flowDisplayToPreset, URLS } from '~/constants/urls'; import { useAuth } from '~/hooks/auth/useAuth'; import { FlowDisplay, IFlowNode, INode } from '~/types'; @@ -11,6 +10,7 @@ import { IUser } from '~/types/auth'; import { getURLFromString } from '~/utils/dom'; import { canEditNode } from '~/utils/node'; +import { FlowCell } from './components/FlowCell'; import styles from './styles.module.scss'; interface Props { diff --git a/src/components/flow/FlowGrid/styles.module.scss b/src/containers/flow/FlowGrid/styles.module.scss similarity index 100% rename from src/components/flow/FlowGrid/styles.module.scss rename to src/containers/flow/FlowGrid/styles.module.scss diff --git a/src/components/flow/FlowLoginStamp/index.tsx b/src/containers/flow/FlowLoginStamp/index.tsx similarity index 100% rename from src/components/flow/FlowLoginStamp/index.tsx rename to src/containers/flow/FlowLoginStamp/index.tsx diff --git a/src/components/flow/FlowLoginStamp/styles.module.scss b/src/containers/flow/FlowLoginStamp/styles.module.scss similarity index 100% rename from src/components/flow/FlowLoginStamp/styles.module.scss rename to src/containers/flow/FlowLoginStamp/styles.module.scss diff --git a/src/components/flow/FlowRecent/index.tsx b/src/containers/flow/FlowStamp/components/FlowRecent/index.tsx similarity index 65% rename from src/components/flow/FlowRecent/index.tsx rename to src/containers/flow/FlowStamp/components/FlowRecent/index.tsx index ca856b62..1d7371c0 100644 --- a/src/components/flow/FlowRecent/index.tsx +++ b/src/containers/flow/FlowStamp/components/FlowRecent/index.tsx @@ -1,9 +1,8 @@ import { FC } from 'react'; +import { NodeHorizontalCard } from '~/components/common/NodeHorizontalCard'; import { IFlowNode } from '~/types'; -import { FlowRecentItem } from '../FlowRecentItem'; - import styles from './styles.module.scss'; interface IProps { @@ -17,13 +16,15 @@ const FlowRecent: FC = ({ recent, updated }) => {
{updated && updated.map((node) => ( - + ))}
{recent && - recent.map((node) => )} + recent.map((node) => ( + + ))}
); diff --git a/src/components/flow/FlowRecent/styles.module.scss b/src/containers/flow/FlowStamp/components/FlowRecent/styles.module.scss similarity index 100% rename from src/components/flow/FlowRecent/styles.module.scss rename to src/containers/flow/FlowStamp/components/FlowRecent/styles.module.scss diff --git a/src/components/flow/FlowSearchResults/index.tsx b/src/containers/flow/FlowStamp/components/FlowSearchResults/index.tsx similarity index 78% rename from src/components/flow/FlowSearchResults/index.tsx rename to src/containers/flow/FlowStamp/components/FlowSearchResults/index.tsx index f37325ec..74d51f7e 100644 --- a/src/components/flow/FlowSearchResults/index.tsx +++ b/src/containers/flow/FlowStamp/components/FlowSearchResults/index.tsx @@ -2,10 +2,9 @@ import { FC } from 'react'; import { Icon } from '~/components/common/Icon'; import { InfiniteScroll } from '~/components/common/InfiniteScroll'; +import { NodeHorizontalCard } from '~/components/common/NodeHorizontalCard'; import { INode } from '~/types'; -import { FlowRecentItem } from '../FlowRecentItem'; - import styles from './styles.module.scss'; interface IProps { @@ -15,12 +14,7 @@ interface IProps { onLoadMore: () => void; } -const FlowSearchResults: FC = ({ - results, - isLoading, - onLoadMore, - hasMore, -}) => { +const FlowSearchResults: FC = ({ results, onLoadMore, hasMore }) => { if (!results.length) { return (
@@ -34,7 +28,7 @@ const FlowSearchResults: FC = ({
{results.map((node) => ( - + ))}
diff --git a/src/components/flow/FlowSearchResults/styles.module.scss b/src/containers/flow/FlowStamp/components/FlowSearchResults/styles.module.scss similarity index 100% rename from src/components/flow/FlowSearchResults/styles.module.scss rename to src/containers/flow/FlowStamp/components/FlowSearchResults/styles.module.scss diff --git a/src/containers/flow/FlowStamp/index.tsx b/src/containers/flow/FlowStamp/index.tsx index 5644a999..fbf1aca6 100644 --- a/src/containers/flow/FlowStamp/index.tsx +++ b/src/containers/flow/FlowStamp/index.tsx @@ -5,8 +5,6 @@ import classNames from 'classnames'; import { Group } from '~/components/common/Group'; import { Icon } from '~/components/common/Icon'; import { Superpower } from '~/components/common/Superpower'; -import { FlowRecent } from '~/components/flow/FlowRecent'; -import { FlowSearchResults } from '~/components/flow/FlowSearchResults'; import { InputText } from '~/components/input/InputText'; import { Toggle } from '~/components/input/Toggle'; import { experimentalFeatures } from '~/constants/features'; @@ -14,6 +12,9 @@ import styles from '~/containers/flow/FlowStamp/styles.module.scss'; import { useFlowContext } from '~/utils/providers/FlowProvider'; import { useSearchContext } from '~/utils/providers/SearchProvider'; +import { FlowRecent } from './components/FlowRecent'; +import { FlowSearchResults } from './components/FlowSearchResults'; + interface IProps { isFluid: boolean; onToggleLayout: () => void; diff --git a/src/components/flow/FlowSwiperHero/index.tsx b/src/containers/flow/FlowSwiperHero/index.tsx similarity index 92% rename from src/components/flow/FlowSwiperHero/index.tsx rename to src/containers/flow/FlowSwiperHero/index.tsx index f66cfc24..a0d67025 100644 --- a/src/components/flow/FlowSwiperHero/index.tsx +++ b/src/containers/flow/FlowSwiperHero/index.tsx @@ -27,20 +27,6 @@ const autoplay = { disableOnInteraction: false, }; -const lazy = { - enabled: true, - loadPrevNextAmount: 2, - loadOnTransitionStart: true, - loadPrevNext: true, - checkInView: true, -}; - -const getSrcSet = (url?: string) => - [ - `${getURLFromString(url, imagePresets.cover)} 768w`, - `${getURLFromString(url, imagePresets.small_hero)}`, - ].join(', '); - export const FlowSwiperHero: FC = ({ heroes }) => { const { isTablet } = useWindowSize(); const { push } = useNavigation(); diff --git a/src/components/flow/FlowSwiperHero/styles.module.scss b/src/containers/flow/FlowSwiperHero/styles.module.scss similarity index 100% rename from src/components/flow/FlowSwiperHero/styles.module.scss rename to src/containers/flow/FlowSwiperHero/styles.module.scss diff --git a/src/containers/lab/LabStats/index.tsx b/src/containers/lab/LabStats/index.tsx index f96891ce..08ce2e98 100644 --- a/src/containers/lab/LabStats/index.tsx +++ b/src/containers/lab/LabStats/index.tsx @@ -1,8 +1,8 @@ import { FC } from 'react'; import { Group } from '~/components/common/Group'; +import { NodeHorizontalCard } from '~/components/common/NodeHorizontalCard'; import { SubTitle } from '~/components/common/SubTitle'; -import { FlowRecentItem } from '~/components/flow/FlowRecentItem'; import { LabFactoryBanner } from '~/components/lab/LabFactoryBanner'; import { LabHeroes } from '~/components/lab/LabHeroes'; import { LabTags } from '~/components/lab/LabTags'; @@ -40,7 +40,7 @@ const LabStats: FC = () => {
Новые
{updates.slice(0, 10).map((node) => ( - + ))} diff --git a/src/containers/settings/SettingsDeleted/index.tsx b/src/containers/settings/SettingsDeleted/index.tsx index 6c9c08d2..516cb590 100644 --- a/src/containers/settings/SettingsDeleted/index.tsx +++ b/src/containers/settings/SettingsDeleted/index.tsx @@ -3,8 +3,8 @@ import { VFC } from 'react'; import { Filler } from '~/components/common/Filler'; import { Group } from '~/components/common/Group'; import { Icon } from '~/components/common/Icon'; +import { NodeHorizontalCard } from '~/components/common/NodeHorizontalCard'; import { Padder } from '~/components/common/Padder'; -import { FlowRecentItem } from '~/components/flow/FlowRecentItem'; import { InputText } from '~/components/input/InputText'; import { HorizontalMenu } from '~/components/menu/HorizontalMenu'; import { useFlowStore } from '~/store/flow/useFlowStore'; @@ -34,7 +34,7 @@ const SettingsDeleted: VFC = () => {
{nodes.map((node) => (
- +
))}
diff --git a/src/layouts/FlowLayout/index.tsx b/src/layouts/FlowLayout/index.tsx index 551fdba2..93078a74 100644 --- a/src/layouts/FlowLayout/index.tsx +++ b/src/layouts/FlowLayout/index.tsx @@ -3,10 +3,10 @@ import { useEffect, useState } from 'react'; import classNames from 'classnames'; import { observer } from 'mobx-react-lite'; -import { FlowGrid } from '~/components/flow/FlowGrid'; -import { FlowLoginStamp } from '~/components/flow/FlowLoginStamp'; -import { FlowSwiperHero } from '~/components/flow/FlowSwiperHero'; +import { FlowGrid } from '~/containers/flow/FlowGrid'; +import { FlowLoginStamp } from '~/containers/flow/FlowLoginStamp'; import { FlowStamp } from '~/containers/flow/FlowStamp'; +import { FlowSwiperHero } from '~/containers/flow/FlowSwiperHero'; import { SubmitBarRouter } from '~/containers/main/SubmitBarRouter'; import { useAuth } from '~/hooks/auth/useAuth'; import { useInfiniteLoader } from '~/hooks/dom/useInfiniteLoader'; diff --git a/src/layouts/ProfileLayout/index.tsx b/src/layouts/ProfileLayout/index.tsx index 542db524..eac53bb3 100644 --- a/src/layouts/ProfileLayout/index.tsx +++ b/src/layouts/ProfileLayout/index.tsx @@ -2,7 +2,6 @@ import { FC } from 'react'; import { observer } from 'mobx-react-lite'; -import { FlowGrid } from '~/components/flow/FlowGrid'; import { Container } from '~/containers/main/Container'; import { ProfilePageLeft } from '~/containers/profile/ProfilePageLeft'; import { useUser } from '~/hooks/auth/useUser'; @@ -34,7 +33,7 @@ const ProfileLayout: FC = observer(({ username }) => {
- +
here should be grid
);