From 0aee4d846634833bfb2ccb0add40425b9ccfa313 Mon Sep 17 00:00:00 2001 From: karamvir Date: Wed, 2 Aug 2023 23:35:42 -0700 Subject: [PATCH] refactor updates to use new apis --- frontend/src/components/updates/desktop.tsx | 40 +++++++++++++++++++-- frontend/src/components/updates/details.tsx | 11 +++--- frontend/src/components/updates/update.tsx | 35 ------------------ 3 files changed, 44 insertions(+), 42 deletions(-) delete mode 100644 frontend/src/components/updates/update.tsx diff --git a/frontend/src/components/updates/desktop.tsx b/frontend/src/components/updates/desktop.tsx index 9c91fa048..3482c6217 100644 --- a/frontend/src/components/updates/desktop.tsx +++ b/frontend/src/components/updates/desktop.tsx @@ -6,8 +6,44 @@ import { DropdownMenuTrigger, } from "@ui/dropdown"; import { Bell } from "lucide-react"; -import { SingleUpdate } from "./update"; import { Button } from "@ui/button"; +import { version_to_string } from "@util/helpers"; +import { Calendar, User } from "lucide-react"; +import { UpdateDetails, UpdateUser } from "./details"; +import { UpdateListItem, UpdateStatus } from "@monitor/client/dist/types"; + +const fmt_date = (d: Date) => + `${d.getDate()}/${d.getMonth() + 1} @ ${d.getHours()}:${d.getMinutes()}`; + +export const SingleUpdate = ({ update }: { update: UpdateListItem }) => ( + +
+
+
+ +
+ {update.status === UpdateStatus.InProgress + ? "ongoing" + : fmt_date(new Date(update.start_ts))} +
+
+ +
+ {update.operation.match(/[A-Z][a-z]+|[0-9]+/g)?.join(" ")}{" "} + {version_to_string(update.version)} +
+ +
+ + +
+
+
+
+); export const DesktopUpdates = () => { const updates = useRead("ListUpdates", {}).data; @@ -22,7 +58,7 @@ export const DesktopUpdates = () => { {updates?.updates.map((update) => ( - + ))} diff --git a/frontend/src/components/updates/details.tsx b/frontend/src/components/updates/details.tsx index 4bd0489d4..79a7db586 100644 --- a/frontend/src/components/updates/details.tsx +++ b/frontend/src/components/updates/details.tsx @@ -6,7 +6,6 @@ import { SheetTitle, SheetTrigger, } from "@ui/sheet"; -import { Update } from "@monitor/client/dist/types"; import { readableDuration, readableVersion, @@ -34,7 +33,6 @@ import { ServerName } from "@resources/server/util"; import { DeploymentName } from "@resources/deployment/util"; import { BuildName } from "@resources/build/util"; import { useRead } from "@hooks"; -// import { useRead } from "@hooks"; export const UpdateUser = ({ user_id }: { user_id: string }) => { const username = useRead("GetUsername", { user_id }).data; @@ -44,12 +42,15 @@ export const UpdateUser = ({ user_id }: { user_id: string }) => { }; export const UpdateDetails = ({ - update, + id, children, }: { - update: Update; + id: string; children: ReactNode; }) => { + const update = useRead("GetUpdate", { id }).data; + if (!update) return null; + return ( {children} @@ -65,7 +66,7 @@ export const UpdateDetails = ({
- +
diff --git a/frontend/src/components/updates/update.tsx b/frontend/src/components/updates/update.tsx deleted file mode 100644 index 14263fca4..000000000 --- a/frontend/src/components/updates/update.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { version_to_string } from "@util/helpers"; -import { Calendar, User } from "lucide-react"; -import { UpdateDetails, UpdateUser } from "./details"; -import { Update } from "@monitor/client/dist/types"; - -const fmt_date = (d: Date) => - `${d.getDate()}/${d.getMonth() + 1} @ ${d.getHours()}:${d.getMinutes()}`; - -export const SingleUpdate = ({ update }: { update: Update }) => ( - -
-
-
- -
- {update.end_ts ? fmt_date(new Date(update.end_ts)) : "ongoing"} -
-
- -
- {update.operation.match(/[A-Z][a-z]+|[0-9]+/g)?.join(" ")}{" "} - {version_to_string(update.version)} -
- -
- - -
-
-
-
-);