diff --git a/.eslintignore b/.eslintignore index b980bf2d1..0089d399e 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,6 @@ !.eslintrc.js .gitignore +next-env.d.ts *.json *.lock *.hbs diff --git a/.eslintrc.js b/.eslintrc.js index 52a474ac8..32bfdef03 100755 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -41,6 +41,8 @@ module.exports = { }, rules: { '@typescript-eslint/ban-ts-comment': 0, + 'react/jsx-uses-react': 'off', + 'react/react-in-jsx-scope': 'off', 'react/jsx-filename-extension': [ 2, { extensions: ['.js', '.jsx', '.ts', '.tsx'] }, diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a14d75cb0..36584c122 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,38 +22,38 @@ jobs: options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - - name: (Backend) checkout codebase - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: 'coderplanets/coderplanets_server' - path: 'backend_server' - - name: (Backend) Setup Elixir and OTP - uses: erlef/setup-elixir@v1 - with: - elixir-version: '1.10.3' # Define the elixir version [required] - otp-version: '22.3' # Define the OTP version [required] - - name: (Backend) Restore dependencies cache - uses: actions/cache@v2 - with: - path: deps - key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} - restore-keys: ${{ runner.os }}-mix- - - name: (Backend) Install Packages - working-directory: ./backend_server - run: mix deps.get > /dev/null - - name: (Backend) run migration - working-directory: ./backend_server - run: MIX_ENV=ci MIX_ENV=ci mix ecto.migrate > /dev/null - - name: (Backend) set up test DB - working-directory: ./backend_server - run: MIX_ENV=ci mix ecto.setup > /dev/null - - name: (Backend) seed data into DB - working-directory: ./backend_server - run: MIX_ENV=ci mix run priv/mock/cps_seeds.exs > /dev/null - - name: (Backend) Run Server - working-directory: ./backend_server - run: MIX_ENV=ci mix phx.server & + # - name: (Backend) checkout codebase + # uses: actions/checkout@v2 + # with: + # fetch-depth: 0 + # repository: 'coderplanets/coderplanets_server' + # path: 'backend_server' + # - name: (Backend) Setup Elixir and OTP + # uses: erlef/setup-elixir@v1 + # with: + # elixir-version: '1.10.3' # Define the elixir version [required] + # otp-version: '22.3' # Define the OTP version [required] + # - name: (Backend) Restore dependencies cache + # uses: actions/cache@v2 + # with: + # path: deps + # key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} + # restore-keys: ${{ runner.os }}-mix- + # - name: (Backend) Install Packages + # working-directory: ./backend_server + # run: mix deps.get > /dev/null + # - name: (Backend) run migration + # working-directory: ./backend_server + # run: MIX_ENV=ci MIX_ENV=ci mix ecto.migrate > /dev/null + # - name: (Backend) set up test DB + # working-directory: ./backend_server + # run: MIX_ENV=ci mix ecto.setup > /dev/null + # - name: (Backend) seed data into DB + # working-directory: ./backend_server + # run: MIX_ENV=ci mix run priv/mock/cps_seeds.exs > /dev/null + # - name: (Backend) Run Server + # working-directory: ./backend_server + # run: MIX_ENV=ci mix phx.server & - name: (Frontend) checkout codebase uses: actions/checkout@v2 diff --git a/config/config.ci.json b/config/config.ci.json index 1766a5804..ecce8abd7 100755 --- a/config/config.ci.json +++ b/config/config.ci.json @@ -1,4 +1,5 @@ { "//--- endpoint configs ---//": "", - "GRAPHQL_ENDPOINT": "http://localhost:4001/graphiql" + "// GRAPHQL_ENDPOINT": "http://localhost:4001/graphiql", + "GRAPHQL_ENDPOINT": "https://api.coderplanets.com/graphiql" } diff --git a/config/index.ts b/config/index.ts index 2b829b950..17ed31803 100755 --- a/config/index.ts +++ b/config/index.ts @@ -1,16 +1,13 @@ -// export * from './config.json' -// import * as CONFIG from './config.json' - import type { TThemeName } from '@/spec' -import { DEFAULT_THEME as DEFAULT_THEME_CONFIG } from './config.json' + +import CONFIG from './config.json' export { default as LABEL_POOL } from './label_pool' export { default as SEO } from './next_seo' -export const DEFAULT_THEME = DEFAULT_THEME_CONFIG as TThemeName +export const DEFAULT_THEME = CONFIG.DEFAULT_THEME as TThemeName -// explicit export to avoid eslint warning -export { +export const { GRAPHQL_ENDPOINT, SENIOR_AMOUNT_THRESHOLD, SPONSOR_AMOUNT_THRESHOLD, @@ -41,4 +38,4 @@ export { EMAIL_HELLO, EMAIL_BUSINESS, BUILD_VERSION, -} from './config.json' +} = CONFIG diff --git a/config/label_pool.ts b/config/label_pool.ts index 75c19f3ac..d5c2aca87 100755 --- a/config/label_pool.ts +++ b/config/label_pool.ts @@ -1,4 +1,4 @@ -import * as CONFIG from './config.json' +import CONFIG from './config.json' const { ICON_CMD } = CONFIG diff --git a/next-env.d.ts b/next-env.d.ts old mode 100644 new mode 100755 index 7b7aa2c77..c6643fda1 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,2 +1,3 @@ /// /// +/// diff --git a/package.json b/package.json index 1f39a3a44..983baf0b6 100644 --- a/package.json +++ b/package.json @@ -85,13 +85,13 @@ "js-cookie": "^2.2.0", "mastani-codehighlight": "0.0.7", "mobile-device-detect": "^0.4.3", - "mobx": "6.3.0", - "mobx-react": "7.1.0", + "mobx": "6.3.2", + "mobx-react": "7.2.0", "mobx-react-lite": "3.2.0", - "mobx-state-tree": "5.0.1", + "mobx-state-tree": "5.0.2", "module-alias": "^2.0.1", "nanoid": "^3.1.12", - "next": "^10.1.4-canary.16", + "next": "11.0.1", "next-compose-plugins": "^2.2.0", "next-i18next": "4.4.1", "next-offline": "4.0.6", @@ -99,16 +99,16 @@ "nextjs-progressbar": "^0.0.6", "overlayscrollbars": "1.13.1", "path-match": "^1.2.4", - "polished": "4.1.1", + "polished": "4.1.3", "promise-timeout": "^1.3.0", "prop-types": "^15.5.10", "pubsub-js": "^1.9.3", "ramda": "0.26.1", - "react": "16.9.0", + "react": "17.0.2", "react-animation": "^1.2.2", "react-calendar-heatmap": "1.8.1", "react-content-loader": "3.4.2", - "react-dom": "16.9.0", + "react-dom": "17.0.2", "react-highlight-words": "^0.16.0", "react-lazy-load-image-component": "1.5.0", "react-masonry-component": "^6.0.1", @@ -135,7 +135,7 @@ "sentry-testkit": "^2.1.0", "store": "^2.0.12", "stringz": "^2.0.0", - "styled-components": "5.2.3", + "styled-components": "5.3.0", "timeago-react": "3.0.2", "tinykeys": "^1.0.6" }, @@ -161,6 +161,7 @@ "enzyme-adapter-react-16": "1.15.2", "enzyme-to-json": "^3.3.4", "eslint": "6.4.0", + "eslint-config-next": "^11.0.1", "husky": "^3.0.0", "jest": "26.2.2", "npm-run-all": "^4.1.1", diff --git a/src/components/AlertBar/index.tsx b/src/components/AlertBar/index.tsx index fa12773aa..fb33ccfdb 100755 --- a/src/components/AlertBar/index.tsx +++ b/src/components/AlertBar/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, ReactNode } from 'react' +import { FC, ReactNode, memo } from 'react' import { buildLog } from '@/utils' @@ -21,4 +21,4 @@ const AlertBar: FC = ({ children }) => { return {children} } -export default React.memo(AlertBar) +export default memo(AlertBar) diff --git a/src/components/ArticleItemPrefixLabel/ReadLabel.tsx b/src/components/ArticleItemPrefixLabel/ReadLabel.tsx index 0df766185..ffd8df535 100755 --- a/src/components/ArticleItemPrefixLabel/ReadLabel.tsx +++ b/src/components/ArticleItemPrefixLabel/ReadLabel.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ReadedLabel } from './styles' @@ -19,4 +19,4 @@ const ReadLabel: FC = ({ entry, accountInfo, topOffset = '20px' }) => { return null } -export default React.memo(ReadLabel) +export default memo(ReadLabel) diff --git a/src/components/ArticleItemPrefixLabel/index.tsx b/src/components/ArticleItemPrefixLabel/index.tsx index 0fb5a9dbe..7f3f63add 100755 --- a/src/components/ArticleItemPrefixLabel/index.tsx +++ b/src/components/ArticleItemPrefixLabel/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TAccount } from '@/spec' import { buildLog } from '@/utils' @@ -19,7 +19,7 @@ export type TProps = { topOffset?: string entry: { viewerHasViewed?: boolean - isPinned?: boolean + pin?: boolean } } const ArticleItemPrefixLabel: FC = ({ @@ -27,11 +27,11 @@ const ArticleItemPrefixLabel: FC = ({ accountInfo, topOffset = '22px', }) => { - if (entry.isPinned) return + if (entry.pin) return return ( ) } -export default React.memo(ArticleItemPrefixLabel) +export default memo(ArticleItemPrefixLabel) diff --git a/src/components/AvatarsRow/MoreItem.tsx b/src/components/AvatarsRow/MoreItem.tsx index c654b4949..442377de8 100644 --- a/src/components/AvatarsRow/MoreItem.tsx +++ b/src/components/AvatarsRow/MoreItem.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { prettyNum } from '@/utils' import { Br } from '@/components/Common' diff --git a/src/components/AvatarsRow/RealAvatar.tsx b/src/components/AvatarsRow/RealAvatar.tsx index 4f7ad2f5c..5c0a84c82 100644 --- a/src/components/AvatarsRow/RealAvatar.tsx +++ b/src/components/AvatarsRow/RealAvatar.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TUser } from '@/spec' import Tooltip from '@/components/Tooltip' diff --git a/src/components/AvatarsRow/index.tsx b/src/components/AvatarsRow/index.tsx index 816d65fc1..a06239cce 100755 --- a/src/components/AvatarsRow/index.tsx +++ b/src/components/AvatarsRow/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { compose, not, isNil, filter, reverse as reverseFn, slice } from 'ramda' import { trackWindowScroll } from 'react-lazy-load-image-component' diff --git a/src/components/Buttons/ArrowButton.tsx b/src/components/Buttons/ArrowButton.tsx index 36b135f7e..e7034793b 100755 --- a/src/components/Buttons/ArrowButton.tsx +++ b/src/components/Buttons/ArrowButton.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, ReactNode, useRef, useState, useEffect } from 'react' +import { FC, ReactNode, useRef, useState, useEffect, memo } from 'react' import type { TSIZE } from '@/spec' import { ICON } from '@/config' @@ -97,4 +97,4 @@ const ArrowButton: FC = ({ ) } -export default React.memo(ArrowButton) +export default memo(ArrowButton) diff --git a/src/components/Buttons/ArrowLink.tsx b/src/components/Buttons/ArrowLink.tsx index 992f5a28d..98553aff6 100644 --- a/src/components/Buttons/ArrowLink.tsx +++ b/src/components/Buttons/ArrowLink.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, ReactNode } from 'react' +import { FC, ReactNode, memo } from 'react' import type { TSIZE } from '@/spec' import { ICON_CMD } from '@/config' @@ -55,4 +55,4 @@ const ArrowLink: FC = ({ ) } -export default React.memo(ArrowLink) +export default memo(ArrowLink) diff --git a/src/components/Buttons/Button.tsx b/src/components/Buttons/Button.tsx index 081d5d2ea..5bc0887ee 100644 --- a/src/components/Buttons/Button.tsx +++ b/src/components/Buttons/Button.tsx @@ -1,4 +1,4 @@ -import React, { FC, ReactNode, useEffect, useState } from 'react' +import { FC, ReactNode, useEffect, useState, memo } from 'react' import type { TSIZE_TSM } from '@/spec' import { SIZE } from '@/constant' @@ -105,8 +105,8 @@ const Button: FC = ({ > - {children} - {loadingText} + {children} + {loadingText} ) @@ -114,4 +114,4 @@ const Button: FC = ({ } } -export default React.memo(Button) +export default memo(Button) diff --git a/src/components/Buttons/OrButton/HorizontalButton.tsx b/src/components/Buttons/OrButton/HorizontalButton.tsx index 45be29b87..40bb1fe10 100644 --- a/src/components/Buttons/OrButton/HorizontalButton.tsx +++ b/src/components/Buttons/OrButton/HorizontalButton.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TProps as TButtonProps } from './index' import { SIZE } from '@/constant' diff --git a/src/components/Buttons/OrButton/VerticalButton.tsx b/src/components/Buttons/OrButton/VerticalButton.tsx index dc2f1ad9f..2be7755c2 100644 --- a/src/components/Buttons/OrButton/VerticalButton.tsx +++ b/src/components/Buttons/OrButton/VerticalButton.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TProps as TButtonProps } from './index' import { SIZE } from '@/constant' diff --git a/src/components/Buttons/OrButton/index.tsx b/src/components/Buttons/OrButton/index.tsx index 7c71f76d4..e99a17710 100644 --- a/src/components/Buttons/OrButton/index.tsx +++ b/src/components/Buttons/OrButton/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TSIZE_SM } from '@/spec' diff --git a/src/components/Buttons/PublishButton.tsx b/src/components/Buttons/PublishButton.tsx index 938d9d466..69554adac 100755 --- a/src/components/Buttons/PublishButton.tsx +++ b/src/components/Buttons/PublishButton.tsx @@ -4,8 +4,7 @@ * */ -import React from 'react' -import T from 'prop-types' +import { memo, FC } from 'react' import { ICON_CMD } from '@/config' import { buildLog } from '@/utils' @@ -22,13 +21,22 @@ import { /* eslint-disable-next-line */ const log = buildLog('c:PublishButton:index') -const PublishButton = ({ - label, - labelIconSrc, - onPublish, - onVote, - onImport, - onFAQ, +type TProps = { + label?: string + labelIconSrc?: string + onPublish?: () => void + onVote?: () => void + onImport?: () => void + onFAQ?: () => void +} + +const PublishButton: FC = ({ + label = '发布帖子 ', + labelIconSrc = `${ICON_CMD}/publish_pen.svg`, + onPublish = log, + onVote = log, + onImport = log, + onFAQ = log, }) => { return ( @@ -60,22 +68,4 @@ const PublishButton = ({ ) } -PublishButton.propTypes = { - label: T.string, - labelIconSrc: T.string, - onPublish: T.func, - onVote: T.func, - onImport: T.func, - onFAQ: T.func, -} - -PublishButton.defaultProps = { - label: '发布帖子 ', - labelIconSrc: `${ICON_CMD}/publish_pen.svg`, - onPublish: log, - onVote: log, - onImport: log, - onFAQ: log, -} - -export default React.memo(PublishButton) +export default memo(PublishButton) diff --git a/src/components/Buttons/YesOrNoButtons.tsx b/src/components/Buttons/YesOrNoButtons.tsx index 31202510d..41abd99ee 100644 --- a/src/components/Buttons/YesOrNoButtons.tsx +++ b/src/components/Buttons/YesOrNoButtons.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { Space } from '@/components/Common' import Button from './Button' diff --git a/src/components/Buttons/styles/button.ts b/src/components/Buttons/styles/button.ts index a459530b4..6916a42ba 100644 --- a/src/components/Buttons/styles/button.ts +++ b/src/components/Buttons/styles/button.ts @@ -73,12 +73,12 @@ export const ChildrenWrapper = styled.div<{ size: TSIZE }>` position: relative; z-index: 2; ` -export const RealChildren = styled.div<{ loading: boolean }>` +export const RealChildren = styled.div<{ $loading: boolean }>` ${css.flex('align-both')}; - opacity: ${({ loading }) => (loading ? 0 : 1)}; + opacity: ${({ $loading }) => ($loading ? 0 : 1)}; ` -export const LoadingText = styled.div<{ loading: boolean }>` - opacity: ${({ loading }) => (!loading ? 0 : 1)}; +export const LoadingText = styled.div<{ $loading: boolean }>` + opacity: ${({ $loading }) => (!$loading ? 0 : 1)}; position: absolute; ` export const LoadingMask = styled.div<{ width: string }>` diff --git a/src/components/Cards/CommunityCard.tsx b/src/components/Cards/CommunityCard.tsx index a0e93a698..8306b0d5a 100644 --- a/src/components/Cards/CommunityCard.tsx +++ b/src/components/Cards/CommunityCard.tsx @@ -2,7 +2,7 @@ * cards for job MasonryCards view */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TCommunity } from '@/spec' import { cutRest } from '@/utils' @@ -38,4 +38,4 @@ const CommunityCard: FC = ({ ) } -export default React.memo(CommunityCard) +export default memo(CommunityCard) diff --git a/src/components/Cards/JobCard.tsx b/src/components/Cards/JobCard.tsx index 92f35a4fa..2d2f1f707 100644 --- a/src/components/Cards/JobCard.tsx +++ b/src/components/Cards/JobCard.tsx @@ -2,7 +2,7 @@ * cards for job MasonryCards view */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import TimeAgo from 'timeago-react' import { ICON } from '@/config' @@ -120,4 +120,4 @@ const JobCard: FC = ({ ) } -export default React.memo(JobCard) +export default memo(JobCard) diff --git a/src/components/Cards/WorksCard.tsx b/src/components/Cards/WorksCard.tsx index f338111c0..c7440830f 100644 --- a/src/components/Cards/WorksCard.tsx +++ b/src/components/Cards/WorksCard.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { Fragment, FC, memo } from 'react' import { ICON, ICON_CMD } from '@/config' import { buildLog, cutRest } from '@/utils' @@ -97,25 +97,25 @@ const WorksCard: FC = ({ )} {item.platform && ( - + {item.platform.title} - + )} {item.techStack && ( - + {item.techStack.map((tech) => ( ))} - + )} {mode === 'preview' &&  } {mode === 'default' && ( - + = ({ {item.insertedAt} - + )} {commentsCount} @@ -137,4 +137,4 @@ const WorksCard: FC = ({ ) } -export default React.memo(WorksCard) +export default memo(WorksCard) diff --git a/src/components/Checker/index.tsx b/src/components/Checker/index.tsx index ecc7d3501..e4dd88115 100755 --- a/src/components/Checker/index.tsx +++ b/src/components/Checker/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, ReactNode } from 'react' +import { FC, ReactNode, memo } from 'react' import type { TSIZE_SM } from '@/spec' import { ICON } from '@/config' @@ -45,4 +45,4 @@ const Checker: FC = ({ ) } -export default React.memo(Checker) +export default memo(Checker) diff --git a/src/components/CommunityFaceLogo/index.tsx b/src/components/CommunityFaceLogo/index.tsx index 2cb4278d9..d663bbb6f 100755 --- a/src/components/CommunityFaceLogo/index.tsx +++ b/src/components/CommunityFaceLogo/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { isEmpty } from 'ramda' import { HCN } from '@/constant' @@ -46,4 +46,4 @@ const CommunityFaceLogo: FC = ({ ) } -export default React.memo(CommunityFaceLogo) +export default memo(CommunityFaceLogo) diff --git a/src/components/CustomScroller/HorizontalScroller.tsx b/src/components/CustomScroller/HorizontalScroller.tsx index 91343a997..d54e92610 100755 --- a/src/components/CustomScroller/HorizontalScroller.tsx +++ b/src/components/CustomScroller/HorizontalScroller.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useState, useRef, useCallback } from 'react' +import { FC, useState, useRef, useCallback, memo } from 'react' import { useTheme } from 'styled-components' import { Waypoint } from 'react-waypoint' import type { TThemeMap } from '@/spec' @@ -105,4 +105,4 @@ const HorizontalScroller: FC = ({ ) } -export default React.memo(HorizontalScroller) +export default memo(HorizontalScroller) diff --git a/src/components/CustomScroller/VerticalScroller.tsx b/src/components/CustomScroller/VerticalScroller.tsx index c6b305351..355f0f6a6 100755 --- a/src/components/CustomScroller/VerticalScroller.tsx +++ b/src/components/CustomScroller/VerticalScroller.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useState, useRef, useCallback } from 'react' +import { FC, useState, useRef, useCallback, memo } from 'react' import { useTheme } from 'styled-components' import { Waypoint } from 'react-waypoint' import type { TThemeMap } from '@/spec' @@ -155,4 +155,4 @@ const VerticalScroller: FC = ({ ) } -export default React.memo(VerticalScroller) +export default memo(VerticalScroller) diff --git a/src/components/CustomScroller/index.tsx b/src/components/CustomScroller/index.tsx index fcc724cbb..b5a812a40 100755 --- a/src/components/CustomScroller/index.tsx +++ b/src/components/CustomScroller/index.tsx @@ -1,4 +1,4 @@ -import React, { FC, ReactNode } from 'react' +import { FC, ReactNode, memo } from 'react' import type { TSIZE_SML } from '@/spec' import type { TDirection, TScrollDirection } from './spec' @@ -40,4 +40,4 @@ const CustomScroller: FC = ({ ) } -export default React.memo(CustomScroller) +export default memo(CustomScroller) diff --git a/src/components/DigestSentence/index.tsx b/src/components/DigestSentence/index.tsx index f9f981a0d..be8dcf98a 100755 --- a/src/components/DigestSentence/index.tsx +++ b/src/components/DigestSentence/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, ReactNode } from 'react' +import { FC, ReactNode, memo } from 'react' import { ICON } from '@/config' import { buildLog } from '@/utils' @@ -70,4 +70,4 @@ const DigestSentence: FC = ({ ) } -export default React.memo(DigestSentence) +export default memo(DigestSentence) diff --git a/src/components/DotDivider/index.tsx b/src/components/DotDivider/index.tsx index 07b78fc1a..8d993fca8 100755 --- a/src/components/DotDivider/index.tsx +++ b/src/components/DotDivider/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { buildLog } from '@/utils' import { Wrapper } from './styles' @@ -25,4 +25,4 @@ const DotDivider: FC = ({ return } -export default React.memo(DotDivider) +export default memo(DotDivider) diff --git a/src/components/ErrorPage/index.tsx b/src/components/ErrorPage/index.tsx index d5fb62bbf..582cc6c0b 100755 --- a/src/components/ErrorPage/index.tsx +++ b/src/components/ErrorPage/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { useRouter } from 'next/router' import Link from 'next/link' @@ -77,4 +77,4 @@ const ErrorPage: FC = ({ ) } -export default React.memo(ErrorPage) +export default memo(ErrorPage) diff --git a/src/components/FiltersMenu/Filter/index.tsx b/src/components/FiltersMenu/Filter/index.tsx index 8f8dfd736..cf3290a1b 100755 --- a/src/components/FiltersMenu/Filter/index.tsx +++ b/src/components/FiltersMenu/Filter/index.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { memo } from 'react' import T from 'prop-types' import { @@ -106,4 +106,4 @@ Filter.defaultProps = { expandMenuId: null, } -export default React.memo(Filter) +export default memo(Filter) diff --git a/src/components/FiltersMenu/Header.tsx b/src/components/FiltersMenu/Header.tsx index 2da11a3f2..464bb0c68 100644 --- a/src/components/FiltersMenu/Header.tsx +++ b/src/components/FiltersMenu/Header.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON } from '@/config' import Tooltip from '@/components/Tooltip' @@ -37,4 +37,4 @@ const Header: FC = ({ title, showReset, onReset }) => { ) } -export default React.memo(Header) +export default memo(Header) diff --git a/src/components/FiltersMenu/index.tsx b/src/components/FiltersMenu/index.tsx index 11e8e3dd4..ef60c3ebc 100755 --- a/src/components/FiltersMenu/index.tsx +++ b/src/components/FiltersMenu/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useState, useCallback } from 'react' +import { FC, useState, useCallback, memo } from 'react' import { merge, equals } from 'ramda' import type { TFiltersMenuItems } from '@/spec' @@ -119,4 +119,4 @@ const FiltersMenu: FC = ({ ) } -export default React.memo(FiltersMenu) +export default memo(FiltersMenu) diff --git a/src/components/IconText/index.tsx b/src/components/IconText/index.tsx index 0735e6edd..aea5babc2 100755 --- a/src/components/IconText/index.tsx +++ b/src/components/IconText/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, ReactNode } from 'react' +import { FC, ReactNode, memo } from 'react' import type { TSIZE } from '@/spec' import { buildLog, nilOrEmpty } from '@/utils' @@ -38,4 +38,4 @@ const IconText: FC = ({ ) -export default React.memo(IconText) +export default memo(IconText) diff --git a/src/components/Img/index.tsx b/src/components/Img/index.tsx index fb1778511..8cc0a2558 100755 --- a/src/components/Img/index.tsx +++ b/src/components/Img/index.tsx @@ -5,7 +5,7 @@ * Renders an image, enforcing the usage of the alt="" tag */ -import React, { ReactNode } from 'react' +import { FC, Fragment, ReactNode, memo } from 'react' import { ReactSVG } from 'react-svg' import { buildLog } from '@/utils' @@ -29,7 +29,7 @@ type IProps = { onClick?: () => void } -const Img: React.FC = ({ +const Img: FC = ({ className = 'img-class', src, alt = 'img', @@ -57,7 +57,7 @@ const Img: React.FC = ({ ) } return ( - + {noLazy ? ( = ({ visibleByDefault={visibleByDefault} /> )} - + ) } @@ -103,4 +103,4 @@ const Img: React.FC = ({ // onClick: log, // } -export default React.memo(Img) +export default memo(Img) diff --git a/src/components/Img/tests/index.test.tsx b/src/components/Img/tests/index.test.tsx index 4b47e0055..5851d528e 100755 --- a/src/components/Img/tests/index.test.tsx +++ b/src/components/Img/tests/index.test.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { shallow } from 'enzyme' import Img from '../index' diff --git a/src/components/ImgFallback/Avatar.tsx b/src/components/ImgFallback/Avatar.tsx index 7fcadecda..ce5349614 100644 --- a/src/components/ImgFallback/Avatar.tsx +++ b/src/components/ImgFallback/Avatar.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { buildLog } from '@/utils' @@ -46,4 +46,4 @@ const Avatar: FC = ({ ) } -export default React.memo(Avatar) +export default memo(Avatar) diff --git a/src/components/ImgFallback/Work.tsx b/src/components/ImgFallback/Work.tsx index ef348e691..5e1be7f9b 100644 --- a/src/components/ImgFallback/Work.tsx +++ b/src/components/ImgFallback/Work.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, Fragment, memo } from 'react' import { getRandomInt } from '@/utils' import { Wrapper, Row, Dice } from './styles/work' @@ -9,16 +9,16 @@ const rollTheDice = () => { switch (num) { case 1: { return ( - +
- + ) } case 2: { return ( - +
@@ -27,13 +27,13 @@ const rollTheDice = () => {
- + ) } case 3: { return ( - +
@@ -49,13 +49,13 @@ const rollTheDice = () => {
- + ) } case 4: { return ( - +
@@ -67,13 +67,13 @@ const rollTheDice = () => {
- + ) } case 5: { return ( - +
@@ -89,13 +89,13 @@ const rollTheDice = () => {
- + ) } case 6: { return ( - +
@@ -111,7 +111,7 @@ const rollTheDice = () => {
- + ) } @@ -135,4 +135,4 @@ const Work: FC = ({ testid = 'image-fallbak-work' }) => { return {rollTheDice()} } -export default React.memo(Work) +export default memo(Work) diff --git a/src/components/ImgFallback/index.tsx b/src/components/ImgFallback/index.tsx index 9b3061b02..40d5bcdea 100755 --- a/src/components/ImgFallback/index.tsx +++ b/src/components/ImgFallback/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TUser } from '@/spec' import { buildLog } from '@/utils' @@ -42,4 +42,4 @@ const ImgFallback: FC = ({ type = 'avatar', ...restProps }) => { } } -export default React.memo(ImgFallback) +export default memo(ImgFallback) diff --git a/src/components/Input/Textarea.tsx b/src/components/Input/Textarea.tsx index fdc3ee9ee..c2d07f372 100644 --- a/src/components/Input/Textarea.tsx +++ b/src/components/Input/Textarea.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useCallback } from 'react' +import { FC, useCallback, memo } from 'react' import { pickBy } from 'ramda' import { buildLog } from '@/utils' @@ -40,4 +40,4 @@ const Textarea: FC = ({ ) } -export default React.memo(Textarea) +export default memo(Textarea) diff --git a/src/components/Input/index.tsx b/src/components/Input/index.tsx index 063ae7840..450ca4c26 100755 --- a/src/components/Input/index.tsx +++ b/src/components/Input/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useCallback } from 'react' +import { FC, useCallback, memo } from 'react' import { pickBy } from 'ramda' import { buildLog, nilOrEmpty } from '@/utils' @@ -71,4 +71,4 @@ const Input: FC = ({ ) } -export default React.memo(Input) +export default memo(Input) diff --git a/src/components/MasonryCards/index.tsx b/src/components/MasonryCards/index.tsx index 8c5adffde..471544771 100755 --- a/src/components/MasonryCards/index.tsx +++ b/src/components/MasonryCards/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, ReactNode } from 'react' +import { FC, ReactNode, memo } from 'react' import Masonry from 'react-masonry-css' import { buildLog } from '@/utils' @@ -38,4 +38,4 @@ const MasonryCards: FC = ({ ) } -export default React.memo(MasonryCards) +export default memo(MasonryCards) diff --git a/src/components/Modal/index.tsx b/src/components/Modal/index.tsx index 8b29dd864..b697eefab 100755 --- a/src/components/Modal/index.tsx +++ b/src/components/Modal/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, ReactNode, useEffect } from 'react' +import { FC, ReactNode, useEffect, memo } from 'react' import usePortal from 'react-useportal' import { ICON_CMD } from '@/config' @@ -74,4 +74,4 @@ const Modal: FC = ({ ) } -export default React.memo(Modal) +export default memo(Modal) diff --git a/src/components/NaviCatalog/Dashboard.tsx b/src/components/NaviCatalog/Dashboard.tsx index 12c9b163e..c54e63c76 100644 --- a/src/components/NaviCatalog/Dashboard.tsx +++ b/src/components/NaviCatalog/Dashboard.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { last } from 'ramda' import { ICON } from '@/config' @@ -90,4 +90,4 @@ const Dashboard: FC = ({ viewPath, goCatalog }) => { ) } -export default React.memo(Dashboard) +export default memo(Dashboard) diff --git a/src/components/NaviCatalog/Header.tsx b/src/components/NaviCatalog/Header.tsx index 9139fb1c7..ae3cd4d53 100644 --- a/src/components/NaviCatalog/Header.tsx +++ b/src/components/NaviCatalog/Header.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON } from '@/config' import { nilOrEmpty } from '@/utils' @@ -84,4 +84,4 @@ const Header: FC = ({ ) } -export default React.memo(Header) +export default memo(Header) diff --git a/src/components/NaviCatalog/List/index.tsx b/src/components/NaviCatalog/List/index.tsx index 433cf1d01..754d67215 100644 --- a/src/components/NaviCatalog/List/index.tsx +++ b/src/components/NaviCatalog/List/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { map, prop, includes } from 'ramda' import { buildLog } from '@/utils' @@ -103,4 +103,4 @@ const List: FC = ({ ) } -export default React.memo(List) +export default memo(List) diff --git a/src/components/NaviCatalog/PinNumber.tsx b/src/components/NaviCatalog/PinNumber.tsx index 28372b36f..957560652 100644 --- a/src/components/NaviCatalog/PinNumber.tsx +++ b/src/components/NaviCatalog/PinNumber.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON_CMD } from '@/config' import Tooltip from '@/components/Tooltip' @@ -43,4 +43,4 @@ const PinNumber: FC = ({ num, pinNumberHoverType }) => { ) } -export default React.memo(PinNumber) +export default memo(PinNumber) diff --git a/src/components/NaviCatalog/index.tsx b/src/components/NaviCatalog/index.tsx index f1fa51fe3..d4653e8fe 100755 --- a/src/components/NaviCatalog/index.tsx +++ b/src/components/NaviCatalog/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useState, useCallback, useEffect } from 'react' +import { FC, useState, useCallback, useEffect, memo } from 'react' import { find, findIndex, propEq, last } from 'ramda' import { URL_QUERY } from '@/constant' @@ -199,4 +199,4 @@ const NaviCatalog: FC = ({ ) } -export default React.memo(NaviCatalog) +export default memo(NaviCatalog) diff --git a/src/components/Navigator/MainEntries/DesktopView.tsx b/src/components/Navigator/MainEntries/DesktopView.tsx index 8a8f15ecf..02a3b6f91 100644 --- a/src/components/Navigator/MainEntries/DesktopView.tsx +++ b/src/components/Navigator/MainEntries/DesktopView.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import Link from 'next/link' import { useRouter } from 'next/router' @@ -78,4 +78,4 @@ const DesktopView: FC = ({ type }) => { ) } -export default React.memo(DesktopView) +export default memo(DesktopView) diff --git a/src/components/Navigator/MainEntries/MobileView.tsx b/src/components/Navigator/MainEntries/MobileView.tsx index 299238701..5a130f29e 100644 --- a/src/components/Navigator/MainEntries/MobileView.tsx +++ b/src/components/Navigator/MainEntries/MobileView.tsx @@ -1,5 +1,4 @@ -import React from 'react' -// import T from 'prop-types' +import { FC, memo } from 'react' import { ICON } from '@/config' import { TYPE, EVENT } from '@/constant' @@ -16,7 +15,7 @@ export const openMobileNaviMenu = (): void => { }) } -const MainEntries: React.FC = () => { +const MainEntries: FC = () => { return ( @@ -26,4 +25,4 @@ const MainEntries: React.FC = () => { ) } -export default React.memo(MainEntries) +export default memo(MainEntries) diff --git a/src/components/Navigator/MainEntries/index.tsx b/src/components/Navigator/MainEntries/index.tsx index f05502f93..a97a60447 100644 --- a/src/components/Navigator/MainEntries/index.tsx +++ b/src/components/Navigator/MainEntries/index.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { Fragment } from 'react' import { useDevice } from '@/hooks' @@ -9,9 +9,9 @@ const MainEntries = (props) => { const { isMobile } = useDevice() return ( - + {!isMobile ? : } - + ) } diff --git a/src/components/NoticeBar/Icon.tsx b/src/components/NoticeBar/Icon.tsx index 19f5e7eb3..773d77d58 100644 --- a/src/components/NoticeBar/Icon.tsx +++ b/src/components/NoticeBar/Icon.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON } from '@/config' import { LockIcon, NoticeIcon } from './styles/icon' @@ -18,4 +18,4 @@ const Icon: FC = ({ type = 'notice' }) => { } } -export default React.memo(Icon) +export default memo(Icon) diff --git a/src/components/NoticeBar/index.tsx b/src/components/NoticeBar/index.tsx index 78008e65f..f0a808ef3 100755 --- a/src/components/NoticeBar/index.tsx +++ b/src/components/NoticeBar/index.tsx @@ -4,8 +4,7 @@ * */ -import React, { FC } from 'react' - +import { FC, memo } from 'react' import TimeAgo from 'timeago-react' import { buildLog } from '@/utils' @@ -55,4 +54,4 @@ const NoticeBar: FC = ({ ) } -export default React.memo(NoticeBar) +export default memo(NoticeBar) diff --git a/src/components/PagedContents/CommunityRecommends.tsx b/src/components/PagedContents/CommunityRecommends.tsx index 1213475f1..1d2d1b3e9 100755 --- a/src/components/PagedContents/CommunityRecommends.tsx +++ b/src/components/PagedContents/CommunityRecommends.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TCommunity } from '@/spec' @@ -74,4 +74,4 @@ const CommunityRecommends: FC = ({ items = tmpItems }) => { ) } -export default React.memo(CommunityRecommends) +export default memo(CommunityRecommends) diff --git a/src/components/PostItem/DigestView/DesktopView/ActiveBadge.tsx b/src/components/PostItem/DigestView/DesktopView/ActiveBadge.tsx index 60581e994..b17f077f8 100644 --- a/src/components/PostItem/DigestView/DesktopView/ActiveBadge.tsx +++ b/src/components/PostItem/DigestView/DesktopView/ActiveBadge.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TPost } from '@/spec' import { ICON } from '@/config' diff --git a/src/components/PostItem/DigestView/DesktopView/Body.tsx b/src/components/PostItem/DigestView/DesktopView/Body.tsx index 04ef78a10..87ad9f762 100644 --- a/src/components/PostItem/DigestView/DesktopView/Body.tsx +++ b/src/components/PostItem/DigestView/DesktopView/Body.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import TimeAgo from 'timeago-react' import type { TPost } from '@/spec' diff --git a/src/components/PostItem/DigestView/DesktopView/Header.tsx b/src/components/PostItem/DigestView/DesktopView/Header.tsx index 155c71f4b..b16f807bc 100644 --- a/src/components/PostItem/DigestView/DesktopView/Header.tsx +++ b/src/components/PostItem/DigestView/DesktopView/Header.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import Link from 'next/link' import type { TPost, TUser } from '@/spec' diff --git a/src/components/PostItem/DigestView/DesktopView/index.tsx b/src/components/PostItem/DigestView/DesktopView/index.tsx index d14402549..4b06ae593 100644 --- a/src/components/PostItem/DigestView/DesktopView/index.tsx +++ b/src/components/PostItem/DigestView/DesktopView/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, Fragment, memo } from 'react' import type { TPost, TUser, TAccount } from '@/spec' @@ -25,14 +25,14 @@ const DigestView: FC = ({ onAuthorSelect, }) => { return ( - +
-
+ ) } -export default React.memo(DigestView) +export default memo(DigestView) diff --git a/src/components/PostItem/DigestView/MobileView/Body.tsx b/src/components/PostItem/DigestView/MobileView/Body.tsx index e8855c0fb..a2af0fc91 100644 --- a/src/components/PostItem/DigestView/MobileView/Body.tsx +++ b/src/components/PostItem/DigestView/MobileView/Body.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TPost } from '@/spec' import { ICON_CMD } from '@/config' @@ -30,4 +30,4 @@ const Body: FC = ({ item, onPreview }) => { ) } -export default React.memo(Body) +export default memo(Body) diff --git a/src/components/PostItem/DigestView/MobileView/Footer.tsx b/src/components/PostItem/DigestView/MobileView/Footer.tsx index 13b3b0234..9dc9b872b 100644 --- a/src/components/PostItem/DigestView/MobileView/Footer.tsx +++ b/src/components/PostItem/DigestView/MobileView/Footer.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TPost } from '@/spec' import { cutRest } from '@/utils' diff --git a/src/components/PostItem/DigestView/MobileView/Header.tsx b/src/components/PostItem/DigestView/MobileView/Header.tsx index 7683a6279..ce0424603 100644 --- a/src/components/PostItem/DigestView/MobileView/Header.tsx +++ b/src/components/PostItem/DigestView/MobileView/Header.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import TimeAgo from 'timeago-react' import type { TPost, TAccount } from '@/spec' @@ -44,4 +44,4 @@ const Header: FC = ({ item, onAuthorSelect }) => { ) } -export default React.memo(Header) +export default memo(Header) diff --git a/src/components/PostItem/DigestView/MobileView/index.tsx b/src/components/PostItem/DigestView/MobileView/index.tsx index 75df3f669..a1be0b596 100644 --- a/src/components/PostItem/DigestView/MobileView/index.tsx +++ b/src/components/PostItem/DigestView/MobileView/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TPost, TAccount } from '@/spec' @@ -26,4 +26,4 @@ const MobileView: FC = ({ entry, onPreview, onAuthorSelect }) => { ) } -export default React.memo(MobileView) +export default memo(MobileView) diff --git a/src/components/PostItem/DigestView/index.tsx b/src/components/PostItem/DigestView/index.tsx index cdedecdfe..865ea7668 100644 --- a/src/components/PostItem/DigestView/index.tsx +++ b/src/components/PostItem/DigestView/index.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { Fragment } from 'react' import { useDevice } from '@/hooks' @@ -9,9 +9,9 @@ const DigestView = (props) => { const { isMobile } = useDevice() return ( - + {!isMobile ? : } - + ) } diff --git a/src/components/PostItem/ListView.tsx b/src/components/PostItem/ListView.tsx index 56a8a0597..4cba42ef3 100755 --- a/src/components/PostItem/ListView.tsx +++ b/src/components/PostItem/ListView.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, Fragment, memo } from 'react' import TimeAgo from 'timeago-react' import type { TPost } from '@/spec' @@ -28,7 +28,7 @@ type TProps = { } const ListView: FC = ({ entry, onPreview }) => ( - +
@@ -59,7 +59,7 @@ const ListView: FC = ({ entry, onPreview }) => (
-
+ ) -export default React.memo(ListView) +export default memo(ListView) diff --git a/src/components/PostItem/index.tsx b/src/components/PostItem/index.tsx index 25dc9856b..22e2ba852 100755 --- a/src/components/PostItem/index.tsx +++ b/src/components/PostItem/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TPost, TUser, TAccount } from '@/spec' import { HCN, C11N } from '@/constant' @@ -76,4 +76,4 @@ const PostItem: FC = ({ ) } -export default React.memo(PostItem) +export default memo(PostItem) diff --git a/src/components/PromotionList/Spotlight.tsx b/src/components/PromotionList/Spotlight.tsx index 398d3fac5..7a3623af7 100755 --- a/src/components/PromotionList/Spotlight.tsx +++ b/src/components/PromotionList/Spotlight.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TItem } from './spec' import { @@ -26,4 +26,4 @@ const Spotlight: FC = ({ item }) => (
) -export default React.memo(Spotlight) +export default memo(Spotlight) diff --git a/src/components/PromotionList/WaitList.tsx b/src/components/PromotionList/WaitList.tsx index 71f27cee6..3416b6c8d 100644 --- a/src/components/PromotionList/WaitList.tsx +++ b/src/components/PromotionList/WaitList.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TItem } from './spec' import { Wrapper, Item } from './styles/wait_list' @@ -25,4 +25,4 @@ const WaitList: FC = ({ items, activeId, setActiveId }) => { ) } -export default React.memo(WaitList) +export default memo(WaitList) diff --git a/src/components/PromotionList/index.tsx b/src/components/PromotionList/index.tsx index dff433feb..39b6dc2ee 100755 --- a/src/components/PromotionList/index.tsx +++ b/src/components/PromotionList/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useState, useRef } from 'react' +import { FC, useState, useRef, memo } from 'react' import { findIndex } from 'ramda' import { ICON } from '@/config' @@ -73,4 +73,4 @@ const PromotionList: FC = ({ ) } -export default React.memo(PromotionList) +export default memo(PromotionList) diff --git a/src/components/SvgIcons/HashTagSVG.tsx b/src/components/SvgIcons/HashTagSVG.tsx index 98459c65a..0aabcf8ff 100644 --- a/src/components/SvgIcons/HashTagSVG.tsx +++ b/src/components/SvgIcons/HashTagSVG.tsx @@ -1,6 +1,6 @@ -import React from 'react' +import { FC } from 'react' -const SvgComponent: React.FC = (props) => { +const SvgComponent: FC = (props) => { return ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( ( +const SvgComponent: FC = (props) => ( = ({ items, activeKey, onChange }) => { ) } -export default React.memo(IconSwitcher) +export default memo(IconSwitcher) diff --git a/src/components/Switcher/Tabs/CardView.tsx b/src/components/Switcher/Tabs/CardView.tsx index 713e69e9b..214857ea9 100644 --- a/src/components/Switcher/Tabs/CardView.tsx +++ b/src/components/Switcher/Tabs/CardView.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useRef, useState, useCallback } from 'react' +import { FC, useRef, useState, useCallback, memo } from 'react' import type { TSIZE_SM, TTabItem } from '@/spec' import { buildLog, isString } from '@/utils' @@ -82,4 +82,4 @@ const Tabs: FC = ({ ) } -export default React.memo(Tabs) +export default memo(Tabs) diff --git a/src/components/Switcher/Tabs/DesktopView.tsx b/src/components/Switcher/Tabs/DesktopView.tsx index 49bba8f05..cff20978d 100644 --- a/src/components/Switcher/Tabs/DesktopView.tsx +++ b/src/components/Switcher/Tabs/DesktopView.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useEffect, useRef, useState, useCallback } from 'react' +import { FC, useEffect, useRef, useState, useCallback, memo } from 'react' import { isEmpty, findIndex } from 'ramda' import type { TSIZE_SM, TTabItem } from '@/spec' @@ -142,4 +142,4 @@ const Tabs: FC = ({ ) } -export default React.memo(Tabs) +export default memo(Tabs) diff --git a/src/components/Switcher/Tabs/DrawerView.tsx b/src/components/Switcher/Tabs/DrawerView.tsx index ba24a4d47..9f43a6ffb 100644 --- a/src/components/Switcher/Tabs/DrawerView.tsx +++ b/src/components/Switcher/Tabs/DrawerView.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useCallback } from 'react' +import { FC, useCallback, memo } from 'react' import type { TSIZE_SM, TTabItem } from '@/spec' import { buildLog, isString } from '@/utils' @@ -59,4 +59,4 @@ const Tabs: FC = ({ ) } -export default React.memo(Tabs) +export default memo(Tabs) diff --git a/src/components/Switcher/Tabs/LocalIcon.js b/src/components/Switcher/Tabs/LocalIcon.js deleted file mode 100644 index d58df3b3c..000000000 --- a/src/components/Switcher/Tabs/LocalIcon.js +++ /dev/null @@ -1,80 +0,0 @@ -import React from 'react' -import { - TabPostIcon, - TabTechIcon, - TabRadarIcon, - TabShareIcon, - TabUserIcon, - TabCityIcon, - TabJobIcon, - TabWikiIcon, - TabRepoIcon, - TabCheatsheetIcon, - // user - TabLikesIcon, - TabPublishIcon, - TabBillingIcon, - TabCommentsIcon, - TabSettingsIcon, - TabFavoritesIcon, -} from '../styles/tabs/local_icon' - -// type TProps = { -// raw: string -// active: boolean -// small?: boolean -// } - -const TabIcon = ({ raw, active, small }) => { - switch (raw) { - case 'tech': - return - - case 'radar': - return - - case 'share': - return - - case 'user': - return - - case 'job': - return - - case 'city': - return - - case 'wiki': - return - - case 'repo': - return - - case 'cheatsheet': - return - - case 'favorites': - return - - case 'likes': - return - - case 'publish': - return - - case 'billing': - return - - case 'comments': - return - - case 'settings': - return - - default: - return - } -} - -export default React.memo(TabIcon) diff --git a/src/components/Switcher/Tabs/LocalIcon.tsx b/src/components/Switcher/Tabs/LocalIcon.tsx new file mode 100644 index 000000000..fcce21658 --- /dev/null +++ b/src/components/Switcher/Tabs/LocalIcon.tsx @@ -0,0 +1,112 @@ +import { FC, memo } from 'react' +import { + TabPostIcon, + TabTechIcon, + TabRadarIcon, + TabShareIcon, + TabUserIcon, + TabCityIcon, + TabJobIcon, + TabWikiIcon, + TabRepoIcon, + TabCheatsheetIcon, + // user + TabLikesIcon, + TabPublishIcon, + TabBillingIcon, + TabCommentsIcon, + TabSettingsIcon, + TabFavoritesIcon, +} from '../styles/tabs/local_icon' + +type TProps = { + raw: string + active: boolean + small?: boolean +} + +const TabIcon: FC = ({ raw, active, small }) => { + switch (raw) { + case 'tech': { + /* @ts-ignore */ + return + } + + case 'radar': { + /* @ts-ignore */ + return + } + + case 'share': { + /* @ts-ignore */ + return + } + + case 'user': { + /* @ts-ignore */ + return + } + + case 'job': { + /* @ts-ignore */ + return + } + + case 'city': { + /* @ts-ignore */ + return + } + + case 'wiki': { + /* @ts-ignore */ + return + } + + case 'repo': { + /* @ts-ignore */ + return + } + + case 'cheatsheet': { + /* @ts-ignore */ + return + } + + case 'favorites': { + /* @ts-ignore */ + return + } + + case 'likes': { + /* @ts-ignore */ + return + } + + case 'publish': { + /* @ts-ignore */ + return + } + + case 'billing': { + /* @ts-ignore */ + return + } + + case 'comments': { + /* @ts-ignore */ + return + } + + case 'settings': { + /* @ts-ignore */ + return + } + + default: { + /* @ts-ignore */ + return + } + } +} + +export default memo(TabIcon) diff --git a/src/components/Switcher/Tabs/MobileView/ExpandView.tsx b/src/components/Switcher/Tabs/MobileView/ExpandView.tsx index 0688cb792..f3c9fd383 100644 --- a/src/components/Switcher/Tabs/MobileView/ExpandView.tsx +++ b/src/components/Switcher/Tabs/MobileView/ExpandView.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useEffect, useRef, useState, useCallback } from 'react' +import { FC, useEffect, useRef, useState, useCallback, memo } from 'react' import type { TSIZE_SM, TTabItem } from '@/spec' import { ICON } from '@/config' @@ -99,4 +99,4 @@ const MobileView: FC = ({ ) } -export default React.memo(MobileView) +export default memo(MobileView) diff --git a/src/components/Switcher/Tabs/MobileView/NormalView.tsx b/src/components/Switcher/Tabs/MobileView/NormalView.tsx index bb2452684..ead3dbe8d 100644 --- a/src/components/Switcher/Tabs/MobileView/NormalView.tsx +++ b/src/components/Switcher/Tabs/MobileView/NormalView.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useEffect, useRef, useState, useCallback } from 'react' +import { FC, useEffect, useRef, useState, useCallback, memo } from 'react' import { isEmpty, findIndex } from 'ramda' import type { TSIZE_SM, TTabItem } from '@/spec' @@ -167,4 +167,4 @@ const MobileView: FC = ({ ) } -export default React.memo(MobileView) +export default memo(MobileView) diff --git a/src/components/Switcher/Tabs/ModelineView.tsx b/src/components/Switcher/Tabs/ModelineView.tsx index 7f244d576..f38e83aa0 100644 --- a/src/components/Switcher/Tabs/ModelineView.tsx +++ b/src/components/Switcher/Tabs/ModelineView.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useEffect, useRef, useState, useCallback } from 'react' +import { FC, useEffect, useRef, useState, useCallback, memo } from 'react' import { isEmpty, findIndex } from 'ramda' import type { TSIZE_SM, TTabItem } from '@/spec' @@ -146,4 +146,4 @@ const ModelineView: FC = ({ ) } -export default React.memo(ModelineView) +export default memo(ModelineView) diff --git a/src/components/Switcher/Tabs/TabIcon.tsx b/src/components/Switcher/Tabs/TabIcon.tsx index e3bcaecd3..8b8b6ac4f 100644 --- a/src/components/Switcher/Tabs/TabIcon.tsx +++ b/src/components/Switcher/Tabs/TabIcon.tsx @@ -12,11 +12,9 @@ type TProps = { active: boolean } -const TabIcon: FC = ({ - item: { localIcon, icon }, - clickableRef, - active, -}) => { +const TabIcon: FC = ({ item, clickableRef, active }) => { + const { localIcon, icon } = item + const IconCmp = localIcon ? ( ) : ( diff --git a/src/components/Switcher/Tabs/TabItem.tsx b/src/components/Switcher/Tabs/TabItem.tsx index ef0de4b5d..93286e812 100644 --- a/src/components/Switcher/Tabs/TabItem.tsx +++ b/src/components/Switcher/Tabs/TabItem.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, useEffect, useCallback, useRef } from 'react' +import { FC, useEffect, useCallback, useRef, memo } from 'react' import type { TSIZE_SM, TTabItem } from '@/spec' import { buildLog, isString, Trans } from '@/utils' @@ -120,4 +120,4 @@ const TabItem: FC = ({ ) } -export default React.memo(TabItem) +export default memo(TabItem) diff --git a/src/components/Switcher/Tabs/index.tsx b/src/components/Switcher/Tabs/index.tsx index 42a9fa5a0..319de4f17 100644 --- a/src/components/Switcher/Tabs/index.tsx +++ b/src/components/Switcher/Tabs/index.tsx @@ -4,8 +4,7 @@ * */ -import React from 'react' -import T from 'prop-types' +import { memo } from 'react' import { VIEW } from '@/constant' import { useDevice } from '@/hooks' @@ -51,4 +50,4 @@ const Tabs = (props) => { } } -export default React.memo(Tabs) +export default memo(Tabs) diff --git a/src/components/Switcher/styles/tabs/local_icon.ts b/src/components/Switcher/styles/tabs/local_icon.ts index f781ada30..85dbd2ebb 100644 --- a/src/components/Switcher/styles/tabs/local_icon.ts +++ b/src/components/Switcher/styles/tabs/local_icon.ts @@ -1,7 +1,5 @@ import styled from 'styled-components' -import type { TActive } from '@/spec' - // import Img from '@/Img' import { theme, css } from '@/utils' import TabPostSVG from '@/SvgIcons/TabPostSVG' @@ -28,14 +26,14 @@ export const LableWrapper = styled.div` ${css.flex('align-center')}; ` -type TCommonIcon = { active: boolean; small: boolean } +type TCommonIcon = { $active: boolean; $small: boolean } const commonIcon = (comp) => { return styled(comp)` - fill: ${({ active }: { active: number }) => - active === 1 ? theme('tabs.headerActive') : theme('tabs.header')}; - width: ${({ small }: { small: boolean }) => (small ? '13px' : '15px')}; - height: ${({ small }) => (small ? '13px' : '15px')}; + fill: ${({ $active }: { $active: boolean }) => + $active ? theme('tabs.headerActive') : theme('tabs.header')}; + width: ${({ $small }: { $small: boolean }) => ($small ? '13px' : '15px')}; + height: ${({ $small }) => ($small ? '13px' : '15px')}; margin-right: 5px; display: block; ` diff --git a/src/components/TabBar/DesktopView/BriefView.tsx b/src/components/TabBar/DesktopView/BriefView.tsx index 529be9a63..6e1b05c0f 100755 --- a/src/components/TabBar/DesktopView/BriefView.tsx +++ b/src/components/TabBar/DesktopView/BriefView.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TTabItem } from '@/spec' import { sortByIndex } from '@/utils' @@ -29,4 +29,4 @@ const BriefView: FC = ({ source, active, onChange }) => { ) } -export default React.memo(BriefView) +export default memo(BriefView) diff --git a/src/components/TabBar/DesktopView/NormalView.tsx b/src/components/TabBar/DesktopView/NormalView.tsx index 066baba51..75c3d3bb4 100755 --- a/src/components/TabBar/DesktopView/NormalView.tsx +++ b/src/components/TabBar/DesktopView/NormalView.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { memo } from 'react' import { sortByIndex } from '@/utils' import { Tabs } from '@/components/Switcher' @@ -26,4 +26,4 @@ const NormalView = ({ source, active, onChange, size }) => { ) } -export default React.memo(NormalView) +export default memo(NormalView) diff --git a/src/components/TabBar/DesktopView/index.tsx b/src/components/TabBar/DesktopView/index.tsx index 3f37c2380..2f8a4f12e 100644 --- a/src/components/TabBar/DesktopView/index.tsx +++ b/src/components/TabBar/DesktopView/index.tsx @@ -2,7 +2,7 @@ * TabBar */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TSIZE_SM } from '@/spec' import { HCN, ANCHOR, THREAD, C11N, SIZE } from '@/constant' @@ -53,4 +53,4 @@ const TabBar: FC = ({ ) } -export default React.memo(TabBar) +export default memo(TabBar) diff --git a/src/components/TabBar/MobileView.tsx b/src/components/TabBar/MobileView.tsx index 1d4ace34b..a957271ba 100644 --- a/src/components/TabBar/MobileView.tsx +++ b/src/components/TabBar/MobileView.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { memo } from 'react' import { sortByIndex } from '@/utils' import { Tabs } from '@/components/Switcher' @@ -26,4 +26,4 @@ const MobileView = ({ source, active, onChange, view }) => { ) } -export default React.memo(MobileView) +export default memo(MobileView) diff --git a/src/components/TabBar/index.tsx b/src/components/TabBar/index.tsx index 0834157e6..639f529f8 100755 --- a/src/components/TabBar/index.tsx +++ b/src/components/TabBar/index.tsx @@ -2,7 +2,7 @@ * TabBar */ -import React from 'react' +import { memo } from 'react' import { VIEW } from '@/constant' import { useDevice } from '@/hooks' @@ -33,4 +33,4 @@ const TabBar = (props) => { } } -export default React.memo(TabBar) +export default memo(TabBar) diff --git a/src/components/Tooltip/ConfirmFooter.tsx b/src/components/Tooltip/ConfirmFooter.tsx index 5d11221da..81b13773c 100644 --- a/src/components/Tooltip/ConfirmFooter.tsx +++ b/src/components/Tooltip/ConfirmFooter.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import Button from '@/components/Buttons/Button' import { Space } from '@/components/Common' @@ -61,4 +61,4 @@ const ConfirmFooter: FC = ({ onConfirm, onCancel, footerBehavior }) => { return {content} } -export default React.memo(ConfirmFooter) +export default memo(ConfirmFooter) diff --git a/src/components/Tooltip/index.tsx b/src/components/Tooltip/index.tsx index 8372a9404..9703b8455 100755 --- a/src/components/Tooltip/index.tsx +++ b/src/components/Tooltip/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC, ReactNode, useState, useRef } from 'react' +import { FC, ReactNode, useState, useRef, memo } from 'react' import type { TTooltipPlacement, TTooltipAnimation } from '@/spec' import { css, buildLog, isDescendant } from '@/utils' @@ -169,4 +169,4 @@ const Tooltip: FC = ({ ) } -export default React.memo(Tooltip) +export default memo(Tooltip) diff --git a/src/containers/content/CoolGuideContent/Content.tsx b/src/containers/content/CoolGuideContent/Content.tsx index c277ee4ab..a0fca52d0 100755 --- a/src/containers/content/CoolGuideContent/Content.tsx +++ b/src/containers/content/CoolGuideContent/Content.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { GUIDE } from '@/constant' import Pagi from '@/components/Pagi' @@ -86,4 +86,4 @@ const Content: FC = ({ displayType }) => { ) } -export default React.memo(Content) +export default memo(Content) diff --git a/src/containers/content/CoolGuideContent/FilterBar.tsx b/src/containers/content/CoolGuideContent/FilterBar.tsx index af7b05a9f..2e0246d41 100644 --- a/src/containers/content/CoolGuideContent/FilterBar.tsx +++ b/src/containers/content/CoolGuideContent/FilterBar.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, Fragment, memo } from 'react' import { ICON_CMD } from '@/config' import { mockNaviCatalogMenu } from '@/utils' @@ -59,17 +59,17 @@ const FilterBar: FC = ({ topFilter, menuOnSelect }) => { - + menuOnSelect(id, type)} withDivider={false} items={mockNaviCatalogMenu()} /> - + ) } -export default React.memo(FilterBar) +export default memo(FilterBar) diff --git a/src/containers/content/CoolGuideContent/Footer/index.tsx b/src/containers/content/CoolGuideContent/Footer/index.tsx index 535300855..dd6d945f6 100755 --- a/src/containers/content/CoolGuideContent/Footer/index.tsx +++ b/src/containers/content/CoolGuideContent/Footer/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ArrowButton } from '@/components/Buttons' @@ -54,4 +54,4 @@ const Footer: FC = ({ mode }) => { ) } -export default React.memo(Footer) +export default memo(Footer) diff --git a/src/containers/content/CoolGuideContent/SearchCover/InputBox.tsx b/src/containers/content/CoolGuideContent/SearchCover/InputBox.tsx index e958ead4d..90031bc60 100644 --- a/src/containers/content/CoolGuideContent/SearchCover/InputBox.tsx +++ b/src/containers/content/CoolGuideContent/SearchCover/InputBox.tsx @@ -1,4 +1,4 @@ -import React, { FC, useRef } from 'react' +import { FC, useRef, memo } from 'react' import { Wrapper, @@ -54,4 +54,4 @@ const InputBox: FC = ({ ) } -export default React.memo(InputBox) +export default memo(InputBox) diff --git a/src/containers/content/CoolGuideContent/SearchCover/index.tsx b/src/containers/content/CoolGuideContent/SearchCover/index.tsx index 9fd7020f3..63a92a4d5 100644 --- a/src/containers/content/CoolGuideContent/SearchCover/index.tsx +++ b/src/containers/content/CoolGuideContent/SearchCover/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { Br } from '@/components/Common' @@ -26,4 +26,4 @@ const SearchCover: FC = ({ testid = 'search-cover' }) => { ) } -export default React.memo(SearchCover) +export default memo(SearchCover) diff --git a/src/containers/content/CoolGuideContent/index.tsx b/src/containers/content/CoolGuideContent/index.tsx index c27d78fbd..1cb3aa71e 100755 --- a/src/containers/content/CoolGuideContent/index.tsx +++ b/src/containers/content/CoolGuideContent/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { pluggedIn, buildLog } from '@/utils' diff --git a/src/containers/content/HaveADrinkContent/Body/About.tsx b/src/containers/content/HaveADrinkContent/Body/About.tsx index ede7f390c..a2cf133a2 100755 --- a/src/containers/content/HaveADrinkContent/Body/About.tsx +++ b/src/containers/content/HaveADrinkContent/Body/About.tsx @@ -4,11 +4,11 @@ * */ -import React from 'react' +import { FC, memo } from 'react' import { Wrapper, Title, Body } from '../styles/body/about' -const About: React.FC = () => { +const About: FC = () => { return ( 关于『来一杯』 @@ -22,4 +22,4 @@ const About: React.FC = () => { ) } -export default React.memo(About) +export default memo(About) diff --git a/src/containers/content/HaveADrinkContent/Body/Catalog.tsx b/src/containers/content/HaveADrinkContent/Body/Catalog.tsx index 7510c8495..b3455d7ef 100755 --- a/src/containers/content/HaveADrinkContent/Body/Catalog.tsx +++ b/src/containers/content/HaveADrinkContent/Body/Catalog.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { FC, memo } from 'react' import { ICON_CMD } from '@/config' import { buildLog, cutRest } from '@/utils' @@ -128,7 +128,7 @@ const items = [ }, ] -const Catalog: React.FC = () => { +const Catalog: FC = () => { return ( {items.map((item) => ( @@ -150,4 +150,4 @@ const Catalog: React.FC = () => { ) } -export default React.memo(Catalog) +export default memo(Catalog) diff --git a/src/containers/content/HaveADrinkContent/Body/Setting.tsx b/src/containers/content/HaveADrinkContent/Body/Setting.tsx index 9a9560c78..d4cde4a89 100755 --- a/src/containers/content/HaveADrinkContent/Body/Setting.tsx +++ b/src/containers/content/HaveADrinkContent/Body/Setting.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TSettingOption } from '../spec' @@ -59,4 +59,4 @@ const Setting: FC = ({ settingOptions: { animateType, fontSize } }) => { ) } -export default React.memo(Setting) +export default memo(Setting) diff --git a/src/containers/content/HaveADrinkContent/Body/index.tsx b/src/containers/content/HaveADrinkContent/Body/index.tsx index 57b954fbe..7cd594800 100755 --- a/src/containers/content/HaveADrinkContent/Body/index.tsx +++ b/src/containers/content/HaveADrinkContent/Body/index.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { FC, memo } from 'react' import { AnimateOnChange } from 'react-animation' import { buildLog } from '@/utils' @@ -26,7 +26,7 @@ type TViewProps = { settingOptions: TSettingOption } -const View: React.FC = ({ view, sentence, settingOptions }) => { +const View: FC = ({ view, sentence, settingOptions }) => { const animate = { fade: { durationOut: 200, @@ -72,4 +72,4 @@ const Body = (props) => { ) } -export default React.memo(Body) +export default memo(Body) diff --git a/src/containers/content/HaveADrinkContent/Footer/Contributor.tsx b/src/containers/content/HaveADrinkContent/Footer/Contributor.tsx index 5710a4982..147e04d24 100755 --- a/src/containers/content/HaveADrinkContent/Footer/Contributor.tsx +++ b/src/containers/content/HaveADrinkContent/Footer/Contributor.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { FC, memo } from 'react' import { buildLog } from '@/utils' @@ -20,7 +20,7 @@ import { /* eslint-disable-next-line */ const log = buildLog('C:HaveADrinkContent') -const IndexStatus: React.FC = () => { +const IndexStatus: FC = () => { return ( 共收录 @@ -31,4 +31,4 @@ const IndexStatus: React.FC = () => { ) } -export default React.memo(IndexStatus) +export default memo(IndexStatus) diff --git a/src/containers/content/HaveADrinkContent/Footer/Feature.tsx b/src/containers/content/HaveADrinkContent/Footer/Feature.tsx index 63146f1cf..f637fbcc4 100755 --- a/src/containers/content/HaveADrinkContent/Footer/Feature.tsx +++ b/src/containers/content/HaveADrinkContent/Footer/Feature.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { FC, memo } from 'react' import { ICON_CMD } from '@/config' import { buildLog } from '@/utils' @@ -19,7 +19,7 @@ import { setView } from '../logic' /* eslint-disable-next-line */ const log = buildLog('C:HaveADrinkContent') -const Feature: React.FC = () => { +const Feature: FC = () => { return (
setView(VIEW.ABOUT)}> @@ -35,4 +35,4 @@ const Feature: React.FC = () => { ) } -export default React.memo(Feature) +export default memo(Feature) diff --git a/src/containers/content/HaveADrinkContent/Footer/Share.tsx b/src/containers/content/HaveADrinkContent/Footer/Share.tsx index fda2faaba..ce9526a3c 100755 --- a/src/containers/content/HaveADrinkContent/Footer/Share.tsx +++ b/src/containers/content/HaveADrinkContent/Footer/Share.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { FC, memo } from 'react' import { ICON_CMD } from '@/config' import { buildLog } from '@/utils' @@ -15,7 +15,7 @@ import { Wrapper, Icon } from '../styles/footer/share' /* eslint-disable-next-line */ const log = buildLog('C:HaveADrinkContent') -const Reaction: React.FC = () => { +const Reaction: FC = () => { return ( @@ -23,4 +23,4 @@ const Reaction: React.FC = () => { ) } -export default React.memo(Reaction) +export default memo(Reaction) diff --git a/src/containers/content/HaveADrinkContent/Footer/index.tsx b/src/containers/content/HaveADrinkContent/Footer/index.tsx index d1c9cd860..a5ae6d54c 100755 --- a/src/containers/content/HaveADrinkContent/Footer/index.tsx +++ b/src/containers/content/HaveADrinkContent/Footer/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { buildLog } from '@/utils' @@ -49,4 +49,4 @@ const Footer: FC = ({ view }) => { ) } -export default React.memo(Footer) +export default memo(Footer) diff --git a/src/containers/content/HaveADrinkContent/Header/IndexStatus.tsx b/src/containers/content/HaveADrinkContent/Header/IndexStatus.tsx index 2cab5f891..0477b0d92 100755 --- a/src/containers/content/HaveADrinkContent/Header/IndexStatus.tsx +++ b/src/containers/content/HaveADrinkContent/Header/IndexStatus.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { FC, memo } from 'react' import { buildLog } from '@/utils' // import Dropdown from '@/components/Dropdown' @@ -21,7 +21,7 @@ import { setView } from '../logic' /* eslint-disable-next-line */ const log = buildLog('C:HaveADrinkContent') -const IndexStatus: React.FC = () => { +const IndexStatus: FC = () => { return ( 共  @@ -35,4 +35,4 @@ const IndexStatus: React.FC = () => { ) } -export default React.memo(IndexStatus) +export default memo(IndexStatus) diff --git a/src/containers/content/HaveADrinkContent/Header/Reaction.tsx b/src/containers/content/HaveADrinkContent/Header/Reaction.tsx index d68ca6edd..f847a73fb 100755 --- a/src/containers/content/HaveADrinkContent/Header/Reaction.tsx +++ b/src/containers/content/HaveADrinkContent/Header/Reaction.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { FC, memo } from 'react' import { buildLog } from '@/utils' @@ -14,7 +14,7 @@ import { Wrapper } from '../styles/header/reaction' /* eslint-disable-next-line */ const log = buildLog('C:HaveADrinkContent') -const Reaction: React.FC = () => { +const Reaction: FC = () => { return (
评论 | 喜欢
@@ -22,4 +22,4 @@ const Reaction: React.FC = () => { ) } -export default React.memo(Reaction) +export default memo(Reaction) diff --git a/src/containers/content/HaveADrinkContent/Header/RunningTimer.tsx b/src/containers/content/HaveADrinkContent/Header/RunningTimer.tsx index eff9347ad..4b90f32ea 100755 --- a/src/containers/content/HaveADrinkContent/Header/RunningTimer.tsx +++ b/src/containers/content/HaveADrinkContent/Header/RunningTimer.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { buildLog } from '@/utils' @@ -36,4 +36,4 @@ const RunningTimer: FC = ({ interval = '3s' }) => { ) } -export default React.memo(RunningTimer) +export default memo(RunningTimer) diff --git a/src/containers/content/HaveADrinkContent/Header/Timer.tsx b/src/containers/content/HaveADrinkContent/Header/Timer.tsx index ee0a578d4..a042f3943 100755 --- a/src/containers/content/HaveADrinkContent/Header/Timer.tsx +++ b/src/containers/content/HaveADrinkContent/Header/Timer.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON_CMD } from '@/config' import { buildLog } from '@/utils' @@ -82,4 +82,4 @@ const Timer: FC = ({ timer, timerInterval = '3s' }) => { ) } -export default React.memo(Timer) +export default memo(Timer) diff --git a/src/containers/content/HaveADrinkContent/Header/index.tsx b/src/containers/content/HaveADrinkContent/Header/index.tsx index 5aff1467d..37c203beb 100755 --- a/src/containers/content/HaveADrinkContent/Header/index.tsx +++ b/src/containers/content/HaveADrinkContent/Header/index.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { memo } from 'react' import { ICON_CMD } from '@/config' import { buildLog } from '@/utils' @@ -52,4 +52,4 @@ const Header = (props) => { ) } -export default React.memo(Header) +export default memo(Header) diff --git a/src/containers/content/HaveADrinkContent/index.tsx b/src/containers/content/HaveADrinkContent/index.tsx index e317405f2..575191d4a 100755 --- a/src/containers/content/HaveADrinkContent/index.tsx +++ b/src/containers/content/HaveADrinkContent/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import dynamic from 'next/dynamic' import { pluggedIn, buildLog, scrollToTop, lockPage, unlockPage } from '@/utils' diff --git a/src/containers/content/HelpCenterContent/Cover.tsx b/src/containers/content/HelpCenterContent/Cover.tsx index 1a76d5692..b2dbf7988 100644 --- a/src/containers/content/HelpCenterContent/Cover.tsx +++ b/src/containers/content/HelpCenterContent/Cover.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import LinksCard from '@/components/LinksCard' import type { TCommunity } from '@/spec' diff --git a/src/containers/content/HelpCenterContent/Detail.tsx b/src/containers/content/HelpCenterContent/Detail.tsx index 2a4226116..59bfbfa6b 100644 --- a/src/containers/content/HelpCenterContent/Detail.tsx +++ b/src/containers/content/HelpCenterContent/Detail.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import CollapseMenu from '@/components/CollapseMenu' diff --git a/src/containers/content/HelpCenterContent/Digest.tsx b/src/containers/content/HelpCenterContent/Digest.tsx index b984c2aaa..e522a6e00 100644 --- a/src/containers/content/HelpCenterContent/Digest.tsx +++ b/src/containers/content/HelpCenterContent/Digest.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' // import { METRIC } from '@/constant' diff --git a/src/containers/content/HelpCenterContent/Footer/HelpInfo.tsx b/src/containers/content/HelpCenterContent/Footer/HelpInfo.tsx index a3d2c4b93..52ff92004 100644 --- a/src/containers/content/HelpCenterContent/Footer/HelpInfo.tsx +++ b/src/containers/content/HelpCenterContent/Footer/HelpInfo.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TCommunity } from '@/spec' diff --git a/src/containers/content/HelpCenterContent/Footer/Reaction.tsx b/src/containers/content/HelpCenterContent/Footer/Reaction.tsx index e90b0111d..fb047e026 100644 --- a/src/containers/content/HelpCenterContent/Footer/Reaction.tsx +++ b/src/containers/content/HelpCenterContent/Footer/Reaction.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { ICON } from '@/config' import type { TVisibles } from '../spec' diff --git a/src/containers/content/HelpCenterContent/Footer/index.tsx b/src/containers/content/HelpCenterContent/Footer/index.tsx index c73b7e8e9..7c5d46f2b 100644 --- a/src/containers/content/HelpCenterContent/Footer/index.tsx +++ b/src/containers/content/HelpCenterContent/Footer/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TCommunity } from '@/spec' import type { TVisibles } from '../spec' diff --git a/src/containers/content/HelpCenterContent/index.tsx b/src/containers/content/HelpCenterContent/index.tsx index 9cb9a606b..aa8b78fce 100755 --- a/src/containers/content/HelpCenterContent/index.tsx +++ b/src/containers/content/HelpCenterContent/index.tsx @@ -6,7 +6,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { METRIC } from '@/constant' import { pluggedIn, buildLog } from '@/utils' diff --git a/src/containers/content/MeetupsContent/ActivityCard.tsx b/src/containers/content/MeetupsContent/ActivityCard.tsx index 0642c72e2..46ae1318c 100755 --- a/src/containers/content/MeetupsContent/ActivityCard.tsx +++ b/src/containers/content/MeetupsContent/ActivityCard.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON_CMD } from '@/config' import { cutRest } from '@/utils' @@ -60,4 +60,4 @@ const ActivityCard: FC = ({ item }) => { ) } -export default React.memo(ActivityCard) +export default memo(ActivityCard) diff --git a/src/containers/content/MeetupsContent/Card/Date.tsx b/src/containers/content/MeetupsContent/Card/Date.tsx index de3fac908..710c322d3 100644 --- a/src/containers/content/MeetupsContent/Card/Date.tsx +++ b/src/containers/content/MeetupsContent/Card/Date.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TProps as TParentProps } from './index' import { Wrapper, Divider, WeekName, DateNum } from '../styles/card/date' @@ -15,4 +15,4 @@ const Date: FC = ({ type }) => { ) } -export default React.memo(Date) +export default memo(Date) diff --git a/src/containers/content/MeetupsContent/Card/TextCard.tsx b/src/containers/content/MeetupsContent/Card/TextCard.tsx index f3f9dcf7a..f05036896 100644 --- a/src/containers/content/MeetupsContent/Card/TextCard.tsx +++ b/src/containers/content/MeetupsContent/Card/TextCard.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { GALLERY } from '@/constant' import { ICON_CMD } from '@/config' @@ -49,4 +49,4 @@ const TextCard: FC = ({ item }) => { ) } -export default React.memo(TextCard) +export default memo(TextCard) diff --git a/src/containers/content/MeetupsContent/Card/TextWithImgCard.tsx b/src/containers/content/MeetupsContent/Card/TextWithImgCard.tsx index 04298ae43..5bd3475a6 100644 --- a/src/containers/content/MeetupsContent/Card/TextWithImgCard.tsx +++ b/src/containers/content/MeetupsContent/Card/TextWithImgCard.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { GALLERY } from '@/constant' import { ICON_CMD, ASSETS_ENDPOINT } from '@/config' @@ -57,4 +57,4 @@ const TextWithImageCard: FC = ({ item }) => { ) } -export default React.memo(TextWithImageCard) +export default memo(TextWithImageCard) diff --git a/src/containers/content/MeetupsContent/Card/index.tsx b/src/containers/content/MeetupsContent/Card/index.tsx index 15bf26186..9bd2ba656 100644 --- a/src/containers/content/MeetupsContent/Card/index.tsx +++ b/src/containers/content/MeetupsContent/Card/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TGALLERY_TEXT_ONLY, TGALLERY_TEXT_WITH_IMAGE } from '@/spec' import { GALLERY } from '@/constant' @@ -27,4 +27,4 @@ const Card: FC = ({ item, type = GALLERY.TEXT_ONLY }) => { ) } -export default React.memo(Card) +export default memo(Card) diff --git a/src/containers/content/MeetupsContent/DateSelector/CalendarCard.tsx b/src/containers/content/MeetupsContent/DateSelector/CalendarCard.tsx index 9eb2501c3..6aa3d0507 100755 --- a/src/containers/content/MeetupsContent/DateSelector/CalendarCard.tsx +++ b/src/containers/content/MeetupsContent/DateSelector/CalendarCard.tsx @@ -2,7 +2,7 @@ * CoolGuideContent */ -import React from 'react' +import { FC, memo } from 'react' import { Wrapper, @@ -15,7 +15,7 @@ import { MonthUnit, } from '../styles/date_selector/calendar_card' -const CalendarCard: React.FC = () => { +const CalendarCard: FC = () => { return ( @@ -32,4 +32,4 @@ const CalendarCard: React.FC = () => { ) } -export default React.memo(CalendarCard) +export default memo(CalendarCard) diff --git a/src/containers/content/MeetupsContent/DateSelector/Cell.tsx b/src/containers/content/MeetupsContent/DateSelector/Cell.tsx index 73d2096d4..22935a7e2 100755 --- a/src/containers/content/MeetupsContent/DateSelector/Cell.tsx +++ b/src/containers/content/MeetupsContent/DateSelector/Cell.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { contains } from 'ramda' import DotDivider from '@/components/DotDivider' diff --git a/src/containers/content/MeetupsContent/DateSelector/index.tsx b/src/containers/content/MeetupsContent/DateSelector/index.tsx index d9c825b24..ebc114013 100755 --- a/src/containers/content/MeetupsContent/DateSelector/index.tsx +++ b/src/containers/content/MeetupsContent/DateSelector/index.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { FC, memo } from 'react' import CalendarCard from './CalendarCard' import Cell from './Cell' @@ -23,7 +23,7 @@ const fillItems = () => { } } -const DateSelector: React.FC = () => { +const DateSelector: FC = () => { fillItems() const items = dates const isLeapMonth = !!items[30] @@ -48,4 +48,4 @@ const DateSelector: React.FC = () => { ) } -export default React.memo(DateSelector) +export default memo(DateSelector) diff --git a/src/containers/content/MeetupsContent/FilterBar/index.tsx b/src/containers/content/MeetupsContent/FilterBar/index.tsx index 9a8b1de8f..c7e889735 100644 --- a/src/containers/content/MeetupsContent/FilterBar/index.tsx +++ b/src/containers/content/MeetupsContent/FilterBar/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TFiltersMenuItems } from '@/spec' import { ICON_CMD } from '@/config' diff --git a/src/containers/content/MeetupsContent/index.tsx b/src/containers/content/MeetupsContent/index.tsx index e07b4ce4d..a9725f0db 100755 --- a/src/containers/content/MeetupsContent/index.tsx +++ b/src/containers/content/MeetupsContent/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { ASSETS_ENDPOINT } from '@/config' import { GALLERY } from '@/constant' diff --git a/src/containers/content/MembershipContent/Illustrations/AirBalloon.tsx b/src/containers/content/MembershipContent/Illustrations/AirBalloon.tsx index cccfaca80..a9f374cea 100644 --- a/src/containers/content/MembershipContent/Illustrations/AirBalloon.tsx +++ b/src/containers/content/MembershipContent/Illustrations/AirBalloon.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { Wrapper, Balloon, Basket } from '../styles/illustrations/air_balloon' @@ -15,4 +15,4 @@ const AirBalloon: FC = ({ testid = 'membership-airballoon' }) => { ) } -export default React.memo(AirBalloon) +export default memo(AirBalloon) diff --git a/src/containers/content/MembershipContent/Illustrations/Rocket.tsx b/src/containers/content/MembershipContent/Illustrations/Rocket.tsx index 07234b885..4e5231a4d 100644 --- a/src/containers/content/MembershipContent/Illustrations/Rocket.tsx +++ b/src/containers/content/MembershipContent/Illustrations/Rocket.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON } from '@/config' @@ -47,4 +47,4 @@ const Rocket: FC = ({ testid = 'membership-rocket', type, active }) => { ) } -export default React.memo(Rocket) +export default memo(Rocket) diff --git a/src/containers/content/MembershipContent/Illustrations/UFO.tsx b/src/containers/content/MembershipContent/Illustrations/UFO.tsx index 6cfd3fe33..b2c29ac67 100644 --- a/src/containers/content/MembershipContent/Illustrations/UFO.tsx +++ b/src/containers/content/MembershipContent/Illustrations/UFO.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON } from '@/config' @@ -36,4 +36,4 @@ const UFO: FC = ({ testid = 'membership-ufo', active }) => { ) } -export default React.memo(UFO) +export default memo(UFO) diff --git a/src/containers/content/MembershipContent/Illustrations/index.tsx b/src/containers/content/MembershipContent/Illustrations/index.tsx index c0b009d6a..8567e3d6c 100644 --- a/src/containers/content/MembershipContent/Illustrations/index.tsx +++ b/src/containers/content/MembershipContent/Illustrations/index.tsx @@ -1,4 +1,4 @@ -import React, { FC, ReactNode } from 'react' +import { FC, ReactNode, memo } from 'react' import type { TPackage } from '../spec' import Rocket from './Rocket' @@ -36,4 +36,4 @@ const Illustrations: FC = ({ type, active }) => { return {renderIllustration(type, active)} } -export default React.memo(Illustrations) +export default memo(Illustrations) diff --git a/src/containers/content/MembershipContent/InviteBox/QA.tsx b/src/containers/content/MembershipContent/InviteBox/QA.tsx index 2aea527fc..d59668e60 100644 --- a/src/containers/content/MembershipContent/InviteBox/QA.tsx +++ b/src/containers/content/MembershipContent/InviteBox/QA.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { Br } from '@/components/Common' import { Wrapper, Title, Desc } from '../styles/invite_box/qa' diff --git a/src/containers/content/MembershipContent/MonthlyWarning.tsx b/src/containers/content/MembershipContent/MonthlyWarning.tsx index 87416b116..b5ffa9f2f 100644 --- a/src/containers/content/MembershipContent/MonthlyWarning.tsx +++ b/src/containers/content/MembershipContent/MonthlyWarning.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON } from '@/config' import { Wrapper, UpIcon, Number } from './styles/monthly_warning' @@ -12,4 +12,4 @@ const MonthlyWarning: FC = () => { ) } -export default React.memo(MonthlyWarning) +export default memo(MonthlyWarning) diff --git a/src/containers/content/MembershipContent/PriceTag.tsx b/src/containers/content/MembershipContent/PriceTag.tsx index c1e7cbf9b..098c2d42c 100644 --- a/src/containers/content/MembershipContent/PriceTag.tsx +++ b/src/containers/content/MembershipContent/PriceTag.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { PAY } from './constant' import { Wrapper, Price, Slash, Unit } from './styles/price_tag' @@ -27,4 +27,4 @@ const PriceTag: FC = ({ ) } -export default React.memo(PriceTag) +export default memo(PriceTag) diff --git a/src/containers/content/MembershipContent/QA.tsx b/src/containers/content/MembershipContent/QA.tsx index f840772ac..bc4e92aec 100644 --- a/src/containers/content/MembershipContent/QA.tsx +++ b/src/containers/content/MembershipContent/QA.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON } from '@/config' import { Wrapper, Header, Icon, Content, QTitle, ABody } from './styles/qa' @@ -33,4 +33,4 @@ const QA: FC = ({ testid = 'membership-qa' }) => { ) } -export default React.memo(QA) +export default memo(QA) diff --git a/src/containers/content/MembershipContent/Support.tsx b/src/containers/content/MembershipContent/Support.tsx index 1af1031de..43f28236a 100644 --- a/src/containers/content/MembershipContent/Support.tsx +++ b/src/containers/content/MembershipContent/Support.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, Fragment, memo } from 'react' import { ICON, ICON_CMD } from '@/config' @@ -26,7 +26,7 @@ type TProps = { } const Support: FC = ({ active, items, not, pkgType }) => ( - + {pkgType !== 'free' && ( @@ -39,7 +39,7 @@ const Support: FC = ({ active, items, not, pkgType }) => ( {item.title} ))} - + ) -export default React.memo(Support) +export default memo(Support) diff --git a/src/containers/content/MembershipContent/index.tsx b/src/containers/content/MembershipContent/index.tsx index e54dfaf7d..12700b14a 100755 --- a/src/containers/content/MembershipContent/index.tsx +++ b/src/containers/content/MembershipContent/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { pluggedIn, buildLog } from '@/utils' diff --git a/src/containers/content/PostContent/MobileView.tsx b/src/containers/content/PostContent/MobileView.tsx index a1a955812..aa850c8f2 100644 --- a/src/containers/content/PostContent/MobileView.tsx +++ b/src/containers/content/PostContent/MobileView.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { Waypoint } from 'react-waypoint' import { pluggedIn, buildLog } from '@/utils' diff --git a/src/containers/content/PostContent/index.tsx b/src/containers/content/PostContent/index.tsx index 37cc6c2e2..8c027330b 100755 --- a/src/containers/content/PostContent/index.tsx +++ b/src/containers/content/PostContent/index.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { Fragment } from 'react' import { useDevice } from '@/hooks' @@ -15,9 +15,9 @@ const PostContentContainer = (props) => { const { isMobile } = useDevice() return ( - + {!isMobile ? : } - + ) } diff --git a/src/containers/content/SponsorContent/index.js b/src/containers/content/SponsorContent/index.tsx similarity index 93% rename from src/containers/content/SponsorContent/index.js rename to src/containers/content/SponsorContent/index.tsx index 73e161fe8..b3745f921 100755 --- a/src/containers/content/SponsorContent/index.js +++ b/src/containers/content/SponsorContent/index.tsx @@ -6,13 +6,16 @@ * */ -import React from 'react' +// import { FC } from 'react' +import { FC } from 'react' import { pluggedIn, buildLog } from '@/utils' import { Br } from '@/components/Common' import { SponsorGallery } from '@/components/GalleryHub' +import type { TStore } from './store' + import Banner from './Banner' import SponsorTypeTitle from './SponsorTypeTitle' @@ -114,7 +117,16 @@ const items = [ }, ] -const SponsorContentContainer = ({ sponsorContent: store, metric }) => { +type TProps = { + sponsorContent?: TStore + testid?: string + metric?: string +} + +const SponsorContentContainer: FC = ({ + sponsorContent: store, + metric, +}) => { useInit(store) const { bannerVisiable } = store diff --git a/src/containers/content/SponsorContent/store.js b/src/containers/content/SponsorContent/store.ts similarity index 66% rename from src/containers/content/SponsorContent/store.js rename to src/containers/content/SponsorContent/store.ts index afbe0d175..4984a7f58 100755 --- a/src/containers/content/SponsorContent/store.js +++ b/src/containers/content/SponsorContent/store.ts @@ -3,7 +3,7 @@ * */ -import { types as T, getParent } from 'mobx-state-tree' +import { types as T, Instance } from 'mobx-state-tree' import { markStates, buildLog } from '@/utils' /* eslint-disable-next-line */ @@ -12,15 +12,12 @@ const log = buildLog('S:SponsorContent') const SponsorContent = T.model('SponsorContent', { bannerVisiable: T.optional(T.boolean, true), }) - .views((self) => ({ - get root() { - return getParent(self) - }, - })) + .views(() => ({})) .actions((self) => ({ - mark(sobj) { + mark(sobj: Record): void { markStates(sobj, self) }, })) +export type TStore = Instance export default SponsorContent diff --git a/src/containers/content/UserContent/Sidebar/CommunityEditorInfo.tsx b/src/containers/content/UserContent/Sidebar/CommunityEditorInfo.tsx index 8dd01c6b3..53feaad51 100755 --- a/src/containers/content/UserContent/Sidebar/CommunityEditorInfo.tsx +++ b/src/containers/content/UserContent/Sidebar/CommunityEditorInfo.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TUser } from '@/spec' import CommunityList from '@/components/CommunityList' diff --git a/src/containers/content/UserContent/Sidebar/index.tsx b/src/containers/content/UserContent/Sidebar/index.tsx index 4f1414c57..3714b47e1 100644 --- a/src/containers/content/UserContent/Sidebar/index.tsx +++ b/src/containers/content/UserContent/Sidebar/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TUser } from '@/spec' import { VIEW } from '@/constant' @@ -18,4 +18,4 @@ const Sidebar: FC = ({ viewingUser, isSelfViewing = false }) => { ) } -export default React.memo(Sidebar) +export default memo(Sidebar) diff --git a/src/containers/content/UserContent/index.tsx b/src/containers/content/UserContent/index.tsx index 39e439771..0b7e94f2e 100755 --- a/src/containers/content/UserContent/index.tsx +++ b/src/containers/content/UserContent/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { USER_THREAD } from '@/constant' import { pluggedIn, buildLog } from '@/utils' diff --git a/src/containers/content/WorksContent/Brand.tsx b/src/containers/content/WorksContent/Brand.tsx index 20d7099c9..3195e28e6 100644 --- a/src/containers/content/WorksContent/Brand.tsx +++ b/src/containers/content/WorksContent/Brand.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { Wrapper, Title, Desc, Divider } from './styles/brand' diff --git a/src/containers/content/WorksContent/FilterBar.tsx b/src/containers/content/WorksContent/FilterBar.tsx index 148a4001f..360cea775 100644 --- a/src/containers/content/WorksContent/FilterBar.tsx +++ b/src/containers/content/WorksContent/FilterBar.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { mockNaviCatalogMenu } from '@/utils' @@ -39,4 +39,4 @@ const FilterBar: FC = ({ activeView }) => { ) } -export default React.memo(FilterBar) +export default memo(FilterBar) diff --git a/src/containers/content/WorksContent/List/OptionTab.tsx b/src/containers/content/WorksContent/List/OptionTab.tsx index fda9b28c5..d11a29c17 100644 --- a/src/containers/content/WorksContent/List/OptionTab.tsx +++ b/src/containers/content/WorksContent/List/OptionTab.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { Wrapper, ItemWrapper, Text } from '../styles/list/option_tab' @@ -22,4 +22,4 @@ const BestTab: FC = ({ items, activeKey }) => { ) } -export default React.memo(BestTab) +export default memo(BestTab) diff --git a/src/containers/content/WorksContent/List/Trending.tsx b/src/containers/content/WorksContent/List/Trending.tsx index 3deb27903..076eb6fec 100644 --- a/src/containers/content/WorksContent/List/Trending.tsx +++ b/src/containers/content/WorksContent/List/Trending.tsx @@ -1,6 +1,5 @@ -import React from 'react' +import { FC } from 'react' -import { ICON_BASE, ASSETS_ENDPOINT } from '@/config' import { mockWorks } from '@/utils' import { ArrowButton } from '@/components/Buttons' @@ -25,7 +24,7 @@ const options = [ const item = mockWorks() -const Trending: React.FC = () => { +const Trending: FC = () => { const activeKey = 'month' return ( diff --git a/src/containers/content/WorksContent/List/index.tsx b/src/containers/content/WorksContent/List/index.tsx index 22a50e106..1e006cd89 100644 --- a/src/containers/content/WorksContent/List/index.tsx +++ b/src/containers/content/WorksContent/List/index.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { FC } from 'react' import { mockWorks } from '@/utils' // import { Br } from '@/components/Common' @@ -41,7 +41,7 @@ const lists = [ { ...item, id: 7 }, ] -const List: React.FC = () => { +const List: FC = () => { return ( {/* */} diff --git a/src/containers/content/WorksContent/MileStone/Detail.tsx b/src/containers/content/WorksContent/MileStone/Detail.tsx index 01fd66aaa..7ae543bb7 100644 --- a/src/containers/content/WorksContent/MileStone/Detail.tsx +++ b/src/containers/content/WorksContent/MileStone/Detail.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { FC, memo } from 'react' import { ASSETS_ENDPOINT } from '@/config' import IconText from '@/components/IconText' @@ -12,7 +12,7 @@ import { CoverImage, } from '../styles/mile_stone/detail' -const Detail: React.FC = () => { +const Detail: FC = () => { return (
@@ -29,4 +29,4 @@ const Detail: React.FC = () => { ) } -export default React.memo(Detail) +export default memo(Detail) diff --git a/src/containers/content/WorksContent/MileStone/Intro.tsx b/src/containers/content/WorksContent/MileStone/Intro.tsx index 652d5c03b..e8ccdf680 100644 --- a/src/containers/content/WorksContent/MileStone/Intro.tsx +++ b/src/containers/content/WorksContent/MileStone/Intro.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { FC, memo } from 'react' import DotDivider from '@/components/DotDivider' // import { ASSETS_ENDPOINT } from '@/config' @@ -12,7 +12,7 @@ import { LinkBtn, } from '../styles/mile_stone/intro' -const Intro: React.FC = () => { +const Intro: FC = () => { return (
@@ -29,4 +29,4 @@ const Intro: React.FC = () => { ) } -export default React.memo(Intro) +export default memo(Intro) diff --git a/src/containers/content/WorksContent/MileStone/index.tsx b/src/containers/content/WorksContent/MileStone/index.tsx index b224af6c7..91c5bf4ae 100644 --- a/src/containers/content/WorksContent/MileStone/index.tsx +++ b/src/containers/content/WorksContent/MileStone/index.tsx @@ -1,11 +1,11 @@ -import React from 'react' +import { FC, memo } from 'react' import Intro from './Intro' import Detail from './Detail' import { Wrapper, Block } from '../styles/mile_stone' -const MileStone: React.FC = () => { +const MileStone: FC = () => { return ( @@ -24,4 +24,4 @@ const MileStone: React.FC = () => { ) } -export default React.memo(MileStone) +export default memo(MileStone) diff --git a/src/containers/content/WorksContent/RightSidebar/InterviewsList.tsx b/src/containers/content/WorksContent/RightSidebar/InterviewsList.tsx index 7a441a5a2..32e73e489 100644 --- a/src/containers/content/WorksContent/RightSidebar/InterviewsList.tsx +++ b/src/containers/content/WorksContent/RightSidebar/InterviewsList.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { ICON } from '@/config' import { SpaceGrow } from '@/components/Common' diff --git a/src/containers/content/WorksContent/RightSidebar/Linkers.tsx b/src/containers/content/WorksContent/RightSidebar/Linkers.tsx index 02703699a..da64aaef1 100644 --- a/src/containers/content/WorksContent/RightSidebar/Linkers.tsx +++ b/src/containers/content/WorksContent/RightSidebar/Linkers.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { FC, memo } from 'react' import { ICON } from '@/config' @@ -28,7 +28,7 @@ const Addr = ({ title, desc }) => { ) } -const MakersInfo: React.FC = () => { +const MakersInfo: FC = () => { return ( @@ -37,4 +37,4 @@ const MakersInfo: React.FC = () => { ) } -export default React.memo(MakersInfo) +export default memo(MakersInfo) diff --git a/src/containers/content/WorksContent/RightSidebar/index.tsx b/src/containers/content/WorksContent/RightSidebar/index.tsx index b310bd099..b53e9cc4a 100644 --- a/src/containers/content/WorksContent/RightSidebar/index.tsx +++ b/src/containers/content/WorksContent/RightSidebar/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON, ICON_CMD } from '@/config' @@ -75,4 +75,4 @@ const RightSidebar: FC = ({ ) } -export default React.memo(RightSidebar) +export default memo(RightSidebar) diff --git a/src/containers/content/WorksContent/index.tsx b/src/containers/content/WorksContent/index.tsx index 668c186ca..e33676b9b 100755 --- a/src/containers/content/WorksContent/index.tsx +++ b/src/containers/content/WorksContent/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { pluggedIn, buildLog } from '@/utils' diff --git a/src/containers/digest/ArticleDigest/DesktopView/Author.tsx b/src/containers/digest/ArticleDigest/DesktopView/Author.tsx index a53488744..9e2053bd1 100644 --- a/src/containers/digest/ArticleDigest/DesktopView/Author.tsx +++ b/src/containers/digest/ArticleDigest/DesktopView/Author.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TUser } from '@/spec' import { Button } from '@/components/Buttons' diff --git a/src/containers/digest/ArticleDigest/DesktopView/index.tsx b/src/containers/digest/ArticleDigest/DesktopView/index.tsx index cfafdb00e..457bbfa43 100644 --- a/src/containers/digest/ArticleDigest/DesktopView/index.tsx +++ b/src/containers/digest/ArticleDigest/DesktopView/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { isNil } from 'ramda' import { Waypoint } from 'react-waypoint' diff --git a/src/containers/digest/ArticleDigest/index.tsx b/src/containers/digest/ArticleDigest/index.tsx index b0474fa40..6643301a4 100755 --- a/src/containers/digest/ArticleDigest/index.tsx +++ b/src/containers/digest/ArticleDigest/index.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { Fragment } from 'react' import { useDevice } from '@/hooks' @@ -15,9 +15,9 @@ const ArticleDigest = (props) => { const { isMobile } = useDevice() return ( - + {!isMobile ? : } - + ) } diff --git a/src/containers/layout/GlobalLayout/dynamic.tsx b/src/containers/layout/GlobalLayout/dynamic.tsx index 56c3948e5..92cafb957 100644 --- a/src/containers/layout/GlobalLayout/dynamic.tsx +++ b/src/containers/layout/GlobalLayout/dynamic.tsx @@ -1,4 +1,3 @@ -import React from 'react' import dynamic from 'next/dynamic' import { TProps as TErrorPage } from '@/components/ErrorPage' diff --git a/src/containers/thread/JobsThread/PublishNote.tsx b/src/containers/thread/JobsThread/PublishNote.tsx index 5e6d3f8e9..3a0ad88d9 100755 --- a/src/containers/thread/JobsThread/PublishNote.tsx +++ b/src/containers/thread/JobsThread/PublishNote.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { DEFAULT_USER_AVATAR } from '@/config' import { ROUTE } from '@/constant' @@ -25,4 +25,4 @@ const PublishNote: FC = ({ show }) => ( ) -export default React.memo(PublishNote) +export default memo(PublishNote) diff --git a/src/containers/thread/JobsThread/index.tsx b/src/containers/thread/JobsThread/index.tsx index 42ec6ad0e..fc37bf334 100755 --- a/src/containers/thread/JobsThread/index.tsx +++ b/src/containers/thread/JobsThread/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { Waypoint } from 'react-waypoint' import { ICON_CMD } from '@/config' diff --git a/src/containers/tool/AbuseReport/Footer.tsx b/src/containers/tool/AbuseReport/Footer.tsx index 932bcd7b4..01f016256 100644 --- a/src/containers/tool/AbuseReport/Footer.tsx +++ b/src/containers/tool/AbuseReport/Footer.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { YesOrNoButtons } from '@/components/Buttons' diff --git a/src/containers/tool/AbuseReport/Header.tsx b/src/containers/tool/AbuseReport/Header.tsx index 053f88085..41cb9c2d7 100644 --- a/src/containers/tool/AbuseReport/Header.tsx +++ b/src/containers/tool/AbuseReport/Header.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { REPORT_TYPE } from '@/constant' import { ICON } from '@/config' diff --git a/src/containers/tool/AbuseReport/ReportContent/Detail.tsx b/src/containers/tool/AbuseReport/ReportContent/Detail.tsx index eea59ffcd..221d40112 100644 --- a/src/containers/tool/AbuseReport/ReportContent/Detail.tsx +++ b/src/containers/tool/AbuseReport/ReportContent/Detail.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import Input from '@/components/Input' import { Br } from '@/components/Common' diff --git a/src/containers/tool/AbuseReport/ReportContent/Main.tsx b/src/containers/tool/AbuseReport/ReportContent/Main.tsx index 936084014..73951c6e8 100644 --- a/src/containers/tool/AbuseReport/ReportContent/Main.tsx +++ b/src/containers/tool/AbuseReport/ReportContent/Main.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, Fragment } from 'react' import { SpaceGrow } from '@/components/Common' import Checker from '@/components/Checker' @@ -15,7 +15,7 @@ type TProps = { const Main: FC = ({ items, activeItem }) => { return ( - + {items && items.map((item) => ( ))} - + ) } diff --git a/src/containers/tool/AbuseReport/ReportContent/index.tsx b/src/containers/tool/AbuseReport/ReportContent/index.tsx index 6a50e06b5..7479217e4 100644 --- a/src/containers/tool/AbuseReport/ReportContent/index.tsx +++ b/src/containers/tool/AbuseReport/ReportContent/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import type { TREPORT_ITEM } from '../spec' diff --git a/src/containers/tool/AbuseReport/index.tsx b/src/containers/tool/AbuseReport/index.tsx index 21005800d..8f13c4d3f 100755 --- a/src/containers/tool/AbuseReport/index.tsx +++ b/src/containers/tool/AbuseReport/index.tsx @@ -6,7 +6,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { pluggedIn, buildLog } from '@/utils' import Modal from '@/components/Modal' diff --git a/src/containers/tool/ArticleSticker/ArticleSticker.tsx b/src/containers/tool/ArticleSticker/ArticleSticker.tsx index f2af4e274..18738e161 100644 --- a/src/containers/tool/ArticleSticker/ArticleSticker.tsx +++ b/src/containers/tool/ArticleSticker/ArticleSticker.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TArticle } from '@/spec' import { ICON } from '@/config' @@ -43,4 +43,4 @@ const ArticleSticker: FC = ({ show, viewing }) => { ) } -export default React.memo(ArticleSticker) +export default memo(ArticleSticker) diff --git a/src/containers/tool/ArticleSticker/CommentSticker.tsx b/src/containers/tool/ArticleSticker/CommentSticker.tsx index 799f6a38b..afff1897d 100644 --- a/src/containers/tool/ArticleSticker/CommentSticker.tsx +++ b/src/containers/tool/ArticleSticker/CommentSticker.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC, memo } from 'react' import T from 'prop-types' import { ICON } from '@/config' @@ -108,4 +108,4 @@ CommentSticker.defaultProps = { }, } -export default React.memo(CommentSticker) +export default memo(CommentSticker) diff --git a/src/containers/tool/ArticleSticker/CommunitySticker.tsx b/src/containers/tool/ArticleSticker/CommunitySticker.tsx index 7617f4fe2..46c70d977 100644 --- a/src/containers/tool/ArticleSticker/CommunitySticker.tsx +++ b/src/containers/tool/ArticleSticker/CommunitySticker.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, Fragment, memo } from 'react' import type { TViewing } from '@/spec' import { ICON_BASE } from '@/config' @@ -18,7 +18,7 @@ type TProps = { const CommunitySticker: FC = ({ show, data }) => { return ( - + Elixir @@ -27,8 +27,8 @@ const CommunitySticker: FC = ({ show, data }) => { - + ) } -export default React.memo(CommunitySticker) +export default memo(CommunitySticker) diff --git a/src/containers/tool/ArticleSticker/LeftSticker/Toc.tsx b/src/containers/tool/ArticleSticker/LeftSticker/Toc.tsx index 81ad50d50..d1357a5a5 100644 --- a/src/containers/tool/ArticleSticker/LeftSticker/Toc.tsx +++ b/src/containers/tool/ArticleSticker/LeftSticker/Toc.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { ICON } from '@/config' // import { cutRest } from '@/utils' diff --git a/src/containers/tool/ArticleSticker/LeftSticker/index.tsx b/src/containers/tool/ArticleSticker/LeftSticker/index.tsx index df0541457..f045c73c1 100644 --- a/src/containers/tool/ArticleSticker/LeftSticker/index.tsx +++ b/src/containers/tool/ArticleSticker/LeftSticker/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { ICON } from '@/config' import { cutRest } from '@/utils' diff --git a/src/containers/tool/ArticleSticker/index.tsx b/src/containers/tool/ArticleSticker/index.tsx index 24a2a0e45..ce92cd7c1 100755 --- a/src/containers/tool/ArticleSticker/index.tsx +++ b/src/containers/tool/ArticleSticker/index.tsx @@ -6,7 +6,7 @@ * */ -import React, { FC } from 'react' +import { FC, Fragment } from 'react' import { pluggedIn, buildLog } from '@/utils' @@ -46,7 +46,7 @@ const ArticleStickerContainer: FC = ({ } = store return ( - + = ({ - + ) } diff --git a/src/containers/tool/CommunityJoinBadge/SubscribeBtn.js b/src/containers/tool/CommunityJoinBadge/SubscribeBtn.tsx similarity index 84% rename from src/containers/tool/CommunityJoinBadge/SubscribeBtn.js rename to src/containers/tool/CommunityJoinBadge/SubscribeBtn.tsx index fedf5b582..eedf5fe49 100644 --- a/src/containers/tool/CommunityJoinBadge/SubscribeBtn.js +++ b/src/containers/tool/CommunityJoinBadge/SubscribeBtn.tsx @@ -1,5 +1,6 @@ -import React from 'react' +import { FC } from 'react' +import type { TCommunity } from '@/spec' import { HCN } from '@/constant' import Button from '@/components/Buttons/Button' @@ -7,7 +8,12 @@ import Button from '@/components/Buttons/Button' import { Wrapper, Text } from './styles/subscribe_btn' import { onSubscribe, onCancleSubscribe } from './logic' -const SubscribeButton = ({ community, subscribeLoading }) => { +type TProps = { + community: TCommunity + subscribeLoading: boolean +} + +const SubscribeButton: FC = ({ community, subscribeLoading }) => { const { viewerHasSubscribed } = community if (community.raw === HCN) { diff --git a/src/containers/tool/CommunityJoinBadge/index.js b/src/containers/tool/CommunityJoinBadge/index.tsx similarity index 63% rename from src/containers/tool/CommunityJoinBadge/index.js rename to src/containers/tool/CommunityJoinBadge/index.tsx index 594bab110..a7af51497 100755 --- a/src/containers/tool/CommunityJoinBadge/index.js +++ b/src/containers/tool/CommunityJoinBadge/index.tsx @@ -1,25 +1,31 @@ -// - /* * * CommunityJoinBadge * */ -import React from 'react' -import T from 'prop-types' +import { FC } from 'react' import { pluggedIn, buildLog } from '@/utils' import SubscribeBtn from './SubscribeBtn' import { Wrapper, Title, Desc, BottomLine } from './styles' +import type { TStore } from './store' import { useInit } from './logic' /* eslint-disable-next-line */ const log = buildLog('C:CommunityJoinBadge') -const CommunityJoinBadgeContainer = ({ communityJoinBadge: store, testid }) => { +type TProps = { + communityJoinBadge: TStore + testid?: string +} + +const CommunityJoinBadgeContainer: FC = ({ + communityJoinBadge: store, + testid = 'community-join-badge', +}) => { useInit(store) const { curCommunity, subscribeLoading } = store @@ -40,13 +46,4 @@ const CommunityJoinBadgeContainer = ({ communityJoinBadge: store, testid }) => { ) } -CommunityJoinBadgeContainer.propTypes = { - communityJoinBadge: T.any.isRequired, - testid: T.string, -} - -CommunityJoinBadgeContainer.defaultProps = { - testid: 'community-join-badge', -} - -export default pluggedIn(CommunityJoinBadgeContainer) +export default pluggedIn(CommunityJoinBadgeContainer) as FC diff --git a/src/containers/tool/CommunityJoinBadge/logic.js b/src/containers/tool/CommunityJoinBadge/logic.ts similarity index 86% rename from src/containers/tool/CommunityJoinBadge/logic.js rename to src/containers/tool/CommunityJoinBadge/logic.ts index 2e72b54aa..1e495b1de 100755 --- a/src/containers/tool/CommunityJoinBadge/logic.js +++ b/src/containers/tool/CommunityJoinBadge/logic.ts @@ -3,16 +3,19 @@ import { useEffect } from 'react' import { EVENT, ERR } from '@/constant' import { asyncSuit, buildLog, subPath2Thread, errRescue } from '@/utils' +import type { TCommunity } from '@/spec' +import type { TStore } from './store' import S from './schema' /* eslint-disable-next-line */ const log = buildLog('L:CommunityJoinBadge') const { SR71, $solver, asyncRes, asyncErr } = asyncSuit +/* @ts-ignore */ const sr71$ = new SR71({ receive: [EVENT.COMMUNITY_CHANGE] }) let sub$ = null -let store = null +let store: TStore | undefined const loadCommunity = () => { const userHasLogin = store.isLogin @@ -23,24 +26,24 @@ const loadCommunity = () => { sr71$.query(S.community, { raw, userHasLogin }) } -export const onSubscribe = (community) => { +export const onSubscribe = (community: TCommunity): void => { if (!store.isLogin) return store.authWarning() - if (store.subscribeLoading) return false + if (store.subscribeLoading) return // log('onSubscribe: ', community) store.mark({ subscribeLoading: true }) sr71$.mutate(S.subscribeCommunity, { communityId: community.id }) } -export const onCancleSubscribe = (community) => { +export const onCancleSubscribe = (community: TCommunity): void => { if (!store.isLogin) return store.authWarning() - if (store.subscribeLoading) return false + if (store.subscribeLoading) return store.mark({ subscribeLoading: true }) sr71$.mutate(S.unsubscribeCommunity, { communityId: community.id }) } -const markLoading = (maybe = true) => +const markLoading = (maybe = true): void => store.mark({ loading: maybe, subscribeLoading: maybe }) // ############################### @@ -103,7 +106,7 @@ const ErrSolver = [ // ############################### // init & uninit // ############################### -export const useInit = (_store) => { +export const useInit = (_store: TStore): void => { useEffect(() => { store = _store // log('effect init') diff --git a/src/containers/tool/CommunityJoinBadge/store.js b/src/containers/tool/CommunityJoinBadge/store.js deleted file mode 100755 index c7114fa66..000000000 --- a/src/containers/tool/CommunityJoinBadge/store.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * CommunityJoinBadge store - * - */ - -import { types as T, getParent } from 'mobx-state-tree' -// import {} from 'ramda' - -import { markStates, buildLog, stripMobx } from '@/utils' -/* eslint-disable-next-line */ -const log = buildLog('S:CommunityJoinBadge') - -const CommunityJoinBadge = T.model('CommunityJoinBadge', { - subscribeLoading: T.optional(T.boolean, false), -}) - .views((self) => ({ - get root() { - return getParent(self) - }, - get curCommunity() { - return stripMobx(self.root.viewing.community) - }, - })) - .actions((self) => ({ - authWarning(options) { - self.root.authWarning(options) - }, - mark(sobj) { - markStates(sobj, self) - }, - })) - -export default CommunityJoinBadge diff --git a/src/containers/tool/CommunityJoinBadge/store.ts b/src/containers/tool/CommunityJoinBadge/store.ts new file mode 100755 index 000000000..588422aa8 --- /dev/null +++ b/src/containers/tool/CommunityJoinBadge/store.ts @@ -0,0 +1,55 @@ +/* + * CommunityJoinBadge store + * + */ + +import { types as T, getParent, Instance } from 'mobx-state-tree' +// import {} from 'ramda' + +import type { TRootStore, TCommunity, TRoute } from '@/spec' +import { markStates, buildLog, stripMobx } from '@/utils' +/* eslint-disable-next-line */ +const log = buildLog('S:CommunityJoinBadge') + +const CommunityJoinBadge = T.model('CommunityJoinBadge', { + subscribeLoading: T.optional(T.boolean, false), + loading: T.optional(T.boolean, false), +}) + .views((self) => ({ + get isLogin(): boolean { + const root = getParent(self) as TRootStore + return root.account.isLogin + }, + get curRoute(): TRoute { + const root = getParent(self) as TRootStore + return root.curRoute + }, + get curCommunity(): TCommunity { + const root = getParent(self) as TRootStore + return stripMobx(root.viewing.community) + }, + })) + .actions((self) => ({ + setViewing(sobj: Record): void { + const root = getParent(self) as TRootStore + root.setViewing(sobj) + }, + addSubscribedCommunity(community: TCommunity): void { + const root = getParent(self) as TRootStore + root.account.addSubscribedCommunity(community) + }, + removeSubscribedCommunity(community: TCommunity): void { + const root = getParent(self) as TRootStore + root.account.removeSubscribedCommunity(community) + }, + authWarning(options = {}): void { + const root = getParent(self) as TRootStore + root.authWarning(options) + }, + mark(sobj: Record): void { + markStates(sobj, self) + }, + })) + +export type TStore = Instance +export default CommunityJoinBadge diff --git a/src/containers/tool/Drawer/AddOn.tsx b/src/containers/tool/Drawer/AddOn.tsx index a705a79ab..bf592d0aa 100755 --- a/src/containers/tool/Drawer/AddOn.tsx +++ b/src/containers/tool/Drawer/AddOn.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON_CMD } from '@/config' // import { Wrapper } from './styles' @@ -32,4 +32,4 @@ const AddOn: FC = ({ type, imageUploading = false }) => { ) } -export default React.memo(AddOn) +export default memo(AddOn) diff --git a/src/containers/tool/Drawer/Content/DesktopView.tsx b/src/containers/tool/Drawer/Content/DesktopView.tsx index 6aea6ce2c..99cf5e458 100644 --- a/src/containers/tool/Drawer/Content/DesktopView.tsx +++ b/src/containers/tool/Drawer/Content/DesktopView.tsx @@ -1,4 +1,4 @@ -import React, { FC, useEffect, useRef } from 'react' +import { FC, useEffect, useRef, memo } from 'react' import CustomScroller from '@/components/CustomScroller' @@ -34,4 +34,4 @@ const Content: FC = ({ visible, type, attachment, attUser }) => { ) } -export default React.memo(Content) +export default memo(Content) diff --git a/src/containers/tool/Drawer/Content/MobileView.tsx b/src/containers/tool/Drawer/Content/MobileView.tsx index 04a9dae15..310866fcc 100644 --- a/src/containers/tool/Drawer/Content/MobileView.tsx +++ b/src/containers/tool/Drawer/Content/MobileView.tsx @@ -1,4 +1,4 @@ -import React, { FC, useEffect, useRef, useState } from 'react' +import { FC, useEffect, useRef, useState, memo } from 'react' import CustomScroller from '@/components/CustomScroller' @@ -105,4 +105,4 @@ const Content: FC = ({ ) } -export default React.memo(Content) +export default memo(Content) diff --git a/src/containers/tool/Drawer/Content/PlaceHolder.tsx b/src/containers/tool/Drawer/Content/PlaceHolder.tsx index d63d4012b..461d270d0 100644 --- a/src/containers/tool/Drawer/Content/PlaceHolder.tsx +++ b/src/containers/tool/Drawer/Content/PlaceHolder.tsx @@ -1,10 +1,10 @@ -import React from 'react' +import { FC, memo } from 'react' import { ICON_CMD } from '@/config' // import { ICON_CMD } from '../../config' import { Wrapper, SiteLogo, Desc } from '../styles/content/place_holder' -const PlaceHolder: React.FC = () => { +const PlaceHolder: FC = () => { return ( @@ -13,4 +13,4 @@ const PlaceHolder: React.FC = () => { ) } -export default React.memo(PlaceHolder) +export default memo(PlaceHolder) diff --git a/src/containers/tool/Drawer/Content/index.tsx b/src/containers/tool/Drawer/Content/index.tsx index 4052981a3..3f7dba7d5 100644 --- a/src/containers/tool/Drawer/Content/index.tsx +++ b/src/containers/tool/Drawer/Content/index.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { Fragment, memo } from 'react' import { useDevice } from '@/hooks' @@ -9,10 +9,10 @@ const Content = (props) => { const { isMobile } = useDevice() return ( - + {!isMobile ? : } - + ) } -export default React.memo(Content) +export default memo(Content) diff --git a/src/containers/tool/Drawer/Header/CloseLine.tsx b/src/containers/tool/Drawer/Header/CloseLine.tsx index b25e562c2..138ae1a5d 100644 --- a/src/containers/tool/Drawer/Header/CloseLine.tsx +++ b/src/containers/tool/Drawer/Header/CloseLine.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { Wrapper, LeftLine, RightLine } from '../styles/header/close_line' diff --git a/src/containers/tool/Drawer/Header/index.tsx b/src/containers/tool/Drawer/Header/index.tsx index 04aae957a..23e102011 100644 --- a/src/containers/tool/Drawer/Header/index.tsx +++ b/src/containers/tool/Drawer/Header/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC } from 'react' import { useSwipe } from '@/hooks' import { nilOrEmpty } from '@/utils' diff --git a/src/containers/tool/Drawer/Viewer/DesktopView.tsx b/src/containers/tool/Drawer/Viewer/DesktopView.tsx index d1987693f..1442a4c54 100644 --- a/src/containers/tool/Drawer/Viewer/DesktopView.tsx +++ b/src/containers/tool/Drawer/Viewer/DesktopView.tsx @@ -1,4 +1,4 @@ -import React, { FC, ReactNode } from 'react' +import React, { FC, ReactNode, memo } from 'react' import type { TSwipeOption } from '../spec' import AddOn from '../AddOn' @@ -43,4 +43,4 @@ const DesktopView: FC = ({ ) } -export default React.memo(DesktopView) +export default memo(DesktopView) diff --git a/src/containers/tool/Drawer/Viewer/MobileView.tsx b/src/containers/tool/Drawer/Viewer/MobileView.tsx index c165e1ace..60e1b5af0 100644 --- a/src/containers/tool/Drawer/Viewer/MobileView.tsx +++ b/src/containers/tool/Drawer/Viewer/MobileView.tsx @@ -1,4 +1,4 @@ -import React, { FC, ReactNode, useEffect, useState } from 'react' +import { FC, ReactNode, useEffect, useState, memo } from 'react' import { useTheme } from 'styled-components' import type { TThemeMap } from '@/spec' @@ -115,4 +115,4 @@ const Viewer: FC = ({ ) } -export default React.memo(Viewer) +export default memo(Viewer) diff --git a/src/containers/tool/Drawer/dynamics.tsx b/src/containers/tool/Drawer/dynamics.tsx index dd77e1680..7a0379c10 100755 --- a/src/containers/tool/Drawer/dynamics.tsx +++ b/src/containers/tool/Drawer/dynamics.tsx @@ -1,5 +1,4 @@ /* eslint-disable react/display-name */ -import React from 'react' import dynamic from 'next/dynamic' import { diff --git a/src/containers/tool/Drawer/index.tsx b/src/containers/tool/Drawer/index.tsx index fd7f18810..af977c17a 100755 --- a/src/containers/tool/Drawer/index.tsx +++ b/src/containers/tool/Drawer/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { pluggedIn, buildLog } from '@/utils' import { useShortcut, useResize } from '@/hooks' diff --git a/src/containers/unit/Comments/Comment/Actions.tsx b/src/containers/unit/Comments/Comment/Actions.tsx index fe9280f8f..b2cc7f56c 100755 --- a/src/containers/unit/Comments/Comment/Actions.tsx +++ b/src/containers/unit/Comments/Comment/Actions.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TAccount, TComment } from '@/spec' import { ICON } from '@/config' @@ -45,4 +45,4 @@ const Actions: FC = ({ data, accountInfo }) => { ) } -export default React.memo(Actions) +export default memo(Actions) diff --git a/src/containers/unit/Comments/Comment/DeleteMask.tsx b/src/containers/unit/Comments/Comment/DeleteMask.tsx index 8ce180481..bebec3de1 100755 --- a/src/containers/unit/Comments/Comment/DeleteMask.tsx +++ b/src/containers/unit/Comments/Comment/DeleteMask.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { Button } from '@/components/Buttons' @@ -31,4 +31,4 @@ const DeleteMask: FC = ({ show }) => { ) } -export default React.memo(DeleteMask) +export default memo(DeleteMask) diff --git a/src/containers/unit/Comments/Comment/DesktopView.tsx b/src/containers/unit/Comments/Comment/DesktopView.tsx index 755ff7805..6e8697b14 100644 --- a/src/containers/unit/Comments/Comment/DesktopView.tsx +++ b/src/containers/unit/Comments/Comment/DesktopView.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { isEmpty } from 'ramda' import type { TAccount, TComment } from '@/spec' @@ -110,4 +110,4 @@ const Comment: FC = ({ ) } -export default React.memo(Comment) +export default memo(Comment) diff --git a/src/containers/unit/Comments/Comment/Emotion.tsx b/src/containers/unit/Comments/Comment/Emotion.tsx index 9a51b994c..336023994 100644 --- a/src/containers/unit/Comments/Comment/Emotion.tsx +++ b/src/containers/unit/Comments/Comment/Emotion.tsx @@ -1,13 +1,13 @@ -import React from 'react' +import { FC, memo } from 'react' import { ICON } from '@/config' import { Wrapper, SelectorIcon } from '../styles/comment/emotion' -const Emotion: React.FC = () => ( +const Emotion: FC = () => ( ) -export default React.memo(Emotion) +export default memo(Emotion) diff --git a/src/containers/unit/Comments/Comment/Footer.tsx b/src/containers/unit/Comments/Comment/Footer.tsx index 535d32c71..d208df141 100755 --- a/src/containers/unit/Comments/Comment/Footer.tsx +++ b/src/containers/unit/Comments/Comment/Footer.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TAccount, TComment } from '@/spec' @@ -31,4 +31,4 @@ const Footer: FC = ({ ) -export default React.memo(Footer) +export default memo(Footer) diff --git a/src/containers/unit/Comments/Comment/Header.tsx b/src/containers/unit/Comments/Comment/Header.tsx index e60d42f7b..ea840e760 100755 --- a/src/containers/unit/Comments/Comment/Header.tsx +++ b/src/containers/unit/Comments/Comment/Header.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import TimeAgo from 'timeago-react' import type { TComment } from '@/spec' @@ -47,4 +47,4 @@ const CommentHeader: FC = ({ data }) => { ) } -export default React.memo(CommentHeader) +export default memo(CommentHeader) diff --git a/src/containers/unit/Comments/Comment/MobileView/Header.tsx b/src/containers/unit/Comments/Comment/MobileView/Header.tsx index 2308b75fc..3f796f57a 100644 --- a/src/containers/unit/Comments/Comment/MobileView/Header.tsx +++ b/src/containers/unit/Comments/Comment/MobileView/Header.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TComment } from '@/spec' import ImgFallback from '@/components/ImgFallback' @@ -39,4 +39,4 @@ const CommentHeader: FC = ({ data }) => { ) } -export default React.memo(CommentHeader) +export default memo(CommentHeader) diff --git a/src/containers/unit/Comments/Comment/MobileView/index.tsx b/src/containers/unit/Comments/Comment/MobileView/index.tsx index 49cc6c613..d1785a023 100644 --- a/src/containers/unit/Comments/Comment/MobileView/index.tsx +++ b/src/containers/unit/Comments/Comment/MobileView/index.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { memo } from 'react' import { Br } from '@/components/Common' import MarkDownRender from '@/components/MarkDownRender' @@ -45,4 +45,4 @@ const MobileView = ({ data, tobeDeleteId, accountInfo }) => { ) } -export default React.memo(MobileView) +export default memo(MobileView) diff --git a/src/containers/unit/Comments/Comment/ReplyBar.tsx b/src/containers/unit/Comments/Comment/ReplyBar.tsx index 2fd927892..519d98800 100755 --- a/src/containers/unit/Comments/Comment/ReplyBar.tsx +++ b/src/containers/unit/Comments/Comment/ReplyBar.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TComment } from '@/spec' import { ICON } from '@/config' @@ -25,4 +25,4 @@ const CommentReplyBar: FC = ({ data }) => { ) } -export default React.memo(CommentReplyBar) +export default memo(CommentReplyBar) diff --git a/src/containers/unit/Comments/Comment/Upvote.tsx b/src/containers/unit/Comments/Comment/Upvote.tsx index d8f0a93b5..e2887a9ea 100755 --- a/src/containers/unit/Comments/Comment/Upvote.tsx +++ b/src/containers/unit/Comments/Comment/Upvote.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TComment } from '@/spec' import { ICON } from '@/config' @@ -26,4 +26,4 @@ const Upvote: FC = ({ data }) => ( ) -export default React.memo(Upvote) +export default memo(Upvote) diff --git a/src/containers/unit/Comments/Comment/index.tsx b/src/containers/unit/Comments/Comment/index.tsx index d0cc75f9d..20ccbf0e7 100755 --- a/src/containers/unit/Comments/Comment/index.tsx +++ b/src/containers/unit/Comments/Comment/index.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { Fragment, memo } from 'react' import { useDevice } from '@/hooks' @@ -9,10 +9,10 @@ const Comment = (props) => { const { isMobile } = useDevice() return ( - + {!isMobile ? : } - + ) } -export default React.memo(Comment) +export default memo(Comment) diff --git a/src/containers/unit/Comments/CommentBodyEditor.tsx b/src/containers/unit/Comments/CommentBodyEditor.tsx index b40143080..59e6c8cdf 100755 --- a/src/containers/unit/Comments/CommentBodyEditor.tsx +++ b/src/containers/unit/Comments/CommentBodyEditor.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import dynamic from 'next/dynamic' import type { TUser } from '@/spec' @@ -63,4 +63,4 @@ const CommentBodyEditor: FC = ({ ) } -export default React.memo(CommentBodyEditor) +export default memo(CommentBodyEditor) diff --git a/src/containers/unit/Comments/CommentEditor.tsx b/src/containers/unit/Comments/CommentEditor.tsx index 1f742db04..93731000b 100755 --- a/src/containers/unit/Comments/CommentEditor.tsx +++ b/src/containers/unit/Comments/CommentEditor.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TAccount, TUser } from '@/spec' import MarkDownRender from '@/components/MarkDownRender' @@ -81,4 +81,4 @@ const CommentEditor: FC = (props) => { ) } -export default React.memo(CommentEditor) +export default memo(CommentEditor) diff --git a/src/containers/unit/Comments/CommentReplyEditor.tsx b/src/containers/unit/Comments/CommentReplyEditor.tsx index add58487c..03db8c7c7 100755 --- a/src/containers/unit/Comments/CommentReplyEditor.tsx +++ b/src/containers/unit/Comments/CommentReplyEditor.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import dynamic from 'next/dynamic' import type { TAccount, TUser, TComment } from '@/spec' @@ -94,4 +94,4 @@ const CommentReplyEditor: FC = ({ ) } -export default React.memo(CommentReplyEditor) +export default memo(CommentReplyEditor) diff --git a/src/containers/unit/Comments/EditorFooter.tsx b/src/containers/unit/Comments/EditorFooter.tsx index 7b6c14f27..1a11176d2 100755 --- a/src/containers/unit/Comments/EditorFooter.tsx +++ b/src/containers/unit/Comments/EditorFooter.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON, ICON_CMD } from '@/config' @@ -85,4 +85,4 @@ const EditorFooter: FC = ({ ) -export default React.memo(EditorFooter) +export default memo(EditorFooter) diff --git a/src/containers/unit/Comments/EditorHeader.tsx b/src/containers/unit/Comments/EditorHeader.tsx index 15c517d4b..71f2cb8f0 100755 --- a/src/containers/unit/Comments/EditorHeader.tsx +++ b/src/containers/unit/Comments/EditorHeader.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TAccount, TUser } from '@/spec' import { ICON, ICON_CMD } from '@/config' @@ -75,4 +75,4 @@ const EditorHeader: FC = ({ ) } -export default React.memo(EditorHeader) +export default memo(EditorHeader) diff --git a/src/containers/unit/Comments/List/DateDivider.tsx b/src/containers/unit/Comments/List/DateDivider.tsx index 59e865e01..9a05e2c8b 100644 --- a/src/containers/unit/Comments/List/DateDivider.tsx +++ b/src/containers/unit/Comments/List/DateDivider.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { Wrapper, SlashSign, DateText } from '../styles/list/date_divider' @@ -12,4 +12,4 @@ const DateDivider: FC = ({ text }) => ( ) -export default React.memo(DateDivider) +export default memo(DateDivider) diff --git a/src/containers/unit/Comments/List/Header.tsx b/src/containers/unit/Comments/List/Header.tsx index faeb4a26a..e87816f4a 100644 --- a/src/containers/unit/Comments/List/Header.tsx +++ b/src/containers/unit/Comments/List/Header.tsx @@ -1,4 +1,4 @@ -import React, { FC, ReactNode } from 'react' +import { FC, ReactNode, memo } from 'react' import { ICON } from '@/config' import Tooltip from '@/components/Tooltip' @@ -92,4 +92,4 @@ const Header: FC = ({ totalCount, filterType }) => { ) } -export default React.memo(Header) +export default memo(Header) diff --git a/src/containers/unit/Comments/List/List.tsx b/src/containers/unit/Comments/List/List.tsx index f6b88ae74..75aced22f 100644 --- a/src/containers/unit/Comments/List/List.tsx +++ b/src/containers/unit/Comments/List/List.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, Fragment, memo } from 'react' import type { TAccount, TComment } from '@/spec' import Comment from '../Comment' @@ -14,9 +14,9 @@ type TProps = { const List: FC = ({ entries, tobeDeleteId, accountInfo }) => { return ( - + {entries.map((c) => ( - + = ({ entries, tobeDeleteId, accountInfo }) => { tobeDeleteId={tobeDeleteId} /> )} - + ))} - + ) } -export default React.memo(List) +export default memo(List) diff --git a/src/containers/unit/Comments/List/RepliesList.tsx b/src/containers/unit/Comments/List/RepliesList.tsx index b99cf3302..3de411a32 100644 --- a/src/containers/unit/Comments/List/RepliesList.tsx +++ b/src/containers/unit/Comments/List/RepliesList.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TAccount, TComment } from '@/spec' @@ -31,4 +31,4 @@ const RepliesList: FC = ({ entries, tobeDeleteId, accountInfo }) => { ) } -export default React.memo(RepliesList) +export default memo(RepliesList) diff --git a/src/containers/unit/Comments/List/TogglerButton.tsx b/src/containers/unit/Comments/List/TogglerButton.tsx index 7f100bf20..0e6677821 100644 --- a/src/containers/unit/Comments/List/TogglerButton.tsx +++ b/src/containers/unit/Comments/List/TogglerButton.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { Wrapper, @@ -19,4 +19,4 @@ const TogglerButton: FC = ({ text }) => ( ) -export default React.memo(TogglerButton) +export default memo(TogglerButton) diff --git a/src/containers/unit/Comments/List/index.tsx b/src/containers/unit/Comments/List/index.tsx index afd2925b7..8a581226d 100644 --- a/src/containers/unit/Comments/List/index.tsx +++ b/src/containers/unit/Comments/List/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, Fragment, memo } from 'react' import type { TPagedComments, TUser } from '@/spec' import Pagi from '@/components/Pagi' @@ -27,7 +27,7 @@ const CommentsList: FC = ({ pagedComments: { entries, totalCount, pageSize, pageNumber }, restProps: { loading, loadingFresh, tobeDeleteId, filterType }, }) => ( - +
{loadingFresh && ( @@ -56,7 +56,7 @@ const CommentsList: FC = ({ noMoreMsg="没有更多的评论了" emptyMsg="目前还没有评论" /> - + ) -export default React.memo(CommentsList) +export default memo(CommentsList) diff --git a/src/containers/unit/Comments/LockedMessage.tsx b/src/containers/unit/Comments/LockedMessage.tsx index 548c1693b..e813dd28d 100755 --- a/src/containers/unit/Comments/LockedMessage.tsx +++ b/src/containers/unit/Comments/LockedMessage.tsx @@ -1,9 +1,9 @@ -import React from 'react' +import { FC } from 'react' import { ICON_CMD } from '@/config' import { Wrapper, LockIcon, Message } from './styles/locked_message' -const LockedMessage: React.FC = () => ( +const LockedMessage: FC = () => ( 讨论已关闭, 不再接受新回复 diff --git a/src/containers/unit/Comments/ReplyEditorHeader.tsx b/src/containers/unit/Comments/ReplyEditorHeader.tsx index 399eccb53..039951e35 100755 --- a/src/containers/unit/Comments/ReplyEditorHeader.tsx +++ b/src/containers/unit/Comments/ReplyEditorHeader.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TAccount, TUser } from '@/spec' import { ICON_CMD } from '@/config' @@ -47,4 +47,4 @@ const ReplyEditorHeader: FC = ({ ) -export default React.memo(ReplyEditorHeader) +export default memo(ReplyEditorHeader) diff --git a/src/containers/unit/Comments/ReplyToBar.tsx b/src/containers/unit/Comments/ReplyToBar.tsx index 0e736965e..a977c4553 100755 --- a/src/containers/unit/Comments/ReplyToBar.tsx +++ b/src/containers/unit/Comments/ReplyToBar.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TComment } from '@/spec' // import { ICON_CMD } from '@/config' @@ -22,4 +22,4 @@ const ReplyToBar: FC = ({ comment }) => { ) } -export default React.memo(ReplyToBar) +export default memo(ReplyToBar) diff --git a/src/containers/unit/Comments/WordsCounter.tsx b/src/containers/unit/Comments/WordsCounter.tsx index 203c352d8..80f01bedd 100755 --- a/src/containers/unit/Comments/WordsCounter.tsx +++ b/src/containers/unit/Comments/WordsCounter.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { WORD_LIMIT } from '@/config' @@ -22,4 +22,4 @@ const WordsCounter: FC = ({ countCurrent }) => ( ) -export default React.memo(WordsCounter) +export default memo(WordsCounter) diff --git a/src/containers/unit/Comments/index.tsx b/src/containers/unit/Comments/index.tsx index 074b71b22..47b524e0a 100755 --- a/src/containers/unit/Comments/index.tsx +++ b/src/containers/unit/Comments/index.tsx @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { pluggedIn, buildLog } from '@/utils' diff --git a/src/containers/unit/Comments/store.ts b/src/containers/unit/Comments/store.ts index fa50cbaab..9e0120989 100755 --- a/src/containers/unit/Comments/store.ts +++ b/src/containers/unit/Comments/store.ts @@ -17,7 +17,14 @@ import { merge, } from 'ramda' -import type { TRootStore, TCommunity, TAccount, TUser, TThread } from '@/spec' +import type { + TRootStore, + TCommunity, + TAccount, + TUser, + TThread, + TRoute, +} from '@/spec' import { TYPE } from '@/constant' import { markStates, buildLog, stripMobx, changeset } from '@/utils' import { Comment, PagedComments, emptyPagiData, Mention } from '@/model' @@ -85,7 +92,7 @@ const CommentsStore = T.model('CommentsStore', { loadingFresh: T.optional(T.boolean, false), }) .views((self) => ({ - get curRoute(): any { + get curRoute(): TRoute { const root = getParent(self) as TRootStore return root.curRoute }, diff --git a/src/containers/unit/Footer/DesktopView/BottomInfo.tsx b/src/containers/unit/Footer/DesktopView/BottomInfo.tsx index 01f29a046..7d6b0c4fc 100755 --- a/src/containers/unit/Footer/DesktopView/BottomInfo.tsx +++ b/src/containers/unit/Footer/DesktopView/BottomInfo.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ROUTE } from '@/constant' @@ -28,4 +28,4 @@ const BottomInfo: FC = ({ metric }) => { ) } -export default React.memo(BottomInfo) +export default memo(BottomInfo) diff --git a/src/containers/unit/Footer/DesktopView/BriefView.tsx b/src/containers/unit/Footer/DesktopView/BriefView.tsx index b593a618e..fa1b57271 100755 --- a/src/containers/unit/Footer/DesktopView/BriefView.tsx +++ b/src/containers/unit/Footer/DesktopView/BriefView.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TArticle } from '@/spec' import { ISSUE_ADDR, API_SERVER_ADDR } from '@/config' @@ -73,4 +73,4 @@ const BriefView: FC = ({ curView, metric, viewingArticle }) => { ) } -export default React.memo(BriefView) +export default memo(BriefView) diff --git a/src/containers/unit/Footer/DesktopView/DigestView/index.tsx b/src/containers/unit/Footer/DesktopView/DigestView/index.tsx index 0dd89d539..d4dbe4390 100644 --- a/src/containers/unit/Footer/DesktopView/DigestView/index.tsx +++ b/src/containers/unit/Footer/DesktopView/DigestView/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { useTheme } from 'styled-components' import type { TThemeMap } from '@/spec' @@ -165,4 +165,4 @@ const DigestView: FC = ({ metric }) => { ) } -export default React.memo(DigestView) +export default memo(DigestView) diff --git a/src/containers/unit/Footer/DesktopView/TopInfo/Article.tsx b/src/containers/unit/Footer/DesktopView/TopInfo/Article.tsx index 4e3919e84..7da0eeb05 100644 --- a/src/containers/unit/Footer/DesktopView/TopInfo/Article.tsx +++ b/src/containers/unit/Footer/DesktopView/TopInfo/Article.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON } from '@/config' import type { TProps as TTopInfoProps } from './index' @@ -28,4 +28,4 @@ const Article: FC = ({ title = 'article', noBottomBorder = false }) => { ) } -export default React.memo(Article) +export default memo(Article) diff --git a/src/containers/unit/Footer/DesktopView/TopInfo/Community.tsx b/src/containers/unit/Footer/DesktopView/TopInfo/Community.tsx index 69d249e39..9d833d15e 100644 --- a/src/containers/unit/Footer/DesktopView/TopInfo/Community.tsx +++ b/src/containers/unit/Footer/DesktopView/TopInfo/Community.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import { ICON } from '@/config' import type { TProps as TTopInfoProps } from './index' @@ -28,4 +28,4 @@ const Community: FC = ({ ) } -export default React.memo(Community) +export default memo(Community) diff --git a/src/containers/unit/Footer/DesktopView/TopInfo/HomeCommunity.tsx b/src/containers/unit/Footer/DesktopView/TopInfo/HomeCommunity.tsx index 48184cff0..0670fddf0 100644 --- a/src/containers/unit/Footer/DesktopView/TopInfo/HomeCommunity.tsx +++ b/src/containers/unit/Footer/DesktopView/TopInfo/HomeCommunity.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TProps as TTopInfoProps } from './index' @@ -28,4 +28,4 @@ const HomeCommunity: FC = ({ title = 'CoderPlanets' }) => { ) } -export default React.memo(HomeCommunity) +export default memo(HomeCommunity) diff --git a/src/containers/unit/Footer/DesktopView/TopInfo/index.tsx b/src/containers/unit/Footer/DesktopView/TopInfo/index.tsx index fca8beb97..211925db4 100644 --- a/src/containers/unit/Footer/DesktopView/TopInfo/index.tsx +++ b/src/containers/unit/Footer/DesktopView/TopInfo/index.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import HomeCommunity from './HomeCommunity' import Community from './Community' @@ -26,4 +26,4 @@ const TopInfo: FC = ({ type, ...restProps }) => { } } -export default React.memo(TopInfo) +export default memo(TopInfo) diff --git a/src/containers/unit/Footer/SocialList.tsx b/src/containers/unit/Footer/SocialList.tsx index 357b9097d..5450527b0 100755 --- a/src/containers/unit/Footer/SocialList.tsx +++ b/src/containers/unit/Footer/SocialList.tsx @@ -1,11 +1,11 @@ -import React from 'react' +import { FC, memo } from 'react' import { ICON_CMD, EMAIL_SUPPORT } from '@/config' import { joinUS } from '@/utils' import { Wrapper, Item, Icon } from './styles/social_list' -const SocialList = () => ( +const SocialList: FC = () => ( @@ -38,4 +38,4 @@ const SocialList = () => ( ) -export default React.memo(SocialList) +export default memo(SocialList) diff --git a/src/containers/unit/Footer/index.tsx b/src/containers/unit/Footer/index.tsx index 5578a955a..118143965 100755 --- a/src/containers/unit/Footer/index.tsx +++ b/src/containers/unit/Footer/index.tsx @@ -4,7 +4,7 @@ * */ -import React from 'react' +import { Fragment } from 'react' import { useDevice } from '@/hooks' @@ -15,9 +15,9 @@ const FooterContainer = (props) => { const { isMobile } = useDevice() return ( - + {!isMobile ? : } - + ) } diff --git a/src/containers/unit/Header/AddOns.tsx b/src/containers/unit/Header/AddOns.tsx index 26a261ae6..d63cd0985 100755 --- a/src/containers/unit/Header/AddOns.tsx +++ b/src/containers/unit/Header/AddOns.tsx @@ -1,11 +1,11 @@ -import React from 'react' +import { FC, memo } from 'react' import { ICON_CMD } from '@/config' import { Wrapper, SettingIcon, Divider } from './styles/addons' import { openC11NPanel } from './logic' -const AddOns = () => { +const AddOns: FC = () => { return (
@@ -16,4 +16,4 @@ const AddOns = () => { ) } -export default React.memo(AddOns) +export default memo(AddOns) diff --git a/src/containers/unit/Header/ThreadsNav.tsx b/src/containers/unit/Header/ThreadsNav.tsx index cf4f80b6a..8d1b20948 100755 --- a/src/containers/unit/Header/ThreadsNav.tsx +++ b/src/containers/unit/Header/ThreadsNav.tsx @@ -1,8 +1,7 @@ -import React, { FC } from 'react' +import { FC, memo } from 'react' import type { TCommunity, TThread } from '@/spec' import { Trans } from '@/utils' -// import { SIZE } from '@/constant' // import { Tabs } from '@/components/Switcher' import DotDivider from '@/components/DotDivider' @@ -46,4 +45,4 @@ const ThreadsNav: FC = ({ ) } -export default React.memo(ThreadsNav) +export default memo(ThreadsNav) diff --git a/src/containers/unit/Header/UserAccount.tsx b/src/containers/unit/Header/UserAccount.tsx index c1f80216e..9d24c95ac 100755 --- a/src/containers/unit/Header/UserAccount.tsx +++ b/src/containers/unit/Header/UserAccount.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react' +import { Fragment, FC, memo } from 'react' import { useRouter } from 'next/router' import type { TAccount } from '@/spec' @@ -33,7 +33,7 @@ const UserAccount: FC = ({ isLogin, accountInfo }) => { const router = useRouter() return ( - + {isLogin ? ( = ({ isLogin, accountInfo }) => { 升 级 - + ) } -export default React.memo(UserAccount) +export default memo(UserAccount) diff --git a/src/containers/unit/Header/index.tsx b/src/containers/unit/Header/index.tsx index 9b9ae608c..81ce5ccc8 100755 --- a/src/containers/unit/Header/index.tsx +++ b/src/containers/unit/Header/index.tsx @@ -4,8 +4,6 @@ * */ -import React from 'react' - import { ANCHOR } from '@/constant' import { useDevice } from '@/hooks' import { report } from '@/utils' diff --git a/src/containers/unit/Sidebar/store.ts b/src/containers/unit/Sidebar/store.ts index e3c34d2f2..ad4273757 100755 --- a/src/containers/unit/Sidebar/store.ts +++ b/src/containers/unit/Sidebar/store.ts @@ -6,7 +6,7 @@ import { types as T, getParent, Instance } from 'mobx-state-tree' import { merge, prop, trim, filter, contains } from 'ramda' -import type { TRootStore, TCommunity, TAccount } from '@/spec' +import type { TRootStore, TCommunity, TAccount, TRoute } from '@/spec' import { buildLog, markStates, stripMobx, sortByIndex, notEmpty } from '@/utils' /* eslint-disable-next-line */ @@ -31,7 +31,7 @@ const SidebarStore = T.model('SidebarStore', { forceRerender: T.optional(T.boolean, false), }) .views((self) => ({ - get curRoute(): any { + get curRoute(): TRoute { const root = getParent(self) as TRootStore return root.curRoute }, diff --git a/src/containers/unit/TagsBar/DesktopView/TagItem.js b/src/containers/unit/TagsBar/DesktopView/TagItem.js index d07e48e7e..7078d308c 100644 --- a/src/containers/unit/TagsBar/DesktopView/TagItem.js +++ b/src/containers/unit/TagsBar/DesktopView/TagItem.js @@ -14,15 +14,15 @@ import { const TagItem = ({ tag, active, activeid, inline, onSelect }) => { return ( - + - onSelect(tag)}> + onSelect(tag)}> {Trans(tag.title)} diff --git a/src/containers/unit/TagsBar/styles/desktop_view/tag_item.ts b/src/containers/unit/TagsBar/styles/desktop_view/tag_item.ts index 41a50b244..880477132 100644 --- a/src/containers/unit/TagsBar/styles/desktop_view/tag_item.ts +++ b/src/containers/unit/TagsBar/styles/desktop_view/tag_item.ts @@ -7,20 +7,20 @@ import { theme, css } from '@/utils' import { TagsWrapper } from './index' -type TTag = TActive & { inline: boolean } +type TTag = TActive & { $inline: boolean } export const Wrapper = styled.div` ${css.flex('align-center')}; - margin-bottom: ${({ inline }) => (!inline ? '3px' : 0)}; - padding: ${({ inline }) => (!inline ? '5px' : 0)}; + margin-bottom: ${({ $inline }) => (!$inline ? '3px' : 0)}; + padding: ${({ $inline }) => (!$inline ? '5px' : 0)}; max-width: 180px; border-radius: 5px; - background: ${({ active, inline }) => - !active || inline ? 'transparent' : '#0e303d'}; + background: ${({ $active, $inline }) => + !$active || $inline ? 'transparent' : '#0e303d'}; &:hover { - background: ${({ inline }) => (!inline ? '#0e303d' : 'none')}; + background: ${({ $inline }) => (!$inline ? '#0e303d' : 'none')}; } ` export const AllTagIcon = styled(Img)` @@ -29,30 +29,30 @@ export const AllTagIcon = styled(Img)` ${css.size(14)}; transform: rotate(17deg); ` -const getActiveColor = (active, color, activeid) => { - if (activeid !== null) return active ? color : '#497684' +const getActiveColor = ($active, color, activeid) => { + if (activeid !== null) return $active ? color : '#497684' - return !active ? color : '#497684' + return !$active ? color : '#497684' } -type THashSign = TActive & { color: string; activeid: string; inline: boolean } +type THashSign = TActive & { color: string; activeid: string; $inline: boolean } export const HashSign = styled(HashTagSVG)` - fill: ${({ active, color, activeid }) => - getActiveColor(active, color, activeid)}; + fill: ${({ $active, color, activeid }) => + getActiveColor($active, color, activeid)}; ${css.size(14)}; - margin-right: ${({ inline }) => (!inline ? '12px' : '3px')}; + margin-right: ${({ $inline }) => (!$inline ? '12px' : '3px')}; opacity: ${theme('tags.dotOpacity')}; transform: rotate(18deg); ` export const TagTitle = styled.div` color: ${theme('tags.text')}; - font-size: ${({ inline }) => (!inline ? '14.5px' : '13px')}; + font-size: ${({ $inline }) => (!$inline ? '14.5px' : '13px')}; opacity: 0.9; letter-spacing: 2px; - font-weight: ${({ active }) => (active ? 'bold' : 'normal')}; - opacity: ${({ active }) => (active ? 1 : 0.9)}; - ${({ inline }) => (!inline ? css.cutRest('120px') : css.cutRest('50px'))}; + font-weight: ${({ $active }) => ($active ? 'bold' : 'normal')}; + opacity: ${({ $active }) => ($active ? 1 : 0.9)}; + ${({ $inline }) => (!$inline ? css.cutRest('120px') : css.cutRest('50px'))}; &:hover { cursor: pointer; diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 5849f307a..095d27406 100755 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,4 +1,3 @@ -import React from 'react' import Head from 'next/head' import { DefaultSeo } from 'next-seo' import * as Sentry from '@sentry/node' diff --git a/src/pages/community.tsx b/src/pages/community.tsx index d239aa8ec..8f591a4de 100755 --- a/src/pages/community.tsx +++ b/src/pages/community.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { Provider } from 'mobx-react' import { GetServerSideProps } from 'next' import { merge, pick, toLower } from 'ramda' diff --git a/src/pages/help-center.tsx b/src/pages/help-center.tsx index 0c7787353..0c4dedb04 100755 --- a/src/pages/help-center.tsx +++ b/src/pages/help-center.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { Provider } from 'mobx-react' import { GetServerSideProps } from 'next' diff --git a/src/schemas/pages/job.ts b/src/schemas/pages/job.ts index 7e5d35d42..3d93d4045 100755 --- a/src/schemas/pages/job.ts +++ b/src/schemas/pages/job.ts @@ -42,7 +42,7 @@ export const pagedJobs = ` pagedJobs(filter: $filter) { entries { ${F.job} - isPinned + pin author { ${F.author} } diff --git a/src/schemas/pages/post.ts b/src/schemas/pages/post.ts index b02e25672..4aed5936c 100755 --- a/src/schemas/pages/post.ts +++ b/src/schemas/pages/post.ts @@ -48,7 +48,7 @@ export const pagedPosts = ` pagedPosts(filter: $filter) { entries { ${F.post} - isPinned + pin digest linkAddr linkIcon diff --git a/src/schemas/pages/repo.ts b/src/schemas/pages/repo.ts index a851fb7da..80cf1e0d4 100755 --- a/src/schemas/pages/repo.ts +++ b/src/schemas/pages/repo.ts @@ -41,7 +41,7 @@ export const pagedRepos = ` pagedRepos(filter: $filter) { entries { ${F.repo} - isPinned + pin views releaseTag author { diff --git a/src/spec/article.ts b/src/spec/article.ts index bf4287a1b..8913b41b3 100644 --- a/src/spec/article.ts +++ b/src/spec/article.ts @@ -6,7 +6,7 @@ export type TArticle = { title?: string body?: string views?: number - isPinned?: boolean + pin?: boolean author?: { id: string login: string diff --git a/src/spec/community.ts b/src/spec/community.ts index 89ac82aa3..792ce8834 100644 --- a/src/spec/community.ts +++ b/src/spec/community.ts @@ -4,6 +4,7 @@ export type TCommunity = { logo?: string raw: string subscribersCount?: number + viewerHasSubscribed?: boolean desc?: string threads?: { title: string diff --git a/src/spec/utils.ts b/src/spec/utils.ts index 5e4410f7a..f4cf634e0 100644 --- a/src/spec/utils.ts +++ b/src/spec/utils.ts @@ -10,8 +10,10 @@ export type TTestable = { export type TActive = { active?: boolean + $active?: boolean show?: boolean visible?: boolean + $visible?: boolean } export type TSpace = { diff --git a/src/stores/SharedModel/Job.ts b/src/stores/SharedModel/Job.ts index 518e16084..a59faab1b 100755 --- a/src/stores/SharedModel/Job.ts +++ b/src/stores/SharedModel/Job.ts @@ -30,7 +30,7 @@ export const Job = T.model('Job', { commentsParticipatorsCount: T.optional(T.number, 0), commentsParticipators: T.optional(T.array(User), []), views: T.optional(T.number, 0), - isPinned: T.maybeNull(T.boolean), + pin: T.maybeNull(T.boolean), length: T.optional(T.number, 0), favoritedCount: T.optional(T.number, 0), diff --git a/src/stores/SharedModel/Post.ts b/src/stores/SharedModel/Post.ts index f59c4fdfe..d79d991b7 100755 --- a/src/stores/SharedModel/Post.ts +++ b/src/stores/SharedModel/Post.ts @@ -27,7 +27,7 @@ export const Post = T.model('Post', { commentsParticipatorsCount: T.optional(T.number, 0), commentsParticipators: T.optional(T.array(User), []), views: T.optional(T.number, 0), - isPinned: T.maybeNull(T.boolean), + pin: T.maybeNull(T.boolean), length: T.optional(T.number, 0), favoritedCount: T.optional(T.number, 0), starredCount: T.optional(T.number, 0), diff --git a/src/stores/SharedModel/Repo.ts b/src/stores/SharedModel/Repo.ts index f95a6a227..f57e6ca07 100755 --- a/src/stores/SharedModel/Repo.ts +++ b/src/stores/SharedModel/Repo.ts @@ -41,7 +41,7 @@ export const Repo = T.model('Reop', { author: T.maybeNull(User), views: T.optional(T.number, 0), - isPinned: T.maybeNull(T.boolean), + pin: T.maybeNull(T.boolean), favoritedCount: T.optional(T.number, 0), viewerHasFavorited: T.optional(T.boolean, false), diff --git a/tsconfig.json b/tsconfig.json index 46137bcdb..4a2a5ce54 100755 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "es5", + "target": "ES2015", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, diff --git a/utils/scripts/generators/component/stateless.tsx.hbs b/utils/scripts/generators/component/stateless.tsx.hbs index d2001d0f5..3472e63e7 100755 --- a/utils/scripts/generators/component/stateless.tsx.hbs +++ b/utils/scripts/generators/component/stateless.tsx.hbs @@ -4,7 +4,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { buildLog } from '@/utils' {{#if wantI18n}} diff --git a/utils/scripts/generators/container/hooks.tsx.hbs b/utils/scripts/generators/container/hooks.tsx.hbs index 61286d63a..2d6c22c06 100755 --- a/utils/scripts/generators/container/hooks.tsx.hbs +++ b/utils/scripts/generators/container/hooks.tsx.hbs @@ -6,7 +6,7 @@ * */ -import React, { FC } from 'react' +import { FC } from 'react' import { pluggedIn, buildLog } from '@/utils' {{#if wantI18n}} diff --git a/yarn.lock b/yarn.lock index 475c47ba0..a3808b636 100644 --- a/yarn.lock +++ b/yarn.lock @@ -251,6 +251,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/runtime-corejs3@^7.10.2": + version "7.14.7" + resolved "https://registry.nlark.com/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.14.7.tgz#0ef292bbce40ca00f874c9724ef175a12476465c" + dependencies: + core-js-pure "^3.15.0" + regenerator-runtime "^0.13.4" + "@babel/runtime-corejs3@^7.8.3": version "7.10.2" resolved "https://registry.npm.taobao.org/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.10.2.tgz#3511797ddf9a3d6f3ce46b99cc835184817eaa4e" @@ -271,6 +278,12 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.11.2", "@babel/runtime@^7.14.0": + version "7.14.6" + resolved "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.6.tgz#535203bc0892efc7dec60bdc27b2ecf6e409062d" + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.12.13", "@babel/template@^7.3.3": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" @@ -635,9 +648,9 @@ eslint-plugin-react-hooks "^1.6.0" prettier "^1.18.2" -"@hapi/accept@5.0.1": - version "5.0.1" - resolved "https://registry.npm.taobao.org/@hapi/accept/download/@hapi/accept-5.0.1.tgz#068553e867f0f63225a506ed74e899441af53e10" +"@hapi/accept@5.0.2": + version "5.0.2" + resolved "https://registry.npm.taobao.org/@hapi/accept/download/@hapi/accept-5.0.2.tgz#ab7043b037e68b722f93f376afb05e85c0699523" dependencies: "@hapi/boom" "9.x.x" "@hapi/hoek" "9.x.x" @@ -940,17 +953,21 @@ dependencies: webpack-bundle-analyzer "3.6.1" -"@next/env@10.1.4-canary.16": - version "10.1.4-canary.16" - resolved "https://registry.nlark.com/@next/env/download/@next/env-10.1.4-canary.16.tgz#a602aff082786ce83fa97614f2ebb3a9a1d32c34" +"@next/env@11.0.1": + version "11.0.1" + resolved "https://registry.nlark.com/@next/env/download/@next/env-11.0.1.tgz#6dc96ac76f1663ab747340e907e8933f190cc8fd" -"@next/polyfill-module@10.1.4-canary.16": - version "10.1.4-canary.16" - resolved "https://registry.nlark.com/@next/polyfill-module/download/@next/polyfill-module-10.1.4-canary.16.tgz#8e713fe34b5d85c862afca987998be5ccf5b231a" +"@next/eslint-plugin-next@11.0.1": + version "11.0.1" + resolved "https://registry.nlark.com/@next/eslint-plugin-next/download/@next/eslint-plugin-next-11.0.1.tgz#5dd3264a40fadcf28eba00d914d69103422bb7e6" -"@next/react-dev-overlay@10.1.4-canary.16": - version "10.1.4-canary.16" - resolved "https://registry.nlark.com/@next/react-dev-overlay/download/@next/react-dev-overlay-10.1.4-canary.16.tgz#fe45455322be8b370cc83cdc8c6dbd40dc04a98d" +"@next/polyfill-module@11.0.1": + version "11.0.1" + resolved "https://registry.nlark.com/@next/polyfill-module/download/@next/polyfill-module-11.0.1.tgz#ca2a110c1c44672cbcff6c2b983f0c0549d87291" + +"@next/react-dev-overlay@11.0.1": + version "11.0.1" + resolved "https://registry.nlark.com/@next/react-dev-overlay/download/@next/react-dev-overlay-11.0.1.tgz#3c481e83347255abd466dcf7e59ac8a79a0d7fd6" dependencies: "@babel/code-frame" "7.12.11" anser "1.4.9" @@ -964,9 +981,9 @@ stacktrace-parser "0.1.10" strip-ansi "6.0.0" -"@next/react-refresh-utils@10.1.4-canary.16": - version "10.1.4-canary.16" - resolved "https://registry.nlark.com/@next/react-refresh-utils/download/@next/react-refresh-utils-10.1.4-canary.16.tgz#df5c1bad650c844b0db4847a3db29acfc64f0d93" +"@next/react-refresh-utils@11.0.1": + version "11.0.1" + resolved "https://registry.nlark.com/@next/react-refresh-utils/download/@next/react-refresh-utils-11.0.1.tgz#a7509f22b6f70c13101a26573afd295295f1c020" "@nodelib/fs.scandir@2.1.4": version "2.1.4" @@ -986,20 +1003,14 @@ "@nodelib/fs.scandir" "2.1.4" fastq "^1.6.0" -"@opentelemetry/api@0.14.0": - version "0.14.0" - resolved "https://registry.npm.taobao.org/@opentelemetry/api/download/@opentelemetry/api-0.14.0.tgz#4e17d8d2f1da72b19374efa7b6526aa001267cae" - dependencies: - "@opentelemetry/context-base" "^0.14.0" - -"@opentelemetry/context-base@^0.14.0": - version "0.14.0" - resolved "https://registry.npm.taobao.org/@opentelemetry/context-base/download/@opentelemetry/context-base-0.14.0.tgz#c67fc20a4d891447ca1a855d7d70fa79a3533001" - "@popperjs/core@^2.4.4": version "2.5.4" resolved "https://registry.npm.taobao.org/@popperjs/core/download/@popperjs/core-2.5.4.tgz?cache=0&sync_timestamp=1604053905119&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40popperjs%2Fcore%2Fdownload%2F%40popperjs%2Fcore-2.5.4.tgz#de25b5da9f727985a3757fd59b5d028aba75841a" +"@rushstack/eslint-patch@^1.0.6": + version "1.0.6" + resolved "https://registry.npm.taobao.org/@rushstack/eslint-patch/download/@rushstack/eslint-patch-1.0.6.tgz#023d72a5c4531b4ce204528971700a78a85a0c50" + "@samverschueren/stream-to-observable@^0.3.0": version "0.3.0" resolved "https://registry.npm.taobao.org/@samverschueren/stream-to-observable/download/@samverschueren/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" @@ -1243,6 +1254,10 @@ version "7.0.7" resolved "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.7.tgz?cache=0&sync_timestamp=1613378919536&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.nlark.com/@types/json5/download/@types/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + "@types/jss@^9.5.6": version "9.5.8" resolved "https://registry.npm.taobao.org/@types/jss/download/@types/jss-9.5.8.tgz#258391f42211c042fc965508d505cbdc579baa5b" @@ -1391,6 +1406,15 @@ "@typescript-eslint/typescript-estree" "4.20.0" debug "^4.1.1" +"@typescript-eslint/parser@^4.20.0": + version "4.28.0" + resolved "https://registry.nlark.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.28.0.tgz?cache=0&sync_timestamp=1624295997650&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-4.28.0.tgz#2404c16751a28616ef3abab77c8e51d680a12caa" + dependencies: + "@typescript-eslint/scope-manager" "4.28.0" + "@typescript-eslint/types" "4.28.0" + "@typescript-eslint/typescript-estree" "4.28.0" + debug "^4.3.1" + "@typescript-eslint/scope-manager@4.17.0": version "4.17.0" resolved "https://registry.npm.taobao.org/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.17.0.tgz#f4edf94eff3b52a863180f7f89581bf963e3d37d" @@ -1405,6 +1429,13 @@ "@typescript-eslint/types" "4.20.0" "@typescript-eslint/visitor-keys" "4.20.0" +"@typescript-eslint/scope-manager@4.28.0": + version "4.28.0" + resolved "https://registry.nlark.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.28.0.tgz?cache=0&sync_timestamp=1624295994497&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fscope-manager%2Fdownload%2F%40typescript-eslint%2Fscope-manager-4.28.0.tgz#6a3009d2ab64a30fc8a1e257a1a320067f36a0ce" + dependencies: + "@typescript-eslint/types" "4.28.0" + "@typescript-eslint/visitor-keys" "4.28.0" + "@typescript-eslint/types@4.17.0": version "4.17.0" resolved "https://registry.npm.taobao.org/@typescript-eslint/types/download/@typescript-eslint/types-4.17.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypes%2Fdownload%2F%40typescript-eslint%2Ftypes-4.17.0.tgz#f57d8fc7f31b348db946498a43050083d25f40ad" @@ -1413,6 +1444,10 @@ version "4.20.0" resolved "https://registry.npm.taobao.org/@typescript-eslint/types/download/@typescript-eslint/types-4.20.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypes%2Fdownload%2F%40typescript-eslint%2Ftypes-4.20.0.tgz#c6cf5ef3c9b1c8f699a9bbdafb7a1da1ca781225" +"@typescript-eslint/types@4.28.0": + version "4.28.0" + resolved "https://registry.nlark.com/@typescript-eslint/types/download/@typescript-eslint/types-4.28.0.tgz#a33504e1ce7ac51fc39035f5fe6f15079d4dafb0" + "@typescript-eslint/typescript-estree@4.17.0": version "4.17.0" resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.17.0.tgz?cache=0&sync_timestamp=1617048645270&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.17.0.tgz#b835d152804f0972b80dbda92477f9070a72ded1" @@ -1437,6 +1472,18 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/typescript-estree@4.28.0": + version "4.28.0" + resolved "https://registry.nlark.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.28.0.tgz?cache=0&sync_timestamp=1624295995313&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.28.0.tgz#e66d4e5aa2ede66fec8af434898fe61af10c71cf" + dependencies: + "@typescript-eslint/types" "4.28.0" + "@typescript-eslint/visitor-keys" "4.28.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + "@typescript-eslint/visitor-keys@4.17.0": version "4.17.0" resolved "https://registry.npm.taobao.org/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.17.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fvisitor-keys%2Fdownload%2F%40typescript-eslint%2Fvisitor-keys-4.17.0.tgz#9c304cfd20287c14a31d573195a709111849b14d" @@ -1451,6 +1498,13 @@ "@typescript-eslint/types" "4.20.0" eslint-visitor-keys "^2.0.0" +"@typescript-eslint/visitor-keys@4.28.0": + version "4.28.0" + resolved "https://registry.nlark.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.28.0.tgz#255c67c966ec294104169a6939d96f91c8a89434" + dependencies: + "@typescript-eslint/types" "4.28.0" + eslint-visitor-keys "^2.0.0" + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" @@ -1898,6 +1952,13 @@ aria-query@^3.0.0: ast-types-flow "0.0.7" commander "^2.11.0" +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.npm.taobao.org/aria-query/download/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" @@ -1948,6 +2009,16 @@ array-includes@^3.0.3, array-includes@^3.1.1: es-abstract "^1.17.0" is-string "^1.0.5" +array-includes@^3.1.2, array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + array-slice@^1.0.0: version "1.1.0" resolved "https://registry.npm.taobao.org/array-slice/download/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" @@ -1988,6 +2059,23 @@ array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +array.prototype.flat@^1.2.4: + version "1.2.4" + resolved "https://registry.npm.taobao.org/array.prototype.flat/download/array.prototype.flat-1.2.4.tgz?cache=0&sync_timestamp=1605688971975&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray.prototype.flat%2Fdownload%2Farray.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +array.prototype.flatmap@^1.2.4: + version "1.2.4" + resolved "https://registry.npm.taobao.org/array.prototype.flatmap/download/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + function-bind "^1.1.1" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -2094,6 +2182,10 @@ aws4@^1.8.0: version "1.10.0" resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" +axe-core@^4.0.2: + version "4.2.3" + resolved "https://registry.nlark.com/axe-core/download/axe-core-4.2.3.tgz#2a3afc332f0031b42f602f4a3de03c211ca98f72" + axios@^0.19.0: version "0.19.2" resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" @@ -2110,6 +2202,10 @@ axobject-query@^2.0.2: version "2.1.2" resolved "https://registry.npm.taobao.org/axobject-query/download/axobject-query-2.1.2.tgz#2bdffc0371e643e5f03ba99065d5179b9ca79799" +axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/axobject-query/download/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-code-frame%2Fdownload%2Fbabel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -2552,15 +2648,15 @@ browserify-zlib@0.2.0, browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.16.1: - version "4.16.1" - resolved "https://registry.nlark.com/browserslist/download/browserslist-4.16.1.tgz#bf757a2da376b3447b800a16f0f1c96358138766" +browserslist@4.16.6: + version "4.16.6" + resolved "https://registry.nlark.com/browserslist/download/browserslist-4.16.6.tgz?cache=0&sync_timestamp=1619789072079&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" dependencies: - caniuse-lite "^1.0.30001173" - colorette "^1.2.1" - electron-to-chromium "^1.3.634" + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" escalade "^3.1.1" - node-releases "^1.1.69" + node-releases "^1.1.71" browserslist@^4.14.5: version "4.16.3" @@ -2780,14 +2876,18 @@ camelize@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/camelize/download/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" -caniuse-lite@^1.0.30001173, caniuse-lite@^1.0.30001179, caniuse-lite@^1.0.30001202: - version "1.0.30001214" - resolved "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001214.tgz#70f153c78223515c6d37a9fde6cd69250da9d872" - caniuse-lite@^1.0.30001181: version "1.0.30001205" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001205.tgz#d79bf6a6fb13196b4bb46e5143a22ca0242e0ef8" +caniuse-lite@^1.0.30001202: + version "1.0.30001214" + resolved "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001214.tgz#70f153c78223515c6d37a9fde6cd69250da9d872" + +caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228: + version "1.0.30001240" + resolved "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001240.tgz?cache=0&sync_timestamp=1624686520179&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001240.tgz#ec15d125b590602c8731545c5351ff054ad2d52f" + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -3498,6 +3598,10 @@ core-js-pure@^3.0.0: version "3.6.5" resolved "https://registry.npm.taobao.org/core-js-pure/download/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" +core-js-pure@^3.15.0: + version "3.15.1" + resolved "https://registry.nlark.com/core-js-pure/download/core-js-pure-3.15.1.tgz#8356f6576fa2aa8e54ca6fe02620968ff010eed7" + core-js@3.6.5: version "3.6.5" resolved "https://registry.npm.taobao.org/core-js/download/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" @@ -3805,6 +3909,10 @@ damerau-levenshtein@^1.0.4: version "1.0.6" resolved "https://registry.npm.taobao.org/damerau-levenshtein/download/damerau-levenshtein-1.0.6.tgz?cache=0&sync_timestamp=1580134161761&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdamerau-levenshtein%2Fdownload%2Fdamerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" +damerau-levenshtein@^1.0.6: + version "1.0.7" + resolved "https://registry.nlark.com/damerau-levenshtein/download/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" + dargs@^4.0.1: version "4.1.0" resolved "https://registry.npm.taobao.org/dargs/download/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" @@ -3875,7 +3983,7 @@ debug@4, debug@4.3.2, debug@^4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "2.1.2" -debug@4.3.1: +debug@4.3.1, debug@^4.3.1: version "4.3.1" resolved "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566580543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" dependencies: @@ -3893,6 +4001,12 @@ debug@^3.1.0: dependencies: ms "^2.1.1" +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1614330710870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + dependencies: + ms "^2.1.1" + decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/decamelize-keys/download/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -4233,14 +4347,14 @@ ejs@^2.6.1: version "2.7.4" resolved "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" -electron-to-chromium@^1.3.634: - version "1.3.720" - resolved "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.720.tgz?cache=0&sync_timestamp=1619129624222&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.720.tgz#f5d66df8754d993006b7b2ded15ff7738c58bd94" - electron-to-chromium@^1.3.649: version "1.3.704" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.704.tgz#894205a237cbe0097d63da8f6d19e605dd13ab51" +electron-to-chromium@^1.3.723: + version "1.3.759" + resolved "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.759.tgz?cache=0&sync_timestamp=1624658727010&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.759.tgz#b0d652d376831470a4c230ba721da2427bfb996a" + elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/elegant-spinner/download/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -4275,6 +4389,10 @@ emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" +emoji-regex@^9.0.0: + version "9.2.2" + resolved "https://registry.nlark.com/emoji-regex/download/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -4442,6 +4560,27 @@ es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.0" +es-abstract@^1.18.2: + version "1.18.3" + resolved "https://registry.nlark.com/es-abstract/download/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.3" + is-string "^1.0.6" + object-inspect "^1.10.3" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -4529,6 +4668,20 @@ eslint-config-airbnb@^17.1.0: object.assign "^4.1.0" object.entries "^1.1.0" +eslint-config-next@^11.0.1: + version "11.0.1" + resolved "https://registry.nlark.com/eslint-config-next/download/eslint-config-next-11.0.1.tgz#abdd2565a6fa5841556a89ba935f044bec173d0b" + dependencies: + "@next/eslint-plugin-next" "11.0.1" + "@rushstack/eslint-patch" "^1.0.6" + "@typescript-eslint/parser" "^4.20.0" + eslint-import-resolver-node "^0.3.4" + eslint-import-resolver-typescript "^2.4.0" + eslint-plugin-import "^2.22.1" + eslint-plugin-jsx-a11y "^6.4.1" + eslint-plugin-react "^7.23.1" + eslint-plugin-react-hooks "^4.2.0" + eslint-config-prettier@^5.0.0: version "5.1.0" resolved "https://registry.npm.taobao.org/eslint-config-prettier/download/eslint-config-prettier-5.1.0.tgz#bf29442e7c818236a77acfe2241ec991299f9bf1" @@ -4556,6 +4709,23 @@ eslint-import-resolver-node@^0.3.2: debug "^2.6.9" resolve "^1.13.1" +eslint-import-resolver-node@^0.3.4: + version "0.3.4" + resolved "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" + dependencies: + debug "^2.6.9" + resolve "^1.13.1" + +eslint-import-resolver-typescript@^2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/eslint-import-resolver-typescript/download/eslint-import-resolver-typescript-2.4.0.tgz#ec1e7063ebe807f0362a7320543aaed6fe1100e1" + dependencies: + debug "^4.1.1" + glob "^7.1.6" + is-glob "^4.0.1" + resolve "^1.17.0" + tsconfig-paths "^3.9.0" + eslint-module-utils@^2.4.1: version "2.6.0" resolved "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.6.0.tgz?cache=0&sync_timestamp=1585438056134&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-module-utils%2Fdownload%2Feslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" @@ -4563,6 +4733,13 @@ eslint-module-utils@^2.4.1: debug "^2.6.9" pkg-dir "^2.0.0" +eslint-module-utils@^2.6.1: + version "2.6.1" + resolved "https://registry.nlark.com/eslint-module-utils/download/eslint-module-utils-2.6.1.tgz?cache=0&sync_timestamp=1620972121953&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-module-utils%2Fdownload%2Feslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" + dependencies: + debug "^3.2.7" + pkg-dir "^2.0.0" + eslint-plugin-cypress@^2.2.1: version "2.11.1" resolved "https://registry.npm.taobao.org/eslint-plugin-cypress/download/eslint-plugin-cypress-2.11.1.tgz#a945e2774b88211e2c706a059d431e262b5c2862" @@ -4586,6 +4763,26 @@ eslint-plugin-import@^2.17.3: read-pkg-up "^2.0.0" resolve "^1.12.0" +eslint-plugin-import@^2.22.1: + version "2.23.4" + resolved "https://registry.nlark.com/eslint-plugin-import/download/eslint-plugin-import-2.23.4.tgz#8dceb1ed6b73e46e50ec9a5bb2411b645e7d3d97" + dependencies: + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.4" + eslint-module-utils "^2.6.1" + find-up "^2.0.0" + has "^1.0.3" + is-core-module "^2.4.0" + minimatch "^3.0.4" + object.values "^1.1.3" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" + tsconfig-paths "^3.9.0" + eslint-plugin-jsx-a11y@^6.2.1: version "6.2.3" resolved "https://registry.npm.taobao.org/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" @@ -4600,10 +4797,30 @@ eslint-plugin-jsx-a11y@^6.2.1: has "^1.0.3" jsx-ast-utils "^2.2.1" +eslint-plugin-jsx-a11y@^6.4.1: + version "6.4.1" + resolved "https://registry.npm.taobao.org/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.4.1.tgz?cache=0&sync_timestamp=1603729445122&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-jsx-a11y%2Fdownload%2Feslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" + dependencies: + "@babel/runtime" "^7.11.2" + aria-query "^4.2.2" + array-includes "^3.1.1" + ast-types-flow "^0.0.7" + axe-core "^4.0.2" + axobject-query "^2.2.0" + damerau-levenshtein "^1.0.6" + emoji-regex "^9.0.0" + has "^1.0.3" + jsx-ast-utils "^3.1.0" + language-tags "^1.0.5" + eslint-plugin-react-hooks@^1.6.0: version "1.7.0" resolved "https://registry.npm.taobao.org/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" +eslint-plugin-react-hooks@^4.2.0: + version "4.2.0" + resolved "https://registry.nlark.com/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" + eslint-plugin-react@^7.13.0: version "7.20.0" resolved "https://registry.npm.taobao.org/eslint-plugin-react/download/eslint-plugin-react-7.20.0.tgz?cache=0&sync_timestamp=1589341526334&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-react%2Fdownload%2Feslint-plugin-react-7.20.0.tgz#f98712f0a5e57dfd3e5542ef0604b8739cd47be3" @@ -4620,6 +4837,23 @@ eslint-plugin-react@^7.13.0: string.prototype.matchall "^4.0.2" xregexp "^4.3.0" +eslint-plugin-react@^7.23.1: + version "7.24.0" + resolved "https://registry.nlark.com/eslint-plugin-react/download/eslint-plugin-react-7.24.0.tgz#eadedfa351a6f36b490aa17f4fa9b14e842b9eb4" + dependencies: + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.4" + object.fromentries "^2.0.4" + object.values "^1.1.4" + prop-types "^15.7.2" + resolve "^2.0.0-next.3" + string.prototype.matchall "^4.0.5" + eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -5429,7 +5663,7 @@ get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz?cache=0&sync_timestamp=1612364352840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" dependencies: @@ -5618,6 +5852,17 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.6: + version "7.1.7" + resolved "https://registry.nlark.com/glob/download/glob-7.1.7.tgz?cache=0&sync_timestamp=1620337382269&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob%2Fdownload%2Fglob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + global-dirs@^0.1.1: version "0.1.1" resolved "https://registry.npm.taobao.org/global-dirs/download/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -5680,6 +5925,17 @@ globby@^11.0.1: merge2 "^1.3.0" slash "^3.0.0" +globby@^11.0.3: + version "11.0.4" + resolved "https://registry.nlark.com/globby/download/globby-11.0.4.tgz?cache=0&sync_timestamp=1623850192942&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobby%2Fdownload%2Fglobby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^7.1.1: version "7.1.1" resolved "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" @@ -6057,6 +6313,12 @@ ignore@^5.1.1, ignore@^5.1.4: version "5.1.8" resolved "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" +image-size@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/image-size/download/image-size-1.0.0.tgz?cache=0&sync_timestamp=1618424661730&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimage-size%2Fdownload%2Fimage-size-1.0.0.tgz#58b31fe4743b1cec0a0ac26f5c914d3c5b2f0750" + dependencies: + queue "6.0.2" + imagesloaded@^4.0.0: version "4.1.4" resolved "https://registry.npm.taobao.org/imagesloaded/download/imagesloaded-4.1.4.tgz#1376efcd162bb768c34c3727ac89cc04051f3cc7" @@ -6237,6 +6499,14 @@ internal-slot@^1.0.2: has "^1.0.3" side-channel "^1.0.2" +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/internal-slot/download/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + interpret@^1.0.0, interpret@^1.2.0: version "1.2.0" resolved "https://registry.npm.taobao.org/interpret/download/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" @@ -6334,6 +6604,12 @@ is-ci@^3.0.0: dependencies: ci-info "^3.1.1" +is-core-module@^2.2.0, is-core-module@^2.4.0: + version "2.4.0" + resolved "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -6559,6 +6835,13 @@ is-regex@^1.1.2: call-bind "^1.0.2" has-symbols "^1.0.1" +is-regex@^1.1.3: + version "1.1.3" + resolved "https://registry.nlark.com/is-regex/download/is-regex-1.1.3.tgz?cache=0&sync_timestamp=1620452285370&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.2" + is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" @@ -6581,6 +6864,10 @@ is-string@^1.0.5: version "1.0.5" resolved "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz?cache=0&sync_timestamp=1576731545458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-string%2Fdownload%2Fis-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" +is-string@^1.0.6: + version "1.0.6" + resolved "https://registry.nlark.com/is-string/download/is-string-1.0.6.tgz?cache=0&sync_timestamp=1620448217105&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-string%2Fdownload%2Fis-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" + is-subset@^0.1.1: version "0.1.1" resolved "https://registry.npm.taobao.org/is-subset/download/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" @@ -7295,6 +7582,13 @@ jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: array-includes "^3.1.1" object.assign "^4.1.0" +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: + version "3.2.0" + resolved "https://registry.nlark.com/jsx-ast-utils/download/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" + dependencies: + array-includes "^3.1.2" + object.assign "^4.1.2" + keyv@~4.0.0: version "4.0.1" resolved "https://registry.npm.taobao.org/keyv/download/keyv-4.0.1.tgz#9fe703cb4a94d6d11729d320af033307efd02ee6" @@ -7325,6 +7619,16 @@ kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" +language-subtag-registry@~0.3.2: + version "0.3.21" + resolved "https://registry.npm.taobao.org/language-subtag-registry/download/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + +language-tags@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/language-tags/download/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + dependencies: + language-subtag-registry "~0.3.2" + lazy-ass@1.6.0, lazy-ass@^1.6.0: version "1.6.0" resolved "https://registry.npm.taobao.org/lazy-ass/download/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" @@ -8034,19 +8338,19 @@ mobx-react-lite@3.2.0, mobx-react-lite@^3.2.0: version "3.2.0" resolved "https://registry.npm.taobao.org/mobx-react-lite/download/mobx-react-lite-3.2.0.tgz#331d7365a6b053378dfe9c087315b4e41c5df69f" -mobx-react@7.1.0: - version "7.1.0" - resolved "https://registry.npm.taobao.org/mobx-react/download/mobx-react-7.1.0.tgz#d947cada3cfad294b4b6f692e969c242b9c16eaf" +mobx-react@7.2.0: + version "7.2.0" + resolved "https://registry.nlark.com/mobx-react/download/mobx-react-7.2.0.tgz#241e925e963bb83a31d269f65f9f379e37ecbaeb" dependencies: mobx-react-lite "^3.2.0" -mobx-state-tree@5.0.1: - version "5.0.1" - resolved "https://registry.npm.taobao.org/mobx-state-tree/download/mobx-state-tree-5.0.1.tgz#d495725fe11075d8fde8f02ab65db6736b44e014" +mobx-state-tree@5.0.2: + version "5.0.2" + resolved "https://registry.nlark.com/mobx-state-tree/download/mobx-state-tree-5.0.2.tgz#62c891eb34cf1cd07d758a933307ef5bce83721c" -mobx@6.3.0: - version "6.3.0" - resolved "https://registry.nlark.com/mobx/download/mobx-6.3.0.tgz#a8fb693c3047bdfcb1eaff9aa48e36a7eb084f96" +mobx@6.3.2: + version "6.3.2" + resolved "https://registry.nlark.com/mobx/download/mobx-6.3.2.tgz#125590961f702a572c139ab69392bea416d2e51b" modify-values@^1.0.0: version "1.0.1" @@ -8221,23 +8525,22 @@ next-tick@~1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" -next@^10.1.4-canary.16: - version "10.1.4-canary.16" - resolved "https://registry.nlark.com/next/download/next-10.1.4-canary.16.tgz#af0c954f135ff096914749d2d8ad7daa5a225927" +next@11.0.1: + version "11.0.1" + resolved "https://registry.nlark.com/next/download/next-11.0.1.tgz#b8e3914d153aaf7143cb98c09bcd3c8230eeb17a" dependencies: "@babel/runtime" "7.12.5" - "@hapi/accept" "5.0.1" - "@next/env" "10.1.4-canary.16" - "@next/polyfill-module" "10.1.4-canary.16" - "@next/react-dev-overlay" "10.1.4-canary.16" - "@next/react-refresh-utils" "10.1.4-canary.16" - "@opentelemetry/api" "0.14.0" + "@hapi/accept" "5.0.2" + "@next/env" "11.0.1" + "@next/polyfill-module" "11.0.1" + "@next/react-dev-overlay" "11.0.1" + "@next/react-refresh-utils" "11.0.1" assert "2.0.0" ast-types "0.13.2" browserify-zlib "0.2.0" - browserslist "4.16.1" + browserslist "4.16.6" buffer "5.6.0" - caniuse-lite "^1.0.30001179" + caniuse-lite "^1.0.30001228" chalk "2.4.2" chokidar "3.5.1" constants-browserify "1.0.0" @@ -8249,6 +8552,7 @@ next@^10.1.4-canary.16: find-cache-dir "3.3.1" get-orientation "1.1.2" https-browserify "1.0.0" + image-size "1.0.0" jest-worker "27.0.0-next.5" native-url "0.3.4" node-fetch "2.6.1" @@ -8258,12 +8562,12 @@ next@^10.1.4-canary.16: p-limit "3.1.0" path-browserify "1.0.1" pnp-webpack-plugin "1.6.4" - postcss "8.2.10" + postcss "8.2.13" process "0.11.10" prop-types "15.7.2" querystring-es3 "0.2.1" raw-body "2.4.1" - react-is "16.13.1" + react-is "17.0.2" react-refresh "0.8.3" stream-browserify "3.0.0" stream-http "3.1.1" @@ -8380,10 +8684,14 @@ node-plop@~0.26.2: mkdirp "^0.5.1" resolve "^1.12.0" -node-releases@^1.1.69, node-releases@^1.1.70: +node-releases@^1.1.70: version "1.1.71" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" +node-releases@^1.1.71: + version "1.1.73" + resolved "https://registry.nlark.com/node-releases/download/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" + normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -8475,6 +8783,10 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-inspect@^1.10.3: + version "1.10.3" + resolved "https://registry.nlark.com/object-inspect/download/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" + object-inspect@^1.7.0: version "1.7.0" resolved "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.7.0.tgz?cache=0&sync_timestamp=1573451929207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" @@ -8535,6 +8847,14 @@ object.entries@^1.1.0, object.entries@^1.1.1: es-abstract "^1.17.5" has "^1.0.3" +object.entries@^1.1.4: + version "1.1.4" + resolved "https://registry.nlark.com/object.entries/download/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + object.fromentries@^2.0.2: version "2.0.2" resolved "https://registry.npm.taobao.org/object.fromentries/download/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" @@ -8544,6 +8864,15 @@ object.fromentries@^2.0.2: function-bind "^1.1.1" has "^1.0.3" +object.fromentries@^2.0.4: + version "2.0.4" + resolved "https://registry.nlark.com/object.fromentries/download/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has "^1.0.3" + object.map@^1.0.0: version "1.0.1" resolved "https://registry.npm.taobao.org/object.map/download/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" @@ -8573,6 +8902,14 @@ object.values@^1.1.0, object.values@^1.1.1: function-bind "^1.1.1" has "^1.0.3" +object.values@^1.1.3, object.values@^1.1.4: + version "1.1.4" + resolved "https://registry.nlark.com/object.values/download/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -9060,11 +9397,11 @@ pnp-webpack-plugin@1.6.4: dependencies: ts-pnp "^1.1.6" -polished@4.1.1: - version "4.1.1" - resolved "https://registry.npm.taobao.org/polished/download/polished-4.1.1.tgz#40442cc973348e466f2918cdf647531bb6c29bfb" +polished@4.1.3: + version "4.1.3" + resolved "https://registry.nlark.com/polished/download/polished-4.1.3.tgz#7a3abf2972364e7d97770b827eec9a9e64002cfc" dependencies: - "@babel/runtime" "^7.12.5" + "@babel/runtime" "^7.14.0" popper.js@^1.14.1: version "1.16.1" @@ -9078,9 +9415,9 @@ postcss-value-parser@^4.0.2: version "4.1.0" resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" -postcss@8.2.10: - version "8.2.10" - resolved "https://registry.nlark.com/postcss/download/postcss-8.2.10.tgz#ca7a042aa8aff494b334d0ff3e9e77079f6f702b" +postcss@8.2.13: + version "8.2.13" + resolved "https://registry.nlark.com/postcss/download/postcss-8.2.13.tgz#dbe043e26e3c068e45113b1ed6375d2d37e2129f" dependencies: colorette "^1.2.2" nanoid "^3.1.22" @@ -9296,6 +9633,12 @@ queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npm.taobao.org/queue-microtask/download/queue-microtask-1.2.3.tgz?cache=0&sync_timestamp=1616391510274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqueue-microtask%2Fdownload%2Fqueue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" +queue@6.0.2: + version "6.0.2" + resolved "https://registry.npm.taobao.org/queue/download/queue-6.0.2.tgz?cache=0&sync_timestamp=1610235422329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqueue%2Fdownload%2Fqueue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" + dependencies: + inherits "~2.0.3" + quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.npm.taobao.org/quick-lru/download/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" @@ -9394,14 +9737,13 @@ react-content-loader@3.4.2: version "3.4.2" resolved "https://registry.npm.taobao.org/react-content-loader/download/react-content-loader-3.4.2.tgz#187fbec2aa389635e4613faa046713f196173f40" -react-dom@16.9.0: - version "16.9.0" - resolved "https://registry.npm.taobao.org/react-dom/download/react-dom-16.9.0.tgz#5e65527a5e26f22ae3701131bcccaee9fb0d3962" +react-dom@17.0.2: + version "17.0.2" + resolved "https://registry.nlark.com/react-dom/download/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.15.0" + scheduler "^0.20.2" react-event-listener@^0.6.2: version "0.6.6" @@ -9432,7 +9774,11 @@ react-input-autosize@^2.2.2: dependencies: prop-types "^15.5.8" -react-is@16.13.1, react-is@^16.12.0, react-is@^16.6.3, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.6, react-is@^16.9.0: +react-is@17.0.2: + version "17.0.2" + resolved "https://registry.nlark.com/react-is/download/react-is-17.0.2.tgz?cache=0&sync_timestamp=1624637851057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Freact-is%2Fdownload%2Freact-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + +react-is@^16.12.0, react-is@^16.6.3, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.6, react-is@^16.9.0: version "16.13.1" resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" @@ -9614,13 +9960,12 @@ react-waypoint@9.0.2: prop-types "^15.0.0" react-is "^16.6.3" -react@16.9.0: - version "16.9.0" - resolved "https://registry.npm.taobao.org/react/download/react-16.9.0.tgz#40ba2f9af13bc1a38d75dbf2f4359a5185c4f7aa" +react@17.0.2: + version "17.0.2" + resolved "https://registry.nlark.com/react/download/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.2" read-pkg-up@^1.0.1: version "1.0.1" @@ -9798,6 +10143,13 @@ regexp.prototype.flags@^1.3.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +regexp.prototype.flags@^1.3.1: + version "1.3.1" + resolved "https://registry.nlark.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + regexpp@^2.0.1: version "2.0.1" resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -9948,6 +10300,20 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13. dependencies: path-parse "^1.0.6" +resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + response-time@^2.3.2: version "2.3.2" resolved "https://registry.npm.taobao.org/response-time/download/response-time-2.3.2.tgz#ffa71bab952d62f7c1d49b7434355fbc68dffc5a" @@ -10112,13 +10478,6 @@ saxes@^5.0.0: dependencies: xmlchars "^2.2.0" -scheduler@^0.15.0: - version "0.15.0" - resolved "https://registry.npm.taobao.org/scheduler/download/scheduler-0.15.0.tgz?cache=0&sync_timestamp=1588782816669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fscheduler%2Fdownload%2Fscheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e" - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler@^0.16.0: version "0.16.2" resolved "https://registry.npm.taobao.org/scheduler/download/scheduler-0.16.2.tgz?cache=0&sync_timestamp=1588782816669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fscheduler%2Fdownload%2Fscheduler-0.16.2.tgz#f74cd9d33eff6fc554edfb79864868e4819132c1" @@ -10133,6 +10492,13 @@ scheduler@^0.19.1: loose-envify "^1.1.0" object-assign "^4.1.1" +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.nlark.com/scheduler/download/scheduler-0.20.2.tgz?cache=0&sync_timestamp=1624637814152&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fscheduler%2Fdownload%2Fscheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1587138453873&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" @@ -10167,7 +10533,7 @@ semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" -semver@^7.1.1, semver@^7.3.2: +semver@^7.1.1, semver@^7.3.2, semver@^7.3.5: version "7.3.5" resolved "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" dependencies: @@ -10306,6 +10672,14 @@ side-channel@^1.0.2: es-abstract "^1.17.0-next.1" object-inspect "^1.7.0" +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/side-channel/download/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1585253750175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" @@ -10691,6 +11065,19 @@ string.prototype.matchall@^4.0.2: regexp.prototype.flags "^1.3.0" side-channel "^1.0.2" +string.prototype.matchall@^4.0.5: + version "4.0.5" + resolved "https://registry.nlark.com/string.prototype.matchall/download/string.prototype.matchall-4.0.5.tgz?cache=0&sync_timestamp=1621973430160&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstring.prototype.matchall%2Fdownload%2Fstring.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + string.prototype.padend@^3.0.0: version "3.1.0" resolved "https://registry.npm.taobao.org/string.prototype.padend/download/string.prototype.padend-3.1.0.tgz#dc08f57a8010dc5c153550318f67e13adbb72ac3" @@ -10865,9 +11252,9 @@ strip-json-comments@^3.0.1: version "3.1.0" resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" -styled-components@5.2.3: - version "5.2.3" - resolved "https://registry.npm.taobao.org/styled-components/download/styled-components-5.2.3.tgz#752669fd694aac10de814d96efc287dde0d11385" +styled-components@5.3.0: + version "5.3.0" + resolved "https://registry.nlark.com/styled-components/download/styled-components-5.3.0.tgz#e47c3d3e9ddfff539f118a3dd0fd4f8f4fb25727" dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/traverse" "^7.4.5" @@ -11249,6 +11636,15 @@ ts-toolbelt@^6.15.1: version "6.15.5" resolved "https://registry.npm.taobao.org/ts-toolbelt/download/ts-toolbelt-6.15.5.tgz?cache=0&sync_timestamp=1615048666537&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-toolbelt%2Fdownload%2Fts-toolbelt-6.15.5.tgz#cb3b43ed725cb63644782c64fbcad7d8f28c0a83" +tsconfig-paths@^3.9.0: + version "3.9.0" + resolved "https://registry.npm.taobao.org/tsconfig-paths/download/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + tslib@^1.10.0, tslib@^1.9.0, tslib@^1.9.3: version "1.13.0" resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" @@ -11261,7 +11657,7 @@ tslib@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/tslib/download/tslib-2.0.0.tgz#18d13fc2dce04051e20f074cc8387fd8089ce4f3" -tsutils@^3.17.1: +tsutils@^3.17.1, tsutils@^3.21.0: version "3.21.0" resolved "https://registry.npm.taobao.org/tsutils/download/tsutils-3.21.0.tgz?cache=0&sync_timestamp=1615138205781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftsutils%2Fdownload%2Ftsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" dependencies: @@ -11358,7 +11754,7 @@ uglify-js@^3.1.4: dependencies: commander "~2.20.3" -unbox-primitive@^1.0.0: +unbox-primitive@^1.0.0, unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/unbox-primitive/download/unbox-primitive-1.0.1.tgz?cache=0&sync_timestamp=1616706391935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funbox-primitive%2Fdownload%2Funbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" dependencies: