diff --git a/packages/frontend/src/pages/settings/sounds.sound.vue b/packages/frontend/src/pages/settings/sounds.sound.vue index 54e23d9852..2f4cd1be2c 100644 --- a/packages/frontend/src/pages/settings/sounds.sound.vue +++ b/packages/frontend/src/pages/settings/sounds.sound.vue @@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only -
+
{{ i18n.ts.selectFile }}
{{ friendlyFileName }}
@@ -52,7 +52,7 @@ const fileUrl = ref(props.fileUrl); const fileName = ref(''); const volume = ref(props.volume); -if (type.value === 'driveFile' && fileId.value) { +if (type.value === '_driveFile_' && fileId.value) { const apiRes = await os.api('drive/files/show', { fileId: fileId.value, }); @@ -63,7 +63,7 @@ function getSoundTypeName(f: SoundType): string { switch (f) { case null: return i18n.ts.none; - case 'driveFile': + case '_driveFile_': return i18n.ts._soundSettings.driveFile; default: return f; @@ -110,7 +110,7 @@ function selectSound(ev) { } function listen() { - if (type.value === 'driveFile' && (!fileUrl.value || !fileId.value)) { + if (type.value === '_driveFile_' && (!fileUrl.value || !fileId.value)) { os.alert({ type: 'warning', text: i18n.ts._soundSettings.driveFileWarn, @@ -118,8 +118,8 @@ function listen() { return; } - playFile(type.value === 'driveFile' ? { - type: 'driveFile', + playFile(type.value === '_driveFile_' ? { + type: '_driveFile_', fileId: fileId.value as string, fileUrl: fileUrl.value as string, volume: volume.value, @@ -130,7 +130,7 @@ function listen() { } function save() { - if (type.value === 'driveFile' && !fileUrl.value) { + if (type.value === '_driveFile_' && !fileUrl.value) { os.alert({ type: 'warning', text: i18n.ts._soundSettings.driveFileWarn, @@ -138,7 +138,7 @@ function save() { return; } - if (type.value !== 'driveFile') { + if (type.value !== '_driveFile_') { fileUrl.value = undefined; fileName.value = ''; fileId.value = undefined; diff --git a/packages/frontend/src/pages/settings/sounds.vue b/packages/frontend/src/pages/settings/sounds.vue index 919da076eb..e549901f05 100644 --- a/packages/frontend/src/pages/settings/sounds.vue +++ b/packages/frontend/src/pages/settings/sounds.vue @@ -63,7 +63,7 @@ function getSoundTypeName(f: SoundType): string { switch (f) { case null: return i18n.ts.none; - case 'driveFile': + case '_driveFile_': return i18n.ts._soundSettings.driveFile; default: return f; diff --git a/packages/frontend/src/scripts/sound.ts b/packages/frontend/src/scripts/sound.ts index 2218d69d21..a4c6967d18 100644 --- a/packages/frontend/src/scripts/sound.ts +++ b/packages/frontend/src/scripts/sound.ts @@ -16,7 +16,7 @@ export const soundsTypes = [ null, // ドライブの音声 - 'driveFile', + '_driveFile_', // プリインストール 'syuilo/n-aec', @@ -95,7 +95,7 @@ export type OperationType = typeof operationTypes[number]; export async function loadAudio(soundStore: SoundStore, options?: { useCache?: boolean; }) { if (_DEV_) console.log('loading audio. opts:', options); // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (soundStore.type === null || (soundStore.type === 'driveFile' && !soundStore.fileUrl)) { + if (soundStore.type === null || (soundStore.type === '_driveFile_' && !soundStore.fileUrl)) { return; } // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition @@ -103,7 +103,7 @@ export async function loadAudio(soundStore: SoundStore, options?: { useCache?: b ctx = new AudioContext(); } if (options?.useCache ?? true) { - if (soundStore.type === 'driveFile' && cache.has(soundStore.fileId)) { + if (soundStore.type === '_driveFile_' && cache.has(soundStore.fileId)) { if (_DEV_) console.log('use cache'); return cache.get(soundStore.fileId) as AudioBuffer; } else if (cache.has(soundStore.type)) { @@ -114,7 +114,7 @@ export async function loadAudio(soundStore: SoundStore, options?: { useCache?: b let response: Response; - if (soundStore.type === 'driveFile') { + if (soundStore.type === '_driveFile_') { try { response = await fetch(soundStore.fileUrl); } catch (err) { @@ -141,7 +141,7 @@ export async function loadAudio(soundStore: SoundStore, options?: { useCache?: b const audioBuffer = await ctx.decodeAudioData(arrayBuffer); if (options?.useCache ?? true) { - if (soundStore.type === 'driveFile') { + if (soundStore.type === '_driveFile_') { cache.set(soundStore.fileId, audioBuffer); } else { cache.set(soundStore.type, audioBuffer); diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index f56454e114..70d2cf402d 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -38,17 +38,17 @@ interface PageViewInterruptor { /** サウンド設定 */ export type SoundStore = { - type: Exclude; + type: Exclude; volume: number; } | { - type: 'driveFile'; + type: '_driveFile_'; /** ドライブのファイルID */ fileId: string; /** ファイルURL(こちらが優先される) */ fileUrl: string; - + volume: number; }