Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/containers/UIKit/MultiSelect/Chips.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const Chip = ({ item, onSelect, theme }) => (
>
<>
{item.imageUrl ? <Image style={styles.chipImage} source={{ uri: item.imageUrl }} /> : null}
<Text style={[styles.chipText, { color: themes[theme].titleText }]}>{textParser([item.text])}</Text>
<Text numberOfLines={1} style={[styles.chipText, { color: themes[theme].titleText }]}>{textParser([item.text])}</Text>
<CustomIcon name='cross' size={16} color={themes[theme].auxiliaryText} />
</>
</Touchable>
Expand Down
6 changes: 6 additions & 0 deletions app/containers/UIKit/MultiSelect/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ export const MultiSelect = React.memo(({
const [currentValue, setCurrentValue] = useState('');
const [showContent, setShowContent] = useState(false);

useEffect(() => {
if (values) {
select(values);
}
}, [values]);

useEffect(() => {
setOpen(showContent);
}, [showContent]);
Expand Down
4 changes: 3 additions & 1 deletion app/containers/UIKit/MultiSelect/styles.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ export default StyleSheet.create({
},
item: {
height: 48,
maxWidth: '85%',
alignItems: 'center',
flexDirection: 'row'
},
Expand All @@ -59,7 +60,7 @@ export default StyleSheet.create({
chips: {
flexDirection: 'row',
flexWrap: 'wrap',
marginRight: 16
marginRight: 50
},
chip: {
flexDirection: 'row',
Expand All @@ -72,6 +73,7 @@ export default StyleSheet.create({
},
chipText: {
paddingHorizontal: 8,
flexShrink: 1,
...sharedStyles.textMedium,
fontSize: 14
},
Expand Down
17 changes: 17 additions & 0 deletions app/i18n/locales/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,21 @@ export default {
Has_joined_the_channel: 'Has joined the channel',
Has_joined_the_conversation: 'Has joined the conversation',
Has_left_the_channel: 'Has left the channel',
Hide_System_Messages: 'Hide System Messages',
Hide_type_messages: 'Hide "{{type}}" messages',
Message_HideType_uj: 'User Join',
Message_HideType_ul: 'User Leave',
Message_HideType_ru: 'User Removed',
Message_HideType_au: 'User Added',
Message_HideType_mute_unmute: 'User Muted / Unmuted',
Message_HideType_r: 'Room Name Changed',
Message_HideType_ut: 'User Joined Conversation',
Message_HideType_wm: 'Welcome',
Message_HideType_rm: 'Message Removed',
Message_HideType_subscription_role_added: 'Was Set Role',
Message_HideType_subscription_role_removed: 'Role No Longer Defined',
Message_HideType_room_archived: 'Room Archived',
Message_HideType_room_unarchived: 'Room Unarchived',
In_app: 'In-app',
IN_APP_AND_DESKTOP: 'IN-APP AND DESKTOP',
In_App_and_Desktop_Alert_info: 'Displays a banner at the top of the screen when app is open, and displays a notification on desktop',
Expand Down Expand Up @@ -295,6 +310,7 @@ export default {
Only_authorized_users_can_write_new_messages: 'Only authorized users can write new messages',
Open_emoji_selector: 'Open emoji selector',
Open_Source_Communication: 'Open Source Communication',
Overwrites_the_server_configuration_and_use_room_config: 'Overwrites the server configuration and use room config',
Password: 'Password',
Permalink_copied_to_clipboard: 'Permalink copied to clipboard!',
Pin: 'Pin',
Expand Down Expand Up @@ -454,6 +470,7 @@ export default {
Username_is_empty: 'Username is empty',
Username: 'Username',
Username_or_email: 'Username or email',
Uses_server_configuration: 'Uses server configuration',
Validating: 'Validating',
Verify_email_title: 'Registration Succeeded!',
Verify_email_desc: 'We have sent you an email to confirm your registration. If you do not receive an email shortly, please come back and try again.',
Expand Down
17 changes: 17 additions & 0 deletions app/i18n/locales/pt-BR.js
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,21 @@ export default {
Has_joined_the_channel: 'Entrou no canal',
Has_joined_the_conversation: 'Entrou na conversa',
Has_left_the_channel: 'Saiu da conversa',
Hide_System_Messages: 'Esconder mensagens do sistema',
Hide_type_messages: 'Esconder mensagens de "{{type}}"',
Message_HideType_uj: 'Utilizador Entrou',
Message_HideType_ul: 'Utilizador Saiu',
Message_HideType_ru: 'Utilizador Removido',
Message_HideType_au: 'Utilizador adicionado',
Message_HideType_mute_unmute: 'Utilizador Silenciado',
Message_HideType_r: 'Nome da sala alterado',
Message_HideType_ut: 'Utilizador adicionado ao bate-papo',
Message_HideType_wm: 'Bem Vindo',
Message_HideType_rm: 'Mensagem Removida',
Message_HideType_subscription_role_added: 'Papel atribuído',
Message_HideType_subscription_role_removed: 'Papel removido',
Message_HideType_room_archived: 'Sala arquivada',
Message_HideType_room_unarchived: 'Sala desarquivada',
In_app: 'No app',
Invisible: 'Invisível',
Invite: 'Convidar',
Expand Down Expand Up @@ -271,6 +286,7 @@ export default {
Only_authorized_users_can_write_new_messages: 'Somente usuários autorizados podem escrever novas mensagens',
Open_emoji_selector: 'Abrir seletor de emoji',
Open_Source_Communication: 'Comunicação Open Source',
Overwrites_the_server_configuration_and_use_room_config: 'Substituir a configuração do servidor e usar a configuração da sala',
Password: 'Senha',
Permalink_copied_to_clipboard: 'Link-permanente copiado para a área de transferência!',
Pin: 'Fixar',
Expand Down Expand Up @@ -409,6 +425,7 @@ export default {
Username_is_empty: 'Usuário está vazio',
Username: 'Usuário',
Username_or_email: 'Usuário ou email',
Uses_server_configuration: 'Usar configuração do servidor',
Verify_email_title: 'Registrado com sucesso!',
Verify_email_desc: 'Nós lhe enviamos um e-mail para confirmar o seu registro. Se você não receber um e-mail em breve, por favor retorne e tente novamente.',
Video_call: 'Chamada de vídeo',
Expand Down
2 changes: 2 additions & 0 deletions app/lib/database/model/Subscription.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,6 @@ export default class Subscription extends Model {
@children('thread_messages') threadMessages;

@field('hide_unread_status') hideUnreadStatus;

@json('sys_mes', sanitizer) sysMes;
}
11 changes: 11 additions & 0 deletions app/lib/database/model/migrations.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,17 @@ export default schemaMigrations({
]
})
]
},
{
toVersion: 6,
steps: [
addColumns({
table: 'subscriptions',
columns: [
{ name: 'sys_mes', type: 'string', isOptional: true }
]
})
]
}
]
});
5 changes: 3 additions & 2 deletions app/lib/database/schema/app.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { appSchema, tableSchema } from '@nozbe/watermelondb';

export default appSchema({
version: 5,
version: 6,
tables: [
tableSchema({
name: 'subscriptions',
Expand Down Expand Up @@ -39,7 +39,8 @@ export default appSchema({
{ name: 'jitsi_timeout', type: 'number', isOptional: true },
{ name: 'auto_translate', type: 'boolean', isOptional: true },
{ name: 'auto_translate_language', type: 'string' },
{ name: 'hide_unread_status', type: 'boolean', isOptional: true }
{ name: 'hide_unread_status', type: 'boolean', isOptional: true },
{ name: 'sys_mes', type: 'string', isOptional: true }
]
}),
tableSchema({
Expand Down
1 change: 1 addition & 0 deletions app/lib/methods/helpers/mergeSubscriptionsRooms.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ export const merge = (subscription, room) => {
} else {
subscription.muted = [];
}
subscription.sysMes = room.sysMes;
}

if (!subscription.name) {
Expand Down
42 changes: 42 additions & 0 deletions app/utils/messageTypes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
export const MessageTypeValues = [
{
value: 'uj',
text: 'Message_HideType_uj'
}, {
value: 'ul',
text: 'Message_HideType_ul'
}, {
value: 'ru',
text: 'Message_HideType_ru'
}, {
value: 'au',
text: 'Message_HideType_au'
}, {
value: 'mute_unmute',
text: 'Message_HideType_mute_unmute'
}, {
value: 'r',
text: 'Message_HideType_r'
}, {
value: 'ut',
text: 'Message_HideType_ut'
}, {
value: 'wm',
text: 'Message_HideType_wm'
}, {
value: 'rm',
text: 'Message_HideType_rm'
}, {
value: 'subscription_role_added',
text: 'Message_HideType_subscription_role_added'
}, {
value: 'subscription_role_removed',
text: 'Message_HideType_subscription_role_removed'
}, {
value: 'room_archived',
text: 'Message_HideType_room_archived'
}, {
value: 'room_unarchived',
text: 'Message_HideType_room_unarchived'
}
];
87 changes: 46 additions & 41 deletions app/views/RoomInfoEditView/SwitchContainer.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,45 +5,50 @@ import PropTypes from 'prop-types';
import styles from './styles';
import { SWITCH_TRACK_COLOR, themes } from '../../constants/colors';

export default class SwitchContainer extends React.PureComponent {
static propTypes = {
value: PropTypes.bool,
disabled: PropTypes.bool,
leftLabelPrimary: PropTypes.string,
leftLabelSecondary: PropTypes.string,
rightLabelPrimary: PropTypes.string,
rightLabelSecondary: PropTypes.string,
onValueChange: PropTypes.func,
theme: PropTypes.string,
testID: PropTypes.string
}
const SwitchContainer = React.memo(({
children, value, disabled, onValueChange, leftLabelPrimary, leftLabelSecondary, rightLabelPrimary, rightLabelSecondary, theme, testID, labelContainerStyle, leftLabelStyle
}) => (
<>
<View key='switch-container' style={[styles.switchContainer, children && styles.switchMargin]}>
{leftLabelPrimary && (
<View style={[styles.switchLabelContainer, labelContainerStyle]}>
<Text style={[styles.switchLabelPrimary, { color: themes[theme].titleText }, leftLabelStyle]}>{leftLabelPrimary}</Text>
<Text style={[styles.switchLabelSecondary, { color: themes[theme].titleText }, leftLabelStyle]}>{leftLabelSecondary}</Text>
</View>
)}
<Switch
style={styles.switch}
onValueChange={onValueChange}
value={value}
disabled={disabled}
trackColor={SWITCH_TRACK_COLOR}
testID={testID}
/>
{rightLabelPrimary && (
<View style={[styles.switchLabelContainer, labelContainerStyle]}>
<Text style={[styles.switchLabelPrimary, { color: themes[theme].titleText }, leftLabelStyle]}>{rightLabelPrimary}</Text>
<Text style={[styles.switchLabelSecondary, { color: themes[theme].titleText }, leftLabelStyle]}>{rightLabelSecondary}</Text>
</View>
)}
</View>
{children}
<View key='switch-divider' style={[styles.divider, { borderColor: themes[theme].separatorColor }]} />
</>
));

render() {
const {
value, disabled, onValueChange, leftLabelPrimary, leftLabelSecondary, rightLabelPrimary, rightLabelSecondary, theme, testID
} = this.props;
return (
[
<View key='switch-container' style={styles.switchContainer}>
<View style={styles.switchLabelContainer}>
<Text style={[styles.switchLabelPrimary, { color: themes[theme].titleText }]}>{leftLabelPrimary}</Text>
<Text style={[styles.switchLabelSecondary, { color: themes[theme].titleText }]}>{leftLabelSecondary}</Text>
</View>
<Switch
style={styles.switch}
onValueChange={onValueChange}
value={value}
disabled={disabled}
trackColor={SWITCH_TRACK_COLOR}
testID={testID}
/>
<View style={styles.switchLabelContainer}>
<Text style={[styles.switchLabelPrimary, { color: themes[theme].titleText }]}>{rightLabelPrimary}</Text>
<Text style={[styles.switchLabelSecondary, { color: themes[theme].titleText }]}>{rightLabelSecondary}</Text>
</View>
</View>,
<View key='switch-divider' style={[styles.divider, { borderColor: themes[theme].separatorColor }]} />
]
);
}
}
SwitchContainer.propTypes = {
value: PropTypes.bool,
disabled: PropTypes.bool,
leftLabelPrimary: PropTypes.string,
leftLabelSecondary: PropTypes.string,
rightLabelPrimary: PropTypes.string,
rightLabelSecondary: PropTypes.string,
onValueChange: PropTypes.func,
theme: PropTypes.string,
testID: PropTypes.string,
labelContainerStyle: PropTypes.object,
leftLabelStyle: PropTypes.object,
children: PropTypes.any
};

export default SwitchContainer;
Loading