@@ -264,6 +270,20 @@ watch(syncDeviceDarkMode, () => {
}
});
+const themesSyncEnabled = ref(prefer.isSyncEnabled('themes'));
+
+function changeThemesSyncEnabled(value: boolean) {
+ if (value) {
+ prefer.enableSync('themes').then((res) => {
+ if (res == null) return;
+ if (res.enabled) themesSyncEnabled.value = true;
+ });
+ } else {
+ prefer.disableSync('themes');
+ themesSyncEnabled.value = false;
+ }
+}
+
const headerActions = computed(() => []);
const headerTabs = computed(() => []);
diff --git a/packages/frontend/src/utility/autogen/settings-search-index.ts b/packages/frontend/src/utility/autogen/settings-search-index.ts
index 08ab0d8811..7f800d2b70 100644
--- a/packages/frontend/src/utility/autogen/settings-search-index.ts
+++ b/packages/frontend/src/utility/autogen/settings-search-index.ts
@@ -37,6 +37,11 @@ export const searchIndexes: SearchIndexItem[] = [
label: i18n.ts.themeForDarkMode,
keywords: ['dark', 'theme'],
},
+ {
+ id: 'jwW5HULqA',
+ label: i18n.ts._settings.enableSyncThemesBetweenDevices,
+ keywords: ['sync', 'themes', 'devices'],
+ },
],
label: i18n.ts.theme,
keywords: ['theme'],
--
cgit v1.2.3-freya
From 3ec5bf114b06b620074c307072824d3e078b4946 Mon Sep 17 00:00:00 2001
From: syuilo <4439005+syuilo@users.noreply.github.com>
Date: Wed, 2 Apr 2025 10:25:53 +0900
Subject: 🎨
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/frontend/src/pages/settings/deck.vue | 2 +-
packages/frontend/src/pages/settings/emoji-palette.vue | 2 +-
packages/frontend/src/pages/settings/theme.vue | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
(limited to 'packages/frontend/src')
diff --git a/packages/frontend/src/pages/settings/deck.vue b/packages/frontend/src/pages/settings/deck.vue
index f4bce8a5dd..39055268d4 100644
--- a/packages/frontend/src/pages/settings/deck.vue
+++ b/packages/frontend/src/pages/settings/deck.vue
@@ -8,7 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- {{ i18n.ts._deck.enableSyncBetweenDevicesForProfiles }}
+ {{ i18n.ts._deck.enableSyncBetweenDevicesForProfiles }}
diff --git a/packages/frontend/src/pages/settings/emoji-palette.vue b/packages/frontend/src/pages/settings/emoji-palette.vue
index 398228e226..f86c40412a 100644
--- a/packages/frontend/src/pages/settings/emoji-palette.vue
+++ b/packages/frontend/src/pages/settings/emoji-palette.vue
@@ -26,7 +26,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- {{ i18n.ts._emojiPalette.enableSyncBetweenDevicesForPalettes }}
+ {{ i18n.ts._emojiPalette.enableSyncBetweenDevicesForPalettes }}
diff --git a/packages/frontend/src/pages/settings/theme.vue b/packages/frontend/src/pages/settings/theme.vue
index adc93ff7a7..ad641d37db 100644
--- a/packages/frontend/src/pages/settings/theme.vue
+++ b/packages/frontend/src/pages/settings/theme.vue
@@ -183,7 +183,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- {{ i18n.ts._settings.enableSyncThemesBetweenDevices }}
+ {{ i18n.ts._settings.enableSyncThemesBetweenDevices }}
--
cgit v1.2.3-freya
From 102578712bbed1d4588bf5c2b1996a4655d16de8 Mon Sep 17 00:00:00 2001
From: anatawa12
Date: Wed, 2 Apr 2025 10:48:57 +0900
Subject: fix: iPadでdeck uiでマウスホイールでスクロールできない (#15244)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* fix: ipadでdeck uiでスクロールできない
* docs(changelog): iPadOSでdeck uiをマウスカーソルによってスクロールできない問題を修正
* chore: remove pointermove listener
* lint: use window.document
* chore: use passive pointerdown event
---
CHANGELOG.md | 1 +
packages/frontend/src/ui/deck.vue | 18 ++++++++++++++----
packages/frontend/src/ui/deck/column.vue | 2 +-
3 files changed, 16 insertions(+), 5 deletions(-)
(limited to 'packages/frontend/src')
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4dd40a331e..9a2da274e4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -57,6 +57,7 @@
- Fix: テーマ切り替え時に一部の色が変わらない問題を修正
- NOTE: 構造上クラシックUIを新しいデザインシステムに移行することが困難なため、クラシックUIが削除されました
- デッキUIでカラムを中央寄せにし、メインカラムの左右にウィジェットカラムを配置し、ナビゲーションバーを上部に表示することである程度クラシックUIを再現できます
+- Fix: iPadOSでdeck uiをマウスカーソルによってスクロールできない問題を修正
### Server
- Enhance 全体的なパフォーマンス向上
diff --git a/packages/frontend/src/ui/deck.vue b/packages/frontend/src/ui/deck.vue
index ef4a6fc03c..bf39c07229 100644
--- a/packages/frontend/src/ui/deck.vue
+++ b/packages/frontend/src/ui/deck.vue
@@ -12,15 +12,15 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
+
+
{
isMobile.value = window.innerWidth <= 500;
});
-const snapScroll = deviceKind === 'smartphone' || deviceKind === 'tablet';
+// ポインターイベント非対応用に初期値はUAから出す
+const snapScroll = ref(deviceKind === 'smartphone' || deviceKind === 'tablet');
const withWallpaper = prefer.s['deck.wallpaper'] != null;
const drawerMenuShowing = ref(false);
const gap = prefer.r['deck.columnGap'];
@@ -219,7 +220,16 @@ const onContextmenu = (ev) => {
}], ev);
};
+// タッチでスクロールしてるときはスナップスクロールを有効にする
+function pointerEvent(ev: PointerEvent) {
+ snapScroll.value = ev.pointerType === 'touch';
+}
+
+window.document.addEventListener('pointerdown', pointerEvent, { passive: true });
+
function onWheel(ev: WheelEvent) {
+ // WheelEvent はマウスからしか発火しないのでスナップスクロールは無効化する
+ snapScroll.value = false;
if (ev.deltaX === 0 && columnsEl.value != null) {
columnsEl.value.scrollLeft += ev.deltaY;
}
diff --git a/packages/frontend/src/ui/deck/column.vue b/packages/frontend/src/ui/deck/column.vue
index 497a04610e..3d359b05c2 100644
--- a/packages/frontend/src/ui/deck/column.vue
+++ b/packages/frontend/src/ui/deck/column.vue
@@ -17,7 +17,7 @@ SPDX-License-Identifier: AGPL-3.0-only
@dragstart="onDragstart"
@dragend="onDragend"
@contextmenu.prevent.stop="onContextmenu"
- @wheel="emit('headerWheel', $event)"
+ @wheel.passive="emit('headerWheel', $event)"
>