diff options
Diffstat (limited to 'FrontEnd/src/app/views')
-rw-r--r-- | FrontEnd/src/app/views/admin/UserAdmin.tsx | 6 | ||||
-rw-r--r-- | FrontEnd/src/app/views/home/OfflineBoard.tsx | 61 | ||||
-rw-r--r-- | FrontEnd/src/app/views/home/TimelineCreateDialog.tsx | 15 |
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}`} |