diff --git a/src/lang/en.ts b/src/lang/en.ts index e1017542..1d3792e1 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -25,6 +25,9 @@ export const languageEnglish = { noUserIcon: "You must set your icon first.", emptyText: "Text is empty.", wrongPassword: "Wrong Password", + networkFetch: "This happens when the network is unstable or the server is down.", + networkFetchWeb: "This can be a CORS error. this only happens when using web version dude to limitations of the browser. try using desktop local version, or other version of RisuAI.", + networkFetchPlain: "This can be a plain fetch error. try disabling force plain fetch option in settings.", }, showHelp: "Show Help", help:{ diff --git a/src/lib/Others/AlertComp.svelte b/src/lib/Others/AlertComp.svelte index 4c6c5188..e69c1790 100644 --- a/src/lib/Others/AlertComp.svelte +++ b/src/lib/Others/AlertComp.svelte @@ -68,6 +68,9 @@ }}>Terms of Service to continue {:else if $alertStore.type !== 'select'} {$alertStore.msg} + {#if $alertStore.submsg} + {$alertStore.submsg} + {/if} {/if} {#if $alertStore.type === 'ask'}
diff --git a/src/ts/alert.ts b/src/ts/alert.ts index fbe3e9e1..479f9468 100644 --- a/src/ts/alert.ts +++ b/src/ts/alert.ts @@ -1,24 +1,38 @@ import { get, writable } from "svelte/store" import { sleep } from "./util" import { language } from "../lang" +import { isNodeServer, isTauri } from "./storage/globalApi" +import { Capacitor } from "@capacitor/core" +import { DataBase } from "./storage/database" interface alertData{ type: 'error'| 'normal'|'none'|'ask'|'wait'|'selectChar'|'input'|'toast'|'wait2'|'markdown'|'select'|'login'|'tos'|'cardexport' - msg: string + msg: string, + submsg?: string } export const alertStore = writable({ type: 'none', - msg: 'n' + msg: 'n', } as alertData) export function alertError(msg:string){ console.error(msg) + const db = get(DataBase) + + let submsg = '' + + //check if it's a known error + if(msg.includes('Failed to fetch') || msg.includes("NetworkError when attempting to fetch resource.")){ + submsg = db.usePlainFetch ? language.errors.networkFetchPlain : + (!isTauri && !isNodeServer && !Capacitor.isNativePlatform()) ? language.errors.networkFetchWeb : language.errors.networkFetch + } alertStore.set({ 'type': 'error', - 'msg': msg + 'msg': msg, + 'submsg': submsg }) }