Small UI improvements to chat
This commit is contained in:
parent
dc6c2657df
commit
7fde4a0c5c
60 changed files with 133 additions and 96 deletions
4
app/icons/bell-filled.svg
Normal file
4
app/icons/bell-filled.svg
Normal file
|
@ -0,0 +1,4 @@
|
|||
<svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0.883695 15.1157C0.395539 15.6039 0.395539 16.3953 0.883695 16.8835C1.37185 17.3716 2.16331 17.3716 2.65146 16.8835L17.1472 2.38779C17.6353 1.89963 17.6353 1.10818 17.1472 0.620023C16.659 0.131868 15.8675 0.131867 15.3794 0.620023L12.5648 3.43457C12.2468 2.31756 11.2188 1.4996 9.9998 1.4996C8.65952 1.4996 7.55018 2.48838 7.36145 3.77627C5.37149 4.75213 3.9998 6.79795 3.9998 9.16626V11.7983C3.9998 11.8834 3.98414 11.9669 3.95442 12.045L0.883695 15.1157Z" />
|
||||
<path d="M9.9998 18.4996C8.53208 18.4996 7.27537 17.5962 6.75542 16.3151L15.7201 7.35035C15.9018 7.92309 15.9998 8.53315 15.9998 9.16626V11.7983C15.9998 11.9821 16.0728 12.1584 16.2028 12.2884L17.3736 13.4592C17.6596 13.7452 17.7451 14.1753 17.5903 14.5489C17.4356 14.9226 17.0709 15.1663 16.6665 15.1663H13.4959C13.4089 17.0219 11.8769 18.4996 9.9998 18.4996Z" />
|
||||
</svg>
|
After Width: | Height: | Size: 947 B |
11
app/soapbox/components/link.tsx
Normal file
11
app/soapbox/components/link.tsx
Normal file
|
@ -0,0 +1,11 @@
|
|||
import React from 'react';
|
||||
import { Link as Comp, LinkProps } from 'react-router-dom';
|
||||
|
||||
const Link = (props: LinkProps) => (
|
||||
<Comp
|
||||
{...props}
|
||||
className='text-primary-600 dark:text-accent-blue hover:underline'
|
||||
/>
|
||||
);
|
||||
|
||||
export default Link;
|
|
@ -121,7 +121,7 @@ const ChatListItem: React.FC<IChatListItemInterface> = ({ chat, chatSilence, onC
|
|||
|
||||
|
||||
{chatSilence ? (
|
||||
<Icon src={require('@tabler/icons/bell-off.svg')} className='w-5 h-5 text-gray-600' />
|
||||
<Icon src={require('icons/bell-filled.svg')} className='w-5 h-5 text-gray-600' />
|
||||
) : null}
|
||||
|
||||
{chat.last_message && (
|
||||
|
|
|
@ -4,6 +4,7 @@ import { defineMessages, useIntl } from 'react-intl';
|
|||
|
||||
import { openModal } from 'soapbox/actions/modals';
|
||||
import { initReport } from 'soapbox/actions/reports';
|
||||
import Link from 'soapbox/components/link';
|
||||
import { Avatar, Button, HStack, Icon, Stack, Text } from 'soapbox/components/ui';
|
||||
import { useChatContext } from 'soapbox/contexts/chat-context';
|
||||
import { useAppDispatch } from 'soapbox/hooks';
|
||||
|
@ -60,7 +61,10 @@ const ChatMessageListIntro = () => {
|
|||
}
|
||||
>
|
||||
<Stack alignItems='center' space={2}>
|
||||
<Avatar src={chat.account.avatar_static} size={75} />
|
||||
<Link to={`@${chat.account.acct}`}>
|
||||
<Avatar src={chat.account.avatar_static} size={75} />
|
||||
</Link>
|
||||
|
||||
<Text size='lg' align='center'>
|
||||
{needsAcceptance ? (
|
||||
<>
|
||||
|
@ -69,7 +73,9 @@ const ChatMessageListIntro = () => {
|
|||
<Text tag='span'>{intl.formatMessage(messages.intro)}</Text>
|
||||
</>
|
||||
) : (
|
||||
<Text tag='span' weight='semibold'>@{chat.account.acct}</Text>
|
||||
<Link to={`@${chat.account.acct}`}>
|
||||
<Text tag='span' theme='inherit' weight='semibold'>@{chat.account.acct}</Text>
|
||||
</Link>
|
||||
)}
|
||||
</Text>
|
||||
</Stack>
|
||||
|
|
|
@ -3,7 +3,6 @@ import { defineMessages, useIntl } from 'react-intl';
|
|||
|
||||
import { blockAccount } from 'soapbox/actions/accounts';
|
||||
import { openModal } from 'soapbox/actions/modals';
|
||||
import { initReport } from 'soapbox/actions/reports';
|
||||
import List, { ListItem } from 'soapbox/components/list';
|
||||
import { Avatar, Divider, HStack, Icon, IconButton, Menu, MenuButton, MenuItem, MenuList, Stack, Text, Toggle } from 'soapbox/components/ui';
|
||||
import VerificationBadge from 'soapbox/components/verification_badge';
|
||||
|
@ -56,8 +55,6 @@ const ChatPageMain = () => {
|
|||
}));
|
||||
};
|
||||
|
||||
const handleReportChat = () => dispatch(initReport(chat?.account as any));
|
||||
|
||||
useEffect(() => {
|
||||
if (chat?.id) {
|
||||
fetchChatSilence();
|
||||
|
@ -147,17 +144,6 @@ const ChatPageMain = () => {
|
|||
</div>
|
||||
</MenuItem>
|
||||
|
||||
<MenuItem
|
||||
as='button'
|
||||
onSelect={handleReportChat}
|
||||
className='!px-0 hover:!bg-transparent'
|
||||
>
|
||||
<div className='w-full flex items-center space-x-2 font-bold text-sm text-primary-500 dark:text-accent-blue'>
|
||||
<Icon src={require('@tabler/icons/flag.svg')} className='w-5 h-5' />
|
||||
<span>{intl.formatMessage(messages.reportUser, { acct: chat.account.acct })}</span>
|
||||
</div>
|
||||
</MenuItem>
|
||||
|
||||
<MenuItem
|
||||
as='button'
|
||||
onSelect={handleLeaveChat}
|
||||
|
|
|
@ -3,7 +3,6 @@ import { defineMessages, useIntl } from 'react-intl';
|
|||
|
||||
import { blockAccount } from 'soapbox/actions/accounts';
|
||||
import { openModal } from 'soapbox/actions/modals';
|
||||
import { initReport } from 'soapbox/actions/reports';
|
||||
import List, { ListItem } from 'soapbox/components/list';
|
||||
import { Avatar, Divider, HStack, Icon, Stack, Text, Toggle } from 'soapbox/components/ui';
|
||||
import { useChatContext } from 'soapbox/contexts/chat-context';
|
||||
|
@ -21,7 +20,6 @@ const messages = defineMessages({
|
|||
leaveConfirm: { id: 'chat_settings.leave.confirm', defaultMessage: 'Leave Chat' },
|
||||
title: { id: 'chat_settings.title', defaultMessage: 'Chat Details' },
|
||||
blockUser: { id: 'chat_settings.options.block_user', defaultMessage: 'Block @{acct}' },
|
||||
reportUser: { id: 'chat_settings.options.report_user', defaultMessage: 'Report @{acct}' },
|
||||
leaveChat: { id: 'chat_settings.options.leave_chat', defaultMessage: 'Leave Chat' },
|
||||
});
|
||||
|
||||
|
@ -61,8 +59,6 @@ const ChatSettings = () => {
|
|||
}));
|
||||
};
|
||||
|
||||
const handleReportChat = () => dispatch(initReport(chat?.account as any));
|
||||
|
||||
useEffect(() => {
|
||||
if (chat?.id) {
|
||||
fetchChatSilence();
|
||||
|
@ -120,11 +116,6 @@ const ChatSettings = () => {
|
|||
<span>{intl.formatMessage(messages.blockUser, { acct: chat.account.acct })}</span>
|
||||
</button>
|
||||
|
||||
<button onClick={handleReportChat} className='w-full flex items-center space-x-2 font-bold text-sm text-gray-700'>
|
||||
<Icon src={require('@tabler/icons/flag.svg')} className='w-5 h-5 text-gray-600' />
|
||||
<span>{intl.formatMessage(messages.reportUser, { acct: chat.account.acct })}</span>
|
||||
</button>
|
||||
|
||||
<button onClick={handleLeaveChat} className='w-full flex items-center space-x-2 font-bold text-sm text-danger-600'>
|
||||
<Icon src={require('@tabler/icons/logout.svg')} className='w-5 h-5 text-danger-600' />
|
||||
<span>{intl.formatMessage(messages.leaveChat)}</span>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import React, { useRef } from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
import { Avatar, HStack, Icon, Stack, Text } from 'soapbox/components/ui';
|
||||
import VerificationBadge from 'soapbox/components/verification_badge';
|
||||
|
@ -8,6 +9,18 @@ import Chat from './chat';
|
|||
import ChatPaneHeader from './chat-pane-header';
|
||||
import ChatSettings from './chat-settings';
|
||||
|
||||
const LinkWrapper = ({ enabled, to, children }: { enabled: boolean, to: string, children: React.ReactNode }): JSX.Element => {
|
||||
if (!enabled) {
|
||||
return <>{children}</>;
|
||||
}
|
||||
|
||||
return (
|
||||
<Link to={to}>
|
||||
{children}
|
||||
</Link>
|
||||
);
|
||||
};
|
||||
|
||||
/** Floating desktop chat window. */
|
||||
const ChatWindow = () => {
|
||||
const { chat, setChat, isOpen, isEditing, needsAcceptance, setEditing, setSearching, toggleChatPane } = useChatContext();
|
||||
|
@ -54,16 +67,20 @@ const ChatWindow = () => {
|
|||
|
||||
<HStack alignItems='center' space={3}>
|
||||
{isOpen && (
|
||||
<Avatar src={chat.account.avatar} size={40} />
|
||||
<Link to={`@${chat.account.acct}`}>
|
||||
<Avatar src={chat.account.avatar} size={40} />
|
||||
</Link>
|
||||
)}
|
||||
|
||||
<Stack alignItems='start'>
|
||||
<div className='flex items-center space-x-1 flex-grow'>
|
||||
<Text size='sm' weight='bold' truncate>{chat.account.display_name}</Text>
|
||||
{chat.account.verified && <VerificationBadge />}
|
||||
</div>
|
||||
<Text size='sm' weight='medium' theme='primary' truncate>@{chat.account.acct}</Text>
|
||||
</Stack>
|
||||
<LinkWrapper enabled={isOpen} to={`@${chat.account.acct}`}>
|
||||
<Stack alignItems='start'>
|
||||
<div className='flex items-center space-x-1 flex-grow'>
|
||||
<Text size='sm' weight='bold' truncate>{chat.account.display_name}</Text>
|
||||
{chat.account.verified && <VerificationBadge />}
|
||||
</div>
|
||||
<Text size='sm' weight='medium' theme='primary' truncate>@{chat.account.acct}</Text>
|
||||
</Stack>
|
||||
</LinkWrapper>
|
||||
</HStack>
|
||||
</HStack>
|
||||
}
|
||||
|
|
|
@ -5,8 +5,9 @@ import { blockAccount } from 'soapbox/actions/accounts';
|
|||
import { submitReport, submitReportSuccess, submitReportFail } from 'soapbox/actions/reports';
|
||||
import { expandAccountTimeline } from 'soapbox/actions/timelines';
|
||||
import AttachmentThumbs from 'soapbox/components/attachment-thumbs';
|
||||
import List, { ListItem } from 'soapbox/components/list';
|
||||
import StatusContent from 'soapbox/components/status_content';
|
||||
import { Avatar, HStack, Modal, ProgressBar, Stack, Text } from 'soapbox/components/ui';
|
||||
import { Avatar, HStack, Icon, Modal, ProgressBar, Stack, Text } from 'soapbox/components/ui';
|
||||
import AccountContainer from 'soapbox/containers/account_container';
|
||||
import { useAccount, useAppDispatch, useAppSelector } from 'soapbox/hooks';
|
||||
|
||||
|
@ -23,6 +24,8 @@ const messages = defineMessages({
|
|||
close: { id: 'lightbox.close', defaultMessage: 'Close' },
|
||||
placeholder: { id: 'report.placeholder', defaultMessage: 'Additional comments' },
|
||||
submit: { id: 'report.submit', defaultMessage: 'Submit' },
|
||||
reportContext: { id: 'report.chatMessage.context', defaultMessage: 'When reporting a user’s message, the ten messages before and after the one selected will be passed along to our moderation team for context.' },
|
||||
reportMessage: { id: 'report.chatMessage.title', defaultMessage: 'Report message' },
|
||||
});
|
||||
|
||||
enum Steps {
|
||||
|
@ -154,15 +157,25 @@ const ReportModal = ({ onClose }: IReportModal) => {
|
|||
const renderSelectedChatMessage = () => {
|
||||
if (account) {
|
||||
return (
|
||||
<HStack alignItems='center' space={4} className='rounded-md border dark:border-2 border-solid border-gray-400 dark:border-gray-800 p-4'>
|
||||
<div>
|
||||
<Avatar src={account.avatar} className='w-8 h-8' />
|
||||
</div>
|
||||
<Stack space={4}>
|
||||
<HStack alignItems='center' space={4} className='rounded-md border dark:border-2 border-solid border-gray-400 dark:border-gray-800 p-4'>
|
||||
<div>
|
||||
<Avatar src={account.avatar} className='w-8 h-8' />
|
||||
</div>
|
||||
|
||||
<div className='bg-gray-200 dark:bg-primary-800 rounded-md p-4 flex-grow'>
|
||||
<Text dangerouslySetInnerHTML={{ __html: selectedChatMessage?.content as string }} />
|
||||
</div>
|
||||
</HStack>
|
||||
<div className='bg-gray-200 dark:bg-primary-800 rounded-md p-4 flex-grow'>
|
||||
<Text dangerouslySetInnerHTML={{ __html: selectedChatMessage?.content as string }} />
|
||||
</div>
|
||||
</HStack>
|
||||
|
||||
<List>
|
||||
<ListItem
|
||||
label={<Icon src={require('@tabler/icons/info-circle.svg')} className='text-gray-600' />}
|
||||
>
|
||||
<Text size='sm'>{intl.formatMessage(messages.reportContext)}</Text>
|
||||
</ListItem>
|
||||
</List>
|
||||
</Stack>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
@ -176,6 +189,15 @@ const ReportModal = ({ onClose }: IReportModal) => {
|
|||
}
|
||||
};
|
||||
|
||||
const renderTitle = () => {
|
||||
switch (reportedEntity) {
|
||||
case ReportedEntities.ChatMessage:
|
||||
return intl.formatMessage(messages.reportMessage);
|
||||
default:
|
||||
return <FormattedMessage id='report.target' defaultMessage='Reporting {target}' values={{ target: <strong>@{account?.acct}</strong> }} />;
|
||||
}
|
||||
};
|
||||
|
||||
const confirmationText = useMemo(() => {
|
||||
switch (currentStep) {
|
||||
case Steps.TWO:
|
||||
|
@ -222,7 +244,7 @@ const ReportModal = ({ onClose }: IReportModal) => {
|
|||
|
||||
return (
|
||||
<Modal
|
||||
title={<FormattedMessage id='report.target' defaultMessage='Reporting {target}' values={{ target: <strong>@{account.acct}</strong> }} />}
|
||||
title={renderTitle()}
|
||||
onClose={onClose}
|
||||
cancelAction={currentStep === Steps.THREE ? undefined : onClose}
|
||||
confirmationAction={handleNextStep}
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -172,7 +172,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Чат",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
"chat_panels.main_window.title": "Chats",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.attachment": "Attachment",
|
||||
"chats.attachment_image": "Image",
|
||||
"chats.audio_toggle_off": "Audio notification off",
|
||||
|
|
Loading…
Reference in a new issue