aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/app/views/user/index.tsx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-02-15 01:08:05 +0800
committercrupest <crupest@outlook.com>2021-02-15 01:08:05 +0800
commit58e23e759d730dd9d9733a64e5f16cc5aafeba35 (patch)
tree53a050eb3b20506eae7825d0b5a063562144366e /FrontEnd/src/app/views/user/index.tsx
parentda0b49f48a8e18fb19281d03b910342e05ffe649 (diff)
downloadtimeline-58e23e759d730dd9d9733a64e5f16cc5aafeba35.tar.gz
timeline-58e23e759d730dd9d9733a64e5f16cc5aafeba35.tar.bz2
timeline-58e23e759d730dd9d9733a64e5f16cc5aafeba35.zip
refactor: Refactor timeline card.
Diffstat (limited to 'FrontEnd/src/app/views/user/index.tsx')
-rw-r--r--FrontEnd/src/app/views/user/index.tsx44
1 files changed, 5 insertions, 39 deletions
diff --git a/FrontEnd/src/app/views/user/index.tsx b/FrontEnd/src/app/views/user/index.tsx
index 9b5acbba..57454d0d 100644
--- a/FrontEnd/src/app/views/user/index.tsx
+++ b/FrontEnd/src/app/views/user/index.tsx
@@ -1,58 +1,24 @@
-import React, { useState } from "react";
+import React from "react";
import { useParams } from "react-router";
-import { getHttpUserClient } from "@/http/user";
-
import TimelinePageTemplate from "../timeline-common/TimelinePageTemplate";
-import UserPageUI from "./UserPageUI";
-import { PersonalTimelineManageItem } from "./UserInfoCard";
-import ChangeNicknameDialog from "./ChangeNicknameDialog";
-import ChangeAvatarDialog from "./ChangeAvatarDialog";
+import UserCard from "./UserCard";
-const UserPage: React.FC = (_) => {
+const UserPage: React.FC = () => {
const { username } = useParams<{ username: string }>();
- const [dialog, setDialog] = useState<null | PersonalTimelineManageItem>(null);
-
const [reloadKey, setReloadKey] = React.useState<number>(0);
let dialogElement: React.ReactElement | undefined;
- const closeDialog = (): void => setDialog(null);
-
- if (dialog === "nickname") {
- dialogElement = (
- <ChangeNicknameDialog
- open
- close={closeDialog}
- onProcess={async (newNickname) => {
- await getHttpUserClient().patch(username, { nickname: newNickname });
- setReloadKey(reloadKey + 1);
- }}
- />
- );
- } else if (dialog === "avatar") {
- dialogElement = (
- <ChangeAvatarDialog
- open
- close={closeDialog}
- process={async (file) => {
- await getHttpUserClient().putAvatar(username, file);
- setReloadKey(reloadKey + 1);
- }}
- />
- );
- }
-
return (
<>
<TimelinePageTemplate
- name={`@${username}`}
- UiComponent={UserPageUI}
- onManage={(item) => setDialog(item)}
+ timelineName={`@${username}`}
notFoundI18nKey="timeline.userNotExist"
reloadKey={reloadKey}
onReload={() => setReloadKey(reloadKey + 1)}
+ CardComponent={UserCard}
/>
{dialogElement}
</>