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],