diff options
| author | anatawa12 <anatawa12@icloud.com> | 2024-05-27 20:54:53 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-27 20:54:53 +0900 |
| commit | 4579be0f5401001bcfc27c4d56133cc910f3f581 (patch) | |
| tree | e6ca129d8d22e5684250a380943bd431ff8c2f4d /packages/frontend/src/ui/deck/tl-column.vue | |
| parent | New Crowdin updates (#13860) (diff) | |
| download | misskey-4579be0f5401001bcfc27c4d56133cc910f3f581.tar.gz misskey-4579be0f5401001bcfc27c4d56133cc910f3f581.tar.bz2 misskey-4579be0f5401001bcfc27c4d56133cc910f3f581.zip | |
新着ノートをサウンドで通知する機能をdeck UIに追加 (#13867)
* feat(deck-ui): implement note notification
* chore: remove notify in antenna
* docs(changelog): 新着ノートをサウンドで通知する機能をdeck UIに追加
* fix: type error in test
* lint: key order
* fix: remove notify column
* test: remove test for notify
* chore: make sound selectable
* fix: add license header
* fix: add license header again
* Unnecessary await
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
* ファイルを選択してください -> ファイルが選択されていません
* fix: i18n忘れ
* fix: i18n忘れ
* pleaseSelectFile > fileNotSelected
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Diffstat (limited to 'packages/frontend/src/ui/deck/tl-column.vue')
| -rw-r--r-- | packages/frontend/src/ui/deck/tl-column.vue | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/packages/frontend/src/ui/deck/tl-column.vue b/packages/frontend/src/ui/deck/tl-column.vue index f9066d9db7..a967335edf 100644 --- a/packages/frontend/src/ui/deck/tl-column.vue +++ b/packages/frontend/src/ui/deck/tl-column.vue @@ -28,6 +28,7 @@ SPDX-License-Identifier: AGPL-3.0-only :withRenotes="withRenotes" :withReplies="withReplies" :onlyFiles="onlyFiles" + @note="onNote" /> </XColumn> </template> @@ -41,6 +42,10 @@ import * as os from '@/os.js'; import { $i } from '@/account.js'; import { i18n } from '@/i18n.js'; import { instance } from '@/instance.js'; +import { MenuItem } from '@/types/menu.js'; +import { SoundStore } from '@/store.js'; +import { soundSettingsButton } from '@/ui/deck/tl-note-notification.js'; +import * as sound from '@/scripts/sound.js'; const props = defineProps<{ column: Column; @@ -52,6 +57,7 @@ const timeline = shallowRef<InstanceType<typeof MkTimeline>>(); const isLocalTimelineAvailable = (($i == null && instance.policies.ltlAvailable) || ($i != null && $i.policies.ltlAvailable)); const isGlobalTimelineAvailable = (($i == null && instance.policies.gtlAvailable) || ($i != null && $i.policies.gtlAvailable)); +const soundSetting = ref<SoundStore>(props.column.soundSetting ?? { type: null, volume: 1 }); const withRenotes = ref(props.column.withRenotes ?? true); const withReplies = ref(props.column.withReplies ?? false); const onlyFiles = ref(props.column.onlyFiles ?? false); @@ -74,6 +80,10 @@ watch(onlyFiles, v => { }); }); +watch(soundSetting, v => { + updateColumn(props.column.id, { soundSetting: v }); +}); + onMounted(() => { if (props.column.tl == null) { setType(); @@ -108,11 +118,19 @@ async function setType() { }); } -const menu = [{ +function onNote() { + sound.playMisskeySfxFile(soundSetting.value); +} + +const menu: MenuItem[] = [{ icon: 'ti ti-pencil', text: i18n.ts.timeline, action: setType, }, { + icon: 'ti ti-bell', + text: i18n.ts._deck.newNoteNotificationSettings, + action: () => soundSettingsButton(soundSetting), +}, { type: 'switch', text: i18n.ts.showRenotes, ref: withRenotes, |