+
+
+
+ {sortedMemos.map((memo) => (
+
+ ))}
+ {isRequesting ? (
+
+
+
{t("memo.fetching-data")}
+
+ ) : !nextPageTokenRef.current ? (
+ sortedMemos.length === 0 && (
+
+
+
{t("message.no-data")}
+
+ )
+ ) : (
+
+ } onClick={fetchMemos}>
+ {t("memo.fetch-more")}
+
+
+ )}
- ) : !nextPageTokenRef.current ? (
- sortedMemos.length === 0 && (
-
-
-
{t("message.no-data")}
-
- )
- ) : (
-
- } onClick={fetchMemos}>
- {t("memo.fetch-more")}
-
+
+ {md && (
+
+
)}
diff --git a/web/src/pages/Home.tsx b/web/src/pages/Home.tsx
index 74bb50e7..5041a030 100644
--- a/web/src/pages/Home.tsx
+++ b/web/src/pages/Home.tsx
@@ -2,8 +2,7 @@ import { Button } from "@mui/joy";
import classNames from "classnames";
import { useCallback, useEffect, useRef, useState } from "react";
import Empty from "@/components/Empty";
-import HomeSidebar from "@/components/HomeSidebar";
-import HomeSidebarDrawer from "@/components/HomeSidebarDrawer";
+import { HomeSidebar, HomeSidebarDrawer } from "@/components/HomeSidebar";
import Icon from "@/components/Icon";
import MemoEditor from "@/components/MemoEditor";
import showMemoEditorDialog from "@/components/MemoEditor/MemoEditorDialog";
diff --git a/web/src/store/v1/user.ts b/web/src/store/v1/user.ts
index 67d89c8e..a826993f 100644
--- a/web/src/store/v1/user.ts
+++ b/web/src/store/v1/user.ts
@@ -62,6 +62,15 @@ export const useUserStore = create(
set({ userMapByName: userMap });
return user;
},
+ listUsers: async () => {
+ const { users } = await userServiceClient.listUsers({});
+ const userMap = get().userMapByName;
+ for (const user of users) {
+ userMap[user.name] = user;
+ }
+ set({ userMapByName: userMap });
+ return users;
+ },
searchUsers: async (filter: string) => {
const { users } = await userServiceClient.searchUsers({
filter,