diff options
author | Louis Chemineau <louis@chmn.me> | 2023-04-20 10:14:35 +0200 |
---|---|---|
committer | Louis Chemineau <louis@chmn.me> | 2023-04-20 16:41:02 +0200 |
commit | 6879d1cd72e024827c684615ac1244e927a4abc3 (patch) | |
tree | d71d155643d3ea18cfee43351b4087469f08c004 /src | |
parent | aa05d640f4eb6644b23d52b9aef0ef03ac72964e (diff) |
Limit status message to 500 chars
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'src')
-rw-r--r-- | src/components/Composer/Composer.vue | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/components/Composer/Composer.vue b/src/components/Composer/Composer.vue index e0a77ecc..d3c73e7e 100644 --- a/src/components/Composer/Composer.vue +++ b/src/components/Composer/Composer.vue @@ -68,7 +68,7 @@ :contenteditable="!loading" class="message" placeholder="What would you like to share?" - :class="{'icon-loading': loading}" + :class="{'icon-loading': loading, 'too-long': statusIsTooLong}" @keyup.prevent.enter="keyup" @input="updateStatusContent" @tribute-replaced="updatePostFromTribute" /> @@ -277,12 +277,24 @@ export default { return true } - return !this.statusIsEmpty + if (this.statusIsTooLong) { + return false + } + + if (this.statusIsEmpty) { + return false + } + + return true }, /** @return {boolean} */ statusIsEmpty() { return this.statusContent.length === 0 || this.statusContent === '<br>' }, + + statusIsTooLong() { + return this.statusContent.length > 500 + }, }, mounted() { this.$root.$on('composer-reply', (/** @type {import('../../types/Mastodon.js').Status} */data) => { @@ -518,6 +530,10 @@ export default { min-width: 2px; display: block; + &.too-long { + color: var(--color-error); + } + :deep(.mention) { color: var(--color-primary-element); background-color: var(--color-background-dark); |