feat(chat): polish thread header, emoji picker, and pane gutter
Tier A + B chat-tab visual pass: - Widen the list<->thread gutter (1px -> 10px) for breathing room. - Redesign the thread header: avatar + name on the left with a right-aligned frameless icon toolbar (add-contact/export/mute/hide, each with a tooltip); the name is clipped to the toolbar's left edge so a long contact label can't overrun the icons. - Replace the "Copy Full Address" button with a click-to-copy shortened address (copies the full z-addr), preceded by a key-verify lock whose tooltip shows a comparable identity-key fingerprint. - Show a "Waiting for reply" chip in the header when the peer's identity key isn't known yet. - Emoji picker: frameless grid with tight cells (glyphs fill the cell) and leftover width spread into the column gaps so it stays edge-to-edge. - Larger 30px composer emoji toggle that lights up while the picker is open; footer height + byte-counter centering adjusted to match. New i18n keys (chat_copy_address_tip / chat_verify_key / chat_awaiting_key) added additively to all 8 languages; CJK subset font rebuilt for the new zh glyph. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
@@ -136,9 +136,11 @@
|
||||
"characters": "Zeichen",
|
||||
"chat": "Chat",
|
||||
"chat_add_contact": "Kontakt hinzufügen",
|
||||
"chat_awaiting_key": "Warten auf Antwort",
|
||||
"chat_cancel": "Abbrechen",
|
||||
"chat_contact_added": "Kontakt hinzugefügt – benenne ihn in Kontakte um",
|
||||
"chat_contact_request": "kontaktanfrage",
|
||||
"chat_copy_address_tip": "Zum Kopieren der Adresse klicken",
|
||||
"chat_emoji_search": "Emoji suchen",
|
||||
"chat_empty_hint": "Noch keine Unterhaltungen. Nachrichten, die du erhältst, erscheinen hier.",
|
||||
"chat_empty_start": "Starte eine mit \"Neue Unterhaltung\".",
|
||||
@@ -181,6 +183,7 @@
|
||||
"chat_toast_waiting_reply": "Warte auf die Antwort des Kontakts, bevor du ihm schreiben kannst.",
|
||||
"chat_unhide": "Einblenden",
|
||||
"chat_unmute": "Stummschaltung aufheben",
|
||||
"chat_verify_key": "Identitätsschlüssel – zum Verifizieren vergleichen",
|
||||
"chat_waiting_reply": "Warte auf die Antwort dieses Kontakts – sobald er antwortet, kannst du ihm schreiben.",
|
||||
"chat_you": "Du",
|
||||
"choose_icon": "Symbol wählen",
|
||||
|
||||
@@ -136,9 +136,11 @@
|
||||
"characters": "caracteres",
|
||||
"chat": "Chat",
|
||||
"chat_add_contact": "Añadir contacto",
|
||||
"chat_awaiting_key": "Esperando respuesta",
|
||||
"chat_cancel": "Cancelar",
|
||||
"chat_contact_added": "Contacto añadido: renómbralo en Contactos",
|
||||
"chat_contact_request": "solicitud de contacto",
|
||||
"chat_copy_address_tip": "Clic para copiar la dirección",
|
||||
"chat_emoji_search": "Buscar emoji",
|
||||
"chat_empty_hint": "Aún no hay conversaciones. Los mensajes que recibas aparecerán aquí.",
|
||||
"chat_empty_start": "Inicia una con \"Nueva conversación\".",
|
||||
@@ -181,6 +183,7 @@
|
||||
"chat_toast_waiting_reply": "Espera a que este contacto responda antes de poder escribirle.",
|
||||
"chat_unhide": "Mostrar",
|
||||
"chat_unmute": "Reactivar",
|
||||
"chat_verify_key": "Clave de identidad: compárala para verificar",
|
||||
"chat_waiting_reply": "Esperando a que este contacto responda: podrás escribirle una vez lo haga.",
|
||||
"chat_you": "Tú",
|
||||
"choose_icon": "Elegir Icono",
|
||||
|
||||
@@ -136,9 +136,11 @@
|
||||
"characters": "caractères",
|
||||
"chat": "Discussion",
|
||||
"chat_add_contact": "Ajouter un contact",
|
||||
"chat_awaiting_key": "En attente de réponse",
|
||||
"chat_cancel": "Annuler",
|
||||
"chat_contact_added": "Contact ajouté — renommez-le dans Contacts",
|
||||
"chat_contact_request": "demande de contact",
|
||||
"chat_copy_address_tip": "Cliquer pour copier l'adresse",
|
||||
"chat_emoji_search": "Rechercher un emoji",
|
||||
"chat_empty_hint": "Aucune conversation pour l'instant. Les messages que vous recevez apparaîtront ici.",
|
||||
"chat_empty_start": "Commencez-en une avec « Nouvelle conversation ».",
|
||||
@@ -181,6 +183,7 @@
|
||||
"chat_toast_waiting_reply": "En attente de la réponse de ce contact avant de pouvoir lui écrire.",
|
||||
"chat_unhide": "Afficher",
|
||||
"chat_unmute": "Réactiver",
|
||||
"chat_verify_key": "Clé d'identité — comparez pour vérifier",
|
||||
"chat_waiting_reply": "En attente de la réponse de ce contact — vous pourrez lui écrire dès qu'il aura répondu.",
|
||||
"chat_you": "Vous",
|
||||
"choose_icon": "Choisir une icône",
|
||||
|
||||
@@ -136,9 +136,11 @@
|
||||
"characters": "文字",
|
||||
"chat": "チャット",
|
||||
"chat_add_contact": "連絡先に追加",
|
||||
"chat_awaiting_key": "返信待ち",
|
||||
"chat_cancel": "キャンセル",
|
||||
"chat_contact_added": "連絡先を追加しました — 連絡先で名前を変更できます",
|
||||
"chat_contact_request": "連絡リクエスト",
|
||||
"chat_copy_address_tip": "クリックしてアドレスをコピー",
|
||||
"chat_emoji_search": "絵文字を検索",
|
||||
"chat_empty_hint": "まだ会話はありません。受信したメッセージはここに表示されます。",
|
||||
"chat_empty_start": "「新しい会話」から始めましょう。",
|
||||
@@ -181,6 +183,7 @@
|
||||
"chat_toast_waiting_reply": "メッセージを送るには、この相手からの返信を待つ必要があります。",
|
||||
"chat_unhide": "再表示",
|
||||
"chat_unmute": "ミュート解除",
|
||||
"chat_verify_key": "識別鍵 — 照合して確認",
|
||||
"chat_waiting_reply": "この相手からの返信を待っています — 返信があればメッセージを送れます。",
|
||||
"chat_you": "自分",
|
||||
"choose_icon": "アイコンを選択",
|
||||
|
||||
@@ -136,9 +136,11 @@
|
||||
"characters": "문자",
|
||||
"chat": "채팅",
|
||||
"chat_add_contact": "연락처 추가",
|
||||
"chat_awaiting_key": "답장 대기 중",
|
||||
"chat_cancel": "취소",
|
||||
"chat_contact_added": "연락처 추가됨 — 연락처에서 이름을 변경하세요",
|
||||
"chat_contact_request": "연락 요청",
|
||||
"chat_copy_address_tip": "클릭하여 주소 복사",
|
||||
"chat_emoji_search": "이모지 검색",
|
||||
"chat_empty_hint": "아직 대화가 없습니다. 받은 메시지가 여기에 표시됩니다.",
|
||||
"chat_empty_start": "\"새 대화\"로 시작하세요.",
|
||||
@@ -181,6 +183,7 @@
|
||||
"chat_toast_waiting_reply": "상대방이 답장해야 메시지를 보낼 수 있습니다.",
|
||||
"chat_unhide": "다시 표시",
|
||||
"chat_unmute": "음소거 해제",
|
||||
"chat_verify_key": "신원 키 — 비교하여 확인",
|
||||
"chat_waiting_reply": "상대방의 답장을 기다리는 중입니다 — 답장하면 메시지를 보낼 수 있습니다.",
|
||||
"chat_you": "나",
|
||||
"choose_icon": "아이콘 선택",
|
||||
|
||||
@@ -136,9 +136,11 @@
|
||||
"characters": "caracteres",
|
||||
"chat": "Chat",
|
||||
"chat_add_contact": "Adicionar contato",
|
||||
"chat_awaiting_key": "Aguardando resposta",
|
||||
"chat_cancel": "Cancelar",
|
||||
"chat_contact_added": "Contato adicionado — renomeie em Contatos",
|
||||
"chat_contact_request": "solicitação de contato",
|
||||
"chat_copy_address_tip": "Clique para copiar o endereço",
|
||||
"chat_emoji_search": "Pesquisar emoji",
|
||||
"chat_empty_hint": "Nenhuma conversa ainda. As mensagens que você receber aparecerão aqui.",
|
||||
"chat_empty_start": "Inicie uma com \"Nova conversa\".",
|
||||
@@ -181,6 +183,7 @@
|
||||
"chat_toast_waiting_reply": "Aguardando a resposta do contato antes que você possa enviar mensagens a ele.",
|
||||
"chat_unhide": "Mostrar",
|
||||
"chat_unmute": "Reativar som",
|
||||
"chat_verify_key": "Chave de identidade — compare para verificar",
|
||||
"chat_waiting_reply": "Aguardando a resposta deste contato — você poderá enviar mensagens assim que ele responder.",
|
||||
"chat_you": "Você",
|
||||
"choose_icon": "Escolher Ícone",
|
||||
|
||||
@@ -136,9 +136,11 @@
|
||||
"characters": "символов",
|
||||
"chat": "Чат",
|
||||
"chat_add_contact": "Добавить контакт",
|
||||
"chat_awaiting_key": "Ожидание ответа",
|
||||
"chat_cancel": "Отмена",
|
||||
"chat_contact_added": "Контакт добавлен — переименуйте его в Контактах",
|
||||
"chat_contact_request": "запрос контакта",
|
||||
"chat_copy_address_tip": "Нажмите, чтобы скопировать адрес",
|
||||
"chat_emoji_search": "Поиск эмодзи",
|
||||
"chat_empty_hint": "Пока нет переписок. Полученные сообщения появятся здесь.",
|
||||
"chat_empty_start": "Начните новый с помощью «Новый разговор».",
|
||||
@@ -181,6 +183,7 @@
|
||||
"chat_toast_waiting_reply": "Ожидание ответа от контакта — вы сможете писать ему только после этого.",
|
||||
"chat_unhide": "Показать",
|
||||
"chat_unmute": "Включить уведомления",
|
||||
"chat_verify_key": "Ключ личности — сравните для проверки",
|
||||
"chat_waiting_reply": "Ожидание ответа от контакта — вы сможете писать ему, как только он ответит.",
|
||||
"chat_you": "Вы",
|
||||
"choose_icon": "Выбрать иконку",
|
||||
|
||||
@@ -136,9 +136,11 @@
|
||||
"characters": "字符",
|
||||
"chat": "聊天",
|
||||
"chat_add_contact": "添加联系人",
|
||||
"chat_awaiting_key": "等待回复",
|
||||
"chat_cancel": "取消",
|
||||
"chat_contact_added": "已添加联系人——可在联系人中重命名",
|
||||
"chat_contact_request": "联系人请求",
|
||||
"chat_copy_address_tip": "点击复制地址",
|
||||
"chat_emoji_search": "搜索表情",
|
||||
"chat_empty_hint": "暂无对话。您收到的消息将显示在此处。",
|
||||
"chat_empty_start": "点击\"新建会话\"开始。",
|
||||
@@ -181,6 +183,7 @@
|
||||
"chat_toast_waiting_reply": "等待该联系人回复——对方回复后您即可向其发送消息。",
|
||||
"chat_unhide": "取消隐藏",
|
||||
"chat_unmute": "取消静音",
|
||||
"chat_verify_key": "身份密钥 — 对比以验证",
|
||||
"chat_waiting_reply": "等待该联系人回复——对方回复后您即可向其发送消息。",
|
||||
"chat_you": "我",
|
||||
"choose_icon": "选择图标",
|
||||
|
||||
Reference in New Issue
Block a user