summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--locales/index.d.ts1
-rw-r--r--locales/ja-JP.yml1
-rw-r--r--packages/frontend/src/scripts/get-user-menu.ts10
4 files changed, 12 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c28d0b9bfb..e0d2fc7c3e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,6 +26,7 @@
- 見たことのあるRenoteを省略して表示をオンのときに自分のnoteのrenoteを省略するように
- フォルダーやファイルに対しても開発者モード使用時、IDをコピーできるように
- 引用対象を「もっと見る」で展開した場合、「閉じる」で畳めるように
+- プロフィールURLをコピーできるボタンを追加 #11190
- Fix: サーバーメトリクスが90度傾いている
- Fix: 非ログイン時にクレデンシャルが必要なページに行くとエラーが出る問題を修正
- Fix: sparkle内にリンクを入れるとクリック不能になる問題の修正
diff --git a/locales/index.d.ts b/locales/index.d.ts
index dacab0cca5..42dddebbff 100644
--- a/locales/index.d.ts
+++ b/locales/index.d.ts
@@ -59,6 +59,7 @@ export interface Locale {
"copyNoteId": string;
"copyFileId": string;
"copyFolderId": string;
+ "copyProfileUrl": string;
"searchUser": string;
"reply": string;
"loadMore": string;
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 29f157b849..16014da511 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -56,6 +56,7 @@ copyUserId: "ユーザーIDをコピー"
copyNoteId: "ノートIDをコピー"
copyFileId: "ファイルIDをコピー"
copyFolderId: "フォルダーIDをコピー"
+copyProfileUrl: "プロフィールURLをコピー"
searchUser: "ユーザーを検索"
reply: "返信"
loadMore: "もっと見る"
diff --git a/packages/frontend/src/scripts/get-user-menu.ts b/packages/frontend/src/scripts/get-user-menu.ts
index c884ed76cb..636a6543d0 100644
--- a/packages/frontend/src/scripts/get-user-menu.ts
+++ b/packages/frontend/src/scripts/get-user-menu.ts
@@ -2,13 +2,14 @@ import { defineAsyncComponent } from 'vue';
import * as misskey from 'misskey-js';
import { i18n } from '@/i18n';
import copyToClipboard from '@/scripts/copy-to-clipboard';
-import { host } from '@/config';
+import { host, url } from '@/config';
import * as os from '@/os';
import { defaultStore, userActions } from '@/store';
import { $i, iAmModerator } from '@/account';
import { mainRouter } from '@/router';
import { Router } from '@/nirax';
import { rolesCache, userListsCache } from '@/cache';
+import { toUnicode } from 'punycode';
export function getUserMenu(user: misskey.entities.UserDetailed, router: Router = mainRouter) {
const meId = $i ? $i.id : null;
@@ -138,6 +139,13 @@ export function getUserMenu(user: misskey.entities.UserDetailed, router: Router
copyToClipboard(`${user.host ?? host}/@${user.username}.atom`);
},
}, {
+ icon: 'ti ti-share',
+ text: i18n.ts.copyProfileUrl,
+ action: () => {
+ const canonical = user.host === null ? `@${user.username}` : `@${user.username}@${toUnicode(user.host)}`
+ copyToClipboard(`${url}/${canonical}`);
+ },
+ }, {
icon: 'ti ti-mail',
text: i18n.ts.sendMessage,
action: () => {