1
1
mirror of https://github.com/kokonect-link/cherrypick synced 2024-10-30 06:41:46 +09:00

fix(frontend): 캡션이 512자를 초과하면 초과한 내용이 잘릴 수 있음 (kokonect-link/cherrypick#518)

- 캡션을 512자를 초과해서 작성하면 캡션 내용을 저장하기 전에 경고를 표시합니다.
This commit is contained in:
NoriDev 2024-10-15 09:54:58 +09:00
parent 78ff84bdc5
commit 3f507c5b3e
6 changed files with 28 additions and 2 deletions

View File

@ -52,6 +52,8 @@ Misskey의 전체 변경 사항을 확인하려면, [CHANGELOG.md#2024xx](CHANGE
- Fix: 특정 조건에서 노트 동작 버튼을 비활성화 해도 버튼이 사라지지 않음 - Fix: 특정 조건에서 노트 동작 버튼을 비활성화 해도 버튼이 사라지지 않음
- 노트에 답글을 작성할 수 없을 때 - 노트에 답글을 작성할 수 없을 때
- 노트를 리노트할 수 없을 때 - 노트를 리노트할 수 없을 때
- Fix: 캡션이 512자를 초과하면 초과한 내용이 잘릴 수 있음 (kokonect-link/cherrypick#518)
- 캡션을 512자를 초과해서 작성하면 캡션 내용을 저장하기 전에 경고를 표시합니다.
--- ---

View File

@ -1,5 +1,7 @@
--- ---
_lang_: "English" _lang_: "English"
invalidTextLengthError: "Too many characters entered"
invalidTextLengthDescription: "The number of characters is limited to {limitValue} characters. The current number of characters entered is {value} characters."
autoLoadMoreReplies: "Show more automatically replies" autoLoadMoreReplies: "Show more automatically replies"
autoLoadMoreConversation: "Show more conversation automatically" autoLoadMoreConversation: "Show more conversation automatically"
useAutoTranslate: "Automatic translation" useAutoTranslate: "Automatic translation"

8
locales/index.d.ts vendored
View File

@ -13,6 +13,14 @@ export interface Locale extends ILocale {
* *
*/ */
"_lang_": string; "_lang_": string;
/**
*
*/
"invalidTextLengthError": string;
/**
* {limitValue}{value}
*/
"invalidTextLengthDescription": ParameterizedString<"limitValue" | "value">;
/** /**
* *
*/ */

View File

@ -1,5 +1,7 @@
_lang_: "日本語" _lang_: "日本語"
invalidTextLengthError: "入力された文字数が多すぎます"
invalidTextLengthDescription: "文字数が{limitValue}文字に制限されています。現在入力された文字数は{value}文字です。"
autoLoadMoreReplies: "返信を自動でもっと見る" autoLoadMoreReplies: "返信を自動でもっと見る"
autoLoadMoreConversation: "会話を自動でもっと見る" autoLoadMoreConversation: "会話を自動でもっと見る"
useAutoTranslate: "自動翻訳" useAutoTranslate: "自動翻訳"

View File

@ -1,5 +1,7 @@
--- ---
_lang_: "한국어" _lang_: "한국어"
invalidTextLengthError: "입력된 문자수가 너무 많아요"
invalidTextLengthDescription: "문자수가 {limitValue}자로 제한되어 있어요. 현재 입력된 문자수는 {value}자예요."
autoLoadMoreReplies: "답글을 자동으로 더 보기" autoLoadMoreReplies: "답글을 자동으로 더 보기"
autoLoadMoreConversation: "대화를 자동으로 더 보기" autoLoadMoreConversation: "대화를 자동으로 더 보기"
useAutoTranslate: "자동 번역" useAutoTranslate: "자동 번역"

View File

@ -27,6 +27,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<script lang="ts" setup> <script lang="ts" setup>
import { shallowRef, ref } from 'vue'; import { shallowRef, ref } from 'vue';
import * as Misskey from 'cherrypick-js'; import * as Misskey from 'cherrypick-js';
import * as os from '@/os.js';
import MkModalWindow from '@/components/MkModalWindow.vue'; import MkModalWindow from '@/components/MkModalWindow.vue';
import MkTextarea from '@/components/MkTextarea.vue'; import MkTextarea from '@/components/MkTextarea.vue';
import MkDriveFileThumbnail from '@/components/MkDriveFileThumbnail.vue'; import MkDriveFileThumbnail from '@/components/MkDriveFileThumbnail.vue';
@ -47,7 +48,16 @@ const dialog = shallowRef<InstanceType<typeof MkModalWindow>>();
const caption = ref(props.default); const caption = ref(props.default);
async function ok() { async function ok() {
emit('done', caption.value); if (caption.value.length > 512) {
dialog.value?.close(); await os.alert({
type: 'error',
title: i18n.ts.invalidTextLengthError,
text: i18n.tsx.invalidTextLengthDescription({ limitValue: '512', value: caption.value.length }),
});
return;
}
await emit('done', caption.value);
await dialog.value?.close();
} }
</script> </script>