From 7190bd00c9dec5e0054cd52be05cc9f294485158 Mon Sep 17 00:00:00 2001 From: yupix Date: Fri, 27 Jan 2023 13:52:51 +0900 Subject: feat: classicモードでテーマが自動変更された際元に戻すように (#9669) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: classicモードでテーマが自動変更された際元に戻すように * docs: update CHANGELOG.md * fix: prefixを miux:ui_temp から ui_temp に変更 --- packages/frontend/src/local-storage.ts | 1 + packages/frontend/src/ui/classic.vue | 2 ++ packages/frontend/src/ui/universal.vue | 9 +++++++++ 3 files changed, 12 insertions(+) (limited to 'packages/frontend/src') diff --git a/packages/frontend/src/local-storage.ts b/packages/frontend/src/local-storage.ts index 68dc9ebe41..e6b828696c 100644 --- a/packages/frontend/src/local-storage.ts +++ b/packages/frontend/src/local-storage.ts @@ -18,6 +18,7 @@ type Keys = 'useSystemFont' | 'fontSize' | 'ui' | + 'ui_temp' | 'locale' | 'localeVersion' | 'theme' | diff --git a/packages/frontend/src/ui/classic.vue b/packages/frontend/src/ui/classic.vue index dab4b9b274..a5c2f8ca23 100644 --- a/packages/frontend/src/ui/classic.vue +++ b/packages/frontend/src/ui/classic.vue @@ -124,6 +124,8 @@ function onAiClick(ev) { } if (window.innerWidth < 1024) { + const currentUI = miLocalStorage.getItem('ui') + miLocalStorage.setItem('ui_temp', currentUI || 'default'); miLocalStorage.setItem('ui', 'default'); location.reload(); } diff --git a/packages/frontend/src/ui/universal.vue b/packages/frontend/src/ui/universal.vue index babc232875..a9bb85ab6a 100644 --- a/packages/frontend/src/ui/universal.vue +++ b/packages/frontend/src/ui/universal.vue @@ -141,6 +141,15 @@ mainRouter.on('change', () => { document.documentElement.style.overflowY = 'scroll'; +if (window.innerWidth > 1024) { + const tempUI = miLocalStorage.getItem('ui_temp') + if (tempUI) { + miLocalStorage.setItem('ui', tempUI) + miLocalStorage.removeItem('ui_temp') + location.reload(); + } +} + defaultStore.ready.then(() => { if (defaultStore.state.widgets.length === 0) { defaultStore.set('widgets', [{ -- cgit v1.2.3-freya From 8282bbd07c4b87c6678901ef4357897533a5a66e Mon Sep 17 00:00:00 2001 From: tamaina Date: Sat, 28 Jan 2023 06:15:29 +0000 Subject: fix(client): Chromeで検索ダイアログで変換確定するとそのまま検索されてしまう Fix #9598 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/components/MkInput.vue | 2 ++ packages/frontend/src/components/MkTextarea.vue | 2 ++ 2 files changed, 4 insertions(+) (limited to 'packages/frontend/src') diff --git a/packages/frontend/src/components/MkInput.vue b/packages/frontend/src/components/MkInput.vue index a55003da24..5c5151fce6 100644 --- a/packages/frontend/src/components/MkInput.vue +++ b/packages/frontend/src/components/MkInput.vue @@ -88,6 +88,8 @@ const onInput = (ev: KeyboardEvent) => { emit('change', ev); }; const onKeydown = (ev: KeyboardEvent) => { + if (ev.isComposing || ev.key === 'Process' || ev.keyCode === 229) return; + emit('keydown', ev); if (ev.code === 'Enter') { diff --git a/packages/frontend/src/components/MkTextarea.vue b/packages/frontend/src/components/MkTextarea.vue index d34d7b1775..0147ac7f83 100644 --- a/packages/frontend/src/components/MkTextarea.vue +++ b/packages/frontend/src/components/MkTextarea.vue @@ -119,6 +119,8 @@ export default defineComponent({ context.emit('change', ev); }; const onKeydown = (ev: KeyboardEvent) => { + if (ev.isComposing || ev.key === 'Process' || ev.keyCode === 229) return; + context.emit('keydown', ev); if (ev.code === 'Enter') { -- cgit v1.2.3-freya From 515692d7a6d4ab953eafbcb99e00c22e1a7c396c Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 1 Feb 2023 11:20:28 +0900 Subject: update aiscript --- packages/frontend/package.json | 2 +- packages/frontend/src/pages/flash/flash-edit.vue | 8 ++++---- pnpm-lock.yaml | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) (limited to 'packages/frontend/src') diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 12f890aa53..3e13e285da 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -11,7 +11,7 @@ "@rollup/plugin-alias": "4.0.3", "@rollup/plugin-json": "6.0.0", "@rollup/pluginutils": "5.0.2", - "@syuilo/aiscript": "0.12.2", + "@syuilo/aiscript": "0.12.4", "@tabler/icons-webfont": "^2.1.2", "@vitejs/plugin-vue": "4.0.0", "@vue/compiler-sfc": "3.2.45", diff --git a/packages/frontend/src/pages/flash/flash-edit.vue b/packages/frontend/src/pages/flash/flash-edit.vue index 321477259b..734c467e3b 100644 --- a/packages/frontend/src/pages/flash/flash-edit.vue +++ b/packages/frontend/src/pages/flash/flash-edit.vue @@ -34,7 +34,7 @@ import MkTextarea from '@/components/MkTextarea.vue'; import MkInput from '@/components/MkInput.vue'; import { useRouter } from '@/router'; -const PRESET_DEFAULT = `/// @ 0.12.2 +const PRESET_DEFAULT = `/// @ 0.12.4 var name = "" @@ -52,7 +52,7 @@ Ui:render([ ]) `; -const PRESET_OMIKUJI = `/// @ 0.12.2 +const PRESET_OMIKUJI = `/// @ 0.12.4 // ユーザーごとに日替わりのおみくじのプリセット // 選択肢 @@ -95,7 +95,7 @@ Ui:render([ ]) `; -const PRESET_SHUFFLE = `/// @ 0.12.2 +const PRESET_SHUFFLE = `/// @ 0.12.4 // 巻き戻し可能な文字シャッフルのプリセット let string = "ペペロンチーノ" @@ -174,7 +174,7 @@ var cursor = 0 do() `; -const PRESET_TIMELINE = `/// @ 0.12.2 +const PRESET_TIMELINE = `/// @ 0.12.4 // APIリクエストを行いローカルタイムラインを表示するプリセット @fetch() { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3e789d8465..40f2b36068 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -378,7 +378,7 @@ importers: '@rollup/plugin-alias': 4.0.3 '@rollup/plugin-json': 6.0.0 '@rollup/pluginutils': 5.0.2 - '@syuilo/aiscript': 0.12.2 + '@syuilo/aiscript': 0.12.4 '@tabler/icons-webfont': ^2.1.2 '@types/escape-regexp': 0.0.1 '@types/glob': 8.0.1 @@ -463,7 +463,7 @@ importers: '@rollup/plugin-alias': 4.0.3_rollup@3.11.0 '@rollup/plugin-json': 6.0.0_rollup@3.11.0 '@rollup/pluginutils': 5.0.2_rollup@3.11.0 - '@syuilo/aiscript': 0.12.2 + '@syuilo/aiscript': 0.12.4 '@tabler/icons-webfont': 2.1.2 '@vitejs/plugin-vue': 4.0.0_vite@4.0.4+vue@3.2.45 '@vue/compiler-sfc': 3.2.45 @@ -2300,8 +2300,8 @@ packages: jsonc-parser: 3.2.0 dev: true - /@syuilo/aiscript/0.12.2: - resolution: {integrity: sha512-bXEYgFGW2uDFr2Vl5TmBtZqzgAtobT4k4ZSWwEbmwB3x5S7WrgJ7MNbpe3AszJ+I6BOQpB6uHHwr+KMNx9pWCQ==} + /@syuilo/aiscript/0.12.4: + resolution: {integrity: sha512-fIWEAHsnw9vMWTcjmSM2rCsadhb+BLirLDLW6lnRw3PFC8LV76Np8Ih8ssfAb00udh6oiGBSj+WiBdkMagbjmQ==} dependencies: autobind-decorator: 2.4.0 seedrandom: 3.0.5 -- cgit v1.2.3-freya From 2a41f6c383cc9963aa4a56efafd8dd50abd38709 Mon Sep 17 00:00:00 2001 From: YS <47836716+yszkst@users.noreply.github.com> Date: Wed, 1 Feb 2023 11:25:13 +0900 Subject: enhance: Unicode絵文字名逆引き効率化 (#9757) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Unicode絵文字名前取得を連想配列で行う * Unicode絵文字事前カテゴリ集計 * Mapを使用 * Update packages/frontend/src/scripts/emojilist.ts Co-authored-by: Acid Chicken (硫酸鶏) --------- Co-authored-by: tamaina Co-authored-by: Acid Chicken (硫酸鶏) --- packages/frontend/src/components/MkEmojiPicker.vue | 4 ++-- packages/frontend/src/scripts/emojilist.ts | 21 ++++++++++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'packages/frontend/src') diff --git a/packages/frontend/src/components/MkEmojiPicker.vue b/packages/frontend/src/components/MkEmojiPicker.vue index 39e274ba11..2063ab4dec 100644 --- a/packages/frontend/src/components/MkEmojiPicker.vue +++ b/packages/frontend/src/components/MkEmojiPicker.vue @@ -74,7 +74,7 @@
{{ i18n.ts.emoji }}
- {{ category }} + {{ category }}
@@ -90,7 +90,7 @@ import { ref, shallowRef, computed, watch, onMounted } from 'vue'; import * as Misskey from 'misskey-js'; import XSection from '@/components/MkEmojiPicker.section.vue'; -import { emojilist, UnicodeEmojiDef, unicodeEmojiCategories as categories } from '@/scripts/emojilist'; +import { emojilist, emojiCharByCategory, UnicodeEmojiDef, unicodeEmojiCategories as categories } from '@/scripts/emojilist'; import MkRippleEffect from '@/components/MkRippleEffect.vue'; import * as os from '@/os'; import { isTouchUsing } from '@/scripts/touch'; diff --git a/packages/frontend/src/scripts/emojilist.ts b/packages/frontend/src/scripts/emojilist.ts index bc52fa7a43..2e853b58b5 100644 --- a/packages/frontend/src/scripts/emojilist.ts +++ b/packages/frontend/src/scripts/emojilist.ts @@ -12,6 +12,25 @@ import _emojilist from '../emojilist.json'; export const emojilist = _emojilist as UnicodeEmojiDef[]; +const _indexByChar = new Map(); +const _charGroupByCategory = new Map(); +emojilist.forEach((emo, i) => { + _indexByChar.set(emo.char, i); + + if (_charGroupByCategory.has(emo.category)) { + _charGroupByCategory.get(emo.category)?.push(emo.char); + } else { + _charGroupByCategory.set(emo.category, [emo.char]); + } +}); + +export const emojiCharByCategory = _charGroupByCategory; + export function getEmojiName(char: string): string | undefined { - return emojilist.find(emo => emo.char === char)?.name; + const idx = _indexByChar.get(char); + if (typeof idx === 'undefined') { + return undefined; + } else { + return emojilist[idx].name; + } } -- cgit v1.2.3-freya