diff --git a/__tests__/__snapshots__/Storyshots.test.js.snap b/__tests__/__snapshots__/Storyshots.test.js.snap index 84457cec0..fc2569dd2 100644 --- a/__tests__/__snapshots__/Storyshots.test.js.snap +++ b/__tests__/__snapshots__/Storyshots.test.js.snap @@ -20361,6 +20361,15 @@ exports[`Storyshots Message Colored attachments 1`] = ` } } > + + + `; +exports[`Storyshots Message Show a button as attachment 1`] = ` + + + + + + + + + + + + + + + + + + diego.mello + + + + 10:00 AM + + + + + Test Button + + + + Text button + + + + + + + + + +`; + exports[`Storyshots Message Static avatar 1`] = ` `; +exports[`Storyshots Message Thumbnail from server 1`] = ` + + + + + + + + + + + + + + + + + + diego.mello + + + + 10:00 AM + + + + + + this is a thumbnail + + + + + + + + Title + + + + + + + + Image text + + + + + + + + + + + +`; + exports[`Storyshots Message Time format 1`] = ` + + + + + Short Text + + + + + + + + Long Text + + + + + + +`; + exports[`Storyshots Thread Messages.Item badge 1`] = ` diff --git a/android/app/build.gradle b/android/app/build.gradle index b25b12f7c..014fc1950 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -144,7 +144,7 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode VERSIONCODE as Integer - versionName "4.19.0" + versionName "4.20.0" vectorDrawables.useSupportLibrary = true if (!isFoss) { manifestPlaceholders = [BugsnagAPIKey: BugsnagAPIKey as String] diff --git a/android/build.gradle b/android/build.gradle index b0bc7a666..8c987ef86 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -18,7 +18,7 @@ buildscript { supportLibVersion = "28.0.0" libre_build = !(isPlay.toBoolean()) jitsi_url = isPlay ? "https://github.com/RocketChat/jitsi-maven-repository/raw/master/releases" : "https://github.com/RocketChat/jitsi-maven-repository/raw/libre/releases" - jitsi_version = isPlay ? "2.10.2" : "2.10.0-libre" + jitsi_version = isPlay ? "3.6.0" : "3.6.0-libre" } repositories { diff --git a/app/actions/actionsTypes.js b/app/actions/actionsTypes.js index 0790b7bad..70555acb8 100644 --- a/app/actions/actionsTypes.js +++ b/app/actions/actionsTypes.js @@ -53,8 +53,6 @@ export const LOGOUT = 'LOGOUT'; // logout is always success export const SNIPPETED_MESSAGES = createRequestTypes('SNIPPETED_MESSAGES', ['OPEN', 'READY', 'CLOSE', 'MESSAGES_RECEIVED']); export const DEEP_LINKING = createRequestTypes('DEEP_LINKING', ['OPEN']); export const SORT_PREFERENCES = createRequestTypes('SORT_PREFERENCES', ['SET_ALL', 'SET']); -export const TOGGLE_CRASH_REPORT = 'TOGGLE_CRASH_REPORT'; -export const TOGGLE_ANALYTICS_EVENTS = 'TOGGLE_ANALYTICS_EVENTS'; export const SET_CUSTOM_EMOJIS = 'SET_CUSTOM_EMOJIS'; export const SET_ACTIVE_USERS = 'SET_ACTIVE_USERS'; export const USERS_TYPING = createRequestTypes('USERS_TYPING', ['ADD', 'REMOVE', 'CLEAR']); diff --git a/app/actions/crashReport.js b/app/actions/crashReport.js deleted file mode 100644 index 8577b33e7..000000000 --- a/app/actions/crashReport.js +++ /dev/null @@ -1,15 +0,0 @@ -import * as types from './actionsTypes'; - -export function toggleCrashReport(value) { - return { - type: types.TOGGLE_CRASH_REPORT, - payload: value - }; -} - -export function toggleAnalyticsEvents(value) { - return { - type: types.TOGGLE_ANALYTICS_EVENTS, - payload: value - }; -} diff --git a/app/containers/TextInput.js b/app/containers/TextInput.js index eb119218f..9bb62de33 100644 --- a/app/containers/TextInput.js +++ b/app/containers/TextInput.js @@ -26,7 +26,7 @@ const styles = StyleSheet.create({ ...sharedStyles.textRegular, height: 48, fontSize: 16, - paddingHorizontal: 14, + padding: 14, borderWidth: StyleSheet.hairlineWidth, borderRadius: 2 }, diff --git a/app/containers/TextInput.stories.js b/app/containers/TextInput.stories.js new file mode 100644 index 000000000..6c802cc30 --- /dev/null +++ b/app/containers/TextInput.stories.js @@ -0,0 +1,43 @@ +/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions, react/prop-types */ +import React from 'react'; +import { storiesOf } from '@storybook/react-native'; + +import { View, StyleSheet } from 'react-native'; +import TextInput from './TextInput'; + +const styles = StyleSheet.create({ + paddingHorizontal: { + paddingHorizontal: 14 + } +}); + +const stories = storiesOf('Text Input', module); + +const item = { + name: 'Rocket.Chat', + longText: 'https://open.rocket.chat/images/logo/android-chrome-512x512.png' +}; + +const theme = 'light'; + + +stories.add('Short and Long Text', () => ( + <> + + + + + + +)); + diff --git a/app/containers/UIKit/MultiSelect/index.js b/app/containers/UIKit/MultiSelect/index.js index 0d366b6d7..d1e42aaa5 100644 --- a/app/containers/UIKit/MultiSelect/index.js +++ b/app/containers/UIKit/MultiSelect/index.js @@ -157,7 +157,7 @@ export const MultiSelect = React.memo(({ disabled={disabled} inputStyle={inputStyle} > - {items.length ? : {placeholder.text}} + {items.length ? (disabled ? {} : onSelect(item))} theme={theme} /> : {placeholder.text}} ); } diff --git a/app/containers/message/Attachments.js b/app/containers/message/Attachments.js index 0d068e9fd..0600e6d69 100644 --- a/app/containers/message/Attachments.js +++ b/app/containers/message/Attachments.js @@ -1,11 +1,35 @@ -import React from 'react'; +import React, { useContext } from 'react'; import { dequal } from 'dequal'; import PropTypes from 'prop-types'; +import { Text } from 'react-native'; import Image from './Image'; import Audio from './Audio'; import Video from './Video'; import Reply from './Reply'; +import Button from '../Button'; +import styles from './styles'; +import MessageContext from './Context'; + +const AttachedActions = ({ + attachment, theme +}) => { + const { onAnswerButtonPress } = useContext(MessageContext); + + const attachedButtons = attachment.actions.map((element) => { + if (element.type === 'button') { + return