From 0b7634b12636398c1e9429fbcca6beef4a144224 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Fri, 26 Sep 2025 15:36:25 +0900 Subject: [PATCH] =?UTF-8?q?enhance(frontend):=20=E3=83=86=E3=83=BC?= =?UTF-8?q?=E3=83=9E=E3=82=92=E3=83=89=E3=83=A9=E3=83=83=E3=82=B0&?= =?UTF-8?q?=E3=83=89=E3=83=AD=E3=83=83=E3=83=97=E3=81=A7=E3=81=8D=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + packages/frontend/src/drag-and-drop.ts | 20 +++++++ .../frontend/src/pages/settings/theme.vue | 53 ++++++++++++++++--- 3 files changed, 66 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66837034ae..143a48ce48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Enhance: チャットの日本語名称がダイレクトメッセージに戻るとともに、ベータ版機能ではなくなりました - Enhance: 画像編集にマスクエフェクト(塗りつぶし、ぼかし)を追加 - Enhance: ウォーターマークにアカウントのQRコードを追加できるように +- Enhance: テーマをドラッグ&ドロップできるように - Enhance: 絵文字ピッカーのサイズをより大きくできるように - Enhance: 時刻計算のための基準値を一か所で管理するようにし、パフォーマンスを向上 - Fix: iOSで、デバイスがダークモードだと初回読み込み時にエラーになる問題を修正 diff --git a/packages/frontend/src/drag-and-drop.ts b/packages/frontend/src/drag-and-drop.ts index 3c6f22f24b..670912241e 100644 --- a/packages/frontend/src/drag-and-drop.ts +++ b/packages/frontend/src/drag-and-drop.ts @@ -23,6 +23,15 @@ export function setDragData( event.dataTransfer.setData(`misskey/${type}`.toLowerCase(), JSON.stringify(data)); } +export function setPlainDragData( + event: DragEvent, + data: string, +) { + if (event.dataTransfer == null) return; + + event.dataTransfer.setData('text/plain', data); +} + export function getDragData( event: DragEvent, type: T, @@ -35,6 +44,17 @@ export function getDragData( return JSON.parse(data); } +export function getPlainDragData( + event: DragEvent, +): string | null { + if (event.dataTransfer == null) return null; + + const data = event.dataTransfer.getData('text/plain'); + if (data == null || data === '') return null; + + return data; +} + export function checkDragDataType( event: DragEvent, types: (keyof DragDataMap)[], diff --git a/packages/frontend/src/pages/settings/theme.vue b/packages/frontend/src/pages/settings/theme.vue index beae1224e4..0129aebe94 100644 --- a/packages/frontend/src/pages/settings/theme.vue +++ b/packages/frontend/src/pages/settings/theme.vue @@ -5,7 +5,11 @@ SPDX-License-Identifier: AGPL-3.0-only