better error handling
This commit is contained in:
parent
02e85ca670
commit
5670b29cfa
|
@ -51,6 +51,11 @@ watch(name, () => {
|
|||
// 空文字列をnullにしたいので??は使うな
|
||||
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
||||
name: name.value || null,
|
||||
}, undefined, {
|
||||
'SCREEN_NAME_CONTAINS_PROHIBITED_WORDS': {
|
||||
title: i18n.ts.screenNameContainsProhibitedWords,
|
||||
text: i18n.ts.screenNameContainsProhibitedWordsDescription,
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ export const apiWithDialog = (<E extends keyof Misskey.Endpoints = keyof Misskey
|
|||
endpoint: E,
|
||||
data: P = {} as any,
|
||||
token?: string | null | undefined,
|
||||
customErrors?: Record<string, { title?: string; text: string; }>,
|
||||
) => {
|
||||
const promise = misskeyApi(endpoint, data, token);
|
||||
promiseDialog(promise, null, async (err) => {
|
||||
|
@ -77,9 +78,9 @@ export const apiWithDialog = (<E extends keyof Misskey.Endpoints = keyof Misskey
|
|||
} else if (err.message.startsWith('Unexpected token')) {
|
||||
title = i18n.ts.gotInvalidResponseError;
|
||||
text = i18n.ts.gotInvalidResponseErrorDescription;
|
||||
} else if (err.code === 'SCREEN_NAME_CONTAINS_PROHIBITED_WORDS') {
|
||||
title = i18n.ts.screenNameContainsProhibitedWords;
|
||||
text = i18n.ts.screenNameContainsProhibitedWordsDescription;
|
||||
} else if (customErrors && customErrors[err.code] != null) {
|
||||
title = customErrors[err.code].title;
|
||||
text = customErrors[err.code].text;
|
||||
}
|
||||
alert({
|
||||
type: 'error',
|
||||
|
@ -89,7 +90,7 @@ export const apiWithDialog = (<E extends keyof Misskey.Endpoints = keyof Misskey
|
|||
});
|
||||
|
||||
return promise;
|
||||
}) as typeof misskeyApi;
|
||||
});
|
||||
|
||||
export function promiseDialog<T extends Promise<any>>(
|
||||
promise: T,
|
||||
|
|
|
@ -206,6 +206,11 @@ function save() {
|
|||
lang: profile.lang || null,
|
||||
isBot: !!profile.isBot,
|
||||
isCat: !!profile.isCat,
|
||||
}, undefined, {
|
||||
'SCREEN_NAME_CONTAINS_PROHIBITED_WORDS': {
|
||||
title: i18n.ts.screenNameContainsProhibitedWords,
|
||||
text: i18n.ts.screenNameContainsProhibitedWordsDescription,
|
||||
},
|
||||
});
|
||||
globalEvents.emit('requestClearPageCache');
|
||||
claimAchievement('profileFilled');
|
||||
|
|
Loading…
Reference in a new issue