diff --git a/CHANGELOG_CHERRYPICK.md b/CHANGELOG_CHERRYPICK.md index 00f165a761..7010c00603 100644 --- a/CHANGELOG_CHERRYPICK.md +++ b/CHANGELOG_CHERRYPICK.md @@ -54,6 +54,8 @@ Misskey의 전체 변경 사항을 확인하려면, [CHANGELOG.md#2023xx](CHANGE - 요약 탭의 하이라이트를 제거 & 노트 탭으로 하이라이트를 이동 - 요약 탭의 리액션을 제거 & 노트 탭으로 리액션을 이동 - Enhance: 노트 편집 시 관련 안내 추가 +- Enhance: 계정을 고양이로 설정하면 자동으로 노트 작성 버튼을 '노트'에서 '냥!'으로 변경함 + - 임의로 해당 옵션을 조작한 경우에는 설정을 변경하지 않음 - chore: 이모티콘 이름 필드에서 autocapitalize를 끄기 (misskey-dev/misskey#12139) - Fix: 외부 리소스 설치 페이지에서 페이지 캐시가 작동하는 문제 수정 (misskey-dev/misskey#12105) - Fix: 채널 생성/업데이트 시 실패하면 아무 것도 표시되지 않는 문제 수정 misskey-dev/misskey#11983 (misskey-dev/misskey#12142) diff --git a/packages/frontend/src/pages/settings/cherrypick.vue b/packages/frontend/src/pages/settings/cherrypick.vue index 94ce255fc2..cf1bc07a24 100644 --- a/packages/frontend/src/pages/settings/cherrypick.vue +++ b/packages/frontend/src/pages/settings/cherrypick.vue @@ -106,6 +106,12 @@ const friendlyEnableWidgets = computed(defaultStore.makeGetterSetter('friendlyEn const enableLongPressOpenAccountMenu = computed(defaultStore.makeGetterSetter('enableLongPressOpenAccountMenu')); const friendlyShowAvatarDecorationsInNavBtn = computed(defaultStore.makeGetterSetter('friendlyShowAvatarDecorationsInNavBtn')); +watch([ + renameTheButtonInPostFormToNya, +], async () => { + await defaultStore.set('renameTheButtonInPostFormToNyaManualSet', true); +}); + watch([ reactableRemoteReactionEnabled, mobileHeaderChange, diff --git a/packages/frontend/src/pages/settings/profile.vue b/packages/frontend/src/pages/settings/profile.vue index 5e91b90a82..a8268c5c73 100644 --- a/packages/frontend/src/pages/settings/profile.vue +++ b/packages/frontend/src/pages/settings/profile.vue @@ -139,6 +139,7 @@ import { langmap } from '@/scripts/langmap.js'; import { definePageMetadata } from '@/scripts/page-metadata.js'; import { claimAchievement } from '@/scripts/achievements.js'; import { defaultStore } from '@/store.js'; +import { unisonReload } from '@/scripts/unison-reload.js'; import MkInfo from '@/components/MkInfo.vue'; const Sortable = defineAsyncComponent(() => import('vuedraggable').then(x => x.default)); @@ -211,8 +212,16 @@ function save() { if (profile.name === 'syuilo' || profile.name === 'しゅいろ') { claimAchievement('setNameToSyuilo'); } - if (profile.isCat) { + if (profile.isCat && defaultStore.state.renameTheButtonInPostFormToNya) { claimAchievement('markedAsCat'); + } else if (profile.isCat && !defaultStore.state.renameTheButtonInPostFormToNya) { + claimAchievement('markedAsCat'); + defaultStore.set('renameTheButtonInPostFormToNya', true); + defaultStore.set('renameTheButtonInPostFormToNyaManualSet', false); + reloadAsk(); + } else if (!profile.isCat && !defaultStore.state.renameTheButtonInPostFormToNyaManualSet) { + defaultStore.set('renameTheButtonInPostFormToNya', false); + reloadAsk(); } } @@ -273,6 +282,16 @@ function openDecoration(avatarDecoration) { }, {}, 'closed'); } +async function reloadAsk() { + const { canceled } = await os.confirm({ + type: 'info', + text: i18n.ts.reloadToApplySetting, + }); + if (canceled) return; + + unisonReload(); +} + const headerActions = $computed(() => []); const headerTabs = $computed(() => []); diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index fa793a94f9..492c582ef4 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -579,6 +579,10 @@ export const defaultStore = markRaw(new Storage('base', { where: 'account', default: false, }, + renameTheButtonInPostFormToNyaManualSet: { + where: 'account', + default: false, + }, enableLongPressOpenAccountMenu: { where: 'device', default: true,