refactor(import): fix import order

This commit is contained in:
haitao(lj) 2022-10-31 11:39:33 +08:00
parent e2cf6d2b3d
commit d3cd9a94dd
35 changed files with 65 additions and 41 deletions

View File

@ -3,7 +3,6 @@ import { Row, Col, ListGroup } from 'react-bootstrap';
import { NavLink, useParams, useSearchParams } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
import { useQuestionList } from '@/services';
import type * as Type from '@answer/common/interface';
import {
Icon,
@ -15,6 +14,8 @@ import {
QueryGroup,
} from '@answer/components';
import { useQuestionList } from '@/services';
const QuestionOrderKeys: Type.QuestionOrderBy[] = [
'newest',
'active',

View File

@ -6,9 +6,10 @@ import { marked } from 'marked';
import classNames from 'classnames';
import { useTagModal } from '@answer/hooks';
import { queryTags } from '@/services';
import type * as Type from '@answer/common/interface';
import { queryTags } from '@/services';
import './index.scss';
interface IProps {

View File

@ -2,7 +2,6 @@ import React, { useState, useEffect } from 'react';
import { Button, Col } from 'react-bootstrap';
import { Trans, useTranslation } from 'react-i18next';
import { resendEmail, checkImgCode } from '@/services';
import { PicAuthCodeModal } from '@answer/components/Modal';
import type {
ImgCodeRes,
@ -11,6 +10,7 @@ import type {
} from '@answer/common/interface';
import { loggedUserInfoStore } from '@answer/stores';
import { resendEmail, checkImgCode } from '@/services';
import { CAPTCHA_CODE_STORAGE_KEY } from '@/common/constants';
import Storage from '@/utils/storage';

View File

@ -4,9 +4,10 @@ import { useTranslation } from 'react-i18next';
import ReactDOM from 'react-dom/client';
import { changeUserStatus } from '@/services';
import { Modal as AnswerModal } from '@answer/components';
import { changeUserStatus } from '@/services';
const div = document.createElement('div');
const root = ReactDOM.createRoot(div);

View File

@ -14,9 +14,10 @@ import {
} from '@answer/components';
import { ADMIN_LIST_STATUS } from '@answer/common/constants';
import { useEditStatusModal } from '@answer/hooks';
import { useAnswerSearch, changeAnswerStatus } from '@/services';
import * as Type from '@answer/common/interface';
import { useAnswerSearch, changeAnswerStatus } from '@/services';
import '../index.scss';
const answerFilterItems: Type.AdminContentsFilterBy[] = ['normal', 'deleted'];

View File

@ -12,6 +12,7 @@ import {
} from '@answer/components';
import { useReportModal } from '@answer/hooks';
import * as Type from '@answer/common/interface';
import { useFlagSearch } from '@/services';
import '../index.scss';

View File

@ -5,6 +5,7 @@ import { useTranslation } from 'react-i18next';
import type * as Type from '@answer/common/interface';
import { useToast } from '@answer/hooks';
import { siteInfoStore } from '@answer/stores';
import { useGeneralSetting, updateGeneralSetting } from '@/services';
import '../index.scss';

View File

@ -8,6 +8,9 @@ import {
FormDataType,
AdminSettingsInterface,
} from '@answer/common/interface';
import { interfaceStore } from '@answer/stores';
import { UploadImg } from '@answer/components';
import {
languages,
uploadAvatar,
@ -15,8 +18,6 @@ import {
useInterfaceSetting,
useThemeOptions,
} from '@/services';
import { interfaceStore } from '@answer/stores';
import { UploadImg } from '@answer/components';
import '../index.scss';

View File

@ -14,12 +14,13 @@ import {
} from '@answer/components';
import { ADMIN_LIST_STATUS } from '@answer/common/constants';
import { useEditStatusModal, useReportModal } from '@answer/hooks';
import * as Type from '@answer/common/interface';
import {
useQuestionSearch,
changeQuestionStatus,
deleteQuestion,
} from '@/services';
import * as Type from '@answer/common/interface';
import '../index.scss';

View File

@ -3,7 +3,6 @@ import { Button, Form, Table, Badge } from 'react-bootstrap';
import { useSearchParams } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
import { useQueryUsers } from '@/services';
import {
Pagination,
FormatTime,
@ -14,6 +13,8 @@ import {
import * as Type from '@answer/common/interface';
import { useChangeModal } from '@answer/hooks';
import { useQueryUsers } from '@/services';
import '../index.scss';
const UserFilterKeys: Type.UserFilterBy[] = [

View File

@ -7,8 +7,8 @@ import { SWRConfig } from 'swr';
import { siteInfoStore, interfaceStore, toastStore } from '@answer/stores';
import { Header, AdminHeader, Footer, Toast } from '@answer/components';
import { useSiteSettings } from '@/services';
import { useSiteSettings } from '@/services';
import Storage from '@/utils/storage';
import { CURRENT_LANG_STORAGE_KEY } from '@/common/constants';

View File

@ -7,6 +7,10 @@ import dayjs from 'dayjs';
import classNames from 'classnames';
import { Editor, EditorRef, TagSelector, PageTitle } from '@answer/components';
import type * as Type from '@answer/common/interface';
import SearchQuestion from './components/SearchQuestion';
import {
saveQuestion,
questionDetail,
@ -15,9 +19,6 @@ import {
postAnswer,
useQueryQuestionByTitle,
} from '@/services';
import type * as Type from '@answer/common/interface';
import SearchQuestion from './components/SearchQuestion';
interface FormDataItem {
title: Type.FormValue<string>;

View File

@ -11,10 +11,11 @@ import {
FormatTime,
htmlRender,
} from '@answer/components';
import { acceptanceAnswer } from '@/services';
import { scrollTop } from '@answer/utils';
import { AnswerItem } from '@answer/common/interface';
import { acceptanceAnswer } from '@/services';
interface Props {
data: AnswerItem;
/** router answer id */

View File

@ -13,6 +13,7 @@ import {
htmlRender,
} from '@answer/components';
import { formatCount } from '@answer/utils';
import { following } from '@/services';
interface Props {

View File

@ -3,9 +3,9 @@ import { Card, ListGroup } from 'react-bootstrap';
import { Link } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
import { useSimilarQuestion } from '@/services';
import { Icon } from '@answer/components';
import { useSimilarQuestion } from '@/services';
import { loggedUserInfoStore } from '@/stores';
interface Props {

View File

@ -6,9 +6,10 @@ import { marked } from 'marked';
import classNames from 'classnames';
import { Editor, Modal } from '@answer/components';
import { postAnswer } from '@/services';
import { FormDataType } from '@answer/common/interface';
import { postAnswer } from '@/services';
interface Props {
visible?: boolean;
data: {

View File

@ -2,7 +2,6 @@ import { useEffect, useState } from 'react';
import { Container, Row, Col } from 'react-bootstrap';
import { useParams, useSearchParams, useNavigate } from 'react-router-dom';
import { questionDetail, getAnswers } from '@/services';
import { Pagination, PageTitle } from '@answer/components';
import { loggedUserInfoStore } from '@answer/stores';
import { scrollTop } from '@answer/utils';
@ -22,6 +21,8 @@ import {
Alert,
} from './components';
import { questionDetail, getAnswers } from '@/services';
import './index.scss';
const Index = () => {

View File

@ -7,12 +7,13 @@ import dayjs from 'dayjs';
import classNames from 'classnames';
import { Editor, EditorRef, Icon, PageTitle } from '@answer/components';
import type * as Type from '@answer/common/interface';
import {
useQueryAnswerInfo,
modifyAnswer,
useQueryRevisions,
} from '@/services';
import type * as Type from '@answer/common/interface';
import './index.scss';

View File

@ -4,10 +4,11 @@ import { useTranslation } from 'react-i18next';
import { useSearchParams } from 'react-router-dom';
import { Pagination, PageTitle } from '@answer/components';
import { useSearch } from '@/services';
import { Head, SearchHead, SearchItem, Tips, Empty } from './components';
import { useSearch } from '@/services';
const Index = () => {
const { t } = useTranslation('translation');
const [searchParams] = useSearchParams();

View File

@ -5,8 +5,8 @@ import { useTranslation } from 'react-i18next';
import * as Type from '@answer/common/interface';
import { PageTitle, FollowingTags } from '@answer/components';
import { useTagInfo, useFollow } from '@/services';
import { useTagInfo, useFollow } from '@/services';
import QuestionList from '@/components/QuestionList';
import HotQuestions from '@/components/HotQuestions';

View File

@ -7,10 +7,11 @@ import dayjs from 'dayjs';
import classNames from 'classnames';
import { Editor, EditorRef, PageTitle } from '@answer/components';
import { useTagInfo, modifyTag, useQueryRevisions } from '@/services';
import { loggedUserInfoStore } from '@answer/stores';
import type * as Type from '@answer/common/interface';
import { useTagInfo, modifyTag, useQueryRevisions } from '@/services';
interface FormDataItem {
displayName: Type.FormValue<string>;
slugName: Type.FormValue<string>;

View File

@ -12,6 +12,7 @@ import {
Modal,
PageTitle,
} from '@answer/components';
import {
useTagInfo,
useQuerySynonymsTags,

View File

@ -3,10 +3,11 @@ import { Container, Row, Col, Card, Button, Form } from 'react-bootstrap';
import { useSearchParams } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
import { useQueryTags, following } from '@/services';
import { Tag, Pagination, PageTitle, QueryGroup } from '@answer/components';
import { formatCount } from '@answer/utils';
import { useQueryTags, following } from '@/services';
const sortBtns = ['popular', 'name', 'newest'];
const Tags = () => {

View File

@ -2,13 +2,13 @@ import { FC, memo, useEffect, useState } from 'react';
import { Form, Button } from 'react-bootstrap';
import { useTranslation } from 'react-i18next';
import { resetPassword, checkImgCode } from '@/services';
import type {
ImgCodeRes,
PasswordResetReq,
FormDataType,
} from '@answer/common/interface';
import { resetPassword, checkImgCode } from '@/services';
import { PicAuthCodeModal } from '@/components/Modal';
interface IProps {

View File

@ -1,10 +1,10 @@
import { FC, memo, useEffect } from 'react';
import { useTranslation } from 'react-i18next';
import { activateAccount } from '@/services';
import { loggedUserInfoStore } from '@answer/stores';
import { getQueryString } from '@answer/utils';
import { activateAccount } from '@/services';
import { PageTitle } from '@/components';
const Index: FC = () => {

View File

@ -4,7 +4,6 @@ import { Link, useSearchParams } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
import { changeEmailVerify } from '@/services';
import { PageTitle } from '@/components';
const Index: FC = () => {

View File

@ -3,16 +3,17 @@ import { Container, Row, Col, ButtonGroup, Button } from 'react-bootstrap';
import { useTranslation } from 'react-i18next';
import { useParams, useNavigate } from 'react-router-dom';
import { PageTitle } from '@answer/components';
import Inbox from './components/Inbox';
import Achievements from './components/Achievements';
import {
useQueryNotifications,
clearUnreadNotification,
clearNotificationStatus,
readNotification,
} from '@/services';
import { PageTitle } from '@answer/components';
import Inbox from './components/Inbox';
import Achievements from './components/Achievements';
const PAGE_SIZE = 10;

View File

@ -5,11 +5,6 @@ import { useParams, useSearchParams } from 'react-router-dom';
import { Pagination, FormatTime, PageTitle, Empty } from '@answer/components';
import { loggedUserInfoStore } from '@answer/stores';
import {
usePersonalInfoByName,
usePersonalTop,
usePersonalListByTabName,
} from '@/services';
import {
UserInfo,
@ -24,6 +19,12 @@ import {
Votes,
} from './components';
import {
usePersonalInfoByName,
usePersonalTop,
usePersonalListByTabName,
} from '@/services';
const Personal: FC = () => {
const { tabName = 'overview', username = '' } = useParams();
const [searchParams] = useSearchParams();

View File

@ -3,9 +3,9 @@ import { Form, Button, Col } from 'react-bootstrap';
import { Link } from 'react-router-dom';
import { Trans, useTranslation } from 'react-i18next';
import { register } from '@/services';
import type { FormDataType } from '@answer/common/interface';
import { register } from '@/services';
import userStore from '@/stores/userInfo';
interface Props {

View File

@ -3,9 +3,10 @@ import { Form, Button } from 'react-bootstrap';
import { useTranslation } from 'react-i18next';
import type * as Type from '@answer/common/interface';
import { getLoggedUserInfo, changeEmail } from '@/services';
import { useToast } from '@answer/hooks';
import { getLoggedUserInfo, changeEmail } from '@/services';
const reg = /(?<=.{2}).+(?=@)/gi;
const Index: FC = () => {

View File

@ -2,10 +2,11 @@ import React, { FC, FormEvent, useState } from 'react';
import { Form, Button } from 'react-bootstrap';
import { useTranslation } from 'react-i18next';
import { modifyPassword } from '@/services';
import { useToast } from '@answer/hooks';
import type { FormDataType } from '@answer/common/interface';
import { modifyPassword } from '@/services';
const Index: FC = () => {
const { t } = useTranslation('translation', {
keyPrefix: 'settings.account',

View File

@ -6,10 +6,10 @@ import dayjs from 'dayjs';
import en from 'dayjs/locale/en';
import zh from 'dayjs/locale/zh-cn';
import { languages } from '@/services';
import type { LangsType, FormDataType } from '@answer/common/interface';
import { useToast } from '@answer/hooks';
import { languages } from '@/services';
import { DEFAULT_LANG, CURRENT_LANG_STORAGE_KEY } from '@/common/constants';
import Storage from '@/utils/storage';

View File

@ -3,9 +3,10 @@ import { Form, Button } from 'react-bootstrap';
import { useTranslation } from 'react-i18next';
import type { FormDataType } from '@answer/common/interface';
import { setNotice, getLoggedUserInfo } from '@/services';
import { useToast } from '@answer/hooks';
import { setNotice, getLoggedUserInfo } from '@/services';
const Index = () => {
const toast = useToast();
const { t } = useTranslation('translation', {

View File

@ -4,12 +4,13 @@ import { Trans, useTranslation } from 'react-i18next';
import { marked } from 'marked';
import { modifyUserInfo, uploadAvatar, getLoggedUserInfo } from '@/services';
import type { FormDataType } from '@answer/common/interface';
import { UploadImg, Avatar } from '@answer/components';
import { loggedUserInfoStore } from '@answer/stores';
import { useToast } from '@answer/hooks';
import { modifyUserInfo, uploadAvatar, getLoggedUserInfo } from '@/services';
const Index: React.FC = () => {
const { t } = useTranslation('translation', {
keyPrefix: 'settings.profile',

View File

@ -3,11 +3,11 @@ import { Container, Row, Col } from 'react-bootstrap';
import { useTranslation } from 'react-i18next';
import { Outlet } from 'react-router-dom';
import { getLoggedUserInfo } from '@/services';
import type { FormDataType } from '@answer/common/interface';
import Nav from './components/Nav';
import { getLoggedUserInfo } from '@/services';
import { PageTitle } from '@/components';
const Index: React.FC = () => {