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 { NavLink, useParams, useSearchParams } from 'react-router-dom';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { useQuestionList } from '@/services';
|
|
||||||
import type * as Type from '@answer/common/interface';
|
import type * as Type from '@answer/common/interface';
|
||||||
import {
|
import {
|
||||||
Icon,
|
Icon,
|
||||||
|
@ -15,6 +14,8 @@ import {
|
||||||
QueryGroup,
|
QueryGroup,
|
||||||
} from '@answer/components';
|
} from '@answer/components';
|
||||||
|
|
||||||
|
import { useQuestionList } from '@/services';
|
||||||
|
|
||||||
const QuestionOrderKeys: Type.QuestionOrderBy[] = [
|
const QuestionOrderKeys: Type.QuestionOrderBy[] = [
|
||||||
'newest',
|
'newest',
|
||||||
'active',
|
'active',
|
||||||
|
|
|
@ -6,9 +6,10 @@ import { marked } from 'marked';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { useTagModal } from '@answer/hooks';
|
import { useTagModal } from '@answer/hooks';
|
||||||
import { queryTags } from '@/services';
|
|
||||||
import type * as Type from '@answer/common/interface';
|
import type * as Type from '@answer/common/interface';
|
||||||
|
|
||||||
|
import { queryTags } from '@/services';
|
||||||
|
|
||||||
import './index.scss';
|
import './index.scss';
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
|
|
|
@ -2,7 +2,6 @@ import React, { useState, useEffect } from 'react';
|
||||||
import { Button, Col } from 'react-bootstrap';
|
import { Button, Col } from 'react-bootstrap';
|
||||||
import { Trans, useTranslation } from 'react-i18next';
|
import { Trans, useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { resendEmail, checkImgCode } from '@/services';
|
|
||||||
import { PicAuthCodeModal } from '@answer/components/Modal';
|
import { PicAuthCodeModal } from '@answer/components/Modal';
|
||||||
import type {
|
import type {
|
||||||
ImgCodeRes,
|
ImgCodeRes,
|
||||||
|
@ -11,6 +10,7 @@ import type {
|
||||||
} from '@answer/common/interface';
|
} from '@answer/common/interface';
|
||||||
import { loggedUserInfoStore } from '@answer/stores';
|
import { loggedUserInfoStore } from '@answer/stores';
|
||||||
|
|
||||||
|
import { resendEmail, checkImgCode } from '@/services';
|
||||||
import { CAPTCHA_CODE_STORAGE_KEY } from '@/common/constants';
|
import { CAPTCHA_CODE_STORAGE_KEY } from '@/common/constants';
|
||||||
import Storage from '@/utils/storage';
|
import Storage from '@/utils/storage';
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,10 @@ import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import ReactDOM from 'react-dom/client';
|
import ReactDOM from 'react-dom/client';
|
||||||
|
|
||||||
import { changeUserStatus } from '@/services';
|
|
||||||
import { Modal as AnswerModal } from '@answer/components';
|
import { Modal as AnswerModal } from '@answer/components';
|
||||||
|
|
||||||
|
import { changeUserStatus } from '@/services';
|
||||||
|
|
||||||
const div = document.createElement('div');
|
const div = document.createElement('div');
|
||||||
const root = ReactDOM.createRoot(div);
|
const root = ReactDOM.createRoot(div);
|
||||||
|
|
||||||
|
|
|
@ -14,9 +14,10 @@ import {
|
||||||
} from '@answer/components';
|
} from '@answer/components';
|
||||||
import { ADMIN_LIST_STATUS } from '@answer/common/constants';
|
import { ADMIN_LIST_STATUS } from '@answer/common/constants';
|
||||||
import { useEditStatusModal } from '@answer/hooks';
|
import { useEditStatusModal } from '@answer/hooks';
|
||||||
import { useAnswerSearch, changeAnswerStatus } from '@/services';
|
|
||||||
import * as Type from '@answer/common/interface';
|
import * as Type from '@answer/common/interface';
|
||||||
|
|
||||||
|
import { useAnswerSearch, changeAnswerStatus } from '@/services';
|
||||||
|
|
||||||
import '../index.scss';
|
import '../index.scss';
|
||||||
|
|
||||||
const answerFilterItems: Type.AdminContentsFilterBy[] = ['normal', 'deleted'];
|
const answerFilterItems: Type.AdminContentsFilterBy[] = ['normal', 'deleted'];
|
||||||
|
|
|
@ -12,6 +12,7 @@ import {
|
||||||
} from '@answer/components';
|
} from '@answer/components';
|
||||||
import { useReportModal } from '@answer/hooks';
|
import { useReportModal } from '@answer/hooks';
|
||||||
import * as Type from '@answer/common/interface';
|
import * as Type from '@answer/common/interface';
|
||||||
|
|
||||||
import { useFlagSearch } from '@/services';
|
import { useFlagSearch } from '@/services';
|
||||||
|
|
||||||
import '../index.scss';
|
import '../index.scss';
|
||||||
|
|
|
@ -5,6 +5,7 @@ import { useTranslation } from 'react-i18next';
|
||||||
import type * as Type from '@answer/common/interface';
|
import type * as Type from '@answer/common/interface';
|
||||||
import { useToast } from '@answer/hooks';
|
import { useToast } from '@answer/hooks';
|
||||||
import { siteInfoStore } from '@answer/stores';
|
import { siteInfoStore } from '@answer/stores';
|
||||||
|
|
||||||
import { useGeneralSetting, updateGeneralSetting } from '@/services';
|
import { useGeneralSetting, updateGeneralSetting } from '@/services';
|
||||||
|
|
||||||
import '../index.scss';
|
import '../index.scss';
|
||||||
|
|
|
@ -8,6 +8,9 @@ import {
|
||||||
FormDataType,
|
FormDataType,
|
||||||
AdminSettingsInterface,
|
AdminSettingsInterface,
|
||||||
} from '@answer/common/interface';
|
} from '@answer/common/interface';
|
||||||
|
import { interfaceStore } from '@answer/stores';
|
||||||
|
import { UploadImg } from '@answer/components';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
languages,
|
languages,
|
||||||
uploadAvatar,
|
uploadAvatar,
|
||||||
|
@ -15,8 +18,6 @@ import {
|
||||||
useInterfaceSetting,
|
useInterfaceSetting,
|
||||||
useThemeOptions,
|
useThemeOptions,
|
||||||
} from '@/services';
|
} from '@/services';
|
||||||
import { interfaceStore } from '@answer/stores';
|
|
||||||
import { UploadImg } from '@answer/components';
|
|
||||||
|
|
||||||
import '../index.scss';
|
import '../index.scss';
|
||||||
|
|
||||||
|
|
|
@ -14,12 +14,13 @@ import {
|
||||||
} from '@answer/components';
|
} from '@answer/components';
|
||||||
import { ADMIN_LIST_STATUS } from '@answer/common/constants';
|
import { ADMIN_LIST_STATUS } from '@answer/common/constants';
|
||||||
import { useEditStatusModal, useReportModal } from '@answer/hooks';
|
import { useEditStatusModal, useReportModal } from '@answer/hooks';
|
||||||
|
import * as Type from '@answer/common/interface';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
useQuestionSearch,
|
useQuestionSearch,
|
||||||
changeQuestionStatus,
|
changeQuestionStatus,
|
||||||
deleteQuestion,
|
deleteQuestion,
|
||||||
} from '@/services';
|
} from '@/services';
|
||||||
import * as Type from '@answer/common/interface';
|
|
||||||
|
|
||||||
import '../index.scss';
|
import '../index.scss';
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@ import { Button, Form, Table, Badge } from 'react-bootstrap';
|
||||||
import { useSearchParams } from 'react-router-dom';
|
import { useSearchParams } from 'react-router-dom';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { useQueryUsers } from '@/services';
|
|
||||||
import {
|
import {
|
||||||
Pagination,
|
Pagination,
|
||||||
FormatTime,
|
FormatTime,
|
||||||
|
@ -14,6 +13,8 @@ import {
|
||||||
import * as Type from '@answer/common/interface';
|
import * as Type from '@answer/common/interface';
|
||||||
import { useChangeModal } from '@answer/hooks';
|
import { useChangeModal } from '@answer/hooks';
|
||||||
|
|
||||||
|
import { useQueryUsers } from '@/services';
|
||||||
|
|
||||||
import '../index.scss';
|
import '../index.scss';
|
||||||
|
|
||||||
const UserFilterKeys: Type.UserFilterBy[] = [
|
const UserFilterKeys: Type.UserFilterBy[] = [
|
||||||
|
|
|
@ -7,8 +7,8 @@ import { SWRConfig } from 'swr';
|
||||||
|
|
||||||
import { siteInfoStore, interfaceStore, toastStore } from '@answer/stores';
|
import { siteInfoStore, interfaceStore, toastStore } from '@answer/stores';
|
||||||
import { Header, AdminHeader, Footer, Toast } from '@answer/components';
|
import { Header, AdminHeader, Footer, Toast } from '@answer/components';
|
||||||
import { useSiteSettings } from '@/services';
|
|
||||||
|
|
||||||
|
import { useSiteSettings } from '@/services';
|
||||||
import Storage from '@/utils/storage';
|
import Storage from '@/utils/storage';
|
||||||
import { CURRENT_LANG_STORAGE_KEY } from '@/common/constants';
|
import { CURRENT_LANG_STORAGE_KEY } from '@/common/constants';
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,10 @@ import dayjs from 'dayjs';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { Editor, EditorRef, TagSelector, PageTitle } from '@answer/components';
|
import { Editor, EditorRef, TagSelector, PageTitle } from '@answer/components';
|
||||||
|
import type * as Type from '@answer/common/interface';
|
||||||
|
|
||||||
|
import SearchQuestion from './components/SearchQuestion';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
saveQuestion,
|
saveQuestion,
|
||||||
questionDetail,
|
questionDetail,
|
||||||
|
@ -15,9 +19,6 @@ import {
|
||||||
postAnswer,
|
postAnswer,
|
||||||
useQueryQuestionByTitle,
|
useQueryQuestionByTitle,
|
||||||
} from '@/services';
|
} from '@/services';
|
||||||
import type * as Type from '@answer/common/interface';
|
|
||||||
|
|
||||||
import SearchQuestion from './components/SearchQuestion';
|
|
||||||
|
|
||||||
interface FormDataItem {
|
interface FormDataItem {
|
||||||
title: Type.FormValue<string>;
|
title: Type.FormValue<string>;
|
||||||
|
|
|
@ -11,10 +11,11 @@ import {
|
||||||
FormatTime,
|
FormatTime,
|
||||||
htmlRender,
|
htmlRender,
|
||||||
} from '@answer/components';
|
} from '@answer/components';
|
||||||
import { acceptanceAnswer } from '@/services';
|
|
||||||
import { scrollTop } from '@answer/utils';
|
import { scrollTop } from '@answer/utils';
|
||||||
import { AnswerItem } from '@answer/common/interface';
|
import { AnswerItem } from '@answer/common/interface';
|
||||||
|
|
||||||
|
import { acceptanceAnswer } from '@/services';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
data: AnswerItem;
|
data: AnswerItem;
|
||||||
/** router answer id */
|
/** router answer id */
|
||||||
|
|
|
@ -13,6 +13,7 @@ import {
|
||||||
htmlRender,
|
htmlRender,
|
||||||
} from '@answer/components';
|
} from '@answer/components';
|
||||||
import { formatCount } from '@answer/utils';
|
import { formatCount } from '@answer/utils';
|
||||||
|
|
||||||
import { following } from '@/services';
|
import { following } from '@/services';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
|
|
@ -3,9 +3,9 @@ import { Card, ListGroup } from 'react-bootstrap';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { useSimilarQuestion } from '@/services';
|
|
||||||
import { Icon } from '@answer/components';
|
import { Icon } from '@answer/components';
|
||||||
|
|
||||||
|
import { useSimilarQuestion } from '@/services';
|
||||||
import { loggedUserInfoStore } from '@/stores';
|
import { loggedUserInfoStore } from '@/stores';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
|
|
@ -6,9 +6,10 @@ import { marked } from 'marked';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { Editor, Modal } from '@answer/components';
|
import { Editor, Modal } from '@answer/components';
|
||||||
import { postAnswer } from '@/services';
|
|
||||||
import { FormDataType } from '@answer/common/interface';
|
import { FormDataType } from '@answer/common/interface';
|
||||||
|
|
||||||
|
import { postAnswer } from '@/services';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
visible?: boolean;
|
visible?: boolean;
|
||||||
data: {
|
data: {
|
||||||
|
|
|
@ -2,7 +2,6 @@ import { useEffect, useState } from 'react';
|
||||||
import { Container, Row, Col } from 'react-bootstrap';
|
import { Container, Row, Col } from 'react-bootstrap';
|
||||||
import { useParams, useSearchParams, useNavigate } from 'react-router-dom';
|
import { useParams, useSearchParams, useNavigate } from 'react-router-dom';
|
||||||
|
|
||||||
import { questionDetail, getAnswers } from '@/services';
|
|
||||||
import { Pagination, PageTitle } from '@answer/components';
|
import { Pagination, PageTitle } from '@answer/components';
|
||||||
import { loggedUserInfoStore } from '@answer/stores';
|
import { loggedUserInfoStore } from '@answer/stores';
|
||||||
import { scrollTop } from '@answer/utils';
|
import { scrollTop } from '@answer/utils';
|
||||||
|
@ -22,6 +21,8 @@ import {
|
||||||
Alert,
|
Alert,
|
||||||
} from './components';
|
} from './components';
|
||||||
|
|
||||||
|
import { questionDetail, getAnswers } from '@/services';
|
||||||
|
|
||||||
import './index.scss';
|
import './index.scss';
|
||||||
|
|
||||||
const Index = () => {
|
const Index = () => {
|
||||||
|
|
|
@ -7,12 +7,13 @@ import dayjs from 'dayjs';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { Editor, EditorRef, Icon, PageTitle } from '@answer/components';
|
import { Editor, EditorRef, Icon, PageTitle } from '@answer/components';
|
||||||
|
import type * as Type from '@answer/common/interface';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
useQueryAnswerInfo,
|
useQueryAnswerInfo,
|
||||||
modifyAnswer,
|
modifyAnswer,
|
||||||
useQueryRevisions,
|
useQueryRevisions,
|
||||||
} from '@/services';
|
} from '@/services';
|
||||||
import type * as Type from '@answer/common/interface';
|
|
||||||
|
|
||||||
import './index.scss';
|
import './index.scss';
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,11 @@ import { useTranslation } from 'react-i18next';
|
||||||
import { useSearchParams } from 'react-router-dom';
|
import { useSearchParams } from 'react-router-dom';
|
||||||
|
|
||||||
import { Pagination, PageTitle } from '@answer/components';
|
import { Pagination, PageTitle } from '@answer/components';
|
||||||
import { useSearch } from '@/services';
|
|
||||||
|
|
||||||
import { Head, SearchHead, SearchItem, Tips, Empty } from './components';
|
import { Head, SearchHead, SearchItem, Tips, Empty } from './components';
|
||||||
|
|
||||||
|
import { useSearch } from '@/services';
|
||||||
|
|
||||||
const Index = () => {
|
const Index = () => {
|
||||||
const { t } = useTranslation('translation');
|
const { t } = useTranslation('translation');
|
||||||
const [searchParams] = useSearchParams();
|
const [searchParams] = useSearchParams();
|
||||||
|
|
|
@ -5,8 +5,8 @@ import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import * as Type from '@answer/common/interface';
|
import * as Type from '@answer/common/interface';
|
||||||
import { PageTitle, FollowingTags } from '@answer/components';
|
import { PageTitle, FollowingTags } from '@answer/components';
|
||||||
import { useTagInfo, useFollow } from '@/services';
|
|
||||||
|
|
||||||
|
import { useTagInfo, useFollow } from '@/services';
|
||||||
import QuestionList from '@/components/QuestionList';
|
import QuestionList from '@/components/QuestionList';
|
||||||
import HotQuestions from '@/components/HotQuestions';
|
import HotQuestions from '@/components/HotQuestions';
|
||||||
|
|
||||||
|
|
|
@ -7,10 +7,11 @@ import dayjs from 'dayjs';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { Editor, EditorRef, PageTitle } from '@answer/components';
|
import { Editor, EditorRef, PageTitle } from '@answer/components';
|
||||||
import { useTagInfo, modifyTag, useQueryRevisions } from '@/services';
|
|
||||||
import { loggedUserInfoStore } from '@answer/stores';
|
import { loggedUserInfoStore } from '@answer/stores';
|
||||||
import type * as Type from '@answer/common/interface';
|
import type * as Type from '@answer/common/interface';
|
||||||
|
|
||||||
|
import { useTagInfo, modifyTag, useQueryRevisions } from '@/services';
|
||||||
|
|
||||||
interface FormDataItem {
|
interface FormDataItem {
|
||||||
displayName: Type.FormValue<string>;
|
displayName: Type.FormValue<string>;
|
||||||
slugName: Type.FormValue<string>;
|
slugName: Type.FormValue<string>;
|
||||||
|
|
|
@ -12,6 +12,7 @@ import {
|
||||||
Modal,
|
Modal,
|
||||||
PageTitle,
|
PageTitle,
|
||||||
} from '@answer/components';
|
} from '@answer/components';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
useTagInfo,
|
useTagInfo,
|
||||||
useQuerySynonymsTags,
|
useQuerySynonymsTags,
|
||||||
|
|
|
@ -3,10 +3,11 @@ import { Container, Row, Col, Card, Button, Form } from 'react-bootstrap';
|
||||||
import { useSearchParams } from 'react-router-dom';
|
import { useSearchParams } from 'react-router-dom';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { useQueryTags, following } from '@/services';
|
|
||||||
import { Tag, Pagination, PageTitle, QueryGroup } from '@answer/components';
|
import { Tag, Pagination, PageTitle, QueryGroup } from '@answer/components';
|
||||||
import { formatCount } from '@answer/utils';
|
import { formatCount } from '@answer/utils';
|
||||||
|
|
||||||
|
import { useQueryTags, following } from '@/services';
|
||||||
|
|
||||||
const sortBtns = ['popular', 'name', 'newest'];
|
const sortBtns = ['popular', 'name', 'newest'];
|
||||||
|
|
||||||
const Tags = () => {
|
const Tags = () => {
|
||||||
|
|
|
@ -2,13 +2,13 @@ import { FC, memo, useEffect, useState } from 'react';
|
||||||
import { Form, Button } from 'react-bootstrap';
|
import { Form, Button } from 'react-bootstrap';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { resetPassword, checkImgCode } from '@/services';
|
|
||||||
import type {
|
import type {
|
||||||
ImgCodeRes,
|
ImgCodeRes,
|
||||||
PasswordResetReq,
|
PasswordResetReq,
|
||||||
FormDataType,
|
FormDataType,
|
||||||
} from '@answer/common/interface';
|
} from '@answer/common/interface';
|
||||||
|
|
||||||
|
import { resetPassword, checkImgCode } from '@/services';
|
||||||
import { PicAuthCodeModal } from '@/components/Modal';
|
import { PicAuthCodeModal } from '@/components/Modal';
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import { FC, memo, useEffect } from 'react';
|
import { FC, memo, useEffect } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { activateAccount } from '@/services';
|
|
||||||
import { loggedUserInfoStore } from '@answer/stores';
|
import { loggedUserInfoStore } from '@answer/stores';
|
||||||
import { getQueryString } from '@answer/utils';
|
import { getQueryString } from '@answer/utils';
|
||||||
|
|
||||||
|
import { activateAccount } from '@/services';
|
||||||
import { PageTitle } from '@/components';
|
import { PageTitle } from '@/components';
|
||||||
|
|
||||||
const Index: FC = () => {
|
const Index: FC = () => {
|
||||||
|
|
|
@ -4,7 +4,6 @@ import { Link, useSearchParams } from 'react-router-dom';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { changeEmailVerify } from '@/services';
|
import { changeEmailVerify } from '@/services';
|
||||||
|
|
||||||
import { PageTitle } from '@/components';
|
import { PageTitle } from '@/components';
|
||||||
|
|
||||||
const Index: FC = () => {
|
const Index: FC = () => {
|
||||||
|
|
|
@ -3,16 +3,17 @@ import { Container, Row, Col, ButtonGroup, Button } from 'react-bootstrap';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import { useParams, useNavigate } from 'react-router-dom';
|
import { useParams, useNavigate } from 'react-router-dom';
|
||||||
|
|
||||||
|
import { PageTitle } from '@answer/components';
|
||||||
|
|
||||||
|
import Inbox from './components/Inbox';
|
||||||
|
import Achievements from './components/Achievements';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
useQueryNotifications,
|
useQueryNotifications,
|
||||||
clearUnreadNotification,
|
clearUnreadNotification,
|
||||||
clearNotificationStatus,
|
clearNotificationStatus,
|
||||||
readNotification,
|
readNotification,
|
||||||
} from '@/services';
|
} from '@/services';
|
||||||
import { PageTitle } from '@answer/components';
|
|
||||||
|
|
||||||
import Inbox from './components/Inbox';
|
|
||||||
import Achievements from './components/Achievements';
|
|
||||||
|
|
||||||
const PAGE_SIZE = 10;
|
const PAGE_SIZE = 10;
|
||||||
|
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { useParams, useSearchParams } from 'react-router-dom';
|
||||||
|
|
||||||
import { Pagination, FormatTime, PageTitle, Empty } from '@answer/components';
|
import { Pagination, FormatTime, PageTitle, Empty } from '@answer/components';
|
||||||
import { loggedUserInfoStore } from '@answer/stores';
|
import { loggedUserInfoStore } from '@answer/stores';
|
||||||
import {
|
|
||||||
usePersonalInfoByName,
|
|
||||||
usePersonalTop,
|
|
||||||
usePersonalListByTabName,
|
|
||||||
} from '@/services';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
UserInfo,
|
UserInfo,
|
||||||
|
@ -24,6 +19,12 @@ import {
|
||||||
Votes,
|
Votes,
|
||||||
} from './components';
|
} from './components';
|
||||||
|
|
||||||
|
import {
|
||||||
|
usePersonalInfoByName,
|
||||||
|
usePersonalTop,
|
||||||
|
usePersonalListByTabName,
|
||||||
|
} from '@/services';
|
||||||
|
|
||||||
const Personal: FC = () => {
|
const Personal: FC = () => {
|
||||||
const { tabName = 'overview', username = '' } = useParams();
|
const { tabName = 'overview', username = '' } = useParams();
|
||||||
const [searchParams] = useSearchParams();
|
const [searchParams] = useSearchParams();
|
||||||
|
|
|
@ -3,9 +3,9 @@ import { Form, Button, Col } from 'react-bootstrap';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import { Trans, useTranslation } from 'react-i18next';
|
import { Trans, useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { register } from '@/services';
|
|
||||||
import type { FormDataType } from '@answer/common/interface';
|
import type { FormDataType } from '@answer/common/interface';
|
||||||
|
|
||||||
|
import { register } from '@/services';
|
||||||
import userStore from '@/stores/userInfo';
|
import userStore from '@/stores/userInfo';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
|
|
@ -3,9 +3,10 @@ import { Form, Button } from 'react-bootstrap';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import type * as Type from '@answer/common/interface';
|
import type * as Type from '@answer/common/interface';
|
||||||
import { getLoggedUserInfo, changeEmail } from '@/services';
|
|
||||||
import { useToast } from '@answer/hooks';
|
import { useToast } from '@answer/hooks';
|
||||||
|
|
||||||
|
import { getLoggedUserInfo, changeEmail } from '@/services';
|
||||||
|
|
||||||
const reg = /(?<=.{2}).+(?=@)/gi;
|
const reg = /(?<=.{2}).+(?=@)/gi;
|
||||||
|
|
||||||
const Index: FC = () => {
|
const Index: FC = () => {
|
||||||
|
|
|
@ -2,10 +2,11 @@ import React, { FC, FormEvent, useState } from 'react';
|
||||||
import { Form, Button } from 'react-bootstrap';
|
import { Form, Button } from 'react-bootstrap';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { modifyPassword } from '@/services';
|
|
||||||
import { useToast } from '@answer/hooks';
|
import { useToast } from '@answer/hooks';
|
||||||
import type { FormDataType } from '@answer/common/interface';
|
import type { FormDataType } from '@answer/common/interface';
|
||||||
|
|
||||||
|
import { modifyPassword } from '@/services';
|
||||||
|
|
||||||
const Index: FC = () => {
|
const Index: FC = () => {
|
||||||
const { t } = useTranslation('translation', {
|
const { t } = useTranslation('translation', {
|
||||||
keyPrefix: 'settings.account',
|
keyPrefix: 'settings.account',
|
||||||
|
|
|
@ -6,10 +6,10 @@ import dayjs from 'dayjs';
|
||||||
import en from 'dayjs/locale/en';
|
import en from 'dayjs/locale/en';
|
||||||
import zh from 'dayjs/locale/zh-cn';
|
import zh from 'dayjs/locale/zh-cn';
|
||||||
|
|
||||||
import { languages } from '@/services';
|
|
||||||
import type { LangsType, FormDataType } from '@answer/common/interface';
|
import type { LangsType, FormDataType } from '@answer/common/interface';
|
||||||
import { useToast } from '@answer/hooks';
|
import { useToast } from '@answer/hooks';
|
||||||
|
|
||||||
|
import { languages } from '@/services';
|
||||||
import { DEFAULT_LANG, CURRENT_LANG_STORAGE_KEY } from '@/common/constants';
|
import { DEFAULT_LANG, CURRENT_LANG_STORAGE_KEY } from '@/common/constants';
|
||||||
import Storage from '@/utils/storage';
|
import Storage from '@/utils/storage';
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,10 @@ import { Form, Button } from 'react-bootstrap';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import type { FormDataType } from '@answer/common/interface';
|
import type { FormDataType } from '@answer/common/interface';
|
||||||
import { setNotice, getLoggedUserInfo } from '@/services';
|
|
||||||
import { useToast } from '@answer/hooks';
|
import { useToast } from '@answer/hooks';
|
||||||
|
|
||||||
|
import { setNotice, getLoggedUserInfo } from '@/services';
|
||||||
|
|
||||||
const Index = () => {
|
const Index = () => {
|
||||||
const toast = useToast();
|
const toast = useToast();
|
||||||
const { t } = useTranslation('translation', {
|
const { t } = useTranslation('translation', {
|
||||||
|
|
|
@ -4,12 +4,13 @@ import { Trans, useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { marked } from 'marked';
|
import { marked } from 'marked';
|
||||||
|
|
||||||
import { modifyUserInfo, uploadAvatar, getLoggedUserInfo } from '@/services';
|
|
||||||
import type { FormDataType } from '@answer/common/interface';
|
import type { FormDataType } from '@answer/common/interface';
|
||||||
import { UploadImg, Avatar } from '@answer/components';
|
import { UploadImg, Avatar } from '@answer/components';
|
||||||
import { loggedUserInfoStore } from '@answer/stores';
|
import { loggedUserInfoStore } from '@answer/stores';
|
||||||
import { useToast } from '@answer/hooks';
|
import { useToast } from '@answer/hooks';
|
||||||
|
|
||||||
|
import { modifyUserInfo, uploadAvatar, getLoggedUserInfo } from '@/services';
|
||||||
|
|
||||||
const Index: React.FC = () => {
|
const Index: React.FC = () => {
|
||||||
const { t } = useTranslation('translation', {
|
const { t } = useTranslation('translation', {
|
||||||
keyPrefix: 'settings.profile',
|
keyPrefix: 'settings.profile',
|
||||||
|
|
|
@ -3,11 +3,11 @@ import { Container, Row, Col } from 'react-bootstrap';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import { Outlet } from 'react-router-dom';
|
import { Outlet } from 'react-router-dom';
|
||||||
|
|
||||||
import { getLoggedUserInfo } from '@/services';
|
|
||||||
import type { FormDataType } from '@answer/common/interface';
|
import type { FormDataType } from '@answer/common/interface';
|
||||||
|
|
||||||
import Nav from './components/Nav';
|
import Nav from './components/Nav';
|
||||||
|
|
||||||
|
import { getLoggedUserInfo } from '@/services';
|
||||||
import { PageTitle } from '@/components';
|
import { PageTitle } from '@/components';
|
||||||
|
|
||||||
const Index: React.FC = () => {
|
const Index: React.FC = () => {
|
||||||
|
|
Loading…
Reference in New Issue