summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-05-14 13:02:48 +0900
committerGitHub <noreply@github.com>2023-05-14 13:02:48 +0900
commit3d94dec7a9d60bf2d885ef3d881cbd928c6c3a7c (patch)
treed609c0992733e6c4273ade0a042e1a300d875264
parentmake __VUE_OPTIONS_API__ false (diff)
parentMerge branch 'misskey-dev:develop' into feat/client-dev-mode (diff)
downloadmisskey-3d94dec7a9d60bf2d885ef3d881cbd928c6c3a7c.tar.gz
misskey-3d94dec7a9d60bf2d885ef3d881cbd928c6c3a7c.tar.bz2
misskey-3d94dec7a9d60bf2d885ef3d881cbd928c6c3a7c.zip
Merge pull request #10847 from yupix/feat/client-dev-mode
feat: 開発者モードを追加
-rw-r--r--CHANGELOG.md6
-rw-r--r--locales/ja-JP.yml3
-rw-r--r--packages/frontend/src/pages/settings/general.vue6
-rw-r--r--packages/frontend/src/scripts/get-note-menu.ts12
-rw-r--r--packages/frontend/src/scripts/get-user-menu.ts12
-rw-r--r--packages/frontend/src/store.ts4
6 files changed, 40 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8594c42d10..1e907f8c42 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,12 @@
-->
+## 13.x.x (unreleased)
+
+### Client
+- 開発者モードを追加
+
+
## 13.12.2
## NOTE
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 0b7108fe6d..340698a12b 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -52,6 +52,8 @@ addToList: "リストに追加"
sendMessage: "メッセージを送信"
copyRSS: "RSSをコピー"
copyUsername: "ユーザー名をコピー"
+copyUserId: "ユーザーIDをコピー"
+copyNoteId: "ノートIDをコピー"
searchUser: "ユーザーを検索"
reply: "返信"
loadMore: "もっと見る"
@@ -823,6 +825,7 @@ translatedFrom: "{x}から翻訳"
accountDeletionInProgress: "アカウントの削除が進行中です"
usernameInfo: "サーバー上であなたのアカウントを一意に識別するための名前。アルファベット(a~z, A~Z)、数字(0~9)、およびアンダーバー(_)が使用できます。ユーザー名は後から変更することは出来ません。"
aiChanMode: "藍モード"
+devMode: "開発者モード"
keepCw: "CWを維持する"
pubSub: "Pub/Subのアカウント"
lastCommunication: "直近の通信"
diff --git a/packages/frontend/src/pages/settings/general.vue b/packages/frontend/src/pages/settings/general.vue
index ba0f3274fc..7e70119ec3 100644
--- a/packages/frontend/src/pages/settings/general.vue
+++ b/packages/frontend/src/pages/settings/general.vue
@@ -145,7 +145,10 @@
</FormSection>
<FormSection>
- <MkSwitch v-model="aiChanMode">{{ i18n.ts.aiChanMode }}</MkSwitch>
+ <div class="_gaps_s">
+ <MkSwitch v-model="aiChanMode">{{ i18n.ts.aiChanMode }}</MkSwitch>
+ <MkSwitch v-model="devMode">{{ i18n.ts.devMode }}</MkSwitch>
+ </div>
</FormSection>
<FormLink to="/settings/deck">{{ i18n.ts.deck }}</FormLink>
@@ -213,6 +216,7 @@ const enableInfiniteScroll = computed(defaultStore.makeGetterSetter('enableInfin
const useReactionPickerForContextMenu = computed(defaultStore.makeGetterSetter('useReactionPickerForContextMenu'));
const squareAvatars = computed(defaultStore.makeGetterSetter('squareAvatars'));
const aiChanMode = computed(defaultStore.makeGetterSetter('aiChanMode'));
+const devMode = computed(defaultStore.makeGetterSetter('devMode'));
const mediaListWithOneImageAppearance = computed(defaultStore.makeGetterSetter('mediaListWithOneImageAppearance'));
const notificationPosition = computed(defaultStore.makeGetterSetter('notificationPosition'));
const notificationStackAxis = computed(defaultStore.makeGetterSetter('notificationStackAxis'));
diff --git a/packages/frontend/src/scripts/get-note-menu.ts b/packages/frontend/src/scripts/get-note-menu.ts
index c8a6100253..960f26ca67 100644
--- a/packages/frontend/src/scripts/get-note-menu.ts
+++ b/packages/frontend/src/scripts/get-note-menu.ts
@@ -7,7 +7,7 @@ import { instance } from '@/instance';
import * as os from '@/os';
import copyToClipboard from '@/scripts/copy-to-clipboard';
import { url } from '@/config';
-import { noteActions } from '@/store';
+import { defaultStore, noteActions } from '@/store';
import { miLocalStorage } from '@/local-storage';
import { getUserMenu } from '@/scripts/get-user-menu';
import { clipsCache } from '@/cache';
@@ -396,5 +396,15 @@ export function getNoteMenu(props: {
}))]);
}
+ if (defaultStore.state.devMode) {
+ menu = menu.concat([null, {
+ icon: 'ti ti-id',
+ text: i18n.ts.copyNoteId,
+ action: () => {
+ copyToClipboard(appearNote.id);
+ },
+ }]);
+ }
+
return menu;
}
diff --git a/packages/frontend/src/scripts/get-user-menu.ts b/packages/frontend/src/scripts/get-user-menu.ts
index 6ff9fb63f1..b055d26473 100644
--- a/packages/frontend/src/scripts/get-user-menu.ts
+++ b/packages/frontend/src/scripts/get-user-menu.ts
@@ -4,7 +4,7 @@ import { i18n } from '@/i18n';
import copyToClipboard from '@/scripts/copy-to-clipboard';
import { host } from '@/config';
import * as os from '@/os';
-import { userActions } from '@/store';
+import { defaultStore, userActions } from '@/store';
import { $i, iAmModerator } from '@/account';
import { mainRouter } from '@/router';
import { Router } from '@/nirax';
@@ -240,6 +240,16 @@ export function getUserMenu(user: misskey.entities.UserDetailed, router: Router
}]);
}
+ if (defaultStore.state.devMode) {
+ menu = menu.concat([null, {
+ icon: 'ti ti-id',
+ text: i18n.ts.copyUserId,
+ action: () => {
+ copyToClipboard(user.id);
+ },
+ }]);
+ }
+
if ($i && meId === user.id) {
menu = menu.concat([null, {
icon: 'ti ti-pencil',
diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts
index 245bcbefe1..61085e5dcf 100644
--- a/packages/frontend/src/store.ts
+++ b/packages/frontend/src/store.ts
@@ -314,6 +314,10 @@ export const defaultStore = markRaw(new Storage('base', {
where: 'device',
default: false,
},
+ devMode: {
+ where: 'device',
+ default: false,
+ },
mediaListWithOneImageAppearance: {
where: 'device',
default: 'expand' as 'expand' | '16_9' | '1_1' | '2_3',