diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml
new file mode 100644
index 0000000..d23208f
--- /dev/null
+++ b/.idea/jsLibraryMappings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/qwilight-fe/src/avatar/Avatar.d.ts b/qwilight-fe/src/avatar/Avatar.d.ts
deleted file mode 100644
index cdf44ff..0000000
--- a/qwilight-fe/src/avatar/Avatar.d.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-export type Note = {
- noteID: string;
- artist: string;
- title: string;
- genre: string;
- levelText: string;
- level: number;
- fittedText: string;
- handled: number;
-};
diff --git a/qwilight-fe/src/avatar/QuitStatusValues.tsx b/qwilight-fe/src/avatar/QuitStatusValues.tsx
index aac38d2..5abc343 100644
--- a/qwilight-fe/src/avatar/QuitStatusValues.tsx
+++ b/qwilight-fe/src/avatar/QuitStatusValues.tsx
@@ -3,7 +3,7 @@
import { GetAvatar } from "src/avatar/useGetAvatar";
-const quitItems = ["S+", "S", "A+", "A", "B", "C", "D"];
+const quitItems = ["S+", "S", "A+", "A", "B", "C", "D"] as const;
export default function QuitStatusValues({
avatar: { quitStatusValues },
diff --git a/qwilight-fe/src/avatar/useGetAvatarFavorites.ts b/qwilight-fe/src/avatar/useGetAvatarFavorites.ts
index b4e75eb..039a0fe 100644
--- a/qwilight-fe/src/avatar/useGetAvatarFavorites.ts
+++ b/qwilight-fe/src/avatar/useGetAvatarFavorites.ts
@@ -1,8 +1,11 @@
import { useQuery } from "@tanstack/react-query";
import { useLocation } from "react-router-dom";
+import { sprintf } from "sprintf-js";
+import { useTranslation } from "react-i18next";
import { wwwAXIOS } from "src/Www";
import { GetAvatarFavoritesAPI } from "src/wwwAPI";
+import { formatText } from "src/Utility";
export default function useGetAvatarFavorites(
inputMode: "6K" | "5K" | "7K" | "9K" | "10K" | "14K" | "24K" | "48K",
@@ -10,6 +13,8 @@
) {
const { pathname } = useLocation();
+ const { t } = useTranslation();
+
return useQuery({
enabled: !!avatarID && pathname.startsWith("/qwilight/avatar"),
queryKey: ["avatarFavorites", inputMode, avatarID],
@@ -20,7 +25,10 @@
params: { avatarID },
},
);
- return data;
+ return data.map((data) => ({
+ ...data,
+ fittedText: sprintf(t("textHandled"), formatText(data.totalCount)),
+ }));
},
initialData: [],
});
diff --git a/qwilight-fe/src/note/NoteView.tsx b/qwilight-fe/src/note/NoteView.tsx
index d054ea0..a938230 100644
--- a/qwilight-fe/src/note/NoteView.tsx
+++ b/qwilight-fe/src/note/NoteView.tsx
@@ -3,7 +3,7 @@
import { useTranslation } from "react-i18next";
import { Button, Col, Input, Row } from "reactstrap";
import { sprintf } from "sprintf-js";
-import { useWant, useIntParam } from "taehui-ts/fe-utility";
+import { useIntParam, useWant } from "taehui-ts/fe-utility";
import { useNoteStore } from "src/Stores";
import NoteItems from "src/note/NoteItems";
diff --git a/qwilight-fe/src/note/useGetNote.ts b/qwilight-fe/src/note/useGetNote.ts
index 75afe5a..a08c96d 100644
--- a/qwilight-fe/src/note/useGetNote.ts
+++ b/qwilight-fe/src/note/useGetNote.ts
@@ -1,10 +1,10 @@
+import { useLocation } from "react-router-dom";
import { useQuery } from "@tanstack/react-query";
import { useIntParam, useWant } from "taehui-ts/fe-utility";
import { wwwAXIOS } from "src/Www";
import { GetNoteAPI } from "src/wwwAPI";
import { useNoteStore } from "src/Stores";
-import { useLocation } from "react-router-dom";
export default function useGetNote() {
const { viewUnit } = useNoteStore();
diff --git a/taehui-fe/src/forum/PostEssayView.tsx b/taehui-fe/src/forum/PostEssayView.tsx
index aed2664..0717e97 100644
--- a/taehui-fe/src/forum/PostEssayView.tsx
+++ b/taehui-fe/src/forum/PostEssayView.tsx
@@ -52,7 +52,7 @@
type PostEssayViewParams = {
forumID: string;
- essayID: string | undefined;
+ essayID?: string;
};
const { forumID, essayID } =
useParams() as PostEssayViewParams;
@@ -147,15 +147,15 @@
useEffect(() => {
const postAutoEssaysID = setInterval(async () => {
if (isTitleTextFilled) {
- if (autoEssayID === undefined) {
+ if (typeof autoEssayID === "number") {
+ await putAutoEssay({ autoEssayID, title, text });
+ } else {
const { autoEssayID } = await postAutoEssay({
forumID,
title,
text,
});
setAutoEssayID(autoEssayID);
- } else {
- await putAutoEssay({ autoEssayID, title, text });
}
}
}, 60000);
diff --git a/taehui-fe/src/forum/TextView.tsx b/taehui-fe/src/forum/TextView.tsx
index 8e86350..c01b3d6 100644
--- a/taehui-fe/src/forum/TextView.tsx
+++ b/taehui-fe/src/forum/TextView.tsx
@@ -73,7 +73,7 @@
{title}
- {hitCount !== undefined && (
+ {typeof hitCount === "number" && (
<>
{getDatetime(date)}
diff --git a/taehui-fe/src/forum/setForumStore.ts b/taehui-fe/src/forum/setForumStore.ts
index 9e0aee1..cefc759 100644
--- a/taehui-fe/src/forum/setForumStore.ts
+++ b/taehui-fe/src/forum/setForumStore.ts
@@ -17,7 +17,7 @@
this.text = text;
},
- setAutoEssayID(autoEssayID: number | undefined) {
+ setAutoEssayID(autoEssayID?: number) {
this.autoEssayID = autoEssayID;
},
diff --git a/taehui-fe/src/forum/useGetEssay.ts b/taehui-fe/src/forum/useGetEssay.ts
index 5196489..27932a7 100644
--- a/taehui-fe/src/forum/useGetEssay.ts
+++ b/taehui-fe/src/forum/useGetEssay.ts
@@ -3,7 +3,7 @@
import { EssayAPIEssay, GetEssayAPI } from "src/wwwAPI";
import { getLanguage } from "taehui-ts/language";
-export default function useGetEssay(essayID: string | undefined) {
+export default function useGetEssay(essayID?: string) {
return useQuery<{
forumTitle: string;
title: string;
@@ -12,8 +12,8 @@
avatarID: string;
avatarName: string;
hitCount: number;
- essayBefore: EssayAPIEssay | undefined;
- essayLater: EssayAPIEssay | undefined;
+ essayBefore?: EssayAPIEssay;
+ essayLater?: EssayAPIEssay;
}>({
enabled: !!essayID,
queryKey: ["essay", essayID],