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