summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/lookup-user.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-12-27 14:36:33 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-12-27 14:36:33 +0900
commit9384f5399da39e53855beb8e7f8ded1aa56bf72e (patch)
treece5959571a981b9c4047da3c7b3fd080aa44222c /packages/frontend/src/scripts/lookup-user.ts
parentwip: retention for dashboard (diff)
downloadsharkey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.gz
sharkey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.bz2
sharkey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.zip
rename: client -> frontend
Diffstat (limited to 'packages/frontend/src/scripts/lookup-user.ts')
-rw-r--r--packages/frontend/src/scripts/lookup-user.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/frontend/src/scripts/lookup-user.ts b/packages/frontend/src/scripts/lookup-user.ts
new file mode 100644
index 0000000000..3ab9d55300
--- /dev/null
+++ b/packages/frontend/src/scripts/lookup-user.ts
@@ -0,0 +1,36 @@
+import * as Acct from 'misskey-js/built/acct';
+import { i18n } from '@/i18n';
+import * as os from '@/os';
+
+export async function lookupUser() {
+ const { canceled, result } = await os.inputText({
+ title: i18n.ts.usernameOrUserId,
+ });
+ if (canceled) return;
+
+ const show = (user) => {
+ os.pageWindow(`/user-info/${user.id}`);
+ };
+
+ const usernamePromise = os.api('users/show', Acct.parse(result));
+ const idPromise = os.api('users/show', { userId: result });
+ let _notFound = false;
+ const notFound = () => {
+ if (_notFound) {
+ os.alert({
+ type: 'error',
+ text: i18n.ts.noSuchUser,
+ });
+ } else {
+ _notFound = true;
+ }
+ };
+ usernamePromise.then(show).catch(err => {
+ if (err.code === 'NO_SUCH_USER') {
+ notFound();
+ }
+ });
+ idPromise.then(show).catch(err => {
+ notFound();
+ });
+}