Unverified Commit 96d0b1fc authored by Diego Mello's avatar Diego Mello Committed by GitHub
Browse files

[NEW] Message layout (#426)

* message container/component

* Separator component

* Reply

* Url

* tests updated

* Minor changes

* Audio component

* Broadcast button

* Minor touches

* Reply preview

* Edited

* Minor bug fixes

* - Update roadmap
- Bump version to 1.2

* Onboarding styles fix
parent a2ec1e72
......@@ -50,37 +50,35 @@ Readme will guide you on how to config.
### Current priorities
1) Onboarding ([#392][i392])
2) Splash screen ([#399][i399])
3) Add empty chat background ([#398][i398])
4) Rooms list layout ([#395][i395])
5) Create channel layout ([#401][i401])
1) Open PDF and other file types ([#341][i341])
2) [NEW] Commands ([#405][i405])
3) Better message actions ([#329][i329])
4) [NEW] Login/Register/Forgot Password layout ([#400][i400])
### To do
| Task | Status |
|--------------------|-----|
| [NEW] Reply Preview ([#311][i311]) | ✅ |
| Image upload improvements ([#368][i368]) | ✅ |
| [NEW] Onboarding ([#392][i392]) | WIP |
| [NEW] Onboarding ([#392][i392]) | ✅ |
| [NEW] Create channel layout ([#401][i401]) | ✅ |
| [NEW] Splash screen ([#399][i399]) | ✅ |
| [NEW] Add empty chat background ([#398][i398]) | ✅ |
| [NEW] Message layout ([#397][i397]) | ✅ |
| [NEW] Rooms list layout ([#395][i395]) | ✅ |
| Add components to Storybook ([#38][i38]) | WIP |
| Open PDF and other file types ([#341][i341]) | WIP |
| Better message actions ([#329][i329]) | ❌ |
| [NEW] Settings layout ([#396][i396]) | ❌ |
| [NEW] Contextual bar layout ([#402][i402]) | ❌ |
| [NEW] Create channel layout ([#401][i401]) | ❌ |
| [NEW] Login/Register/Forgot Password layout ([#400][i400]) | ❌ |
| [NEW] Splash screen ([#399][i399]) | ❌ |
| [NEW] Add empty chat background ([#398][i398]) | ❌ |
| [NEW] Message layout ([#397][i397]) | ❌ |
| [NEW] Settings layout ([#396][i396]) | ❌ |
| [NEW] Rooms list layout ([#395][i395]) | ❌ |
| [NEW] Commands ([#405][i405]) | ❌ |
| [Android] Add Fastlane ([#404][i404]) | ❌ |
| [Android] Adaptive icons ([#403][i403]) | ❌ |
| [NEW] Auto versioning app on Circle CI ([#393][i393]) | ❌ |
| [Android] Group notifications by room ([#391][i391]) | ❌ |
| Open PDF and other file types ([#341][i341]) | ❌ |
| Better message actions ([#329][i329]) | ❌ |
| Integrate project with code push ([#233][i233]) | ❌ |
| Custom icons ([#210][i210]) | ❌ |
| Share Extension ([#69][i69]) | ❌ |
| Add components to Storybook ([#38][i38]) | ❌ |
| Upload files ([#2][i2]) | ❌ |
[i2]: https://github.com/RocketChat/Rocket.Chat.ReactNative/issues/2
......@@ -124,10 +122,10 @@ Readme will guide you on how to config.
| Messages list: load more on scroll | ✅ |
| Messages list: receive new messages via subscription | ✅ |
| Subscriptions list | ✅ |
| Segmented subscriptions list: Favorites | |
| Segmented subscriptions list: Unreads | |
| Segmented subscriptions list: DMs | |
| Segmented subscriptions list: Channels | |
| Segmented subscriptions list: Favorites | |
| Segmented subscriptions list: Unreads | |
| Segmented subscriptions list: DMs | |
| Segmented subscriptions list: Channels | |
| Subscriptions list: update user status via subscription | ✅ |
| Numbers os messages unread in the Subscriptions list | ✅ |
| Status change | ✅ |
......@@ -205,7 +203,7 @@ Readme will guide you on how to config.
| Localized in Portuguese (pt-BR) | ❌ |
| Localized in Russian | ✅ |
| Localized in English | ✅ |
| Full name setting | |
| Full name setting | |
| Read only rooms | ✅ |
| Typing status | ✅ |
| Create channel/group | ✅ |
......
module.exports = 'test-file-stub';
// @flow
/* eslint-disable */
import I18nJs from 'i18n-js';
I18nJs.locale = 'en'; // a locale from your available translations
export const getLanguages = (): Promise<string[]> => Promise.resolve(['en']);
export default I18nJs;
\ No newline at end of file
export default function() {
return {
show: () => {}
};
}
export default () => 'Video';
export default () => 'Video';
......@@ -13,29 +13,28 @@ import RoomItem from '../app/presentation/RoomItem';
import renderer from 'react-test-renderer';
const date = new Date(2017, 10, 10, 10);
jest.mock('react-native-img-cache', () => { return { CachedImage: 'View' } });
const onPress = () => {};
it('renders correctly', () => {
expect(renderer.create(<Provider store={store}><View><RoomItem type="d" _updatedAt={date} name="name" /></View></Provider>).toJSON()).toMatchSnapshot();
expect(renderer.create(<Provider store={store}><View><RoomItem onPress={onPress} type="d" _updatedAt={date} name="name" baseUrl="baseUrl" /></View></Provider>).toJSON()).toMatchSnapshot();
});
it('render unread', () => {
expect(renderer.create(<Provider store={store}><View><RoomItem type="d" _updatedAt={date} name="name" unread={1} /></View></Provider>).toJSON()).toMatchSnapshot();
expect(renderer.create(<Provider store={store}><View><RoomItem onPress={onPress} type="d" _updatedAt={date} name="name" unread={1} /></View></Provider>).toJSON()).toMatchSnapshot();
});
it('render unread +999', () => {
expect(renderer.create(<Provider store={store}><View><RoomItem type="d" _updatedAt={date} name="name" unread={1000} /></View></Provider>).toJSON()).toMatchSnapshot();
expect(renderer.create(<Provider store={store}><View><RoomItem onPress={onPress} type="d" _updatedAt={date} name="name" unread={1000} /></View></Provider>).toJSON()).toMatchSnapshot();
});
it('render no icon', () => {
expect(renderer.create(<Provider store={store}><View><RoomItem type="X" _updatedAt={date} name="name" /></View></Provider>).toJSON()).toMatchSnapshot();
expect(renderer.create(<Provider store={store}><View><RoomItem onPress={onPress} type="X" _updatedAt={date} name="name" /></View></Provider>).toJSON()).toMatchSnapshot();
});
it('render private group', () => {
expect(renderer.create(<Provider store={store}><View><RoomItem type="g" _updatedAt={date} name="private-group" /> </View></Provider>).toJSON()).toMatchSnapshot();
expect(renderer.create(<Provider store={store}><View><RoomItem onPress={onPress} type="g" _updatedAt={date} name="private-group" /> </View></Provider>).toJSON()).toMatchSnapshot();
});
it('render channel', () => {
expect(renderer.create(<Provider store={store}><View><RoomItem type="c" _updatedAt={date} name="general" /></View></Provider>).toJSON()).toMatchSnapshot();
expect(renderer.create(<Provider store={store}><View><RoomItem onPress={onPress} type="c" _updatedAt={date} name="general" /></View></Provider>).toJSON()).toMatchSnapshot();
});
......@@ -102,7 +102,7 @@ android {
minSdkVersion 19
targetSdkVersion 27
versionCode VERSIONCODE as Integer
versionName "1.1.1"
versionName "1.2"
ndk {
abiFilters "armeabi-v7a", "x86"
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment