mirror of https://gitee.com/answerdev/answer.git
refactor(import): fix import order
This commit is contained in:
parent
e2cf6d2b3d
commit
d3cd9a94dd
|
@ -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',
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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'];
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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[] = [
|
||||
|
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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>;
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -13,6 +13,7 @@ import {
|
|||
htmlRender,
|
||||
} from '@answer/components';
|
||||
import { formatCount } from '@answer/utils';
|
||||
|
||||
import { following } from '@/services';
|
||||
|
||||
interface Props {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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: {
|
||||
|
|
|
@ -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 = () => {
|
||||
|
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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>;
|
||||
|
|
|
@ -12,6 +12,7 @@ import {
|
|||
Modal,
|
||||
PageTitle,
|
||||
} from '@answer/components';
|
||||
|
||||
import {
|
||||
useTagInfo,
|
||||
useQuerySynonymsTags,
|
||||
|
|
|
@ -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 = () => {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 = () => {
|
||||
|
|
|
@ -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 = () => {
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 = () => {
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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', {
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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 = () => {
|
||||
|
|
Loading…
Reference in New Issue