aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/app/views
diff options
context:
space:
mode:
Diffstat (limited to 'FrontEnd/src/app/views')
-rw-r--r--FrontEnd/src/app/views/admin/UserAdmin.tsx6
-rw-r--r--FrontEnd/src/app/views/home/OfflineBoard.tsx61
-rw-r--r--FrontEnd/src/app/views/home/TimelineCreateDialog.tsx15
3 files changed, 9 insertions, 73 deletions
diff --git a/FrontEnd/src/app/views/admin/UserAdmin.tsx b/FrontEnd/src/app/views/admin/UserAdmin.tsx
index fbdfd5a3..369eaf1e 100644
--- a/FrontEnd/src/app/views/admin/UserAdmin.tsx
+++ b/FrontEnd/src/app/views/admin/UserAdmin.tsx
@@ -6,7 +6,7 @@ import OperationDialog, {
OperationBoolInputInfo,
} from "../common/OperationDialog";
-import { User, AuthUser } from "@/services/user";
+import { AuthUser } from "@/services/user";
import {
getHttpUserClient,
HttpUser,
@@ -199,7 +199,7 @@ type ContextMenuItem = TModify | TModifyPermission | TDelete;
interface UserItemProps {
on: { [key in ContextMenuItem]: () => void };
- user: User;
+ user: HttpUser;
}
const UserItem: React.FC<UserItemProps> = ({ user, on }) => {
@@ -273,7 +273,7 @@ const UserAdmin: React.FC<UserAdminProps> = (props) => {
}
| { type: TDelete; username: string };
- const [users, setUsers] = useState<User[] | null>(null);
+ const [users, setUsers] = useState<HttpUser[] | null>(null);
const [dialog, setDialog] = useState<DialogInfo>(null);
const [usersVersion, setUsersVersion] = useState<number>(0);
const updateUsers = (): void => {
diff --git a/FrontEnd/src/app/views/home/OfflineBoard.tsx b/FrontEnd/src/app/views/home/OfflineBoard.tsx
deleted file mode 100644
index fc05bd74..00000000
--- a/FrontEnd/src/app/views/home/OfflineBoard.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-import React from "react";
-import { Link } from "react-router-dom";
-import { Trans } from "react-i18next";
-
-import { getAllCachedTimelineNames } from "@/services/timeline";
-import UserTimelineLogo from "../common/UserTimelineLogo";
-import TimelineLogo from "../common/TimelineLogo";
-
-export interface OfflineBoardProps {
- onReload: () => void;
-}
-
-const OfflineBoard: React.FC<OfflineBoardProps> = ({ onReload }) => {
- const [timelines, setTimelines] = React.useState<string[]>([]);
-
- React.useEffect(() => {
- let subscribe = true;
- void getAllCachedTimelineNames().then((t) => {
- if (subscribe) setTimelines(t);
- });
- return () => {
- subscribe = false;
- };
- });
-
- return (
- <>
- <Trans i18nKey="home.offlinePrompt">
- 0
- <a
- href="#"
- onClick={(e) => {
- onReload();
- e.preventDefault();
- }}
- >
- 1
- </a>
- 2
- </Trans>
- {timelines.map((timeline) => {
- const isPersonal = timeline.startsWith("@");
- const url = isPersonal
- ? `/users/${timeline.slice(1)}`
- : `/timelines/${timeline}`;
- return (
- <div key={timeline} className="timeline-board-item">
- {isPersonal ? (
- <UserTimelineLogo className="icon" />
- ) : (
- <TimelineLogo className="icon" />
- )}
- <Link to={url}>{timeline}</Link>
- </div>
- );
- })}
- </>
- );
-};
-
-export default OfflineBoard;
diff --git a/FrontEnd/src/app/views/home/TimelineCreateDialog.tsx b/FrontEnd/src/app/views/home/TimelineCreateDialog.tsx
index 5dcba612..b4e25ba1 100644
--- a/FrontEnd/src/app/views/home/TimelineCreateDialog.tsx
+++ b/FrontEnd/src/app/views/home/TimelineCreateDialog.tsx
@@ -1,12 +1,9 @@
import React from "react";
import { useHistory } from "react-router";
-import {
- validateTimelineName,
- timelineService,
- TimelineInfo,
-} from "@/services/timeline";
+import { validateTimelineName } from "@/services/timeline";
import OperationDialog from "../common/OperationDialog";
+import { getHttpTimelineClient, HttpTimelineInfo } from "@/http/timeline";
interface TimelineCreateDialogProps {
open: boolean;
@@ -42,10 +39,10 @@ const TimelineCreateDialog: React.FC<TimelineCreateDialogProps> = (props) => {
return null;
}
}}
- onProcess={([name]): Promise<TimelineInfo> => {
- return timelineService.createTimeline(name).toPromise();
- }}
- onSuccessAndClose={(timeline: TimelineInfo) => {
+ onProcess={([name]): Promise<HttpTimelineInfo> =>
+ getHttpTimelineClient().postTimeline({ name })
+ }
+ onSuccessAndClose={(timeline: HttpTimelineInfo) => {
history.push(`timelines/${timeline.name}`);
}}
failurePrompt={(e) => `${e as string}`}