optimized imports
|
@ -1,4 +1,4 @@
|
||||||
import React, { FC, memo, useMemo, useEffect } from 'react';
|
import React, { FC, memo, useEffect, useMemo } from 'react';
|
||||||
import { ICommentBlockProps } from '~/constants/comment';
|
import { ICommentBlockProps } from '~/constants/comment';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { getYoutubeThumb } from '~/utils/dom';
|
import { getYoutubeThumb } from '~/utils/dom';
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { FC, useState, useCallback } from 'react';
|
import React, { FC, useCallback, useState } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { FC, useState, useCallback, useEffect, useRef } from 'react';
|
import React, { FC, useCallback, useEffect, useRef, useState } from 'react';
|
||||||
import { IUser } from '~/redux/auth/types';
|
import { IUser } from '~/redux/auth/types';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { getURL } from '~/utils/dom';
|
import { getURL } from '~/utils/dom';
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { ButtonHTMLAttributes, DetailedHTMLProps, FC, HTMLAttributes } from 'react';
|
import React, { DetailedHTMLProps, FC, HTMLAttributes } from 'react';
|
||||||
import styles from '~/styles/common/markdown.module.scss';
|
import styles from '~/styles/common/markdown.module.scss';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ type IProps = React.HTMLAttributes<HTMLDivElement> & {
|
||||||
padding?: number;
|
padding?: number;
|
||||||
vertical?: boolean;
|
vertical?: boolean;
|
||||||
horizontal?: boolean;
|
horizontal?: boolean;
|
||||||
}
|
};
|
||||||
|
|
||||||
const Padder: FC<IProps> = ({
|
const Padder: FC<IProps> = ({
|
||||||
padding,
|
padding,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { createContext, FC, memo, useContext, useState } from 'react';
|
import React, { createContext, FC, useContext, useState } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { createPortal } from 'react-dom';
|
import { createPortal } from 'react-dom';
|
||||||
import { getURL } from '~/utils/dom';
|
import { getURL } from '~/utils/dom';
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { createContext, FC, VFC, useContext, useState, useMemo } from 'react';
|
import React, { createContext, FC, useContext, useMemo, useState, VFC } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
import React, { FC, useCallback, useMemo } from 'react';
|
import React, { FC, useCallback, useMemo } from 'react';
|
||||||
import { connect } from 'react-redux';
|
|
||||||
import { UPLOAD_TYPES } from '~/redux/uploads/constants';
|
import { UPLOAD_TYPES } from '~/redux/uploads/constants';
|
||||||
import { ImageGrid } from '../ImageGrid';
|
import { ImageGrid } from '../ImageGrid';
|
||||||
import { AudioGrid } from '../AudioGrid';
|
import { AudioGrid } from '../AudioGrid';
|
||||||
import { selectUploads } from '~/redux/uploads/selectors';
|
|
||||||
|
|
||||||
import * as UPLOAD_ACTIONS from '~/redux/uploads/actions';
|
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { NodeEditorProps } from '~/redux/node/types';
|
import { NodeEditorProps } from '~/redux/node/types';
|
||||||
import { useNodeImages } from '~/hooks/node/useNodeImages';
|
import { useNodeImages } from '~/hooks/node/useNodeImages';
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { FC, createElement } from 'react';
|
import React, { createElement, FC } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { NODE_PANEL_COMPONENTS } from '~/redux/node/constants';
|
import { NODE_PANEL_COMPONENTS } from '~/redux/node/constants';
|
||||||
import { has } from 'ramda';
|
import { has } from 'ramda';
|
||||||
|
|
|
@ -1,17 +1,12 @@
|
||||||
import React, { ChangeEvent, FC, useCallback, useEffect, useState } from 'react';
|
import React, { ChangeEvent, FC, useCallback, useEffect } from 'react';
|
||||||
import { IFileWithUUID } from '~/redux/types';
|
|
||||||
import uuid from 'uuid4';
|
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { UPLOAD_SUBJECTS, UPLOAD_TARGETS, UPLOAD_TYPES } from '~/redux/uploads/constants';
|
import { UPLOAD_SUBJECTS, UPLOAD_TARGETS, UPLOAD_TYPES } from '~/redux/uploads/constants';
|
||||||
import { path } from 'ramda';
|
import { path } from 'ramda';
|
||||||
import { connect } from 'react-redux';
|
|
||||||
import * as UPLOAD_ACTIONS from '~/redux/uploads/actions';
|
|
||||||
import { selectUploads } from '~/redux/uploads/selectors';
|
|
||||||
import { getURL } from '~/utils/dom';
|
import { getURL } from '~/utils/dom';
|
||||||
import { Icon } from '~/components/input/Icon';
|
import { Icon } from '~/components/input/Icon';
|
||||||
import { PRESETS } from '~/constants/urls';
|
import { PRESETS } from '~/constants/urls';
|
||||||
import { IEditorComponentProps } from '~/redux/node/types';
|
import { IEditorComponentProps } from '~/redux/node/types';
|
||||||
import { useFileUploader, useFileUploaderContext } from '~/hooks/data/useFileUploader';
|
import { useFileUploader } from '~/hooks/data/useFileUploader';
|
||||||
import { useNodeFormContext } from '~/hooks/node/useNodeFormFormik';
|
import { useNodeFormContext } from '~/hooks/node/useNodeFormFormik';
|
||||||
import { getFileType } from '~/utils/uploader';
|
import { getFileType } from '~/utils/uploader';
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import React, { FC, useCallback } from 'react';
|
import React, { FC, useCallback } from 'react';
|
||||||
import { INode } from '~/redux/types';
|
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { Textarea } from '~/components/input/Textarea';
|
import { Textarea } from '~/components/input/Textarea';
|
||||||
import { path } from 'ramda';
|
import { path } from 'ramda';
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import React, { FC, useCallback, useMemo } from 'react';
|
import React, { FC, useCallback, useMemo } from 'react';
|
||||||
import { INode } from '~/redux/types';
|
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { path } from 'ramda';
|
import { path } from 'ramda';
|
||||||
import { InputText } from '~/components/input/InputText';
|
import { InputText } from '~/components/input/InputText';
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
import React, { FC, useCallback, useMemo, useState } from 'react';
|
||||||
import { Swiper, SwiperSlide } from 'swiper/react';
|
import { Swiper, SwiperSlide } from 'swiper/react';
|
||||||
import 'swiper/swiper.scss';
|
import 'swiper/swiper.scss';
|
||||||
import 'swiper/components/effect-fade/effect-fade.scss';
|
import 'swiper/components/effect-fade/effect-fade.scss';
|
||||||
import 'swiper/components/lazy/lazy.scss';
|
import 'swiper/components/lazy/lazy.scss';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
|
|
||||||
import SwiperCore, { EffectFade, Navigation, Lazy, Autoplay } from 'swiper';
|
import SwiperCore, { Autoplay, EffectFade, Lazy, Navigation } from 'swiper';
|
||||||
import { Icon } from '~/components/input/Icon';
|
import { Icon } from '~/components/input/Icon';
|
||||||
import { IFlowState } from '~/redux/flow/reducer';
|
import { IFlowState } from '~/redux/flow/reducer';
|
||||||
import { getURLFromString } from '~/utils/dom';
|
import { getURLFromString } from '~/utils/dom';
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import React, { FC } from 'react';
|
import React, { FC } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { describeArc } from '~/utils/dom';
|
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { LoaderCircleInner } from '~/components/input/LoaderCircleInner';
|
import { LoaderCircleInner } from '~/components/input/LoaderCircleInner';
|
||||||
import { SVGProps } from '~/utils/types';
|
import { SVGProps } from '~/utils/types';
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import React, { FC, HTMLAttributes, SVGAttributes } from 'react';
|
import React, { FC, SVGAttributes } from 'react';
|
||||||
import { describeArc } from '~/utils/dom';
|
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import classNames from 'classnames';
|
|
||||||
|
|
||||||
interface IProps extends SVGAttributes<SVGElement> {
|
interface IProps extends SVGAttributes<SVGElement> {
|
||||||
size: number;
|
size: number;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import React, { FC, useCallback } from 'react';
|
import React, { FC, useCallback } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { ButtonProps, DivProps } from '~/utils/types';
|
import { ButtonProps } from '~/utils/types';
|
||||||
|
|
||||||
type ToggleColor = 'primary' | 'secondary' | 'lab' | 'danger' | 'white';
|
type ToggleColor = 'primary' | 'secondary' | 'lab' | 'danger' | 'white';
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import React, { FC } from 'react';
|
import React, { FC } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { Card } from '~/components/containers/Card';
|
|
||||||
import { Placeholder } from '~/components/placeholders/Placeholder';
|
|
||||||
import { Group } from '~/components/containers/Group';
|
import { Group } from '~/components/containers/Group';
|
||||||
import { Square } from '~/components/containers/Square';
|
import { Square } from '~/components/containers/Square';
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import React, { FC } from 'react';
|
import React, { FC } from 'react';
|
||||||
import { INode } from '~/redux/types';
|
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { Group } from '~/components/containers/Group';
|
import { Group } from '~/components/containers/Group';
|
||||||
import { Icon } from '~/components/input/Icon';
|
import { Icon } from '~/components/input/Icon';
|
||||||
|
|
|
@ -3,7 +3,6 @@ import styles from './/styles.module.scss';
|
||||||
import { Placeholder } from '~/components/placeholders/Placeholder';
|
import { Placeholder } from '~/components/placeholders/Placeholder';
|
||||||
import { ITag } from '~/redux/types';
|
import { ITag } from '~/redux/types';
|
||||||
import { Tag } from '~/components/tags/Tag';
|
import { Tag } from '~/components/tags/Tag';
|
||||||
import { Group } from '~/components/containers/Group';
|
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
import React, {
|
import React, { FC, useCallback, useEffect, useState } from 'react';
|
||||||
FC, LegacyRef, ReactChild, useCallback, useEffect, useState
|
|
||||||
} from 'react';
|
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { Group } from '~/components/containers/Group';
|
import { Group } from '~/components/containers/Group';
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
import React, { FC, useMemo } from 'react';
|
import React, { FC } from 'react';
|
||||||
import { INode } from '~/redux/types';
|
|
||||||
import { UPLOAD_TYPES } from '~/redux/uploads/constants';
|
|
||||||
import { AudioPlayer } from '~/components/media/AudioPlayer';
|
import { AudioPlayer } from '~/components/media/AudioPlayer';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { INodeComponentProps } from '~/redux/node/constants';
|
import { INodeComponentProps } from '~/redux/node/constants';
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import React, { FC, useMemo } from 'react';
|
import React, { FC } from 'react';
|
||||||
import { INode } from '~/redux/types';
|
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { UPLOAD_TYPES } from '~/redux/uploads/constants';
|
|
||||||
import { path } from 'ramda';
|
import { path } from 'ramda';
|
||||||
import { getURL } from '~/utils/dom';
|
import { getURL } from '~/utils/dom';
|
||||||
import { PRESETS } from '~/constants/urls';
|
import { PRESETS } from '~/constants/urls';
|
||||||
|
|
|
@ -2,7 +2,6 @@ import React, { FC, useMemo } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { Group } from '~/components/containers/Group';
|
import { Group } from '~/components/containers/Group';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { Filler } from '~/components/containers/Filler';
|
|
||||||
import { ERRORS } from '~/constants/errors';
|
import { ERRORS } from '~/constants/errors';
|
||||||
import { t } from '~/utils/trans';
|
import { t } from '~/utils/trans';
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
import React, { FC } from 'react';
|
import React, { FC } from 'react';
|
||||||
import { NodeTags } from '~/components/node/NodeTags';
|
import { NodeTags } from '~/components/node/NodeTags';
|
||||||
import { useTagContext } from '~/utils/context/TagsContextProvider';
|
import { useTagContext } from '~/utils/context/TagsContextProvider';
|
||||||
import { Group } from '~/components/containers/Group';
|
|
||||||
import { Button } from '~/components/input/Button';
|
|
||||||
|
|
||||||
interface IProps {}
|
interface IProps {}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { VFC, memo } from 'react';
|
import React, { memo, VFC } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { Icon } from '~/components/input/Icon';
|
import { Icon } from '~/components/input/Icon';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { FC, createElement } from 'react';
|
import React, { createElement, FC } from 'react';
|
||||||
import { INotification, NOTIFICATION_TYPES } from '~/redux/types';
|
import { INotification, NOTIFICATION_TYPES } from '~/redux/types';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { NotificationMessage } from '../NotificationMessage';
|
import { NotificationMessage } from '../NotificationMessage';
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import React, { FC, useCallback, useState } from 'react';
|
import React, { FC, useCallback } from 'react';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { Manager, Popper, Reference } from 'react-popper';
|
|
||||||
import { Icon } from '~/components/input/Icon';
|
import { Icon } from '~/components/input/Icon';
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
|
|
|
@ -5,7 +5,6 @@ import { uniq } from 'ramda';
|
||||||
import { Tag } from '~/components/tags/Tag';
|
import { Tag } from '~/components/tags/Tag';
|
||||||
import { TagInput } from '~/components/tags/TagInput';
|
import { TagInput } from '~/components/tags/TagInput';
|
||||||
import { separateTags } from '~/utils/tag';
|
import { separateTags } from '~/utils/tag';
|
||||||
import { Button } from '~/components/input/Button';
|
|
||||||
|
|
||||||
type IProps = HTMLAttributes<HTMLDivElement> & {
|
type IProps = HTMLAttributes<HTMLDivElement> & {
|
||||||
tags: Partial<ITag>[];
|
tags: Partial<ITag>[];
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
import React, { FC, MouseEventHandler, ReactElement, useEffect, useRef } from 'react';
|
import React, { FC, MouseEventHandler, useEffect, useRef } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { clearAllBodyScrollLocks, disableBodyScroll } from 'body-scroll-lock';
|
import { clearAllBodyScrollLocks, disableBodyScroll } from 'body-scroll-lock';
|
||||||
import { Icon } from '~/components/input/Icon';
|
import { Icon } from '~/components/input/Icon';
|
||||||
import { LoaderCircle } from '~/components/input/LoaderCircle';
|
import { LoaderCircle } from '~/components/input/LoaderCircle';
|
||||||
import { useCloseOnEscape } from '~/hooks';
|
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
children: React.ReactChild;
|
children: React.ReactChild;
|
||||||
|
|
|
@ -4,8 +4,6 @@ import { EditorDialog } from '~/containers/dialogs/EditorDialog';
|
||||||
import { useHistory, useRouteMatch } from 'react-router';
|
import { useHistory, useRouteMatch } from 'react-router';
|
||||||
import { values } from 'ramda';
|
import { values } from 'ramda';
|
||||||
import { INode } from '~/redux/types';
|
import { INode } from '~/redux/types';
|
||||||
import { apiPostNode } from '~/redux/node/api';
|
|
||||||
import { useUpdateNode } from '~/hooks/node/useUpdateNode';
|
|
||||||
import { useCreateNode } from '~/hooks/node/useCreateNode';
|
import { useCreateNode } from '~/hooks/node/useCreateNode';
|
||||||
|
|
||||||
const EditorCreateDialog: FC = () => {
|
const EditorCreateDialog: FC = () => {
|
||||||
|
|
|
@ -15,7 +15,6 @@ import { ModalWrapper } from '~/components/dialogs/ModalWrapper';
|
||||||
import { useTranslatedError } from '~/hooks/data/useTranslatedError';
|
import { useTranslatedError } from '~/hooks/data/useTranslatedError';
|
||||||
import { useCloseOnEscape } from '~/hooks';
|
import { useCloseOnEscape } from '~/hooks';
|
||||||
import { EditorConfirmClose } from '~/components/editors/EditorConfirmClose';
|
import { EditorConfirmClose } from '~/components/editors/EditorConfirmClose';
|
||||||
import { on } from 'cluster';
|
|
||||||
|
|
||||||
interface Props extends IDialogProps {
|
interface Props extends IDialogProps {
|
||||||
node: INode;
|
node: INode;
|
||||||
|
|
|
@ -3,8 +3,6 @@ import React, { FC, memo, useMemo } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { ICommentGroup } from '~/redux/types';
|
import { ICommentGroup } from '~/redux/types';
|
||||||
import { canEditComment } from '~/utils/node';
|
import { canEditComment } from '~/utils/node';
|
||||||
import { COMMENTS_DISPLAY } from '~/redux/node/constants';
|
|
||||||
import { plural } from '~/utils/dom';
|
|
||||||
import { useGrouppedComments } from '~/hooks/node/useGrouppedComments';
|
import { useGrouppedComments } from '~/hooks/node/useGrouppedComments';
|
||||||
import { useCommentContext } from '~/utils/context/CommentContextProvider';
|
import { useCommentContext } from '~/utils/context/CommentContextProvider';
|
||||||
import { Comment } from '~/components/comment/Comment';
|
import { Comment } from '~/components/comment/Comment';
|
||||||
|
|
|
@ -2,14 +2,13 @@ import React, { FC, useCallback, useEffect, useState } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import { getURL } from '~/utils/dom';
|
import { getURL } from '~/utils/dom';
|
||||||
import { pick } from 'ramda';
|
import { path, pick } from 'ramda';
|
||||||
import { selectAuthProfile, selectAuthUser } from '~/redux/auth/selectors';
|
import { selectAuthProfile, selectAuthUser } from '~/redux/auth/selectors';
|
||||||
import { PRESETS } from '~/constants/urls';
|
import { PRESETS } from '~/constants/urls';
|
||||||
import { selectUploads } from '~/redux/uploads/selectors';
|
import { selectUploads } from '~/redux/uploads/selectors';
|
||||||
import { IFileWithUUID } from '~/redux/types';
|
import { IFileWithUUID } from '~/redux/types';
|
||||||
import uuid from 'uuid4';
|
import uuid from 'uuid4';
|
||||||
import { UPLOAD_SUBJECTS, UPLOAD_TARGETS, UPLOAD_TYPES } from '~/redux/uploads/constants';
|
import { UPLOAD_SUBJECTS, UPLOAD_TARGETS, UPLOAD_TYPES } from '~/redux/uploads/constants';
|
||||||
import { path } from 'ramda';
|
|
||||||
import * as UPLOAD_ACTIONS from '~/redux/uploads/actions';
|
import * as UPLOAD_ACTIONS from '~/redux/uploads/actions';
|
||||||
import * as AUTH_ACTIONS from '~/redux/auth/actions';
|
import * as AUTH_ACTIONS from '~/redux/auth/actions';
|
||||||
import { Icon } from '~/components/input/Icon';
|
import { Icon } from '~/components/input/Icon';
|
||||||
|
|
|
@ -1,15 +1,10 @@
|
||||||
import React, { FC, useMemo } from 'react';
|
import React, { FC } from 'react';
|
||||||
import { IAuthState } from '~/redux/auth/types';
|
import { IAuthState } from '~/redux/auth/types';
|
||||||
import { formatText, getURL } from '~/utils/dom';
|
import { formatText } from '~/utils/dom';
|
||||||
import { PRESETS, URLS } from '~/constants/urls';
|
import { PRESETS } from '~/constants/urls';
|
||||||
import { Placeholder } from '~/components/placeholders/Placeholder';
|
import { Placeholder } from '~/components/placeholders/Placeholder';
|
||||||
import { Link } from 'react-router-dom';
|
|
||||||
import { Icon } from '~/components/input/Icon';
|
|
||||||
import classNames from 'classnames';
|
|
||||||
|
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import markdown from '~/styles/common/markdown.module.scss';
|
|
||||||
import { ProfileAvatar } from '~/containers/profile/ProfileAvatar';
|
|
||||||
import { Avatar } from '~/components/common/Avatar';
|
import { Avatar } from '~/components/common/Avatar';
|
||||||
import { Markdown } from '~/components/containers/Markdown';
|
import { Markdown } from '~/components/containers/Markdown';
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { FC, useCallback } from 'react';
|
import React, { FC } from 'react';
|
||||||
import styles from './styles.module.scss';
|
import styles from './styles.module.scss';
|
||||||
import { IAuthState } from '~/redux/auth/types';
|
import { IAuthState } from '~/redux/auth/types';
|
||||||
import { Tabs } from '~/components/dialogs/Tabs';
|
import { Tabs } from '~/components/dialogs/Tabs';
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { IFile, INotification, IResultWithStatus } from '../types';
|
import { IFile, INotification } from '../types';
|
||||||
|
|
||||||
export interface IToken {
|
export interface IToken {
|
||||||
access: string;
|
access: string;
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import { assocPath } from 'ramda';
|
import { assocPath } from 'ramda';
|
||||||
import { FLOW_ACTIONS } from './constants';
|
import { FLOW_ACTIONS } from './constants';
|
||||||
import {
|
import {
|
||||||
flowSetNodes,
|
|
||||||
flowSetHeroes,
|
|
||||||
flowSetRecent,
|
|
||||||
flowSetUpdated,
|
|
||||||
flowSetFlow,
|
flowSetFlow,
|
||||||
|
flowSetHeroes,
|
||||||
|
flowSetNodes,
|
||||||
|
flowSetRecent,
|
||||||
flowSetSearch,
|
flowSetSearch,
|
||||||
|
flowSetUpdated,
|
||||||
} from './actions';
|
} from './actions';
|
||||||
import { IFlowState } from './reducer';
|
import { IFlowState } from './reducer';
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import { createReducer } from '~/utils/reducer';
|
import { createReducer } from '~/utils/reducer';
|
||||||
import { LAB_HANDLERS } from '~/redux/lab/handlers';
|
import { LAB_HANDLERS } from '~/redux/lab/handlers';
|
||||||
import { ILabState } from '~/redux/lab/types';
|
import { ILabState } from '~/redux/lab/types';
|
||||||
import { INode, ITag } from '~/redux/types';
|
|
||||||
|
|
||||||
const INITIAL_STATE: ILabState = {
|
const INITIAL_STATE: ILabState = {
|
||||||
list: {
|
list: {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import { takeLeading, call, put, select } from 'redux-saga/effects';
|
import { call, put, select, takeLeading } from 'redux-saga/effects';
|
||||||
import {
|
import {
|
||||||
labGetList,
|
labGetList,
|
||||||
|
labSeenNode,
|
||||||
labSetList,
|
labSetList,
|
||||||
labSetStats,
|
labSetStats,
|
||||||
labSetUpdates,
|
labSetUpdates,
|
||||||
labSeenNode,
|
|
||||||
} from '~/redux/lab/actions';
|
} from '~/redux/lab/actions';
|
||||||
import { LAB_ACTIONS } from '~/redux/lab/constants';
|
import { LAB_ACTIONS } from '~/redux/lab/constants';
|
||||||
import { Unwrap } from '~/redux/types';
|
import { Unwrap } from '~/redux/types';
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { MODAL_HANDLERS } from '~/redux/modal/handlers';
|
import { MODAL_HANDLERS } from '~/redux/modal/handlers';
|
||||||
import { createReducer } from '~/utils/reducer';
|
import { createReducer } from '~/utils/reducer';
|
||||||
import { DIALOGS } from '~/redux/modal/constants';
|
import { DIALOGS } from '~/redux/modal/constants';
|
||||||
import { ValueOf, IFile } from '~/redux/types';
|
import { IFile, ValueOf } from '~/redux/types';
|
||||||
|
|
||||||
export interface IModalState {
|
export interface IModalState {
|
||||||
is_shown: boolean;
|
is_shown: boolean;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { takeEvery, put } from 'redux-saga/effects';
|
import { put, takeEvery } from 'redux-saga/effects';
|
||||||
import { LocationChangeAction, LOCATION_CHANGE } from 'connected-react-router';
|
import { LOCATION_CHANGE, LocationChangeAction } from 'connected-react-router';
|
||||||
import { authOpenProfile, authShowRestoreModal } from '../auth/actions';
|
import { authOpenProfile, authShowRestoreModal } from '../auth/actions';
|
||||||
import { MODAL_ACTIONS, DIALOGS } from './constants';
|
import { DIALOGS, MODAL_ACTIONS } from './constants';
|
||||||
import { modalShowPhotoswipe, modalSet } from './actions';
|
import { modalSet, modalShowPhotoswipe } from './actions';
|
||||||
|
|
||||||
function* onPathChange({
|
function* onPathChange({
|
||||||
payload: {
|
payload: {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { PLAYER_ACTIONS } from './constants';
|
import { PLAYER_ACTIONS } from './constants';
|
||||||
import { assocPath } from 'ramda';
|
import { assocPath } from 'ramda';
|
||||||
import { playerSetFile, playerSetStatus, playerSet } from './actions';
|
import { playerSet, playerSetFile, playerSetStatus } from './actions';
|
||||||
|
|
||||||
const setFile = (state, { file }: ReturnType<typeof playerSetFile>) =>
|
const setFile = (state, { file }: ReturnType<typeof playerSetFile>) =>
|
||||||
assocPath(['file'], file, state);
|
assocPath(['file'], file, state);
|
||||||
|
|
|
@ -7,7 +7,7 @@ import {
|
||||||
tagSetNodes,
|
tagSetNodes,
|
||||||
} from '~/redux/tag/actions';
|
} from '~/redux/tag/actions';
|
||||||
import { selectTagNodes } from '~/redux/tag/selectors';
|
import { selectTagNodes } from '~/redux/tag/selectors';
|
||||||
import { apiGetTagSuggestions, apiGetNodesOfTag } from '~/redux/tag/api';
|
import { apiGetNodesOfTag, apiGetTagSuggestions } from '~/redux/tag/api';
|
||||||
import { Unwrap } from '~/redux/types';
|
import { Unwrap } from '~/redux/types';
|
||||||
|
|
||||||
function* loadTagNodes({ tag }: ReturnType<typeof tagLoadNodes>) {
|
function* loadTagNodes({ tag }: ReturnType<typeof tagLoadNodes>) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { UPLOAD_ACTIONS } from '~/redux/uploads/constants';
|
import { UPLOAD_ACTIONS } from '~/redux/uploads/constants';
|
||||||
import { IFileWithUUID, UUID, IFile } from '../types';
|
import { IFile, IFileWithUUID, UUID } from '../types';
|
||||||
import { IUploadStatus } from './reducer';
|
import { IUploadStatus } from './reducer';
|
||||||
|
|
||||||
export const uploadUploadFiles = (files: IFileWithUUID[]) => ({
|
export const uploadUploadFiles = (files: IFileWithUUID[]) => ({
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
import { assocPath } from 'ramda';
|
import { assocPath, omit } from 'ramda';
|
||||||
import { omit } from 'ramda';
|
|
||||||
|
|
||||||
import { UPLOAD_ACTIONS, EMPTY_UPLOAD_STATUS } from './constants';
|
import { EMPTY_UPLOAD_STATUS, UPLOAD_ACTIONS } from './constants';
|
||||||
import { uploadAddStatus, uploadDropStatus, uploadSetStatus, uploadAddFile } from './actions';
|
import { uploadAddFile, uploadAddStatus, uploadDropStatus, uploadSetStatus } from './actions';
|
||||||
import { IUploadState } from './reducer';
|
import { IUploadState } from './reducer';
|
||||||
|
|
||||||
const addStatus = (
|
const addStatus = (
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
@ -5,7 +5,6 @@
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
|
@ -5,7 +5,6 @@
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 5 KiB |
|
@ -1,11 +1,5 @@
|
||||||
<svg
|
<svg
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="3"
|
width="3"
|
||||||
height="3"
|
height="3"
|
||||||
viewBox="0 0 3 3"
|
viewBox="0 0 3 3"
|
||||||
|
|
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 200 B |
|
@ -5,7 +5,6 @@
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
|
@ -5,7 +5,6 @@
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
|
@ -5,7 +5,6 @@
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
@ -5,7 +5,6 @@
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
|
@ -5,7 +5,6 @@
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
@ -1,4 +1,4 @@
|
||||||
import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';
|
import axios, { AxiosRequestConfig, AxiosResponse } from 'axios';
|
||||||
import { push } from 'connected-react-router';
|
import { push } from 'connected-react-router';
|
||||||
import { API } from '~/constants/api';
|
import { API } from '~/constants/api';
|
||||||
import { store } from '~/redux/store';
|
import { store } from '~/redux/store';
|
||||||
|
|
|
@ -10,11 +10,11 @@ import { COMMENT_BLOCK_DETECTORS, COMMENT_BLOCK_TYPES, ICommentBlock } from '~/c
|
||||||
import format from 'date-fns/format';
|
import format from 'date-fns/format';
|
||||||
import { pipe } from 'ramda';
|
import { pipe } from 'ramda';
|
||||||
import {
|
import {
|
||||||
formatTextDash,
|
|
||||||
formatExclamations,
|
formatExclamations,
|
||||||
formatTextMarkdown,
|
|
||||||
formatTextClickableUsernames,
|
formatTextClickableUsernames,
|
||||||
formatTextComments,
|
formatTextComments,
|
||||||
|
formatTextDash,
|
||||||
|
formatTextMarkdown,
|
||||||
formatTextSanitizeTags,
|
formatTextSanitizeTags,
|
||||||
formatTextSanitizeYoutube,
|
formatTextSanitizeYoutube,
|
||||||
formatTextTodos,
|
formatTextTodos,
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
import { curry } from 'ramda';
|
import { curry, insert, nth, path, remove } from 'ramda';
|
||||||
import { insert } from 'ramda';
|
import { IComment, ICommentGroup } from '~/redux/types';
|
||||||
import { nth } from 'ramda';
|
|
||||||
import { remove } from 'ramda';
|
|
||||||
import { ICommentGroup, IComment } from '~/redux/types';
|
|
||||||
import { path } from 'ramda';
|
|
||||||
import { isAfter, isValid, parseISO } from 'date-fns';
|
import { isAfter, isValid, parseISO } from 'date-fns';
|
||||||
|
|
||||||
export const moveArrItem = curry((at, to, list) => insert(to, nth(at, list), remove(at, 1, list)));
|
export const moveArrItem = curry((at, to, list) => insert(to, nth(at, list), remove(at, 1, list)));
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { ERRORS, ERROR_LITERAL } from '~/constants/errors';
|
import { ERROR_LITERAL, ERRORS } from '~/constants/errors';
|
||||||
import { ValueOf } from '~/redux/types';
|
import { ValueOf } from '~/redux/types';
|
||||||
|
|
||||||
export const t = (string: ValueOf<typeof ERRORS>): ValueOf<typeof ERROR_LITERAL> =>
|
export const t = (string: ValueOf<typeof ERRORS>): ValueOf<typeof ERROR_LITERAL> =>
|
||||||
|
|