import { runInAction } from "mobx"; import { getMillis } from "taehui-ts/date"; import { getLanguage } from "taehui-ts/language"; import { wwwAXIOS } from "src/Www"; import { GetEtcAPI, EtcAPIMode, EtcAPINote, EtcAPITitle, EtcAPIEdge, } from "src/wwwAPI"; export default function setEtcStore() { let lastMillis = getMillis(); return { totalDateSet: [] as string[], totalDateValues: [] as number[], signUpDateSet: [] as string[], signUpDateValues: [] as number[], avatarDateSet: [] as string[], avatarDateValues: [] as number[], totalNoteFileValues: [] as EtcAPINote[], totalTitleValues: [] as EtcAPITitle[], totalEdgeValues: [] as EtcAPIEdge[], favoriteNoteFileValues: [] as EtcAPINote[], favoriteNoteFileAtValues: [] as EtcAPINote[], inputModeValues: [] as EtcAPIMode[], autoModeValues: [] as EtcAPIMode[], noteSaltModeValues: [] as EtcAPIMode[], faintNoteModeValues: [] as EtcAPIMode[], judgmentModeValues: [] as EtcAPIMode[], hitPointsModeValues: [] as EtcAPIMode[], noteMobilityModeValues: [] as EtcAPIMode[], longNoteModeValues: [] as EtcAPIMode[], inputFavorModeValues: [] as EtcAPIMode[], noteModifyModeValues: [] as EtcAPIMode[], lowestJudgmentConditionModeValues: [] as EtcAPIMode[], isLoading: false, async getEtc() { const millis = getMillis(); lastMillis = millis; this.isLoading = true; const { status, data } = await wwwAXIOS.get<GetEtcAPI>("/etc", { params: { language: getLanguage() }, }); if (millis >= lastMillis) { if (status === 200) { runInAction(() => { this.totalDateSet = data.totalDateSet; this.totalDateValues = data.totalDateValues; this.signUpDateSet = data.signUpDateSet; this.signUpDateValues = data.signUpDateValues; this.avatarDateSet = data.avatarDateSet; this.avatarDateValues = data.avatarDateValues; this.totalNoteFileValues = data.totalNoteFileValues; this.totalTitleValues = data.totalTitleValues; this.totalEdgeValues = data.totalEdgeValues; this.favoriteNoteFileValues = data.favoriteNoteFileValues; this.favoriteNoteFileAtValues = data.favoriteNoteFileAtValues; this.inputModeValues = data.inputModeValues; this.autoModeValues = data.autoModeValues; this.noteSaltModeValues = data.noteSaltModeValues; this.faintNoteModeValues = data.faintNoteModeValues; this.judgmentModeValues = data.judgmentModeValues; this.hitPointsModeValues = data.hitPointsModeValues; this.noteMobilityModeValues = data.noteMobilityModeValues; this.longNoteModeValues = data.longNoteModeValues; this.inputFavorModeValues = data.inputFavorModeValues; this.noteModifyModeValues = data.noteModifyModeValues; this.lowestJudgmentConditionModeValues = data.lowestJudgmentConditionModeValues; this.isLoading = false; }); } } }, }; }