fix(composer): shorten long input placeholders and split the mirror joke across the rotation so phrases no longer truncate

This commit is contained in:
heaven 2026-05-31 23:11:18 +03:00
parent 7f1f40f3c7
commit a5fcce4d77
3 changed files with 20 additions and 13 deletions

View file

@ -505,12 +505,13 @@
"send_message_alt_3": "Don't keep me waiting, type...",
"send_message_alt_4": "This line won't fill itself...",
"send_message_alt_5": "So... what's it gonna be?..",
"send_message_alt_6": "Nobody reads placeholders. But you did...",
"send_message_alt_6": "Nobody reads placeholders...",
"send_message_alt_7": "Letters here, please...",
"send_message_alt_8": "You stare at the placeholder. The placeholder stares back...",
"send_message_alt_9": "Congrats, you're in the 3% who read placeholders...",
"send_message_alt_8": "You stare at the placeholder...",
"send_message_alt_9": "You're in the 3% who read these...",
"send_message_alt_10": "Fine, I'll wait... and wait...",
"send_message_alt_11": "After you...",
"send_message_alt_12": "The placeholder stares back...",
"drop_files": "Drop Files in \"{{name}}\"",
"drag_drop_desc": "Drag and drop files here or click for selection dialog",
"pinned_messages": "Pinned Messages",

View file

@ -513,14 +513,15 @@
"send_message_alt_1": "В одну строку или несколько...",
"send_message_alt_2": "Написать в эту минуту...",
"send_message_alt_3": "Не томи, пиши...",
"send_message_alt_4": "Эта строка сама себя не заполнит...",
"send_message_alt_4": "Строка сама себя не заполнит...",
"send_message_alt_5": "Ну так что?..",
"send_message_alt_6": "Никто не читает плейсхолдеры. Но вы прочитали...",
"send_message_alt_6": "Никто не читает плейсхолдеры...",
"send_message_alt_7": "Сюда буквы, пожалуйста...",
"send_message_alt_8": "Вы смотрите на плейсхолдер. Плейсхолдер смотрит на вас...",
"send_message_alt_9": "Поздравляю, вы в 3% людей, читающих плейсхолдеры...",
"send_message_alt_8": "Вы смотрите на плейсхолдер...",
"send_message_alt_9": "Вы в 3% читающих плейсхолдеры...",
"send_message_alt_10": "Ну я подожду, подожду...",
"send_message_alt_11": "Только после вас...",
"send_message_alt_12": "Плейсхолдер смотрит на вас...",
"drop_files": "Перетащите файлы в \"{{name}}\"",
"drag_drop_desc": "Перетащите файлы сюда или нажмите для выбора",
"pinned_messages": "Закреплённые сообщения",

View file

@ -121,12 +121,16 @@ import { usePowerLevelTags } from '../../hooks/usePowerLevelTags';
import { useComposingCheck } from '../../hooks/useComposingCheck';
import { pendingShareAtom } from '../../state/pendingShare';
// Placeholder rotation set — 12 i18n keys (1 default + 11 alternates) under
// the `Room` namespace; the hour-of-day slot picks one. With 12 variants
// over 24 hours each variant occupies two specific hour slots per day, so
// the placeholder is stable within an hour and a user is most likely to
// notice the change when they navigate to another room across an hour
// boundary. Keep this list in sync with `public/locales/{en,ru}.json`
// Placeholder rotation set — 13 i18n keys (1 default + 12 alternates) under
// the `Room` namespace; the hour-of-day slot picks one. The two-beat joke is
// split across two entries on purpose (alt_8 "Вы смотрите на плейсхолдер…" /
// alt_12 "Плейсхолдер смотрит на вас…"): rotation surfaces one half at one
// hour and the other half at another, so the gag plays out across the day
// instead of overflowing one line. Every entry is kept short enough to fit
// the composer on narrow screens without truncation. With the variants
// spread over 24 hours each is stable within an hour and a user is most
// likely to notice the change when they navigate to another room across an
// hour boundary. Keep this list in sync with `public/locales/{en,ru}.json`
// `Room.send_message*` entries.
const COMPOSER_PLACEHOLDER_KEYS = [
'Room.send_message',
@ -141,6 +145,7 @@ const COMPOSER_PLACEHOLDER_KEYS = [
'Room.send_message_alt_9',
'Room.send_message_alt_10',
'Room.send_message_alt_11',
'Room.send_message_alt_12',
] as const;
// Composer action-row icons — stroke-based outline style from the Dawn