From ed3868eeb16872d637c941a208adfb3da6311e82 Mon Sep 17 00:00:00 2001 From: Diego Mello Date: Mon, 28 Mar 2022 15:14:26 -0300 Subject: [PATCH] Merge 4.26.0 into master (#3978) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * test * Remove console.log * test * [FIX] StoryShots not working for async rendered components (#3677) * remove console.log * Add missing DiscussionsView snapshot * fix build and useless done and async generator * update snapshot * Chore: fix build and useless done and async generator (#3678) * fix build and useless done and async generator * update snapshot * Chore: Migrate Database to Typescript (#3580) Co-authored-by: Gleidson Daniel Silva Co-authored-by: Diego Mello * Chore: Migrate redux module permissions to typescript (#3630) * Chore: Migrate redux module share to typescript (#3612) * chore: migrate redux module share to typescript * chore: fix types * chore: update types * chore: migrate redux module share to typescript * remove double import * chore: fix import * Chore: Migrate redux module createChannel to typescript (#3602) * chore: migrate createChannel to ts and add tests * chore: fix naming * chore: add more types and remove mapDispatchToProps from components * remove todo * update tests * chore: migrate interface to reducer and fix errors on return * chore: insert IApplicationState to mapStateToProps state type * Remove spread * fix type * fix import and state type Co-authored-by: Diego Mello * Chore: Migrate redux module app to typescript (#3598) * chore: migrate activeUsers reducer and action to TS * chore: init types folder and set redux and BaseScreen interface * chore: remove mapDispatchToProps to use dispatch prop and clear some types * chore: type selectedUsers action and reducer and improvement in the code of other files * chore: move IUser to base types * chore: move state props to ISelectedUsersViewProps * chore: create mocketStore * chore: remove applyAppStateMiddleware * test: create activeUser and selectedUser tests * test: add more selectedUsers tests * chore: fix action type * chore: move types to definition folder and fix imports * chore: remove unused const * chore: migrate redux tests to reducer folder and add eslint jest plugin * chore: exprot initial state and then import on tests * chore: move interfaces to reducer and import on screen * chore: set eslint-plugin-jest version to 24.7.0 * chore: fix IUser import * chore: update interfaces and types names * chore: update definitions * chore: update IBaseScreen definitions * chore: init reducer/app migration to ts * chore: add tests and migrate RootEnum * wip: migrate fixed consts to RootEnum * chore: remove redux action inferences * fix types Co-authored-by: Diego Mello * Chore: Migrate redux module createDiscussion to typescript (#3604) * chore: migrate createDiscussion to ts and add tests * chore: add TActionCreateDiscussion to TApplicationActions * fix types * update types * fix types Co-authored-by: Diego Mello * [FIX] ios-testflight-experimental unable to find cache (#3684) * Chore: Remove Non-null assertion operator in ThreadMessagesView (#3632) Co-authored-by: Diego Mello * Chore: Migrate CannedResponsesListView to Typescript (#3553) * Chore: Migrate CannedResponsesListView to TS * Moved IcannedResponse to definitions and fixed the index * Chore: Migrate CannedResponseDetail to TS * minor tweaks * refactor: update new types and interfaces for use ISubscription * fix lint error and canned responses's dropdown Co-authored-by: AlexAlexandre Co-authored-by: Diego Mello * Chore: Migrate LivechatEditView to Typescript (#3499) * Chore: Migrate LivechatEditView to Typescript * refactor: minor tweak * refactor: fix the interfaces for input * refactor: fix lint erros * minor tweak with new navigation types * function * iroom tweak * livechateditview tweak * TextInput tweak * refactor: update new types and interfaces for use ISubscription * refactor to default useState type * change the component name in SearchBox * changed state type Co-authored-by: AlexAlexandre Co-authored-by: Gerzon Z Co-authored-by: Diego Mello * Regression: Message press navigating to empty RoomView (#3680) Co-authored-by: Diego Mello * Regression: Prevent duplicated .jpg on file upload (#3658) * [FIX] Regression: Prevent duplicated .jpg on file upload * refactor to all files typed as image/jpeg * isolate regexp to function * refactor forceJpgExtension * clean * minor tweak * [FIX] Regression: Prevent duplicated .jpg on file upload * refactor to all files typed as image/jpeg * isolate regexp to function * refactor forceJpgExtension * clean * minor tweak * refactored comment * Chore: Migrate lib/utils to TypeScript (#3637) * Migrate utils to TypeScript * Add @types/semver * Refactor compareServerVersion(currentVersion, oldVersion, func) to compareServerVersion(current, func, oldVersion) Co-authored-by: Diego Mello * Chore: Migrate readMessages to TS (#3669) * Migrate readMessages to TS * Update IRocketChat interface * [FIX] Unnecessary login dispatch on adding new server (#3693) * [FIX] Disable tap gesture on call messages (#3694) * [IMPROVE] Keep biometry option from last session (#3668) Co-authored-by: GleidsonDaniel Co-authored-by: Reinaldo Neto * Fix reactotron multiple connections (#3622) * Chore: Fix rocketchat interface (#3705) * Chore: Migrate logout to Typescript (#3688) * [NEW] Stream to get individual presence updates (#3606) Co-authored-by: Gerzon Z * [FIX] Inject Redux store to prevent/remove require cycles (#3691) Co-authored-by: Diego Mello * Chore: Migrate lib/rocketchat.js to TS - structure PoC (#3661) Co-authored-by: Diego Mello Co-authored-by: Gleidson Daniel Silva * [FIX] #3606 merged using wrong JS SDK branch (#3709) * [FIX] Remove deprecated database methods and other database operations (#3686) * Fix PK error on subscriptions/room * Instead of checking for pending update, wrap the call on a try catch and return null in case of error * Generate delete operations before create/update to prevent errors * Apply same logic on encryption * Fix database operations on getRoles * Fix a few database issues found on Bugsnag on ThreadMessagesView * Run prettier :( * Chore: Add REST API definitions from server (#3721) * create first definitions * chore: implements get and post types * fix lint * add ts-ignore * add teams.removeRoom method * Remove unused endpoints Co-authored-by: Diego Mello * Chore: Move some methods to SDK (#3736) * [IMPROVE] Add support for ephemeral messages inside threads (#3687) * Chore: dehydrate small server requests away from rocketchat.js (#3740) * Bump version to 4.25.0 (#3745) * [Snyk] Security upgrade url-parse from 1.5.1 to 1.5.6 (#3746) The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-URLPARSE-2401205 * Language update from LingoHub 🤖 on 2022-02-14Z (#3730) * Language update from LingoHub 🤖 Project Name: Rocket.Chat.ReactNative Project Link: https://translate.lingohub.com/rocketchat/dashboard/rocket-dot-chat-dot-reactnative User: Robot LingoHub Easy language translations with LingoHub 🚀 * remove draft gl Co-authored-by: Robot LingoHub Co-authored-by: Diego Mello * Chore: Migrate methods/getSingleMessage to TS (#3700) * migrate getSingleMessage to TS * minor tweak * Chore: Migrate methods/getRooms to TS (#3702) * migrate getRooms to TS * add sdk and set any types * Moved the new variable around and added ts-ignore to follow the pattern from /services/restApi.ts Co-authored-by: Diego Mello * Chore: Migrate updateMessages to Typescript (#3715) * Chore: Migrate selector/login to TS (#3731) * migrate selector/login to TS * Fix lint errors * set aliases for returns * Chore: Migrate helpers/parseUrls to Typescript (#3735) * Chore: Migrate methods/helpers/parseQuery to Typescript (#3742) * Chore: Migrate methods/helpers/parseQuery to Typescript * tweak in example * Chore: Migrate app/commands to typescript (#3697) * Chore: Migrate lib/encryption folder to TypeScript (#3639) * Initial commit * add types/bytebuffer, add type definitions to params and update interfaces * add more types and type assertions * update types * change bang operator by type assertion and update class variables definitions * add types for deferred class * minor tweaks on types definitions * add ts-ignore * Update encryption.ts * update deferred and encryption * update encryption.ts * Update room.ts * update toDecrypt type * initialize sessionKeyExportedString * remove return types * Chore: Migrate redux actions/enterpriseModules to TS (#3698) * migrate enterpriseModules to TS * update test file * Chore: Migrate database/services and database/utils to TS (#3708) * migrate database services and utils to ts * Migrate tests Co-authored-by: Diego Mello * Chore: Migrate buildMessage to TS (#3732) * migrate buildMessage to TS * Fix lint * minor tweak * minor tweaks * Chore: Migrate getPermissions to Typescript (#3720) * Migrating... * Fix IPermission * Playing with types * Remove `as const` * Fix lint * Fix test * Apply sdk * Fix lint and autocomplete * [FIX] Add search and fix pagination for omnichannels departments (#3621) * [FIX] Search and pagination for omnichannels departments * pagination complete * minor tweak * renamed a param and workaround for a ux bug * fix style of flatlist and search as header scrollable * stick the header * Merge branch 'fix.forward-department-list' of https://github.com/RocketChat/Rocket.Chat.ReactNative into fix.forward-department-list * refactor pagination * fix value type * refactor render search * refactor layout * make ts happy * Chore: Migrate Markdown to Typescript (#3558) * Chore: Migrate Markdown to TS * Chore: Migrate Markdown to TS * minor tweak * added preview where markdown was preview and fixed params within markdown * removed ts-ignore * fix lint * removed numbersofline={0} and default value to numberOfLines=1 * change how to import markdown preview and remove numberOfLines * using useTheme inside markdownPreview and remove theme from components * minor tweak on interfaces * isNewMarkdown return as boolean * minor tweaks * minor tweaks * removed unused component * fixed markdown stories * updated snapshot because removed numberOfLines={0} from message/content * create IEmoji.ts in definitions and refactor all places where getCustomEmoji was called * onLinkPress typed * todo: refactor navtoroominfo * formatText.test.ts * markdown stories to typescript too * minor tweak * IMessage definition * refactor: update new types and interfaces for use ISubscription * refactor: update threadItem for use new MarkdownPreview * refactor: rollback wrong file commited * formatHyperlink * fix lint * updated item story shot * refactor and refactor some types * Remove non-null assertion * Minor change on useRealName * tweak Co-authored-by: AlexAlexandre Co-authored-by: Diego Mello * Chore: Migrate methods/callJitsi to typescript (#3660) * chore: migrate callJitsi to typescript * change fixed string to type * wip * wip * back to old times :) * back to typescript * Chore: Migrate redux module room to typescript (#3636) * chore: migrate redux module room to typescript and remove dispatch on dependencies * chore: add tests to redux module room * chore: create ERoomType and use on implemention * chore: update enum name * fix test id * Chore: Migrate redux module login to typescript (#3647) * chore: migrate redux module login to typescript chore: update redux module login tests * update workers * wip * fix type * remove partial * add more status * migrate the rest of the stuff to typescript * fix tests and types * fix types and tests * Chore: Migrate method getSettings to typescript (#3703) * chore: migrate getSettings to typescript and and some types * chore: remove this and add current to code * chore: add current * Chore: Migrate getCustomEmojis to TS (#3724) * update customEmoji interface and getCustomEmoji * add sdk * updated emojiCustom rest definition * minor refactor * update params object * [FIX] getRooms request using param with wrong name (#3761) * Chore: Migrate methods/getRoomInfo to TS (#3695) * migrate getRoomInfo to TS * update room type * update types * Fix lint error * Chore: Migrate getSlashCommands to TS (#3711) * migrate getSlashCommands to TS * use sdk and update getSlashCommands * minor tweak * Remove implicit anys Co-authored-by: Diego Mello * Chore: Migrate getUsersPresence to TS (#3717) * migrate getUsersPresence to ts * use sdk and remove this context from getUsersPresence * Chore: Migrate loadMissedMessages to typescript (#3704) * chore: migrate loadMissedMessages to typescript * remove loaderItem * remove this from functions * Chore: Migrate methods/getRoles to Typescript (#3741) * chore: migrate getRoles to ts * chore: removing unused const * chore: minor tweak * Type batch Co-authored-by: Diego Mello * Chore: Migrate methods/loadMessagesForRoom to Typescript (#3701) * chore: change loadMessagesForRoom to typescript * minor tweak * chore: minor tweaks after merge with developer * chore: minor tweaks after merge with developer * chore: minor tweak * chore: minor tweaks * Fix return Co-authored-by: Diego Mello Co-authored-by: Gleidson Daniel Silva * Chore: Migrate methods/sendFileMessage to typescript (#3683) * chore: start the migration * chore: update sendFileMessage to ts * chore: removing an `any` from uploadQueue * chore: minor tweak * chore: minor tweak * chore: minor tweaks after merge with developer * chore: minor tweak after merge develop into current * [FIX] Differ to Last Session Authenticated (#3667) * [FIX] Differ to Last Session Authenticated * Added timesync * [FIX] Differ to Last Session Authenticated * Added timesync * timesync tweaks * refactor diffLastLocalSession and saveLastLocalAuthentication * did a race * Update comment in app/utils/localAuthentication.ts Co-authored-by: Diego Mello * refactor getServerTimeSync and when use this route * tweak Co-authored-by: Diego Mello * Chore: Migrate methods/loadNextMessages to typescript (#3719) * feat: update loadNextMessages to ts * minor tweak * chore: minor tweaks after merge with developer * chore: migrate getFileUrlFromMessage to ts (#3734) * Chore: Migrate to Typescript mergeSubscriptionRooms and findSubscriptionsRooms (#3747) * fix fromJSONValue type * migrate findSubscription and mergeSubscription to typescript * chore: fix subscription param returning null * Chore: Migrate sendMessage to TS (#3712) Co-authored-by: Diego Mello * Chore: Migrate methods/enterpriseModules to TS (#3706) Co-authored-by: Diego Mello * Chore: Migrate methods/getThreadName to typescript (#3707) * chore: change getThreadName to typescript * chore: change types after merge develop into current * chore: minor tweak * Chore: Migrate method canOpenRoom to Typescript (#3650) * chore: migrate canOpenRoom to ts * chore: update rocketchat types * change types to Isubscription types * fix: fix mergeSubscriptionsRooms (#3770) * [IMPROVE] Team system messages feedback (#3771) * almost there * Update stories * chore: removing unused function getTeamInfo (#3773) * Chore: create definitions for e2e.setUserPublicAndPrivateKeys api call (#3775) * Chore: Migrate RoomMembersView to Typescript (#3769) * chore: migrate RoomMembersView to ts * fix goRoom item interface * Chore: Migrate views/RoomListView to typescript (#3758) * chore: migrating RoomListView to ts * chore: migrating RoomListView to ts * chore: implementing types for RoomListView * chore: change ChatsStackParamList for fix RoomListView errors * chore: minor tweak * chore: minor tweak * chore: fix setTimeout type * chore: applying changes requested * chore: minor tweak * Chore: Migrate to TS RommInfoEditView (#3766) * initial commit * fix last types * fix import * fix lint * Chore: Server API types POC - loadMessagesForRoom (#3765) * create interface and implements base types * fix some types * Update app/lib/methods/updateMessages.ts Co-authored-by: Diego Mello * fix date type * apply types changes * fix type * fix date value * fix types * typescript things... Co-authored-by: Diego Mello * Chore: Migrate RoomView to Typescript (#3754) * Chore: Migrate RoomActionsView to Typescript (#3750) * Chore: Migrate loadThreadMessages to TS (#3718) * Migrate loadThreadMessages to TypeScript * Update interfaces * Bump version to 4.26.0 (#3806) * Chore: Migrate REST API - markAsUnread to TS (#3801) * Migrate `subscriptions.unread` to typescript * Chore: Migrate REST API - convertChannelToTeam to TS (#3792) * migrate channels.convertToTeam and groups.convertToTeam to ts Co-authored-by: Gleidson Daniel Silva * Chore: Migrate REST API - getDepartmentInfo to Typescript (#3795) * Chore: Migrate REST API - sendConfirmationEmail to Typescript (#3807) * Chore: Migrate REST API - getRoutingConfig to Typescript (#3794) * Chore: Migrate REST API - getRoutingConfig to Typescript * minor tweak * Chore: Migrate REST API - createChannel to Typescript (#3786) * Chore: Migrate REST API - createChannel to Typescript * removed success * iserverroomitem * Chore: Migrate REST API - e2eGetUsersOfRoomWithoutKey to Typescript (#3793) * Chore: Migrate REST API - e2eGetUsersOfRoomWithoutKey to Typescript * Update app/definitions/rest/v1/e2e.ts Co-authored-by: Gleidson Daniel Silva Co-authored-by: Gleidson Daniel Silva * Chore: Migrate REST API - register to TS (#3796) * Migrate `user.register` to TypeScript * Chore: Migrate REST API - createTeam to TS (#3788) * Migrate `teams.create` REST API to TypeScript * Chore: Migrate REST API - addRoomsToTeam to TS (#3797) * Migrate REST API `teams.addRooms` to TypeScript * Chore: Migrate REST API - removeTeamMember to TS (#3799) * Migrate REST API `teams.removeMember` to TypeScript * Chore: Migrate REST API - toggleArchiveRoom to Typescript (#3791) * Chore: Migrate REST API - toggleArchiveRoom to Typescript * minor tweak * removed success param * minor tweak * Chore: Migrate REST API - convertTeamToChannel to TS (#3800) * Migrate REST API `teams.convertToChannel` to TypeScript * Chore: Migrate REST API - deleteMessage to TS (#3802) * Migrate REST API `chats.delete` to TypeScript * Chore: Server API types - user.setPreferences (#3781) * chore: implementing type for test api - user.setPreferences * chore: minor tweak * Chore: Server API types - teams.updateRoom (#3774) * chore: type the API call `teams.updateRoom` * chore: creating the interface `IServerTeamUpdateRoom` * chore: minor tweak after merge * Chore: Migrate REST API - teamListRoomsOfUser to TS (#3805) * migrate REST API `teams.listRoomsOfUser` to TypeScript * update: `rooms` type on `teams.listRoomsOfUser` * update: if-conditionals on `RoomActionsView` * Chore: Migrate REST API - toggleBlockUser to Typescript (#3808) * Chore: Migrate REST API - saveRoomSettings to Typescript (#3787) * Chore: Migrate methods/loadSurroundingMessages to Typescript (#3733) * Chore: Migrate methods/loadSurroundingMessages to Typescript * tweaks * tweak * tweak * tweaks to make ts happy * instead as IMessage is optional u * enum to MessageTypeLoad * minor tweaks * Chore: Migrate RoomInfoView to Typescript (#3778) * Chore: Migrate RoomInfoView to Typescript * tweak in avatar * tweak with SubscriptionType * minor tweak package * Chore: Migrate RoomInfoView to Typescript * tweak in avatar * tweak with SubscriptionType * minor tweak package * react.reactelement | null * minor tweak * minor tweak livechatvisitor * remove console.log * Tweaks * Fix: fix the command to run detox on android (#3812) * fix the command to run detox on android (#3812) * Chore: Migrate subscriptions/rooms to TS (#3748) * chore: migrate subscriptions rooms to ts * chore: adding a TODO to remember this problem * chore: removing unnecessary todos * chore: minor tweak after develop updates * chore: migrate message service to ts * chore: minor tweaks * chore: minor tweak * chore: minor tweak after merge develop into this branch * chore: minor tweak after merge with dev * minor tweak * Chore: Migrate subscriptions/room to TS (#3752) * chore: initial commit * chore: fix readMessages * chore: removing some `any` * chore: removing some `any` * chore: removing some `any` * chore: fix erros after merge develop inside this branch * chore: minor tweak * chore: applying changes requested * minor tweak Co-authored-by: Gleidson Daniel Silva * Chore: Migrate REST API - e2eRequestSubscriptionKeys to Typescript (#3813) * Chore: Migrate REST API - merge v1/user in v1/users (#3827) * Chore: Migrate REST API - toggleRead to Typescript (#3820) * Chore: Migrate REST API - e2eSetRoomKeyID to Typescript (#3816) * Chore: Migrate REST API - removeTeamRoom to Typescript (#3819) * Chore: Migrate REST API - updateGroupKey to Typescript (#3817) * Chore: Migrate REST API - forgotPassword to Typescript (#3818) * Chore: Migrate REST API - updateJitsiTimeout to Typescript (#3822) * chore: add rest api return * chore: add rest api return * chore: add rest api return (#3824) * chore: add rest api return (#3825) * chore: add rest api return (#3829) * chore: add rest api return (#3826) * Chore: Delete unused function getUserRoles (#3836) * Chore: Migrate REST API - leaveRoom to Typescript (#3833) * chore: add rest api type * remove any * Chore: Migrate REST API - deleteRoom to Typescript (#3834) * Chore: Migrate REST API - removeUserFromRoom to Typescript (#3837) * Chore: Migrate REST API - hideRoom to Typescript (#3832) * chore: add rest api return (#3850) * chore: add rest api return (#3849) * Chore: Migrate REST API - setUserStatus to Typescript (#3828) * chore: add rest api return * chore: add rest api return * Chore: Migrate REST API - spotlight to Typescript (#3821) * Chore: Migrate REST API - spotlight to Typescript * minor tweak * chore: add rest api return (#3844) * Chore: Migrate REST API - usersAutoComplete to Typescript (#3845) * chore: add rest api return (#3847) * chore: add rest api return (#3848) * Chore: Migrate REST API - joinRoom to Typescript (#3835) * Chore: Migrate REST API - joinRoom to Typescript * join to discussion * Chore: Migrate REST API - returnLivechat to Typescript (#3843) * Chore: Migrate REST API - getRoomCounters to Typescript (#3842) * Chore: Migrate REST API - getRoomCounters to Typescript * minor tweak * [FIX] Condensed layout cutting text on smaller text sizes (#3831) * Chore: Migrate ee/omnichannel folder to Typescript (#3749) * Chore: Migrate ee/omnichannel folder to Typescript * omnichannelstatus and queue list * boolean searching and react.ref * test initi * test and refactor interfaces * minor tweak * minor tweaks * [FIX] Hardcoded E2E password for Detox workflow (#3809) * [FIX] Removed account from E2E Data and create a file responsible for this account * Updated e2e/README.md * minor tweak * Update e2e/README.md Co-authored-by: Gerzon Z. Co-authored-by: Gerzon Z. * Chore: Migrate REST API - getTagsList to Typescript (#3854) * Chore: Migrate normalizeMessage to TS (#3743) * migrate normalizeMessage to ts * fix: missing null validations and type aliases * Chore: Migrate REST API - e2eRequestRoomKey to Typescript (#3814) * Chore: Remove Teams migration (#3857) * Chore: Migrate REST API - getChannelInfo to TS (#3839) * add: type for REST API `channels.info` * add: `ts-ignore` to `RoomActionsView` * Chore: Migrate search and localSearch methods to Typescript (#3751) * chore: migrate search to typescript * fix types * fix type Co-authored-by: Diego Mello * Chore: Migrate REST API - getListCannedResponse to Typescript (#3858) * Chore: Migrate REST API - getCustomFields to Typescript (#3856) * Chore: Migrate REST API - getCustomFields to Typescript * minor tweak * Chore: Migrate REST API - getAgentDepartments to Typescript (#3855) * Chore: Create IServerRoom and IServerSubscription (#3782) * Chore: Server API types - chat.getDiscussions (#3776) * chore: implementing type for test api - getDiscussions * Fix DiscussionDetails count usage * chore: update getDiscussions to use IMessageFromServer Co-authored-by: Diego Mello * Chore: Migrate REST API - getTeamListRoom to TS (#3840) * add: `teams.listRooms` types * add: `PaginatedResult` to `teams.ts` * Chore: Dehydrate login methods from rocketchat.js (#3759) * dehydrate login methods from rocketchat.js * [FIX] Merge subscription and room logic using unparsed data (#3859) * chore: add rest api return (#3864) * chore: add rest api return (#3865) * Chore: Migrate REST API - saveUserProfile to Typescript (#3863) * Chore: Migrate REST API - saveUserProfile to Typescript * minor tweak * Chore: Update react-native-mmkv-storage to 0.6.12 (#3634) * chore: updating mmkv library * feat: updating android ejson to use the getSecureKey new version * feat: updating IOS files to use the getSecureKey new version * feat: changing all mmkv methods to use sync calls * feat: changing mmkv methods from Screen lock * feat: changing all mmkv methods from login, ssl certificate and change/add server * feat: changing all mmkv methods from login, ssl certificate and change/add server * feat: changing all mmkv methods from logout * feat: changing all mmkv methods from e2e * fix: small fix at encryption and server drop down * feat: changing all mmkv methods from set theme * feat: changing all mmkv methods from openLink * fix: setting up mmkv to works property on Android * fix: fix an error to set the theme when open the app * refactor: change the react-native branch (temporary) * refactor: removing all `Async` from mmkv functions name * refactor: removing await from unnecessary functions, removing console.log and update cocoapods * refactor: removing unnecessary undefined from methods * feat: creating a custom hook for mmkv * refactor: changing the fetchPasscode to use the useUserPreferences hook * refactor: changing setTheme from app/index * refactor: small fix on setTheme * chore: update mmkv to 0.6.11 * chore: update mmkv to 0.6.11 * chore: minor tweak * chore: update mmkv to 0.6.12 * chore: mock NativeModules * chore: fix test mmkv * chore: removing custom MMKV JSI module, since is no more necessary after 0.6.11 version * feat: removing some async calls from mmkv after update from develop * feat: creating a function to get the initialTheme * feat: removing unnecessary try/catch * fix: fixing the blink white when open the app * feat: changing useMMKVStorage to create from mmkv lib * test: creating a mock for mmkv create function * chore: fix errors on tablet * minor tweak * Chore: Migrate REST API - getUserPreferences to Typescript (#3830) * Chore: Migrate REST API - getAvatarSuggestion to Typescript (#3869) * Chore: Migrate REST API - resetAvatar to Typescript (#3870) * Chore: Migrate REST API - setAvatarFromService to Typescript (#3871) * Chore: Migrate REST API - getUsernameSuggestion to Typescript (#3872) * Chore: Migrate REST API - getMessages to Typescript (#3875) * Chore: Migrate REST API - searchMessages to Typescript (#3874) * Chore: Migrate REST API - getFiles to Typescript (#3873) * [FIX] Issues after reconnecting (#3815) * [FIX] Fix synchronization of removed subscriptions (#3768) When a subscription is removed from the server via another client, when the mobile app is relaunched the subscriptions were not being removed properly. Changed the logic to use the subscriptionResult.remove array from the server and the _id property to fix. Co-authored-by: Christian King * Chore: Migrate REST API - editLivechat to Typescript (#3878) * Chore: Migrate REST API - getReadReceipts to Typescript (#3877) * [FIX] ReactNativeUiLib are not installed after run pod install (#3882) * fix ReactNativeUiLib not installed when run pod install * committing Podfile.lock * Chore: Migrate REST API - editMessage to Typescript (#3887) * Chore: Migrate REST API - editMessage to Typescript * minor tweak * Chore: Migrate REST API - e2eResetOwnKey to Typescript (#3888) * Chore: Migrate REST API - e2eResetOwnKey to Typescript * Update app/lib/rocketchat/services/restApi.ts Co-authored-by: Gleidson Daniel Silva * Chore: Migrate REST API - emitTyping to Typescript (#3886) * Chore: Migrate REST API - getRoomRoles to Typescript and fix getRoomMembers (#3868) * Chore: Migrate REST API - getRoomRoles to Typescript and fix getRoomMembers * change GetRoomRoles local * Chore: Migrate REST API - addUsersToRoom to Typescript (#3884) * Chore: Migrate REST API - addUsersToRoom to Typescript * Update app/lib/rocketchat/services/restApi.ts Co-authored-by: Gleidson Daniel Silva * minor tweak Co-authored-by: Gleidson Daniel Silva * Chore: Migrate REST API - createGroupChat to Typescript (#3885) * Chore: Migrate REST API - createGroupChat to Typescript * Update app/lib/rocketchat/services/restApi.ts Co-authored-by: Gleidson Daniel Silva * minor tweak Co-authored-by: Gleidson Daniel Silva * Chore: Migrate REST API - getCommandPreview to Typescript (#3894) * Chore: Migrate REST API - getCommandPreview and executeCommandPreview to Typescript (#3897) * Chore: Migrate REST API - getDirectory to Typescript (#3898) * Chore: Migrate REST API - getServerInfo to Typescript (#3900) * [FIX] Mention from suggestions concatenates to query string on autocomplete (#3696) * [FIX] Mention suggestion concatenate to query string * Add function to get regexp and its tests in separate files * Update getRegexp.ts * Update file names * Try new regex * One regex for all mention types Co-authored-by: Gleidson Daniel Silva * Chore: Migrate REST API - readThreads to Typescript (#3866) * chore: migrate readThreads to typescript * fix imports * Chore: Migrate REST API - getRoomInfo to Typescript (#3823) * chore: add rest api return * chore: add rest api return * Chore: Migrate REST API - sendEmailCode to Typescript (#3891) * Chore: Migrate REST API - sendEmailCode to Typescript (#3905) * Chore: Migrate REST API - saveAutoTranslate to Typescript (#3892) * Chore: Migrate REST API - runSlashCommand to Typescript (#3893) * Chore: Migrate REST API - getSyncThreadsList to Typescript (#3896) * Chore: Migrate REST API - getRoomMembers to Typescript (#3899) * Chore: Migrate methods/actions to Typescript and refactor UiKit folder (#3716) * Chore: Migrate methods/actions to Typescript * tweak in actions * Co-authored-by: Gleidson Daniel Silva * refactor sdk.current * interface and uikit done * refactor interface, index and utils from UiKit * minor tweak * minor tweak Co-authored-by: Gleidson Daniel Silva * Chore: Migrate REST API - removePushToken to Typescript (#3903) * Chore: Migrate REST API - registerPushToken to Typescript (#3902) * Chore: Dehydrate share extension from rocketchat.js (#3753) Co-authored-by: Gleidson Daniel Silva * Chore: Migrate REST API - getThreadsList to Typescript (#3895) * chore: add rest api return * chore: removing sort param * Chore: evaluate Header components - TypeScript (#3918) * update: Header components * Chore: Evaluate BackgroundContainer - TypeScript (#3917) * update: `BackgroundContainer` * remove: `theme` from `IBackgroundContainer` * update: return type for `BackgroundContainer` * Chore: Evaluate ActivityIndicator - TypeScript (#3914) * update: `BackgroundContainer` and `ActivityIndicator` * update: return type for `RCActivityIndicator` * update: return type for `BackgroundContainer` * [NEW] Collapsible Message (#3879) * create new collapsible component * create collapsible tests and update snapshot * fix quote :) * update snapshot * add support to color * add collapsed prop * fix some styles * fix tests * wip * clean * add CollapsibleQuote story * better style * update snapshots * add better tests * remove testID * update storyshot * Chore: Migrate containers: Toast to Typescript (#3913) * Chore: Migrate containers: Loading to Typescript (#3915) * Chore: Migrate REST API - e2eFetchMyKeys to Typescript (#3942) * [FIX] Messages not loading for unjoined channels (#3904) * Fix message loading for unjoined channels * Update updateMessages.ts * log -> console.log Co-authored-by: Diego Mello * Chore: StatusBar theme and style props (#3906) * chore: clean status bar and remove useless theme * mend * wip * remove unused props * chore: Evaluate SearchBox (#3909) * [FIX] Wrong param sent to system message (#3943) * [FIX] Display added user to team * tweak when remove members from team too * update storyshot Co-authored-by: AlexAlexandre * [NEW] Redesign quoted messages (#3883) * Language update from LingoHub 🤖 on 2022-03-21Z (#3940) Co-authored-by: Diego Mello * Chore: Clean TwoFactor - Typescript (#3912) * chore: clean TwoFactor * minor tweak * minor refactor * chore: removing console log * Chore: Clean Check component - TypeScript (#3919) * chore: clear Check component * chore: update tests * Chore: Clean InAppNotification - TypeScript (#3920) * Chore: Clean ThreadDetails - TypeScript (#3924) * Chore: Clean MessageErrorActions - TypeScript (#3928) * Chore: Evaluate TextInput - TypeScript (#3908) * update `TextInput` component update: ActivityIndicator * remove: `any` * update: `TextInput` on `UIKit` * Fix returnKeyType Co-authored-by: Diego Mello * Chore: Evaluate ActionSheet - TypeScript (#3927) * Chore: Clean LoginServices - TypeScript (#3935) * Chore: Evaluate Passcode - TypeScript (#3931) * Chore: Migrate containers: Passcode to Typescript * minor tweak * minor tweak * [FIX] "Sent an attachment" text on media preview for threads (#3947) * update: `Content` component * update: `Message` snapshots * [FIX] Audio thumb's size (#3945) * update: Audio component * Chore: Update codecov version (#3954) * Chore: Evaluate HeaderButton - TypeScript (#3925) * update: `HeaderButton` components * update: types * fix types * fix lint and update snapshot Co-authored-by: GleidsonDaniel * [FIX] Navigate to team from directory (#3953) * [FIX] Param privacy when editing room info (#3962) * [FIX] Drawer failing to open/close on ProfileView (#3963) Co-authored-by: Gleidson Daniel Silva Co-authored-by: Gerzon Z Co-authored-by: Gerzon Z Co-authored-by: Reinaldo Neto <47038980+reinaldonetof@users.noreply.github.com> Co-authored-by: AlexAlexandre Co-authored-by: Danish Ahmed Mirza <77742477+try-catch-stack@users.noreply.github.com> Co-authored-by: Reinaldo Neto Co-authored-by: Snyk bot Co-authored-by: lingohub[bot] <69908207+lingohub[bot]@users.noreply.github.com> Co-authored-by: Robot LingoHub Co-authored-by: Christian King --- .gitignore | 1 + __tests__/Storyshots.test.js | 20 + android/app/build.gradle | 2 +- .../rocket/reactnative/MainApplication.java | 3 +- .../java/chat/rocket/reactnative/Ejson.java | 12 +- app/actions/actionsTypes.ts | 2 +- app/actions/login.ts | 6 + app/actions/room.ts | 2 +- app/actions/settings.ts | 10 +- app/commands.ts | 4 +- app/constants/colors.ts | 9 + app/constants/messageTypeLoad.ts | 10 +- app/constants/settings.ts | 2 +- app/containers/ActionSheet/ActionSheet.tsx | 77 +- app/containers/ActionSheet/Handle.tsx | 14 +- app/containers/ActionSheet/Item.tsx | 15 +- app/containers/ActionSheet/Provider.tsx | 30 +- app/containers/ActivityIndicator.tsx | 14 +- app/containers/Avatar/index.tsx | 15 + app/containers/Avatar/interfaces.ts | 4 +- app/containers/BackgroundContainer/index.tsx | 22 +- app/containers/Check.tsx | 12 +- app/containers/Header/index.tsx | 43 +- app/containers/HeaderButton/Common.tsx | 40 +- .../HeaderButton/HeaderButtonContainer.tsx | 4 +- .../HeaderButton/HeaderButtonItem.tsx | 34 +- .../HeaderButton/HeaderButtonItemBadge.tsx | 2 +- .../InAppNotification/NotifierComponent.tsx | 21 +- app/containers/InAppNotification/index.tsx | 10 +- app/containers/List/ListHeader.tsx | 22 +- app/containers/List/ListInfo.tsx | 20 +- app/containers/List/ListItem.tsx | 2 +- app/containers/Loading.tsx | 16 +- app/containers/LoginServices.tsx | 89 +- app/containers/MessageActions/index.tsx | 26 +- .../MessageBox/CommandsPreview/Item.tsx | 2 +- .../MessageBox/CommandsPreview/index.tsx | 3 +- .../MessageBox/getMentionRegexp.test.js | 56 ++ app/containers/MessageBox/getMentionRegexp.ts | 4 + app/containers/MessageBox/index.tsx | 36 +- app/containers/MessageErrorActions.tsx | 21 +- app/containers/Passcode/Base/Button.tsx | 6 +- app/containers/Passcode/Base/Dots.tsx | 70 +- app/containers/Passcode/Base/LockIcon.tsx | 19 +- app/containers/Passcode/Base/Locked.tsx | 26 +- app/containers/Passcode/Base/Subtitle.tsx | 20 +- app/containers/Passcode/Base/Title.tsx | 20 +- app/containers/Passcode/Base/index.tsx | 54 +- app/containers/Passcode/PasscodeChoose.tsx | 15 +- app/containers/Passcode/PasscodeEnter.tsx | 32 +- app/containers/Passcode/constants.ts | 12 +- app/containers/Passcode/utils.ts | 8 +- app/containers/ReactionsModal.tsx | 11 +- app/containers/SearchBox.tsx | 103 +-- app/containers/StatusBar.tsx | 17 +- app/containers/TextInput.tsx | 16 +- app/containers/ThreadDetails.tsx | 22 +- app/containers/Toast.tsx | 12 +- app/containers/TwoFactor/index.tsx | 62 +- app/containers/UIKit/Actions.tsx | 19 +- app/containers/UIKit/Context.tsx | 14 +- app/containers/UIKit/DatePicker.tsx | 19 +- app/containers/UIKit/Image.tsx | 35 +- app/containers/UIKit/Input.tsx | 11 +- app/containers/UIKit/MultiSelect/Items.tsx | 2 +- app/containers/UIKit/MultiSelect/index.tsx | 3 +- app/containers/UIKit/Overflow.tsx | 37 +- app/containers/UIKit/Section.tsx | 39 +- app/containers/UIKit/index.tsx | 31 +- app/containers/UIKit/interfaces.ts | 273 ++++++ app/containers/UIKit/utils.ts | 16 +- app/containers/markdown/Table.tsx | 4 +- app/containers/markdown/TableCell.tsx | 4 +- app/containers/markdown/TableRow.tsx | 4 +- app/containers/markdown/index.tsx | 1 + app/containers/markdown/styles.ts | 2 +- app/containers/message/Attachments.tsx | 81 +- app/containers/message/Audio.tsx | 51 +- .../CollapsibleQuote.stories.js | 34 + .../CollapsibleQuote.test.tsx | 94 +++ .../CollapsibleQuote.stories.storyshot | 3 + .../Components/CollapsibleQuote/index.tsx | 185 +++++ app/containers/message/Content.tsx | 4 +- app/containers/message/Image.tsx | 35 +- app/containers/message/Message.tsx | 22 +- app/containers/message/Reply.tsx | 66 +- app/containers/message/User.tsx | 21 +- app/containers/message/Video.tsx | 28 +- app/containers/message/index.tsx | 60 +- app/containers/message/interfaces.ts | 49 +- app/containers/message/styles.ts | 5 +- app/containers/message/utils.ts | 9 +- app/definitions/IAttachment.ts | 39 +- app/definitions/ICredentials.ts | 21 + app/definitions/IDDPMessage.ts | 7 + app/definitions/IEmoji.ts | 8 +- app/definitions/ILivechatEditView.ts | 40 + app/definitions/ILivechatVisitor.ts | 2 + app/definitions/ILoggedUser.ts | 22 +- app/definitions/IMessage.ts | 121 ++- .../IProfileViewInterfaces.ts} | 18 +- app/definitions/IRocketChat.ts | 12 +- app/definitions/IRocketChatRecord.ts | 2 +- app/definitions/IRole.ts | 11 + app/definitions/IRoom.ts | 157 +++- app/definitions/ISearch.ts | 20 + app/definitions/IServedBy.ts | 4 +- app/definitions/IServer.ts | 4 +- app/definitions/ISlashCommand.ts | 7 + app/definitions/ISpotlight.ts | 11 + app/definitions/ISubscription.ts | 113 ++- app/definitions/ITagsOmnichannel.ts | 5 - app/definitions/ITeam.ts | 10 + app/definitions/IThread.ts | 46 +- app/definitions/IThreadMessage.ts | 41 +- app/definitions/IUrl.ts | 16 +- app/definitions/IUser.ts | 30 +- app/definitions/IVisitor.ts | 24 - app/definitions/index.ts | 3 + app/definitions/redux/index.ts | 11 +- app/definitions/rest/v1/channels.ts | 113 ++- app/definitions/rest/v1/chat.ts | 61 +- app/definitions/rest/v1/commands.ts | 23 + app/definitions/rest/v1/directory.ts | 13 + app/definitions/rest/v1/dm.ts | 4 +- app/definitions/rest/v1/e2e.ts | 21 + app/definitions/rest/v1/groups.ts | 89 +- app/definitions/rest/v1/im.ts | 57 +- app/definitions/rest/v1/index.ts | 16 +- app/definitions/rest/v1/invites.ts | 12 +- app/definitions/rest/v1/omnichannel.ts | 28 +- app/definitions/rest/v1/pushToken.ts | 12 + app/definitions/rest/v1/rooms.ts | 19 +- app/definitions/rest/v1/subscriptions.ts | 8 + app/definitions/rest/v1/teams.ts | 38 +- app/definitions/rest/v1/user.ts | 14 - app/definitions/rest/v1/users.ts | 44 + app/definitions/rest/v1/videoConference.ts | 5 + app/dimensions.tsx | 12 +- app/ee/omnichannel/actions/inquiry.js | 55 -- app/ee/omnichannel/actions/inquiry.ts | 84 ++ ...channelStatus.js => OmnichannelStatus.tsx} | 31 +- app/ee/omnichannel/lib/{index.js => index.ts} | 15 +- .../subscriptions/{inquiry.js => inquiry.ts} | 41 +- app/ee/omnichannel/reducers/inquiry.test.ts | 98 +++ .../reducers/{inquiry.js => inquiry.ts} | 11 +- .../selectors/{inquiry.js => inquiry.ts} | 4 +- .../{QueueListView.js => QueueListView.tsx} | 78 +- app/i18n/locales/ar.json | 8 +- app/i18n/locales/de.json | 409 +++++---- app/i18n/locales/en.json | 4 +- app/i18n/locales/fr.json | 23 +- app/i18n/locales/ja.json | 87 ++ app/i18n/locales/nl.json | 21 +- app/i18n/locales/pt-BR.json | 4 +- app/i18n/locales/ru.json | 27 +- app/i18n/locales/zh-TW.json | 1 + app/index.tsx | 21 +- app/lib/database/index.ts | 2 +- app/lib/database/model/Thread.js | 2 + app/lib/database/model/migrations.js | 9 + app/lib/database/schema/app.js | 5 +- app/lib/database/services/Message.ts | 5 +- app/lib/encryption/constants.ts | 2 +- app/lib/encryption/encryption.ts | 21 +- app/lib/encryption/room.ts | 4 +- app/lib/methods/{actions.js => actions.ts} | 78 +- .../{canOpenRoom.js => canOpenRoom.ts} | 34 +- ...erpriseModules.js => enterpriseModules.ts} | 13 +- app/lib/methods/getRoomInfo.ts | 15 +- app/lib/methods/getSingleMessage.ts | 3 +- .../{getThreadName.js => getThreadName.ts} | 15 +- app/lib/methods/getUsersPresence.ts | 2 +- app/lib/methods/helpers/buildMessage.ts | 4 +- ...ionsRooms.js => findSubscriptionsRooms.ts} | 23 +- .../helpers/mergeSubscriptionsRooms.js | 116 --- .../helpers/mergeSubscriptionsRooms.ts | 126 +++ ...ormalizeMessage.js => normalizeMessage.ts} | 16 +- app/lib/methods/loadMessagesForRoom.ts | 39 +- app/lib/methods/loadMissedMessages.ts | 4 +- app/lib/methods/loadNextMessages.ts | 16 +- ...Messages.js => loadSurroundingMessages.ts} | 28 +- app/lib/methods/loadThreadMessages.js | 76 -- app/lib/methods/loadThreadMessages.ts | 87 ++ app/lib/methods/logout.ts | 37 +- app/lib/methods/readMessages.ts | 7 +- app/lib/methods/sendFileMessage.ts | 4 +- .../{sendMessage.js => sendMessage.ts} | 84 +- .../subscriptions/{room.js => room.ts} | 94 ++- .../subscriptions/{rooms.js => rooms.ts} | 116 +-- app/lib/methods/updateMessages.ts | 34 +- .../rocketchat/methods/roomTypeToApiType.ts | 34 +- app/lib/rocketchat/methods/search.ts | 98 +++ app/lib/rocketchat/rocketchat.js | 784 +----------------- app/lib/rocketchat/services/connect.ts | 511 ++++++++++++ app/lib/rocketchat/services/restApi.ts | 544 +++++++----- app/lib/rocketchat/services/sdk.ts | 37 +- app/lib/rocketchat/services/shareExtension.ts | 92 ++ app/lib/userPreferences.ts | 33 +- app/lib/utils.ts | 6 +- app/presentation/RoomItem/Wrapper.tsx | 3 +- app/presentation/RoomItem/styles.ts | 5 - app/presentation/ServerItem/index.tsx | 2 +- app/presentation/TextInput.tsx | 2 +- app/reducers/enterpriseModules.ts | 2 +- app/reducers/login.test.ts | 7 + app/reducers/login.ts | 7 + app/reducers/settings.test.ts | 8 +- app/reducers/settings.ts | 12 +- app/reducers/share.ts | 16 +- app/sagas/deepLinking.js | 4 +- app/sagas/encryption.js | 8 +- app/sagas/init.js | 14 +- app/sagas/login.js | 6 +- app/sagas/rooms.js | 73 +- app/sagas/selectServer.js | 22 +- app/selectors/login.ts | 2 +- app/share.tsx | 22 +- app/stacks/MasterDetailStack/types.ts | 10 +- app/stacks/types.ts | 59 +- app/utils/debounce.ts | 2 +- app/utils/events.ts | 5 +- app/utils/fetch.ts | 16 +- app/utils/fileUpload/index.ts | 3 +- app/utils/goRoom.ts | 31 +- app/utils/isReadOnly.ts | 13 +- app/utils/localAuthentication.ts | 8 +- app/utils/openLink.ts | 2 +- app/utils/room.ts | 10 +- app/utils/sslPinning.ts | 14 +- app/utils/theme.ts | 11 + app/views/AttachmentView.tsx | 2 +- app/views/AuthenticationWebView.tsx | 4 +- app/views/AutoTranslateView/index.tsx | 4 +- app/views/CannedResponseDetail.tsx | 2 +- app/views/CannedResponsesListView/index.tsx | 4 +- app/views/ChangePasscodeView.tsx | 2 +- .../CreateDiscussionView/SelectChannel.tsx | 16 +- app/views/CreateDiscussionView/index.tsx | 1 - app/views/DefaultBrowserView.tsx | 8 +- app/views/DirectoryView/Options.tsx | 2 +- app/views/DirectoryView/index.tsx | 20 +- .../DiscussionsView/DiscussionDetails.tsx | 13 +- app/views/DiscussionsView/Item.tsx | 5 +- app/views/DiscussionsView/index.tsx | 12 +- app/views/DisplayPrefsView.tsx | 44 +- app/views/E2EEncryptionSecurityView.tsx | 2 +- app/views/E2ESaveYourPasswordView.tsx | 8 +- app/views/ForwardLivechatView.tsx | 14 +- app/views/JitsiMeetView.tsx | 4 +- app/views/LivechatEditView.tsx | 63 +- app/views/LoginView.tsx | 2 +- app/views/MessagesView/index.tsx | 17 +- app/views/ModalBlockView.tsx | 10 +- app/views/NewMessageView.tsx | 18 +- app/views/NewServerView/index.tsx | 12 +- .../NotificationPreferencesView/index.tsx | 3 +- app/views/ProfileView/index.tsx | 10 +- app/views/ReadReceiptView/index.tsx | 18 +- app/views/RegisterView.tsx | 4 +- .../RoomActionsView/{index.js => index.tsx} | 289 ++++--- .../RoomActionsView/{styles.js => styles.ts} | 0 ...SwitchContainer.js => SwitchContainer.tsx} | 36 +- .../RoomInfoEditView/{index.js => index.tsx} | 273 +++--- .../RoomInfoEditView/{styles.js => styles.ts} | 0 .../RoomInfoView/{Channel.js => Channel.tsx} | 12 +- app/views/RoomInfoView/CustomFields.js | 23 - app/views/RoomInfoView/CustomFields.tsx | 22 + .../RoomInfoView/{Direct.js => Direct.tsx} | 29 +- app/views/RoomInfoView/{Item.js => Item.tsx} | 25 +- .../{Livechat.js => Livechat.tsx} | 62 +- app/views/RoomInfoView/Timezone.js | 27 - app/views/RoomInfoView/Timezone.tsx | 34 + .../RoomInfoView/{index.js => index.tsx} | 159 ++-- .../RoomInfoView/{styles.js => styles.ts} | 0 .../RoomMembersView/{index.js => index.tsx} | 265 +++--- .../RoomMembersView/{styles.js => styles.ts} | 0 app/views/RoomView/{Banner.js => Banner.tsx} | 23 +- .../RoomView/{EmptyRoom.js => EmptyRoom.tsx} | 12 +- .../RoomView/{JoinCode.js => JoinCode.tsx} | 30 +- app/views/RoomView/LeftButtons.js | 56 -- app/views/RoomView/LeftButtons.tsx | 72 ++ app/views/RoomView/List/{List.js => List.tsx} | 10 +- .../{NavBottomFAB.js => NavBottomFAB.tsx} | 23 +- .../RoomView/List/{index.js => index.tsx} | 126 +-- .../RoomView/LoadMore/LoadMore.stories.js | 16 +- .../__snapshots__/LoadMore.stories.storyshot | 6 +- .../RoomView/LoadMore/{index.js => index.tsx} | 24 +- .../{ReactionPicker.js => ReactionPicker.tsx} | 36 +- .../{RightButtons.js => RightButtons.tsx} | 85 +- .../RoomView/{Separator.js => Separator.tsx} | 11 +- .../{UploadProgress.js => UploadProgress.tsx} | 73 +- app/views/RoomView/{index.js => index.tsx} | 540 +++++++----- app/views/RoomView/services/getMessageInfo.js | 41 - app/views/RoomView/services/getMessageInfo.ts | 41 + app/views/RoomView/services/getMessages.js | 10 - app/views/RoomView/services/getMessages.ts | 23 + .../RoomView/services/getMoreMessages.js | 27 - .../RoomView/services/getMoreMessages.ts | 36 + ...ThreadMessages.js => getThreadMessages.ts} | 2 +- .../RoomView/services/{index.js => index.ts} | 0 app/views/RoomView/services/readMessages.js | 5 - app/views/RoomView/services/readMessages.ts | 5 + app/views/RoomView/{styles.js => styles.ts} | 0 .../Header/{Header.js => Header.tsx} | 43 +- .../Header/{index.js => index.tsx} | 39 +- .../ListHeader/{index.js => index.tsx} | 33 +- .../{ServerDropdown.js => ServerDropdown.tsx} | 52 +- .../RoomsListView/{index.js => index.tsx} | 226 ++--- .../RoomsListView/{styles.js => styles.ts} | 2 +- app/views/ScreenLockConfigView.tsx | 6 +- app/views/ScreenLockedView.tsx | 5 +- app/views/SearchMessagesView/index.tsx | 14 +- app/views/SelectListView.tsx | 12 +- app/views/SelectServerView.tsx | 4 +- app/views/ShareListView/index.tsx | 2 +- app/views/ShareView/index.tsx | 8 +- app/views/StatusView.tsx | 10 +- app/views/TeamChannelsView.tsx | 24 +- app/views/ThemeView.tsx | 4 +- app/views/ThreadMessagesView/Item.tsx | 6 +- app/views/ThreadMessagesView/index.tsx | 20 +- .../UserNotificationPreferencesView/index.tsx | 28 +- app/views/definition/ILivechatDepartment.ts | 15 - e2e/README.md | 2 +- e2e/data.js | 5 +- e2e/data/data.cloud.js | 5 +- e2e/e2e_account.example.js | 6 + e2e/tests/room/04-discussion.spec.js | 3 - e2e/tests/team/03-moveconvert.spec.js | 3 + ios/Podfile | 1 + ios/Podfile.lock | 22 +- ios/RocketChatRN.xcodeproj/project.pbxproj | 4 +- ios/RocketChatRN/Info.plist | 2 +- ios/ShareRocketChatRN/Info.plist | 2 +- ios/Shared/RocketChat/Storage.swift | 18 +- package.json | 19 +- patches/@types+ejson+2.1.3.patch | 13 + patches/react-native-mmkv-storage+0.3.5.patch | 157 ---- .../react-native-mmkv-storage+0.6.12.patch | 44 + patches/react-native-webview+10.3.2.patch | 26 +- patches/rn-fetch-blob+0.12.0.patch | 43 +- storybook/stories/Message.js | 18 + storybook/stories/ServerItem.js | 25 +- .../stories/__snapshots__/Message.storyshot | 74 +- .../stories/__snapshots__/RoomItem.storyshot | 22 +- .../__snapshots__/ServerItem.storyshot | 4 +- storybook/stories/index.js | 1 + yarn.lock | 116 ++- 349 files changed, 7644 insertions(+), 5055 deletions(-) create mode 100644 app/containers/MessageBox/getMentionRegexp.test.js create mode 100644 app/containers/MessageBox/getMentionRegexp.ts create mode 100644 app/containers/UIKit/interfaces.ts create mode 100644 app/containers/message/Components/CollapsibleQuote/CollapsibleQuote.stories.js create mode 100644 app/containers/message/Components/CollapsibleQuote/CollapsibleQuote.test.tsx create mode 100644 app/containers/message/Components/CollapsibleQuote/__snapshots__/CollapsibleQuote.stories.storyshot create mode 100644 app/containers/message/Components/CollapsibleQuote/index.tsx create mode 100644 app/definitions/ICredentials.ts create mode 100644 app/definitions/IDDPMessage.ts create mode 100644 app/definitions/ILivechatEditView.ts rename app/{views/ProfileView/interfaces.ts => definitions/IProfileViewInterfaces.ts} (86%) create mode 100644 app/definitions/ISearch.ts create mode 100644 app/definitions/ISpotlight.ts delete mode 100644 app/definitions/ITagsOmnichannel.ts delete mode 100644 app/definitions/IVisitor.ts create mode 100644 app/definitions/rest/v1/commands.ts create mode 100644 app/definitions/rest/v1/directory.ts create mode 100644 app/definitions/rest/v1/e2e.ts create mode 100644 app/definitions/rest/v1/pushToken.ts create mode 100644 app/definitions/rest/v1/subscriptions.ts delete mode 100644 app/definitions/rest/v1/user.ts create mode 100644 app/definitions/rest/v1/videoConference.ts delete mode 100644 app/ee/omnichannel/actions/inquiry.js create mode 100644 app/ee/omnichannel/actions/inquiry.ts rename app/ee/omnichannel/containers/{OmnichannelStatus.js => OmnichannelStatus.tsx} (68%) rename app/ee/omnichannel/lib/{index.js => index.ts} (57%) rename app/ee/omnichannel/lib/subscriptions/{inquiry.js => inquiry.ts} (64%) create mode 100644 app/ee/omnichannel/reducers/inquiry.test.ts rename app/ee/omnichannel/reducers/{inquiry.js => inquiry.ts} (74%) rename app/ee/omnichannel/selectors/{inquiry.js => inquiry.ts} (50%) rename app/ee/omnichannel/views/{QueueListView.js => QueueListView.tsx} (63%) rename app/lib/methods/{actions.js => actions.ts} (51%) rename app/lib/methods/{canOpenRoom.js => canOpenRoom.ts} (65%) rename app/lib/methods/{enterpriseModules.js => enterpriseModules.ts} (82%) rename app/lib/methods/{getThreadName.js => getThreadName.ts} (68%) rename app/lib/methods/helpers/{findSubscriptionsRooms.js => findSubscriptionsRooms.ts} (75%) delete mode 100644 app/lib/methods/helpers/mergeSubscriptionsRooms.js create mode 100644 app/lib/methods/helpers/mergeSubscriptionsRooms.ts rename app/lib/methods/helpers/{normalizeMessage.js => normalizeMessage.ts} (77%) rename app/lib/methods/{loadSurroundingMessages.js => loadSurroundingMessages.ts} (67%) delete mode 100644 app/lib/methods/loadThreadMessages.js create mode 100644 app/lib/methods/loadThreadMessages.ts rename app/lib/methods/{sendMessage.js => sendMessage.ts} (73%) rename app/lib/methods/subscriptions/{room.js => room.ts} (76%) rename app/lib/methods/subscriptions/{rooms.js => rooms.ts} (75%) create mode 100644 app/lib/rocketchat/methods/search.ts create mode 100644 app/lib/rocketchat/services/connect.ts create mode 100644 app/lib/rocketchat/services/shareExtension.ts rename app/views/RoomActionsView/{index.js => index.tsx} (84%) rename app/views/RoomActionsView/{styles.js => styles.ts} (100%) rename app/views/RoomInfoEditView/{SwitchContainer.js => SwitchContainer.tsx} (73%) rename app/views/RoomInfoEditView/{index.js => index.tsx} (76%) rename app/views/RoomInfoEditView/{styles.js => styles.ts} (100%) rename app/views/RoomInfoView/{Channel.js => Channel.tsx} (79%) delete mode 100644 app/views/RoomInfoView/CustomFields.js create mode 100644 app/views/RoomInfoView/CustomFields.tsx rename app/views/RoomInfoView/{Direct.js => Direct.tsx} (60%) rename app/views/RoomInfoView/{Item.js => Item.tsx} (67%) rename app/views/RoomInfoView/{Livechat.js => Livechat.tsx} (55%) delete mode 100644 app/views/RoomInfoView/Timezone.js create mode 100644 app/views/RoomInfoView/Timezone.tsx rename app/views/RoomInfoView/{index.js => index.tsx} (70%) rename app/views/RoomInfoView/{styles.js => styles.ts} (100%) rename app/views/RoomMembersView/{index.js => index.tsx} (74%) rename app/views/RoomMembersView/{styles.js => styles.ts} (100%) rename app/views/RoomView/{Banner.js => Banner.tsx} (79%) rename app/views/RoomView/{EmptyRoom.js => EmptyRoom.tsx} (61%) rename app/views/RoomView/{JoinCode.js => JoinCode.tsx} (78%) delete mode 100644 app/views/RoomView/LeftButtons.js create mode 100644 app/views/RoomView/LeftButtons.tsx rename app/views/RoomView/List/{List.js => List.tsx} (77%) rename app/views/RoomView/List/{NavBottomFAB.js => NavBottomFAB.tsx} (82%) rename app/views/RoomView/List/{index.js => index.tsx} (76%) rename app/views/RoomView/LoadMore/{index.js => index.tsx} (75%) rename app/views/RoomView/{ReactionPicker.js => ReactionPicker.tsx} (75%) rename app/views/RoomView/{RightButtons.js => RightButtons.tsx} (69%) rename app/views/RoomView/{Separator.js => Separator.tsx} (88%) rename app/views/RoomView/{UploadProgress.js => UploadProgress.tsx} (69%) rename app/views/RoomView/{index.js => index.tsx} (68%) delete mode 100644 app/views/RoomView/services/getMessageInfo.js create mode 100644 app/views/RoomView/services/getMessageInfo.ts delete mode 100644 app/views/RoomView/services/getMessages.js create mode 100644 app/views/RoomView/services/getMessages.ts delete mode 100644 app/views/RoomView/services/getMoreMessages.js create mode 100644 app/views/RoomView/services/getMoreMessages.ts rename app/views/RoomView/services/{getThreadMessages.js => getThreadMessages.ts} (61%) rename app/views/RoomView/services/{index.js => index.ts} (100%) delete mode 100644 app/views/RoomView/services/readMessages.js create mode 100644 app/views/RoomView/services/readMessages.ts rename app/views/RoomView/{styles.js => styles.ts} (100%) rename app/views/RoomsListView/Header/{Header.js => Header.tsx} (77%) rename app/views/RoomsListView/Header/{index.js => index.tsx} (70%) rename app/views/RoomsListView/ListHeader/{index.js => index.tsx} (72%) rename app/views/RoomsListView/{ServerDropdown.js => ServerDropdown.tsx} (83%) rename app/views/RoomsListView/{index.js => index.tsx} (82%) rename app/views/RoomsListView/{styles.js => styles.ts} (96%) delete mode 100644 app/views/definition/ILivechatDepartment.ts create mode 100644 e2e/e2e_account.example.js create mode 100644 patches/@types+ejson+2.1.3.patch delete mode 100644 patches/react-native-mmkv-storage+0.3.5.patch create mode 100644 patches/react-native-mmkv-storage+0.6.12.patch diff --git a/.gitignore b/.gitignore index 4ffd99aa9..efb752943 100644 --- a/.gitignore +++ b/.gitignore @@ -64,5 +64,6 @@ artifacts .vscode/ e2e/docker/rc_test_env/docker-compose.yml e2e/docker/data/db +e2e/e2e_account.js *.p8 \ No newline at end of file diff --git a/__tests__/Storyshots.test.js b/__tests__/Storyshots.test.js index 1315f9bb5..638fbb0ee 100644 --- a/__tests__/Storyshots.test.js +++ b/__tests__/Storyshots.test.js @@ -20,6 +20,26 @@ jest.mock('react-native-file-viewer', () => ({ jest.mock('../app/lib/database', () => jest.fn(() => null)); global.Date.now = jest.fn(() => new Date('2019-10-10').getTime()); +jest.mock('react-native-mmkv-storage', () => { + return { + Loader: jest.fn().mockImplementation(() => { + return { + setProcessingMode: jest.fn().mockImplementation(() => { + return { + withEncryption: jest.fn().mockImplementation(() => { + return { + initialize: jest.fn() + }; + }) + }; + }) + }; + }), + create: jest.fn(), + MODES: { MULTI_PROCESS: '' } + }; +}); + const converter = new Stories2SnapsConverter(); initStoryshots({ diff --git a/android/app/build.gradle b/android/app/build.gradle index 5e7aaee86..2207ca59c 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.25.0" + versionName "4.26.0" vectorDrawables.useSupportLibrary = true if (!isFoss) { manifestPlaceholders = [BugsnagAPIKey: BugsnagAPIKey as String] diff --git a/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java b/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java index bf7dc5ef7..c0361e78d 100644 --- a/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java +++ b/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java @@ -12,7 +12,6 @@ import com.facebook.soloader.SoLoader; import com.reactnativecommunity.viewpager.RNCViewPagerPackage; import com.facebook.react.bridge.JSIModulePackage; import com.swmansion.reanimated.ReanimatedJSIModulePackage; - import org.unimodules.adapters.react.ModuleRegistryAdapter; import org.unimodules.adapters.react.ReactModuleRegistryProvider; @@ -54,7 +53,7 @@ public class MainApplication extends Application implements ReactApplication { @Override protected JSIModulePackage getJSIModulePackage() { - return new ReanimatedJSIModulePackage(); // <- add + return new ReanimatedJSIModulePackage(); } @Override diff --git a/android/app/src/play/java/chat/rocket/reactnative/Ejson.java b/android/app/src/play/java/chat/rocket/reactnative/Ejson.java index e44c6b722..fb083df13 100644 --- a/android/app/src/play/java/chat/rocket/reactnative/Ejson.java +++ b/android/app/src/play/java/chat/rocket/reactnative/Ejson.java @@ -53,16 +53,8 @@ public class Ejson { String alias = Utils.toHex("com.MMKV.default"); // Retrieve container password - secureKeystore.getSecureKey(alias, new RNCallback() { - @Override - public void invoke(Object... args) { - String error = (String) args[0]; - if (error == null) { - String password = (String) args[1]; - mmkv = MMKV.mmkvWithID("default", MMKV.SINGLE_PROCESS_MODE, password); - } - } - }); + String password = secureKeystore.getSecureKey(alias); + mmkv = MMKV.mmkvWithID("default", MMKV.SINGLE_PROCESS_MODE, password); } public String getAvatarUri() { diff --git a/app/actions/actionsTypes.ts b/app/actions/actionsTypes.ts index 1367b2251..a920e27e2 100644 --- a/app/actions/actionsTypes.ts +++ b/app/actions/actionsTypes.ts @@ -11,7 +11,7 @@ function createRequestTypes(base = {}, types = defaultTypes): Record): ISetUser { }; } +export function clearUser(): Action { + return { + type: types.USER.CLEAR + }; +} + export function setLoginServices(data: Record): ISetServices { return { type: types.LOGIN.SET_SERVICES, diff --git a/app/actions/room.ts b/app/actions/room.ts index 9c817f565..f0d5ed81b 100644 --- a/app/actions/room.ts +++ b/app/actions/room.ts @@ -4,7 +4,7 @@ import { ERoomType } from '../definitions/ERoomType'; import { ROOM } from './actionsTypes'; // TYPE RETURN RELATED -type ISelected = Record; +type ISelected = string[]; export interface ITransferData { roomId: string; diff --git a/app/actions/settings.ts b/app/actions/settings.ts index 77b8dcc77..8db868889 100644 --- a/app/actions/settings.ts +++ b/app/actions/settings.ts @@ -1,26 +1,26 @@ import { Action } from 'redux'; -import { ISettings, TSettings } from '../reducers/settings'; +import { TSettingsState, TSupportedSettings, TSettingsValues } from '../reducers/settings'; import { SETTINGS } from './actionsTypes'; interface IAddSettings extends Action { - payload: ISettings; + payload: TSettingsState; } interface IUpdateSettings extends Action { - payload: { id: string; value: TSettings }; + payload: { id: TSupportedSettings; value: TSettingsValues }; } export type IActionSettings = IAddSettings & IUpdateSettings; -export function addSettings(settings: ISettings): IAddSettings { +export function addSettings(settings: TSettingsState): IAddSettings { return { type: SETTINGS.ADD, payload: settings }; } -export function updateSettings(id: string, value: TSettings): IUpdateSettings { +export function updateSettings(id: TSupportedSettings, value: TSettingsValues): IUpdateSettings { return { type: SETTINGS.UPDATE, payload: { id, value } diff --git a/app/commands.ts b/app/commands.ts index b1aee847c..0624ac3db 100644 --- a/app/commands.ts +++ b/app/commands.ts @@ -143,8 +143,8 @@ export const deleteKeyCommands = (): void => KeyCommands.deleteKeyCommands(keyCo export const KEY_COMMAND = 'KEY_COMMAND'; -interface IKeyCommandEvent extends NativeSyntheticEvent { - input: string; +export interface IKeyCommandEvent extends NativeSyntheticEvent { + input: number & string; modifierFlags: string | number; } diff --git a/app/constants/colors.ts b/app/constants/colors.ts index b28416b86..3920441a2 100644 --- a/app/constants/colors.ts +++ b/app/constants/colors.ts @@ -37,6 +37,7 @@ export const themes: any = { infoText: '#6d6d72', tintColor: '#1d74f5', tintActive: '#549df9', + tintDisabled: '#88B4F5', auxiliaryTintColor: '#6C727A', actionTintColor: '#1d74f5', separatorColor: '#cbcbcc', @@ -66,6 +67,8 @@ export const themes: any = { previewTintColor: '#ffffff', backdropOpacity: 0.3, attachmentLoadingOpacity: 0.7, + collapsibleQuoteBorder: '#CBCED1', + collapsibleChevron: '#6C727A', ...mentions }, dark: { @@ -85,6 +88,7 @@ export const themes: any = { infoText: '#6D6D72', tintColor: '#1d74f5', tintActive: '#549df9', + tintDisabled: '#88B4F5', auxiliaryTintColor: '#f9f9f9', actionTintColor: '#1d74f5', separatorColor: '#2b2b2d', @@ -114,6 +118,8 @@ export const themes: any = { previewTintColor: '#ffffff', backdropOpacity: 0.9, attachmentLoadingOpacity: 0.3, + collapsibleQuoteBorder: '#CBCED1', + collapsibleChevron: '#6C727A', ...mentions }, black: { @@ -133,6 +139,7 @@ export const themes: any = { infoText: '#6d6d72', tintColor: '#1e9bfe', tintActive: '#76b7fc', + tintDisabled: '#88B4F5', // TODO: Evaluate this with design team auxiliaryTintColor: '#f9f9f9', actionTintColor: '#1e9bfe', separatorColor: '#272728', @@ -162,6 +169,8 @@ export const themes: any = { previewTintColor: '#ffffff', backdropOpacity: 0.9, attachmentLoadingOpacity: 0.3, + collapsibleQuoteBorder: '#CBCED1', + collapsibleChevron: '#6C727A', ...mentions } }; diff --git a/app/constants/messageTypeLoad.ts b/app/constants/messageTypeLoad.ts index 4bdaa54de..6836981aa 100644 --- a/app/constants/messageTypeLoad.ts +++ b/app/constants/messageTypeLoad.ts @@ -1,5 +1,7 @@ -export const MESSAGE_TYPE_LOAD_MORE = 'load_more'; -export const MESSAGE_TYPE_LOAD_PREVIOUS_CHUNK = 'load_previous_chunk'; -export const MESSAGE_TYPE_LOAD_NEXT_CHUNK = 'load_next_chunk'; +export enum MessageTypeLoad { + MORE = 'load_more', + PREVIOUS_CHUNK = 'load_previous_chunk', + NEXT_CHUNK = 'load_next_chunk' +} -export const MESSAGE_TYPE_ANY_LOAD = [MESSAGE_TYPE_LOAD_MORE, MESSAGE_TYPE_LOAD_PREVIOUS_CHUNK, MESSAGE_TYPE_LOAD_NEXT_CHUNK]; +export const MESSAGE_TYPE_ANY_LOAD = [MessageTypeLoad.MORE, MessageTypeLoad.PREVIOUS_CHUNK, MessageTypeLoad.NEXT_CHUNK]; diff --git a/app/constants/settings.ts b/app/constants/settings.ts index fb9c7e6b5..b84779427 100644 --- a/app/constants/settings.ts +++ b/app/constants/settings.ts @@ -206,4 +206,4 @@ export default { Canned_Responses_Enable: { type: 'valueAsBoolean' } -}; +} as const; diff --git a/app/containers/ActionSheet/ActionSheet.tsx b/app/containers/ActionSheet/ActionSheet.tsx index 11414150c..79303a593 100644 --- a/app/containers/ActionSheet/ActionSheet.tsx +++ b/app/containers/ActionSheet/ActionSheet.tsx @@ -1,30 +1,29 @@ +import { useBackHandler } from '@react-native-community/hooks'; +import * as Haptics from 'expo-haptics'; import React, { forwardRef, isValidElement, useEffect, useImperativeHandle, useRef, useState } from 'react'; import { Keyboard, Text } from 'react-native'; +import { HandlerStateChangeEventPayload, State, TapGestureHandler } from 'react-native-gesture-handler'; +import Animated, { Easing, Extrapolate, interpolateNode, Value } from 'react-native-reanimated'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; -import { State, TapGestureHandler } from 'react-native-gesture-handler'; import ScrollBottomSheet from 'react-native-scroll-bottom-sheet'; -import Animated, { Easing, Extrapolate, Value, interpolateNode } from 'react-native-reanimated'; -import * as Haptics from 'expo-haptics'; -import { useBackHandler } from '@react-native-community/hooks'; -import { Item } from './Item'; -import { Handle } from './Handle'; -import { Button } from './Button'; import { themes } from '../../constants/colors'; -import styles, { ITEM_HEIGHT } from './styles'; +import { useDimensions, useOrientation } from '../../dimensions'; +import I18n from '../../i18n'; +import { useTheme } from '../../theme'; import { isIOS, isTablet } from '../../utils/deviceInfo'; import * as List from '../List'; -import I18n from '../../i18n'; -import { IDimensionsContextProps, useDimensions, useOrientation } from '../../dimensions'; +import { Button } from './Button'; +import { Handle } from './Handle'; +import { IActionSheetItem, Item } from './Item'; +import { TActionSheetOptions, TActionSheetOptionsItem } from './Provider'; +import styles, { ITEM_HEIGHT } from './styles'; -interface IActionSheetData { - options: any; - headerHeight?: number; - hasCancel?: boolean; - customHeader: any; -} - -const getItemLayout = (data: any, index: number) => ({ length: ITEM_HEIGHT, offset: ITEM_HEIGHT * index, index }); +const getItemLayout = (data: TActionSheetOptionsItem[] | null | undefined, index: number) => ({ + length: ITEM_HEIGHT, + offset: ITEM_HEIGHT * index, + index +}); const HANDLE_HEIGHT = isIOS ? 40 : 56; const MAX_SNAP_HEIGHT = 16; @@ -39,16 +38,17 @@ const ANIMATION_CONFIG = { }; const ActionSheet = React.memo( - forwardRef(({ children, theme }: { children: JSX.Element; theme: string }, ref) => { - const bottomSheetRef: any = useRef(); - const [data, setData] = useState({} as IActionSheetData); + forwardRef(({ children }: { children: React.ReactElement }, ref) => { + const { theme } = useTheme(); + const bottomSheetRef = useRef>(null); + const [data, setData] = useState({} as TActionSheetOptions); const [isVisible, setVisible] = useState(false); - const { height }: Partial = useDimensions(); + const { height } = useDimensions(); const { isLandscape } = useOrientation(); const insets = useSafeAreaInsets(); const maxSnap = Math.max( - height! - + height - // Items height ITEM_HEIGHT * (data?.options?.length || 0) - // Handle height @@ -69,7 +69,7 @@ const ActionSheet = React.memo( * we'll provide more one snap * that point 50% of the whole screen */ - const snaps: any = height! - maxSnap > height! * 0.6 && !isLandscape ? [maxSnap, height! * 0.5, height] : [maxSnap, height]; + const snaps = height - maxSnap > height * 0.6 && !isLandscape ? [maxSnap, height * 0.5, height] : [maxSnap, height]; const openedSnapIndex = snaps.length > 2 ? 1 : 0; const closedSnapIndex = snaps.length - 1; @@ -79,12 +79,12 @@ const ActionSheet = React.memo( bottomSheetRef.current?.snapTo(closedSnapIndex); }; - const show = (options: any) => { + const show = (options: TActionSheetOptions) => { setData(options); toggleVisible(); }; - const onBackdropPressed = ({ nativeEvent }: any) => { + const onBackdropPressed = ({ nativeEvent }: { nativeEvent: HandlerStateChangeEventPayload }) => { if (nativeEvent.oldState === State.ACTIVE) { hide(); } @@ -117,7 +117,7 @@ const ActionSheet = React.memo( const renderHandle = () => ( <> - + {isValidElement(data?.customHeader) ? data.customHeader : null} ); @@ -127,21 +127,23 @@ const ActionSheet = React.memo( ) : null; - const renderItem = ({ item }: any) => ; + const renderItem = ({ item }: { item: IActionSheetItem['item'] }) => ; const animatedPosition = React.useRef(new Value(0)); - // TODO: Similar to https://github.com/wcandillon/react-native-redash/issues/307#issuecomment-827442320 const opacity = interpolateNode(animatedPosition.current, { inputRange: [0, 1], outputRange: [0, themes[theme].backdropOpacity], extrapolate: Extrapolate.CLAMP - }) as any; + }) as any; // The function's return differs from the expected type of opacity, however this problem is something related to lib, maybe when updating the types will be fixed. + + const bottomSheet = isLandscape || isTablet ? styles.bottomSheet : {}; return ( <> @@ -160,7 +162,7 @@ const ActionSheet = React.memo( ]} /> - testID='action-sheet' ref={bottomSheetRef} componentType='FlatList' @@ -169,18 +171,11 @@ const ActionSheet = React.memo( renderHandle={renderHandle} onSettle={index => index === closedSnapIndex && toggleVisible()} animatedPosition={animatedPosition.current} - containerStyle={ - [ - styles.container, - { backgroundColor: themes[theme].focusedBackground }, - (isLandscape || isTablet) && styles.bottomSheet - ] as any - } + containerStyle={{ ...styles.container, ...bottomSheet, backgroundColor: themes[theme].focusedBackground }} animationConfig={ANIMATION_CONFIG} - // FlatList props - data={data?.options} + data={data.options} renderItem={renderItem} - keyExtractor={(item: any) => item.title} + keyExtractor={item => item.title} style={{ backgroundColor: themes[theme].focusedBackground }} contentContainerStyle={styles.content} ItemSeparatorComponent={List.Separator} diff --git a/app/containers/ActionSheet/Handle.tsx b/app/containers/ActionSheet/Handle.tsx index d95262d1e..1b2b6a62c 100644 --- a/app/containers/ActionSheet/Handle.tsx +++ b/app/containers/ActionSheet/Handle.tsx @@ -3,9 +3,13 @@ import { View } from 'react-native'; import styles from './styles'; import { themes } from '../../constants/colors'; +import { useTheme } from '../../theme'; -export const Handle = React.memo(({ theme }: { theme: string }) => ( - - - -)); +export const Handle = React.memo(() => { + const { theme } = useTheme(); + return ( + + + + ); +}); diff --git a/app/containers/ActionSheet/Item.tsx b/app/containers/ActionSheet/Item.tsx index 47a3de5a7..9c281f8c1 100644 --- a/app/containers/ActionSheet/Item.tsx +++ b/app/containers/ActionSheet/Item.tsx @@ -3,23 +3,24 @@ import { Text, View } from 'react-native'; import { themes } from '../../constants/colors'; import { CustomIcon } from '../../lib/Icons'; +import { useTheme } from '../../theme'; import { Button } from './Button'; import styles from './styles'; -interface IActionSheetItem { +export interface IActionSheetItem { item: { title: string; icon: string; - danger: boolean; - testID: string; - onPress(): void; - right: Function; + danger?: boolean; + testID?: string; + onPress: () => void; + right?: Function; }; - theme: string; hide(): void; } -export const Item = React.memo(({ item, hide, theme }: IActionSheetItem) => { +export const Item = React.memo(({ item, hide }: IActionSheetItem) => { + const { theme } = useTheme(); const onPress = () => { hide(); item?.onPress(); diff --git a/app/containers/ActionSheet/Provider.tsx b/app/containers/ActionSheet/Provider.tsx index 8e786b05f..112242263 100644 --- a/app/containers/ActionSheet/Provider.tsx +++ b/app/containers/ActionSheet/Provider.tsx @@ -1,14 +1,21 @@ import React, { ForwardedRef, forwardRef, useContext, useRef } from 'react'; import ActionSheet from './ActionSheet'; -import { useTheme } from '../../theme'; +export type TActionSheetOptionsItem = { title: string; icon: string; onPress: () => void }; + +export type TActionSheetOptions = { + options: TActionSheetOptionsItem[]; + headerHeight: number; + customHeader: React.ReactElement | null; + hasCancel?: boolean; +}; interface IActionSheetProvider { - Provider: any; - Consumer: any; + showActionSheet: (item: TActionSheetOptions) => void; + hideActionSheet: () => void; } -const context: IActionSheetProvider = React.createContext({ +const context = React.createContext({ showActionSheet: () => {}, hideActionSheet: () => {} }); @@ -17,17 +24,16 @@ export const useActionSheet = () => useContext(context); const { Provider, Consumer } = context; -export const withActionSheet = (Component: any): any => - forwardRef((props: any, ref: ForwardedRef) => ( - {(contexts: any) => } +export const withActionSheet = (Component: React.ComponentType): typeof Component => + forwardRef((props: typeof React.Component, ref: ForwardedRef) => ( + {(contexts: IActionSheetProvider) => } )); -export const ActionSheetProvider = React.memo(({ children }: { children: JSX.Element | JSX.Element[] }) => { - const ref: ForwardedRef = useRef(); - const { theme }: any = useTheme(); +export const ActionSheetProvider = React.memo(({ children }: { children: React.ReactElement | React.ReactElement[] }) => { + const ref: ForwardedRef = useRef(null); const getContext = () => ({ - showActionSheet: (options: any) => { + showActionSheet: (options: TActionSheetOptions) => { ref.current?.showActionSheet(options); }, hideActionSheet: () => { @@ -37,7 +43,7 @@ export const ActionSheetProvider = React.memo(({ children }: { children: JSX.Ele return ( - + <>{children} diff --git a/app/containers/ActivityIndicator.tsx b/app/containers/ActivityIndicator.tsx index 69ef22ceb..701926416 100644 --- a/app/containers/ActivityIndicator.tsx +++ b/app/containers/ActivityIndicator.tsx @@ -1,14 +1,11 @@ import React from 'react'; import { ActivityIndicator, ActivityIndicatorProps, StyleSheet } from 'react-native'; +import { useTheme } from '../theme'; import { themes } from '../constants/colors'; -type TTheme = 'light' | 'dark' | 'black' | string; - interface IActivityIndicator extends ActivityIndicatorProps { - theme?: TTheme; absolute?: boolean; - props?: object; } const styles = StyleSheet.create({ @@ -27,8 +24,11 @@ const styles = StyleSheet.create({ } }); -const RCActivityIndicator = ({ theme = 'light', absolute, ...props }: IActivityIndicator) => ( - -); +const RCActivityIndicator = ({ absolute, ...props }: IActivityIndicator): React.ReactElement => { + const { theme } = useTheme(); + return ( + + ); +}; export default RCActivityIndicator; diff --git a/app/containers/Avatar/index.tsx b/app/containers/Avatar/index.tsx index 637596410..5b14fe154 100644 --- a/app/containers/Avatar/index.tsx +++ b/app/containers/Avatar/index.tsx @@ -37,6 +37,21 @@ class AvatarContainer extends React.Component { } } + shouldComponentUpdate(nextProps: IAvatar, nextState: { avatarETag: string }) { + const { avatarETag } = this.state; + const { text, type } = this.props; + if (nextState.avatarETag !== avatarETag) { + return true; + } + if (nextProps.text !== text) { + return true; + } + if (nextProps.type !== type) { + return true; + } + return false; + } + componentWillUnmount() { if (this.subscription?.unsubscribe) { this.subscription.unsubscribe(); diff --git a/app/containers/Avatar/interfaces.ts b/app/containers/Avatar/interfaces.ts index ddec5b276..3bc5dd85e 100644 --- a/app/containers/Avatar/interfaces.ts +++ b/app/containers/Avatar/interfaces.ts @@ -1,3 +1,5 @@ +import React from 'react'; + import { TGetCustomEmoji } from '../../definitions/IEmoji'; export interface IAvatar { @@ -9,7 +11,7 @@ export interface IAvatar { size?: number; borderRadius?: number; type?: string; - children?: JSX.Element; + children?: React.ReactElement | null; user?: { id?: string; token?: string; diff --git a/app/containers/BackgroundContainer/index.tsx b/app/containers/BackgroundContainer/index.tsx index a485611c0..c9fc70d57 100644 --- a/app/containers/BackgroundContainer/index.tsx +++ b/app/containers/BackgroundContainer/index.tsx @@ -1,13 +1,12 @@ import React from 'react'; import { ActivityIndicator, ImageBackground, StyleSheet, Text, View } from 'react-native'; -import { withTheme } from '../../theme'; +import { useTheme } from '../../theme'; import sharedStyles from '../../views/Styles'; import { themes } from '../../constants/colors'; interface IBackgroundContainer { text?: string; - theme?: string; loading?: boolean; } @@ -32,12 +31,15 @@ const styles = StyleSheet.create({ } }); -const BackgroundContainer = ({ theme, text, loading }: IBackgroundContainer) => ( - - - {text && !loading ? {text} : null} - {loading ? : null} - -); +const BackgroundContainer = ({ text, loading }: IBackgroundContainer): React.ReactElement => { + const { theme } = useTheme(); + return ( + + + {text && !loading ? {text} : null} + {loading ? : null} + + ); +}; -export default withTheme(BackgroundContainer); +export default BackgroundContainer; diff --git a/app/containers/Check.tsx b/app/containers/Check.tsx index 9ee489dfd..c51bc8b46 100644 --- a/app/containers/Check.tsx +++ b/app/containers/Check.tsx @@ -3,11 +3,8 @@ import { StyleSheet } from 'react-native'; import { CustomIcon } from '../lib/Icons'; import { themes } from '../constants/colors'; +import { useTheme } from '../theme'; -interface ICheck { - style?: object; - theme: string; -} const styles = StyleSheet.create({ icon: { width: 22, @@ -16,8 +13,9 @@ const styles = StyleSheet.create({ } }); -const Check = React.memo(({ theme, style }: ICheck) => ( - -)); +const Check = React.memo(() => { + const { theme } = useTheme(); + return ; +}); export default Check; diff --git a/app/containers/Header/index.tsx b/app/containers/Header/index.tsx index e9f7837c6..17d888409 100644 --- a/app/containers/Header/index.tsx +++ b/app/containers/Header/index.tsx @@ -5,12 +5,11 @@ import { StyleSheet, View } from 'react-native'; import { themes } from '../../constants/colors'; import { themedHeader } from '../../utils/navigation'; import { isIOS, isTablet } from '../../utils/deviceInfo'; -import { withTheme } from '../../theme'; +import { useTheme } from '../../theme'; -// Get from https://github.com/react-navigation/react-navigation/blob/master/packages/stack/src/views/Header/HeaderSegment.tsx#L69 export const headerHeight = isIOS ? 44 : 56; -export const getHeaderHeight = (isLandscape: boolean) => { +export const getHeaderHeight = (isLandscape: boolean): number => { if (isIOS) { if (isLandscape && !isTablet) { return 32; @@ -28,7 +27,13 @@ interface IHeaderTitlePosition { numIconsRight: number; } -export const getHeaderTitlePosition = ({ insets, numIconsRight }: IHeaderTitlePosition) => ({ +export const getHeaderTitlePosition = ({ + insets, + numIconsRight +}: IHeaderTitlePosition): { + left: number; + right: number; +} => ({ left: insets.left + 60, right: insets.right + Math.max(45 * numIconsRight, 15) }); @@ -43,20 +48,22 @@ const styles = StyleSheet.create({ }); interface IHeader { - theme: string; - headerLeft(): void; - headerTitle(): void; - headerRight(): void; + headerLeft: () => React.ReactElement | null; + headerTitle: () => React.ReactElement; + headerRight: () => React.ReactElement | null; } -const Header = ({ theme, headerLeft, headerTitle, headerRight }: IHeader) => ( - - - {headerLeft ? headerLeft() : null} - {headerTitle ? headerTitle() : null} - {headerRight ? headerRight() : null} - - -); +const Header = ({ headerLeft, headerTitle, headerRight }: IHeader): React.ReactElement => { + const { theme } = useTheme(); + return ( + + + {headerLeft ? headerLeft() : null} + {headerTitle ? headerTitle() : null} + {headerRight ? headerRight() : null} + + + ); +}; -export default withTheme(Header); +export default Header; diff --git a/app/containers/HeaderButton/Common.tsx b/app/containers/HeaderButton/Common.tsx index 0877fb4c6..50206f836 100644 --- a/app/containers/HeaderButton/Common.tsx +++ b/app/containers/HeaderButton/Common.tsx @@ -6,20 +6,22 @@ import Container from './HeaderButtonContainer'; import Item from './HeaderButtonItem'; interface IHeaderButtonCommon { - navigation: any; - onPress?(): void; + navigation?: any; // TODO: Evaluate proper type + onPress?: () => void; testID?: string; } // Left -export const Drawer = React.memo(({ navigation, testID, ...props }: Partial) => ( - - navigation.toggleDrawer()} testID={testID} {...props} /> - -)); +export const Drawer = React.memo( + ({ navigation, testID, onPress = () => navigation?.toggleDrawer(), ...props }: IHeaderButtonCommon) => ( + + + + ) +); export const CloseModal = React.memo( - ({ navigation, testID, onPress = () => navigation.pop(), ...props }: IHeaderButtonCommon) => ( + ({ navigation, testID, onPress = () => navigation?.pop(), ...props }: IHeaderButtonCommon) => ( @@ -29,9 +31,9 @@ export const CloseModal = React.memo( export const CancelModal = React.memo(({ onPress, testID }: Partial) => ( {isIOS ? ( - + ) : ( - + )} )); @@ -39,22 +41,24 @@ export const CancelModal = React.memo(({ onPress, testID }: Partial) => ( - + )); -export const Download = React.memo(({ onPress, testID, ...props }: Partial) => ( +export const Download = React.memo(({ onPress, testID, ...props }: IHeaderButtonCommon) => ( - + )); -export const Preferences = React.memo(({ onPress, testID, ...props }: Partial) => ( +export const Preferences = React.memo(({ onPress, testID, ...props }: IHeaderButtonCommon) => ( - + )); -export const Legal = React.memo(({ navigation, testID }: Partial) => ( - navigation.navigate('LegalView')} testID={testID} /> -)); +export const Legal = React.memo( + ({ navigation, testID, onPress = () => navigation?.navigate('LegalView') }: IHeaderButtonCommon) => ( + + ) +); diff --git a/app/containers/HeaderButton/HeaderButtonContainer.tsx b/app/containers/HeaderButton/HeaderButtonContainer.tsx index f757d43d7..abf6db9e7 100644 --- a/app/containers/HeaderButton/HeaderButtonContainer.tsx +++ b/app/containers/HeaderButton/HeaderButtonContainer.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { StyleSheet, View } from 'react-native'; interface IHeaderButtonContainer { - children: React.ReactNode; + children?: React.ReactElement | (React.ReactElement | null)[] | null; left?: boolean; } @@ -20,7 +20,7 @@ const styles = StyleSheet.create({ } }); -const Container = ({ children, left = false }: IHeaderButtonContainer) => ( +const Container = ({ children, left = false }: IHeaderButtonContainer): React.ReactElement => ( {children} ); diff --git a/app/containers/HeaderButton/HeaderButtonItem.tsx b/app/containers/HeaderButton/HeaderButtonItem.tsx index 08f6b5a3a..987975db2 100644 --- a/app/containers/HeaderButton/HeaderButtonItem.tsx +++ b/app/containers/HeaderButton/HeaderButtonItem.tsx @@ -3,16 +3,15 @@ import { Platform, StyleSheet, Text } from 'react-native'; import Touchable from 'react-native-platform-touchable'; import { CustomIcon } from '../../lib/Icons'; -import { withTheme } from '../../theme'; +import { useTheme } from '../../theme'; import { themes } from '../../constants/colors'; import sharedStyles from '../../views/Styles'; interface IHeaderButtonItem { title?: string; iconName?: string; - onPress: (arg: T) => void; + onPress?: (arg: T) => void; testID?: string; - theme?: string; badge?(): void; } @@ -40,19 +39,22 @@ const styles = StyleSheet.create({ } }); -const Item = ({ title, iconName, onPress, testID, theme, badge }: IHeaderButtonItem) => ( - - <> - {iconName ? ( - - ) : ( - {title} - )} - {badge ? badge() : null} - - -); +const Item = ({ title, iconName, onPress, testID, badge }: IHeaderButtonItem): React.ReactElement => { + const { theme } = useTheme(); + return ( + + <> + {iconName ? ( + + ) : ( + {title} + )} + {badge ? badge() : null} + + + ); +}; Item.displayName = 'HeaderButton.Item'; -export default withTheme(Item); +export default Item; diff --git a/app/containers/HeaderButton/HeaderButtonItemBadge.tsx b/app/containers/HeaderButton/HeaderButtonItemBadge.tsx index 9634c8bde..4bd2d2682 100644 --- a/app/containers/HeaderButton/HeaderButtonItemBadge.tsx +++ b/app/containers/HeaderButton/HeaderButtonItemBadge.tsx @@ -15,6 +15,6 @@ const styles = StyleSheet.create({ } }); -export const Badge = ({ ...props }) => ; +export const Badge = ({ ...props }): React.ReactElement => ; export default Badge; diff --git a/app/containers/InAppNotification/NotifierComponent.tsx b/app/containers/InAppNotification/NotifierComponent.tsx index 4264b2eea..c0c16a9c3 100644 --- a/app/containers/InAppNotification/NotifierComponent.tsx +++ b/app/containers/InAppNotification/NotifierComponent.tsx @@ -14,9 +14,18 @@ import { ROW_HEIGHT } from '../../presentation/RoomItem'; import { goRoom } from '../../utils/goRoom'; import Navigation from '../../lib/Navigation'; import { useOrientation } from '../../dimensions'; +import { IApplicationState, ISubscription, SubscriptionType } from '../../definitions'; -interface INotifierComponent { - notification: object; +export interface INotifierComponent { + notification: { + text: string; + payload: { + sender: { username: string }; + type: SubscriptionType; + } & Pick; + title: string; + avatar: string; + }; isMasterDetail: boolean; } @@ -67,15 +76,15 @@ const styles = StyleSheet.create({ const hideNotification = () => Notifier.hideNotification(); const NotifierComponent = React.memo(({ notification, isMasterDetail }: INotifierComponent) => { - const { theme }: any = useTheme(); + const { theme } = useTheme(); const insets = useSafeAreaInsets(); const { isLandscape } = useOrientation(); - const { text, payload }: any = notification; + const { text, payload } = notification; const { type, rid } = payload; const name = type === 'd' ? payload.sender.username : payload.name; // if sub is not on local database, title and avatar will be null, so we use payload from notification - const { title = name, avatar = name }: any = notification; + const { title = name, avatar = name } = notification; const onPress = () => { const { prid, _id } = payload; @@ -133,7 +142,7 @@ const NotifierComponent = React.memo(({ notification, isMasterDetail }: INotifie ); }); -const mapStateToProps = (state: any) => ({ +const mapStateToProps = (state: IApplicationState) => ({ isMasterDetail: state.app.isMasterDetail }); diff --git a/app/containers/InAppNotification/index.tsx b/app/containers/InAppNotification/index.tsx index e708231b1..7e5d15889 100644 --- a/app/containers/InAppNotification/index.tsx +++ b/app/containers/InAppNotification/index.tsx @@ -3,16 +3,18 @@ import { Easing, Notifier, NotifierRoot } from 'react-native-notifier'; import { connect } from 'react-redux'; import { dequal } from 'dequal'; -import NotifierComponent from './NotifierComponent'; +import NotifierComponent, { INotifierComponent } from './NotifierComponent'; import EventEmitter from '../../utils/events'; import Navigation from '../../lib/Navigation'; import { getActiveRoute } from '../../utils/navigation'; +import { IApplicationState } from '../../definitions'; +import { IRoom } from '../../reducers/room'; export const INAPP_NOTIFICATION_EMITTER = 'NotificationInApp'; const InAppNotification = memo( - ({ rooms, appState }: { rooms: any; appState: string }) => { - const show = (notification: any) => { + ({ rooms, appState }: { rooms: IRoom['rooms']; appState: string }) => { + const show = (notification: INotifierComponent['notification']) => { if (appState !== 'foreground') { return; } @@ -46,7 +48,7 @@ const InAppNotification = memo( (prevProps, nextProps) => dequal(prevProps.rooms, nextProps.rooms) ); -const mapStateToProps = (state: any) => ({ +const mapStateToProps = (state: IApplicationState) => ({ rooms: state.room.rooms, appState: state.app.ready && state.app.foreground ? 'foreground' : 'background' }); diff --git a/app/containers/List/ListHeader.tsx b/app/containers/List/ListHeader.tsx index 9a0b97731..d9cb58eb9 100644 --- a/app/containers/List/ListHeader.tsx +++ b/app/containers/List/ListHeader.tsx @@ -4,7 +4,7 @@ import { StyleSheet, Text, View } from 'react-native'; import sharedStyles from '../../views/Styles'; import { themes } from '../../constants/colors'; import I18n from '../../i18n'; -import { withTheme } from '../../theme'; +import { useTheme } from '../../theme'; import { PADDING_HORIZONTAL } from './constants'; const styles = StyleSheet.create({ @@ -20,18 +20,20 @@ const styles = StyleSheet.create({ interface IListHeader { title: string; - theme?: string; translateTitle?: boolean; } -const ListHeader = React.memo(({ title, theme, translateTitle = true }: IListHeader) => ( - - - {translateTitle ? I18n.t(title) : title} - - -)); +const ListHeader = React.memo(({ title, translateTitle = true }: IListHeader) => { + const { theme } = useTheme(); + return ( + + + {translateTitle ? I18n.t(title) : title} + + + ); +}); ListHeader.displayName = 'List.Header'; -export default withTheme(ListHeader); +export default ListHeader; diff --git a/app/containers/List/ListInfo.tsx b/app/containers/List/ListInfo.tsx index 2bfe68e32..baac47ccc 100644 --- a/app/containers/List/ListInfo.tsx +++ b/app/containers/List/ListInfo.tsx @@ -3,7 +3,7 @@ import { StyleSheet, Text, View } from 'react-native'; import sharedStyles from '../../views/Styles'; import { themes } from '../../constants/colors'; -import { withTheme } from '../../theme'; +import { useTheme } from '../../theme'; import { PADDING_HORIZONTAL } from './constants'; import I18n from '../../i18n'; @@ -18,18 +18,20 @@ const styles = StyleSheet.create({ } }); -interface IListHeader { +interface IListInfo { info: string; - theme?: string; translateInfo?: boolean; } -const ListInfo = React.memo(({ info, theme, translateInfo = true }: IListHeader) => ( - - {translateInfo ? I18n.t(info) : info} - -)); +const ListInfo = React.memo(({ info, translateInfo = true }: IListInfo) => { + const { theme } = useTheme(); + return ( + + {translateInfo ? I18n.t(info) : info} + + ); +}); ListInfo.displayName = 'List.Info'; -export default withTheme(ListInfo); +export default ListInfo; diff --git a/app/containers/List/ListItem.tsx b/app/containers/List/ListItem.tsx index 87abfd2dd..79b3dcbf7 100644 --- a/app/containers/List/ListItem.tsx +++ b/app/containers/List/ListItem.tsx @@ -135,7 +135,7 @@ const Button = React.memo(({ onPress, backgroundColor, underlay )); -interface IListItem extends IListItemContent, IListButtonPress { +interface IListItem extends IListItemContent, IListItemButton { backgroundColor?: string; } diff --git a/app/containers/Loading.tsx b/app/containers/Loading.tsx index cd4ed285d..69cd6565a 100644 --- a/app/containers/Loading.tsx +++ b/app/containers/Loading.tsx @@ -22,15 +22,20 @@ interface ILoadingProps { theme?: string; } -class Loading extends React.PureComponent { +interface ILoadingState { + scale: Animated.Value; + opacity: Animated.Value; +} + +class Loading extends React.PureComponent { state = { scale: new Animated.Value(1), opacity: new Animated.Value(0) }; - private opacityAnimation: any; + private opacityAnimation?: Animated.CompositeAnimation; - private scaleAnimation: any; + private scaleAnimation?: Animated.CompositeAnimation; componentDidMount() { const { opacity, scale } = this.state; @@ -61,7 +66,7 @@ class Loading extends React.PureComponent { } } - componentDidUpdate(prevProps: any) { + componentDidUpdate(prevProps: ILoadingProps) { const { visible } = this.props; if (visible && visible !== prevProps.visible) { this.startAnimations(); @@ -107,8 +112,7 @@ class Loading extends React.PureComponent { void; + facebook: () => void; + github: () => void; + gitlab: () => void; + google: () => void; + linkedin: () => void; + 'meteor-developer': () => void; + twitter: () => void; + wordpress: () => void; } interface ILoginServicesProps { - navigation: any; + navigation: StackNavigationProp; server: string; - services: { - facebook: { clientId: string }; - github: { clientId: string }; - gitlab: { clientId: string }; - google: { clientId: string }; - linkedin: { clientId: string }; - 'meteor-developer': { clientId: string }; - wordpress: { clientId: string; serverURL: string }; - }; + services: IServices; Gitlab_URL: string; CAS_enabled: boolean; CAS_login_url: string; @@ -90,12 +103,13 @@ interface ILoginServicesProps { theme: string; } -class LoginServices extends React.PureComponent { - private _animation: any; +interface ILoginServicesState { + collapsed: boolean; + servicesHeight: Animated.Value; +} - static defaultProps = { - separator: true - }; +class LoginServices extends React.PureComponent { + private _animation?: Animated.CompositeAnimation | void; state = { collapsed: true, @@ -194,7 +208,7 @@ class LoginServices extends React.PureComponent { this.openOAuth({ url: `${endpoint}${params}` }); }; - onPressCustomOAuth = (loginService: any) => { + onPressCustomOAuth = (loginService: IItemService) => { logEvent(events.ENTER_WITH_CUSTOM_OAUTH); const { server } = this.props; const { serverURL, authorizePath, clientId, scope, service } = loginService; @@ -207,7 +221,7 @@ class LoginServices extends React.PureComponent { this.openOAuth({ url }); }; - onPressSaml = (loginService: any) => { + onPressSaml = (loginService: IItemService) => { logEvent(events.ENTER_WITH_SAML); const { server } = this.props; const { clientConfig } = loginService; @@ -234,7 +248,6 @@ class LoginServices extends React.PureComponent { AppleAuthentication.AppleAuthenticationScope.EMAIL ] }); - await RocketChat.loginOAuthOrSso({ fullName, email, identityToken }); } catch { logEvent(events.ENTER_WITH_APPLE_F); @@ -243,7 +256,12 @@ class LoginServices extends React.PureComponent { getOAuthState = (loginStyle = LOGIN_STYPE_POPUP) => { const credentialToken = random(43); - let obj: any = { loginStyle, credentialToken, isCordova: true }; + let obj: { + loginStyle: string; + credentialToken: string; + isCordova: boolean; + redirectUrl?: string; + } = { loginStyle, credentialToken, isCordova: true }; if (loginStyle === LOGIN_STYPE_REDIRECT) { obj = { ...obj, @@ -263,12 +281,11 @@ class LoginServices extends React.PureComponent { if (this._animation) { this._animation.stop(); } - // @ts-ignore this._animation = Animated.timing(servicesHeight, { toValue: height, duration: 300, - // @ts-ignore - easing: Easing.easeOutCubic + easing: Easing.inOut(Easing.quad), + useNativeDriver: true }).start(); }; @@ -281,11 +298,11 @@ class LoginServices extends React.PureComponent { } else { this.transitionServicesTo(SERVICES_COLLAPSED_HEIGHT); } - this.setState((prevState: any) => ({ collapsed: !prevState.collapsed })); + this.setState((prevState: ILoginServicesState) => ({ collapsed: !prevState.collapsed })); }; getSocialOauthProvider = (name: string) => { - const oauthProviders: any = { + const oauthProviders: IOauthProvider = { facebook: this.onPressFacebook, github: this.onPressGithub, gitlab: this.onPressGitlab, @@ -324,7 +341,7 @@ class LoginServices extends React.PureComponent { return null; }; - renderItem = (service: IService) => { + renderItem = (service: IItemService) => { const { CAS_enabled, theme } = this.props; let { name } = service; name = name === 'meteor-developer' ? 'meteor' : name; @@ -401,26 +418,28 @@ class LoginServices extends React.PureComponent { if (length > 3 && separator) { return ( <> - {Object.values(services).map((service: any) => this.renderItem(service))} + + {Object.values(services).map((service: IItemService) => this.renderItem(service))} + {this.renderServicesSeparator()} ); } return ( <> - {Object.values(services).map((service: any) => this.renderItem(service))} + {Object.values(services).map((service: IItemService) => this.renderItem(service))} {this.renderServicesSeparator()} ); } } -const mapStateToProps = (state: any) => ({ +const mapStateToProps = (state: IApplicationState) => ({ server: state.server.server, - Gitlab_URL: state.settings.API_Gitlab_URL, - CAS_enabled: state.settings.CAS_enabled, - CAS_login_url: state.settings.CAS_login_url, - services: state.login.services + Gitlab_URL: state.settings.API_Gitlab_URL as string, + CAS_enabled: state.settings.CAS_enabled as boolean, + CAS_login_url: state.settings.CAS_login_url as string, + services: state.login.services as IServices }); -export default connect(mapStateToProps)(withTheme(LoginServices)) as any; +export default connect(mapStateToProps)(withTheme(LoginServices)); diff --git a/app/containers/MessageActions/index.tsx b/app/containers/MessageActions/index.tsx index 13a1e369d..b6c6b89c1 100644 --- a/app/containers/MessageActions/index.tsx +++ b/app/containers/MessageActions/index.tsx @@ -15,19 +15,12 @@ import { showConfirmationAlert } from '../../utils/info'; import { useActionSheet } from '../ActionSheet'; import Header, { HEADER_HEIGHT } from './Header'; import events from '../../utils/log/events'; -import { TMessageModel } from '../../definitions/IMessage'; +import { ILoggedUser, TAnyMessageModel, TSubscriptionModel } from '../../definitions'; -interface IMessageActions { - room: { - rid: string; - autoTranslateLanguage: any; - autoTranslate: any; - reactWhenReadOnly: any; - }; - tmid: string; - user: { - id: string | number; - }; +export interface IMessageActions { + room: TSubscriptionModel; + tmid?: string; + user: Pick; editInit: Function; reactionInit: Function; onReactionPress: Function; @@ -270,8 +263,11 @@ const MessageActions = React.memo( } }; - const handleToggleTranslation = async (message: TMessageModel) => { + const handleToggleTranslation = async (message: TAnyMessageModel) => { try { + if (!room.autoTranslateLanguage) { + return; + } const db = database.active; await db.write(async () => { await message.update(m => { @@ -321,7 +317,7 @@ const MessageActions = React.memo( }); }; - const getOptions = (message: TMessageModel) => { + const getOptions = (message: TAnyMessageModel) => { let options: any = []; // Reply @@ -447,7 +443,7 @@ const MessageActions = React.memo( return options; }; - const showMessageActions = async (message: TMessageModel) => { + const showMessageActions = async (message: TAnyMessageModel) => { logEvent(events.ROOM_SHOW_MSG_ACTIONS); await getPermissions(); showActionSheet({ diff --git a/app/containers/MessageBox/CommandsPreview/Item.tsx b/app/containers/MessageBox/CommandsPreview/Item.tsx index 33e3c4ff3..3f18d2aac 100644 --- a/app/containers/MessageBox/CommandsPreview/Item.tsx +++ b/app/containers/MessageBox/CommandsPreview/Item.tsx @@ -34,7 +34,7 @@ const Item = ({ item, theme }: IMessageBoxCommandsPreviewItem) => { resizeMode={FastImage.resizeMode.cover} onLoadStart={() => setLoading(true)} onLoad={() => setLoading(false)}> - {loading ? : null} + {loading ? : null} ) : ( diff --git a/app/containers/MessageBox/CommandsPreview/index.tsx b/app/containers/MessageBox/CommandsPreview/index.tsx index c5434f669..d55545ddc 100644 --- a/app/containers/MessageBox/CommandsPreview/index.tsx +++ b/app/containers/MessageBox/CommandsPreview/index.tsx @@ -6,9 +6,10 @@ import Item from './Item'; import styles from '../styles'; import { themes } from '../../../constants/colors'; import { withTheme } from '../../../theme'; +import { IPreviewItem } from '../../../definitions'; interface IMessageBoxCommandsPreview { - commandPreview: []; + commandPreview: IPreviewItem[]; showCommandPreview: boolean; theme?: string; } diff --git a/app/containers/MessageBox/getMentionRegexp.test.js b/app/containers/MessageBox/getMentionRegexp.test.js new file mode 100644 index 000000000..8923ae100 --- /dev/null +++ b/app/containers/MessageBox/getMentionRegexp.test.js @@ -0,0 +1,56 @@ +import getMentionRegexp from './getMentionRegexp'; + +const regexp = getMentionRegexp(); + +describe('getMentionRegexpUser', function () { + test('removing query text on user suggestion autocomplete (latin)', () => { + const message = 'Hey @test123'; + expect(message.replace(regexp, '')).toBe('Hey @'); + }); + + test('removing query text on user suggestion autocomplete (arabic)', () => { + const message = 'Hey @اختبار123'; + expect(message.replace(regexp, '')).toBe('Hey @'); + }); + + test('removing query text on user suggestion autocomplete (russian)', () => { + const message = 'Hey @тест123'; + expect(message.replace(regexp, '')).toBe('Hey @'); + }); + + test('removing query text on user suggestion autocomplete (chinese trad)', () => { + const message = 'Hey @測試123'; + expect(message.replace(regexp, '')).toBe('Hey @'); + }); + + test('removing query text on user suggestion autocomplete (japanese)', () => { + const message = 'Hey @テスト123'; + expect(message.replace(regexp, '')).toBe('Hey @'); + }); + + test('removing query text on user suggestion autocomplete (special characters in query)', () => { + const message = "Hey @'=test123"; + expect(message.replace(regexp, '')).toBe('Hey @'); + }); +}); + +describe('getMentionRegexpEmoji', function () { + test('removing query text on emoji suggestion autocomplete ', () => { + const message = 'Hey :smiley'; + expect(message.replace(regexp, '')).toBe('Hey :'); + }); +}); + +describe('getMentionRegexpCommand', function () { + test('removing query text on emoji suggestion autocomplete ', () => { + const message = '/archive'; + expect(message.replace(regexp, '')).toBe('/'); + }); +}); + +describe('getMentionRegexpRoom', function () { + test('removing query text on emoji suggestion autocomplete ', () => { + const message = 'Check #general'; + expect(message.replace(regexp, '')).toBe('Check #'); + }); +}); diff --git a/app/containers/MessageBox/getMentionRegexp.ts b/app/containers/MessageBox/getMentionRegexp.ts new file mode 100644 index 000000000..ec8ea5d14 --- /dev/null +++ b/app/containers/MessageBox/getMentionRegexp.ts @@ -0,0 +1,4 @@ +// Match query string from the message to replace it with the suggestion +const getMentionRegexp = (): any => /[^@:#/!]*$/; + +export default getMentionRegexp; diff --git a/app/containers/MessageBox/index.tsx b/app/containers/MessageBox/index.tsx index 3c924df6f..d68bf8d27 100644 --- a/app/containers/MessageBox/index.tsx +++ b/app/containers/MessageBox/index.tsx @@ -9,7 +9,7 @@ import { Q } from '@nozbe/watermelondb'; import { TouchableWithoutFeedback } from 'react-native-gesture-handler'; import { generateTriggerId } from '../../lib/methods/actions'; -import TextInput from '../../presentation/TextInput'; +import TextInput, { IThemedTextInput } from '../../presentation/TextInput'; import { userTyping as userTypingAction } from '../../actions/room'; import RocketChat from '../../lib/rocketchat'; import styles from './styles'; @@ -31,6 +31,7 @@ import { isAndroid, isTablet } from '../../utils/deviceInfo'; import { canUploadFile } from '../../utils/media'; import EventEmiter from '../../utils/events'; import { KEY_COMMAND, handleCommandShowUpload, handleCommandSubmit, handleCommandTyping } from '../../commands'; +import getMentionRegexp from './getMentionRegexp'; import Mentions from './Mentions'; import MessageboxContext from './Context'; import { @@ -49,6 +50,7 @@ import { sanitizeLikeString } from '../../lib/database/utils'; import { CustomIcon } from '../../lib/Icons'; import { IMessage } from '../../definitions/IMessage'; import { forceJpgExtension } from './forceJpgExtension'; +import { IPreviewItem, IUser } from '../../definitions'; if (isAndroid) { require('./EmojiKeyboard'); @@ -72,7 +74,7 @@ const videoPickerConfig = { mediaType: 'video' }; -interface IMessageBoxProps { +export interface IMessageBoxProps { rid: string; baseUrl: string; message: IMessage; @@ -80,12 +82,7 @@ interface IMessageBoxProps { editing: boolean; threadsEnabled: boolean; isFocused(): boolean; - user: { - id: string; - _id: string; - username: string; - token: string; - }; + user: IUser; roomType: string; tmid: string; replyWithMention: boolean; @@ -118,7 +115,7 @@ interface IMessageBoxState { showSend: any; recording: boolean; trackingType: string; - commandPreview: []; + commandPreview: IPreviewItem[]; showCommandPreview: boolean; command: { appId?: any; @@ -493,7 +490,7 @@ class MessageBox extends Component { const msg = this.text; const { start, end } = this.selection; const cursor = Math.max(start, end); - const regexp = /([a-z0-9._-]+)$/im; + const regexp = getMentionRegexp(); let result = msg.substr(0, cursor).replace(regexp, ''); // Remove the ! after select the canned response if (trackingType === MENTIONS_TRACKING_TYPE_CANNED) { @@ -609,7 +606,7 @@ class MessageBox extends Component { getCannedResponses = debounce(async (text?: string) => { const res = await RocketChat.getListCannedResponse({ text }); - this.setState({ mentions: res?.cannedResponses || [], mentionLoading: false }); + this.setState({ mentions: res.success ? res.cannedResponses : [], mentionLoading: false }); }, 500); focus = () => { @@ -642,12 +639,12 @@ class MessageBox extends Component { }, 1000); }; - setCommandPreview = async (command: any, name: string, params: any) => { + setCommandPreview = async (command: any, name: string, params: string) => { const { rid } = this.props; try { - const { success, preview } = await RocketChat.getCommandPreview(name, rid, params); - if (success) { - return this.setState({ commandPreview: preview?.items, showCommandPreview: true, command }); + const response = await RocketChat.getCommandPreview(name, rid, params); + if (response.success) { + return this.setState({ commandPreview: response.preview?.items || [], showCommandPreview: true, command }); } } catch (e) { log(e); @@ -891,7 +888,7 @@ class MessageBox extends Component { const messageWithoutCommand = message.replace(/([^\s]+)/, '').trim(); const [{ appId }] = slashCommand; const triggerId = generateTriggerId(appId); - RocketChat.runSlashCommand(command, roomId, messageWithoutCommand, triggerId, tmid || messageTmid); + await RocketChat.runSlashCommand(command, roomId, messageWithoutCommand, triggerId, tmid || messageTmid); replyCancel(); } catch (e) { logEvent(events.COMMAND_RUN_F); @@ -926,8 +923,8 @@ class MessageBox extends Component { let msg = `[ ](${permalink}) `; // if original message wasn't sent by current user and neither from a direct room - if (user.username !== replyingMessage.u.username && roomType !== 'd' && replyWithMention) { - msg += `@${replyingMessage.u.username} `; + if (user.username !== replyingMessage?.u?.username && roomType !== 'd' && replyWithMention) { + msg += `@${replyingMessage?.u?.username} `; } msg = `${msg} ${message}`; @@ -1041,7 +1038,7 @@ class MessageBox extends Component { tmid } = this.props; - const isAndroidTablet = + const isAndroidTablet: Partial = isTablet && isAndroid ? { multiline: false, @@ -1093,7 +1090,6 @@ class MessageBox extends Component { (this.component = component)} style={[styles.textBoxInput, { color: themes[theme].bodyText }]} - // @ts-ignore returnKeyType='default' keyboardType='twitter' blurOnSubmit={false} diff --git a/app/containers/MessageErrorActions.tsx b/app/containers/MessageErrorActions.tsx index 40b57536e..b277adac6 100644 --- a/app/containers/MessageErrorActions.tsx +++ b/app/containers/MessageErrorActions.tsx @@ -1,4 +1,5 @@ import { forwardRef, useImperativeHandle } from 'react'; +import Model from '@nozbe/watermelondb/Model'; import RocketChat from '../lib/rocketchat'; import database from '../lib/database'; @@ -6,18 +7,20 @@ import protectedFunction from '../lib/methods/helpers/protectedFunction'; import { useActionSheet } from './ActionSheet'; import I18n from '../i18n'; import log from '../utils/log'; +import { TMessageModel } from '../definitions'; -const MessageErrorActions = forwardRef(({ tmid }: any, ref): any => { +const MessageErrorActions = forwardRef(({ tmid }: { tmid: string }, ref) => { + // TODO - remove this any after merge ActionSheet evaluate const { showActionSheet }: any = useActionSheet(); - const handleResend = protectedFunction(async (message: any) => { + const handleResend = protectedFunction(async (message: TMessageModel) => { await RocketChat.resendMessage(message, tmid); }); - const handleDelete = async (message: any) => { + const handleDelete = async (message: TMessageModel) => { try { const db = database.active; - const deleteBatch: any = []; + const deleteBatch: Model[] = []; const msgCollection = db.get('messages'); const threadCollection = db.get('threads'); @@ -38,7 +41,7 @@ const MessageErrorActions = forwardRef(({ tmid }: any, ref): any => { const msg = await msgCollection.find(tmid); if (msg?.tcount && msg.tcount <= 1) { deleteBatch.push( - msg.prepareUpdate((m: any) => { + msg.prepareUpdate(m => { m.tcount = null; m.tlm = null; }) @@ -53,8 +56,10 @@ const MessageErrorActions = forwardRef(({ tmid }: any, ref): any => { } } else { deleteBatch.push( - msg.prepareUpdate((m: any) => { - m.tcount -= 1; + msg.prepareUpdate(m => { + if (m.tcount) { + m.tcount -= 1; + } }) ); } @@ -70,7 +75,7 @@ const MessageErrorActions = forwardRef(({ tmid }: any, ref): any => { } }; - const showMessageErrorActions = (message: any) => { + const showMessageErrorActions = (message: TMessageModel) => { showActionSheet({ options: [ { diff --git a/app/containers/Passcode/Base/Button.tsx b/app/containers/Passcode/Base/Button.tsx index 50a1cf417..26ef8eca1 100644 --- a/app/containers/Passcode/Base/Button.tsx +++ b/app/containers/Passcode/Base/Button.tsx @@ -5,16 +5,18 @@ import styles from './styles'; import { themes } from '../../../constants/colors'; import Touch from '../../../utils/touch'; import { CustomIcon } from '../../../lib/Icons'; +import { useTheme } from '../../../theme'; interface IPasscodeButton { text?: string; icon?: string; - theme: string; disabled?: boolean; onPress?: Function; } -const Button = React.memo(({ text, disabled, theme, onPress, icon }: IPasscodeButton) => { +const Button = React.memo(({ text, disabled, onPress, icon }: IPasscodeButton) => { + const { theme } = useTheme(); + const press = () => onPress && onPress(text); return ( diff --git a/app/containers/Passcode/Base/Dots.tsx b/app/containers/Passcode/Base/Dots.tsx index 75ee4bc76..25e41d6cd 100644 --- a/app/containers/Passcode/Base/Dots.tsx +++ b/app/containers/Passcode/Base/Dots.tsx @@ -4,47 +4,51 @@ import range from 'lodash/range'; import styles from './styles'; import { themes } from '../../../constants/colors'; +import { useTheme } from '../../../theme'; const SIZE_EMPTY = 12; const SIZE_FULL = 16; interface IPasscodeDots { passcode: string; - theme: string; length: number; } -const Dots = React.memo(({ passcode, theme, length }: IPasscodeDots) => ( - - {range(length).map(val => { - const lengthSup = passcode.length >= val + 1; - const height = lengthSup ? SIZE_FULL : SIZE_EMPTY; - const width = lengthSup ? SIZE_FULL : SIZE_EMPTY; - let backgroundColor = ''; - if (lengthSup && passcode.length > 0) { - backgroundColor = themes[theme].passcodeDotFull; - } else { - backgroundColor = themes[theme].passcodeDotEmpty; - } - const borderRadius = lengthSup ? SIZE_FULL / 2 : SIZE_EMPTY / 2; - const marginRight = lengthSup ? 10 - (SIZE_FULL - SIZE_EMPTY) / 2 : 10; - const marginLeft = lengthSup ? 10 - (SIZE_FULL - SIZE_EMPTY) / 2 : 10; - return ( - - - - ); - })} - -)); +const Dots = React.memo(({ passcode, length }: IPasscodeDots) => { + const { theme } = useTheme(); + + return ( + + {range(length).map(val => { + const lengthSup = passcode.length >= val + 1; + const height = lengthSup ? SIZE_FULL : SIZE_EMPTY; + const width = lengthSup ? SIZE_FULL : SIZE_EMPTY; + let backgroundColor = ''; + if (lengthSup && passcode.length > 0) { + backgroundColor = themes[theme].passcodeDotFull; + } else { + backgroundColor = themes[theme].passcodeDotEmpty; + } + const borderRadius = lengthSup ? SIZE_FULL / 2 : SIZE_EMPTY / 2; + const marginRight = lengthSup ? 10 - (SIZE_FULL - SIZE_EMPTY) / 2 : 10; + const marginLeft = lengthSup ? 10 - (SIZE_FULL - SIZE_EMPTY) / 2 : 10; + return ( + + + + ); + })} + + ); +}); export default Dots; diff --git a/app/containers/Passcode/Base/LockIcon.tsx b/app/containers/Passcode/Base/LockIcon.tsx index 2015d7cb9..ea795e8eb 100644 --- a/app/containers/Passcode/Base/LockIcon.tsx +++ b/app/containers/Passcode/Base/LockIcon.tsx @@ -5,13 +5,18 @@ import { Row } from 'react-native-easy-grid'; import styles from './styles'; import { themes } from '../../../constants/colors'; import { CustomIcon } from '../../../lib/Icons'; +import { useTheme } from '../../../theme'; -const LockIcon = React.memo(({ theme }: { theme: string }) => ( - - - - - -)); +const LockIcon = React.memo(() => { + const { theme } = useTheme(); + + return ( + + + + + + ); +}); export default LockIcon; diff --git a/app/containers/Passcode/Base/Locked.tsx b/app/containers/Passcode/Base/Locked.tsx index 7cefeed68..6b9381fdf 100644 --- a/app/containers/Passcode/Base/Locked.tsx +++ b/app/containers/Passcode/Base/Locked.tsx @@ -6,36 +6,35 @@ import { resetAttempts } from '../../../utils/localAuthentication'; import { TYPE } from '../constants'; import { getDiff, getLockedUntil } from '../utils'; import I18n from '../../../i18n'; +import { useTheme } from '../../../theme'; import styles from './styles'; import Title from './Title'; import Subtitle from './Subtitle'; import LockIcon from './LockIcon'; interface IPasscodeTimer { - time: string; - theme: string; + time: Date | null; setStatus: Function; } interface IPasscodeLocked { - theme: string; setStatus: Function; } -const Timer = React.memo(({ time, theme, setStatus }: IPasscodeTimer) => { +const Timer = React.memo(({ time, setStatus }: IPasscodeTimer) => { const calcTimeLeft = () => { - const diff = getDiff(time); + const diff = getDiff(time || 0); if (diff > 0) { return Math.floor((diff / 1000) % 60); } }; - const [timeLeft, setTimeLeft] = useState(calcTimeLeft()); + const [timeLeft, setTimeLeft] = useState(calcTimeLeft()); useEffect(() => { setTimeout(() => { setTimeLeft(calcTimeLeft()); - if (timeLeft <= 1) { + if (timeLeft && timeLeft <= 1) { resetAttempts(); setStatus(TYPE.ENTER); } @@ -46,11 +45,12 @@ const Timer = React.memo(({ time, theme, setStatus }: IPasscodeTimer) => { return null; } - return ; + return ; }); -const Locked = React.memo(({ theme, setStatus }: IPasscodeLocked) => { - const [lockedUntil, setLockedUntil] = useState(null); +const Locked = React.memo(({ setStatus }: IPasscodeLocked) => { + const [lockedUntil, setLockedUntil] = useState(null); + const { theme } = useTheme(); const readItemFromStorage = async () => { const l = await getLockedUntil(); @@ -63,9 +63,9 @@ const Locked = React.memo(({ theme, setStatus }: IPasscodeLocked) => { return ( - - - <Timer theme={theme} time={lockedUntil} setStatus={setStatus} /> + <LockIcon /> + <Title text={I18n.t('Passcode_app_locked_title')} /> + <Timer time={lockedUntil} setStatus={setStatus} /> </Grid> ); }); diff --git a/app/containers/Passcode/Base/Subtitle.tsx b/app/containers/Passcode/Base/Subtitle.tsx index 76a5a7405..766cfcd7a 100644 --- a/app/containers/Passcode/Base/Subtitle.tsx +++ b/app/containers/Passcode/Base/Subtitle.tsx @@ -4,18 +4,22 @@ import { Row } from 'react-native-easy-grid'; import styles from './styles'; import { themes } from '../../../constants/colors'; +import { useTheme } from '../../../theme'; interface IPasscodeSubtitle { text: string; - theme: string; } -const Subtitle = React.memo(({ text, theme }: IPasscodeSubtitle) => ( - <Row style={styles.row}> - <View style={styles.subtitleView}> - <Text style={[styles.textSubtitle, { color: themes[theme].passcodeSecondary }]}>{text}</Text> - </View> - </Row> -)); +const Subtitle = React.memo(({ text }: IPasscodeSubtitle) => { + const { theme } = useTheme(); + + return ( + <Row style={styles.row}> + <View style={styles.subtitleView}> + <Text style={[styles.textSubtitle, { color: themes[theme].passcodeSecondary }]}>{text}</Text> + </View> + </Row> + ); +}); export default Subtitle; diff --git a/app/containers/Passcode/Base/Title.tsx b/app/containers/Passcode/Base/Title.tsx index 0c54e0358..b66b861a9 100644 --- a/app/containers/Passcode/Base/Title.tsx +++ b/app/containers/Passcode/Base/Title.tsx @@ -4,18 +4,22 @@ import { Row } from 'react-native-easy-grid'; import styles from './styles'; import { themes } from '../../../constants/colors'; +import { useTheme } from '../../../theme'; interface IPasscodeTitle { text: string; - theme: string; } -const Title = React.memo(({ text, theme }: IPasscodeTitle) => ( - <Row style={styles.row}> - <View style={styles.titleView}> - <Text style={[styles.textTitle, { color: themes[theme].passcodePrimary }]}>{text}</Text> - </View> - </Row> -)); +const Title = React.memo(({ text }: IPasscodeTitle) => { + const { theme } = useTheme(); + + return ( + <Row style={styles.row}> + <View style={styles.titleView}> + <Text style={[styles.textTitle, { color: themes[theme].passcodePrimary }]}>{text}</Text> + </View> + </Row> + ); +}); export default Title; diff --git a/app/containers/Passcode/Base/index.tsx b/app/containers/Passcode/Base/index.tsx index c65917706..3a1bd3f73 100644 --- a/app/containers/Passcode/Base/index.tsx +++ b/app/containers/Passcode/Base/index.tsx @@ -1,6 +1,7 @@ import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react'; import { Col, Grid, Row } from 'react-native-easy-grid'; import range from 'lodash/range'; +import { View } from 'react-native'; import * as Animatable from 'react-native-animatable'; import * as Haptics from 'expo-haptics'; @@ -10,12 +11,12 @@ import Dots from './Dots'; import { TYPE } from '../constants'; import { themes } from '../../../constants/colors'; import { PASSCODE_LENGTH } from '../../../constants/localAuthentication'; +import { useTheme } from '../../../theme'; import LockIcon from './LockIcon'; import Title from './Title'; import Subtitle from './Subtitle'; interface IPasscodeBase { - theme: string; type: string; previousPasscode?: string; title: string; @@ -26,25 +27,30 @@ interface IPasscodeBase { onBiometryPress?(): void; } -const Base = forwardRef( - ( - { theme, type, onEndProcess, previousPasscode, title, subtitle, onError, showBiometry, onBiometryPress }: IPasscodeBase, - ref - ) => { - const rootRef = useRef<any>(); - const dotsRef = useRef<any>(); +export interface IBase { + clearPasscode: () => void; + wrongPasscode: () => void; + animate: (animation: Animatable.Animation, duration?: number) => void; +} + +const Base = forwardRef<IBase, IPasscodeBase>( + ({ type, onEndProcess, previousPasscode, title, subtitle, onError, showBiometry, onBiometryPress }, ref) => { + const { theme } = useTheme(); + + const rootRef = useRef<Animatable.View & View>(null); + const dotsRef = useRef<Animatable.View & View>(null); const [passcode, setPasscode] = useState(''); const clearPasscode = () => setPasscode(''); const wrongPasscode = () => { clearPasscode(); - dotsRef?.current?.shake(500); + dotsRef?.current?.shake?.(500); Haptics.notificationAsync(Haptics.NotificationFeedbackType.Error); }; - const animate = (animation: string, duration = 500) => { - rootRef?.current?.[animation](duration); + const animate = (animation: Animatable.Animation, duration = 500) => { + rootRef?.current?.[animation]?.(duration); }; const onPressNumber = (text: string) => @@ -90,48 +96,48 @@ const Base = forwardRef( return ( <Animatable.View ref={rootRef} style={styles.container}> <Grid style={[styles.grid, { backgroundColor: themes[theme].passcodeBackground }]}> - <LockIcon theme={theme} /> - <Title text={title} theme={theme} /> - <Subtitle text={subtitle!} theme={theme} /> + <LockIcon /> + <Title text={title} /> + {subtitle ? <Subtitle text={subtitle} /> : null} <Row style={styles.row}> <Animatable.View ref={dotsRef}> - <Dots passcode={passcode} theme={theme} length={PASSCODE_LENGTH} /> + <Dots passcode={passcode} length={PASSCODE_LENGTH} /> </Animatable.View> </Row> <Row style={[styles.row, styles.buttonRow]}> - {range(1, 4).map((i: any) => ( + {range(1, 4).map(i => ( <Col key={i} style={styles.colButton}> - <Button text={i} theme={theme} onPress={onPressNumber} /> + <Button text={i.toString()} onPress={onPressNumber} /> </Col> ))} </Row> <Row style={[styles.row, styles.buttonRow]}> - {range(4, 7).map((i: any) => ( + {range(4, 7).map(i => ( <Col key={i} style={styles.colButton}> - <Button text={i} theme={theme} onPress={onPressNumber} /> + <Button text={i.toString()} onPress={onPressNumber} /> </Col> ))} </Row> <Row style={[styles.row, styles.buttonRow]}> - {range(7, 10).map((i: any) => ( + {range(7, 10).map(i => ( <Col key={i} style={styles.colButton}> - <Button text={i} theme={theme} onPress={onPressNumber} /> + <Button text={i.toString()} onPress={onPressNumber} /> </Col> ))} </Row> <Row style={[styles.row, styles.buttonRow]}> {showBiometry ? ( <Col style={styles.colButton}> - <Button icon='fingerprint' theme={theme} onPress={onBiometryPress} /> + <Button icon='fingerprint' onPress={onBiometryPress} /> </Col> ) : ( <Col style={styles.colButton} /> )} <Col style={styles.colButton}> - <Button text='0' theme={theme} onPress={onPressNumber} /> + <Button text='0' onPress={onPressNumber} /> </Col> <Col style={styles.colButton}> - <Button icon='backspace' theme={theme} onPress={onPressDelete} /> + <Button icon='backspace' onPress={onPressDelete} /> </Col> </Row> </Grid> diff --git a/app/containers/Passcode/PasscodeChoose.tsx b/app/containers/Passcode/PasscodeChoose.tsx index a475c3d44..cc21b8bfc 100644 --- a/app/containers/Passcode/PasscodeChoose.tsx +++ b/app/containers/Passcode/PasscodeChoose.tsx @@ -2,24 +2,23 @@ import React, { useRef, useState } from 'react'; import * as Haptics from 'expo-haptics'; import { gestureHandlerRootHOC } from 'react-native-gesture-handler'; -import Base from './Base'; +import Base, { IBase } from './Base'; import { TYPE } from './constants'; import I18n from '../../i18n'; interface IPasscodeChoose { - theme: string; force?: boolean; finishProcess: Function; } -const PasscodeChoose = ({ theme, finishProcess, force = false }: IPasscodeChoose) => { - const chooseRef = useRef<any>(null); - const confirmRef = useRef<any>(null); +const PasscodeChoose = ({ finishProcess, force = false }: IPasscodeChoose) => { + const chooseRef = useRef<IBase>(null); + const confirmRef = useRef<IBase>(null); const [subtitle, setSubtitle] = useState(null); const [status, setStatus] = useState(TYPE.CHOOSE); - const [previousPasscode, setPreviouPasscode] = useState<any>(null); + const [previousPasscode, setPreviouPasscode] = useState(''); - const firstStep = (p: any) => { + const firstStep = (p: string) => { setTimeout(() => { setStatus(TYPE.CONFIRM); setPreviouPasscode(p); @@ -43,7 +42,6 @@ const PasscodeChoose = ({ theme, finishProcess, force = false }: IPasscodeChoose return ( <Base ref={confirmRef} - theme={theme} type={TYPE.CONFIRM} onEndProcess={changePasscode} previousPasscode={previousPasscode} @@ -56,7 +54,6 @@ const PasscodeChoose = ({ theme, finishProcess, force = false }: IPasscodeChoose return ( <Base ref={chooseRef} - theme={theme} type={TYPE.CHOOSE} onEndProcess={firstStep} title={I18n.t('Passcode_choose_title')} diff --git a/app/containers/Passcode/PasscodeEnter.tsx b/app/containers/Passcode/PasscodeEnter.tsx index 0a9b6b1f9..145a46d21 100644 --- a/app/containers/Passcode/PasscodeEnter.tsx +++ b/app/containers/Passcode/PasscodeEnter.tsx @@ -4,35 +4,29 @@ import { gestureHandlerRootHOC } from 'react-native-gesture-handler'; import * as Haptics from 'expo-haptics'; import { sha256 } from 'js-sha256'; -import Base from './Base'; +import Base, { IBase } from './Base'; import Locked from './Base/Locked'; import { TYPE } from './constants'; import { ATTEMPTS_KEY, LOCKED_OUT_TIMER_KEY, MAX_ATTEMPTS, PASSCODE_KEY } from '../../constants/localAuthentication'; import { biometryAuth, resetAttempts } from '../../utils/localAuthentication'; import { getDiff, getLockedUntil } from './utils'; -import UserPreferences from '../../lib/userPreferences'; +import { useUserPreferences } from '../../lib/userPreferences'; import I18n from '../../i18n'; interface IPasscodePasscodeEnter { - theme: string; hasBiometry: boolean; finishProcess: Function; } -const PasscodeEnter = ({ theme, hasBiometry, finishProcess }: IPasscodePasscodeEnter) => { - const ref = useRef(null); - let attempts: any = 0; +const PasscodeEnter = ({ hasBiometry, finishProcess }: IPasscodePasscodeEnter) => { + const ref = useRef<IBase>(null); + let attempts = 0; let lockedUntil: any = false; - const [passcode, setPasscode] = useState(null); - const [status, setStatus] = useState(null); - const { getItem: getAttempts, setItem: setAttempts } = useAsyncStorage(ATTEMPTS_KEY); + const [passcode] = useUserPreferences(PASSCODE_KEY); + const [status, setStatus] = useState<TYPE | null>(null); + const { setItem: setAttempts } = useAsyncStorage(ATTEMPTS_KEY); const { setItem: setLockedUntil } = useAsyncStorage(LOCKED_OUT_TIMER_KEY); - const fetchPasscode = async () => { - const p: any = await UserPreferences.getStringAsync(PASSCODE_KEY); - setPasscode(p); - }; - const biometry = async () => { if (hasBiometry && status === TYPE.ENTER) { const result = await biometryAuth(); @@ -50,13 +44,11 @@ const PasscodeEnter = ({ theme, hasBiometry, finishProcess }: IPasscodePasscodeE await resetAttempts(); setStatus(TYPE.ENTER); } else { - attempts = await getAttempts(); setStatus(TYPE.LOCKED); } } else { setStatus(TYPE.ENTER); } - await fetchPasscode(); biometry(); }; @@ -64,7 +56,7 @@ const PasscodeEnter = ({ theme, hasBiometry, finishProcess }: IPasscodePasscodeE readStorage(); }, [status]); - const onEndProcess = (p: any) => { + const onEndProcess = (p: string) => { setTimeout(() => { if (sha256(p) === passcode) { finishProcess(); @@ -75,8 +67,7 @@ const PasscodeEnter = ({ theme, hasBiometry, finishProcess }: IPasscodePasscodeE setLockedUntil(new Date().toISOString()); Haptics.notificationAsync(Haptics.NotificationFeedbackType.Error); } else { - // @ts-ignore - ref.current.wrongPasscode(); + ref?.current?.wrongPasscode(); setAttempts(attempts?.toString()); Haptics.notificationAsync(Haptics.NotificationFeedbackType.Warning); } @@ -85,13 +76,12 @@ const PasscodeEnter = ({ theme, hasBiometry, finishProcess }: IPasscodePasscodeE }; if (status === TYPE.LOCKED) { - return <Locked theme={theme} setStatus={setStatus} />; + return <Locked setStatus={setStatus} />; } return ( <Base ref={ref} - theme={theme} type={TYPE.ENTER} title={I18n.t('Passcode_enter_title')} showBiometry={hasBiometry} diff --git a/app/containers/Passcode/constants.ts b/app/containers/Passcode/constants.ts index ae268799a..49178cdb4 100644 --- a/app/containers/Passcode/constants.ts +++ b/app/containers/Passcode/constants.ts @@ -1,6 +1,6 @@ -export const TYPE: any = { - CHOOSE: 'choose', - CONFIRM: 'confirm', - ENTER: 'enter', - LOCKED: 'locked' -}; +export enum TYPE { + CHOOSE = 'choose', + CONFIRM = 'confirm', + ENTER = 'enter', + LOCKED = 'locked' +} diff --git a/app/containers/Passcode/utils.ts b/app/containers/Passcode/utils.ts index f497e95a4..4c6f21a7d 100644 --- a/app/containers/Passcode/utils.ts +++ b/app/containers/Passcode/utils.ts @@ -4,11 +4,11 @@ import moment from 'moment'; import { LOCKED_OUT_TIMER_KEY, TIME_TO_LOCK } from '../../constants/localAuthentication'; export const getLockedUntil = async () => { - const t: any = await AsyncStorage.getItem(LOCKED_OUT_TIMER_KEY); + const t = await AsyncStorage.getItem(LOCKED_OUT_TIMER_KEY); if (t) { - return moment(t).add(TIME_TO_LOCK); + return moment(t).add(TIME_TO_LOCK).toDate(); } return null; }; -// @ts-ignore -export const getDiff = t => new Date(t) - new Date(); + +export const getDiff = (t: string | number | Date) => new Date(t).getTime() - new Date().getTime(); diff --git a/app/containers/ReactionsModal.tsx b/app/containers/ReactionsModal.tsx index e55f418d5..3240baff6 100644 --- a/app/containers/ReactionsModal.tsx +++ b/app/containers/ReactionsModal.tsx @@ -10,6 +10,7 @@ import sharedStyles from '../views/Styles'; import { themes } from '../constants/colors'; import { withTheme } from '../theme'; import { TGetCustomEmoji } from '../definitions/IEmoji'; +import { TMessageModel, ILoggedUser } from '../definitions'; import SafeAreaView from './SafeAreaView'; const styles = StyleSheet.create({ @@ -65,23 +66,25 @@ interface IItem { usernames: any; emoji: string; }; - user?: { username: any }; + user?: Pick<ILoggedUser, 'username'>; baseUrl?: string; getCustomEmoji?: TGetCustomEmoji; theme?: string; } interface IModalContent { - message?: { - reactions: any; - }; + message?: TMessageModel; onClose: Function; theme: string; } interface IReactionsModal { + message?: any; + user?: Pick<ILoggedUser, 'username'>; isVisible: boolean; onClose(): void; + baseUrl: string; + getCustomEmoji?: TGetCustomEmoji; theme: string; } diff --git a/app/containers/SearchBox.tsx b/app/containers/SearchBox.tsx index d30923e82..463413b71 100644 --- a/app/containers/SearchBox.tsx +++ b/app/containers/SearchBox.tsx @@ -1,22 +1,14 @@ import React from 'react'; -import { - NativeSyntheticEvent, - StyleSheet, - TextInput as RNTextInput, - Text, - TextInputFocusEventData, - TextInputProps, - View -} from 'react-native'; +import { StyleSheet, Text, TextInput as RNTextInput, TextInputProps, View } from 'react-native'; import Touchable from 'react-native-platform-touchable'; -import TextInput from '../presentation/TextInput'; +import { themes } from '../constants/colors'; import I18n from '../i18n'; import { CustomIcon } from '../lib/Icons'; -import sharedStyles from '../views/Styles'; -import { withTheme } from '../theme'; -import { themes } from '../constants/colors'; +import TextInput from '../presentation/TextInput'; +import { useTheme } from '../theme'; import { isIOS } from '../utils/deviceInfo'; +import sharedStyles from '../views/Styles'; const styles = StyleSheet.create({ container: { @@ -52,60 +44,49 @@ const styles = StyleSheet.create({ } }); -interface ISearchBox { +interface ISearchBox extends TextInputProps { value?: string; - onChangeText: TextInputProps['onChangeText']; - onSubmitEditing?: () => void; hasCancel?: boolean; onCancelPress?: Function; - theme?: string; inputRef?: React.Ref<RNTextInput>; - testID?: string; - onFocus?: (e: NativeSyntheticEvent<TextInputFocusEventData>) => void; } -const CancelButton = (onCancelPress: Function, theme: string) => ( - <Touchable onPress={onCancelPress} style={styles.cancel}> - <Text style={[styles.cancelText, { color: themes[theme].headerTintColor }]}>{I18n.t('Cancel')}</Text> - </Touchable> -); +const CancelButton = ({ onCancelPress }: { onCancelPress?: Function }) => { + const { theme } = useTheme(); + return ( + <Touchable onPress={onCancelPress} style={styles.cancel}> + <Text style={[styles.cancelText, { color: themes[theme].headerTintColor }]}>{I18n.t('Cancel')}</Text> + </Touchable> + ); +}; -const SearchBox = ({ - onChangeText, - onSubmitEditing, - testID, - hasCancel, - onCancelPress, - inputRef, - theme, - ...props -}: ISearchBox) => ( - <View - style={[ - styles.container, - { backgroundColor: isIOS ? themes[theme!].headerBackground : themes[theme!].headerSecondaryBackground } - ]}> - <View style={[styles.searchBox, { backgroundColor: themes[theme!].searchboxBackground }]}> - <CustomIcon name='search' size={14} color={themes[theme!].auxiliaryText} /> - <TextInput - ref={inputRef} - autoCapitalize='none' - autoCorrect={false} - blurOnSubmit - clearButtonMode='while-editing' - placeholder={I18n.t('Search')} - returnKeyType='search' - style={styles.input} - testID={testID} - underlineColorAndroid='transparent' - onChangeText={onChangeText} - onSubmitEditing={onSubmitEditing} - theme={theme!} - {...props} - /> +const SearchBox = ({ hasCancel, onCancelPress, inputRef, ...props }: ISearchBox): React.ReactElement => { + const { theme } = useTheme(); + return ( + <View + style={[ + styles.container, + { backgroundColor: isIOS ? themes[theme].headerBackground : themes[theme].headerSecondaryBackground } + ]}> + <View style={[styles.searchBox, { backgroundColor: themes[theme].searchboxBackground }]}> + <CustomIcon name='search' size={14} color={themes[theme].auxiliaryText} /> + <TextInput + ref={inputRef} + autoCapitalize='none' + autoCorrect={false} + blurOnSubmit + clearButtonMode='while-editing' + placeholder={I18n.t('Search')} + returnKeyType='search' + style={styles.input} + underlineColorAndroid='transparent' + theme={theme} + {...props} + /> + </View> + {hasCancel ? <CancelButton onCancelPress={onCancelPress} /> : null} </View> - {hasCancel ? CancelButton(onCancelPress!, theme!) : null} - </View> -); + ); +}; -export default withTheme(SearchBox); +export default SearchBox; diff --git a/app/containers/StatusBar.tsx b/app/containers/StatusBar.tsx index 5ebaf2307..e54eb46e1 100644 --- a/app/containers/StatusBar.tsx +++ b/app/containers/StatusBar.tsx @@ -2,22 +2,27 @@ import React from 'react'; import { StatusBar as StatusBarRN } from 'react-native'; import { themes } from '../constants/colors'; -import { withTheme } from '../theme'; +import { useTheme } from '../theme'; + +const supportedStyles = { + 'light-content': 'light-content', + 'dark-content': 'dark-content' +}; interface IStatusBar { - theme?: string; - barStyle?: any; + barStyle?: keyof typeof supportedStyles; backgroundColor?: string; } -const StatusBar = React.memo(({ theme, barStyle, backgroundColor }: IStatusBar) => { +const StatusBar = React.memo(({ barStyle, backgroundColor }: IStatusBar) => { + const { theme } = useTheme(); if (!barStyle) { barStyle = 'light-content'; if (theme === 'light') { barStyle = 'dark-content'; } } - return <StatusBarRN backgroundColor={backgroundColor ?? themes[theme!].headerBackground} barStyle={barStyle} animated />; + return <StatusBarRN backgroundColor={backgroundColor ?? themes[theme].headerBackground} barStyle={barStyle} animated />; }); -export default withTheme(StatusBar); +export default StatusBar; diff --git a/app/containers/TextInput.tsx b/app/containers/TextInput.tsx index f829bb909..0224a6ef5 100644 --- a/app/containers/TextInput.tsx +++ b/app/containers/TextInput.tsx @@ -52,10 +52,7 @@ const styles = StyleSheet.create({ export interface IRCTextInputProps extends TextInputProps { label?: string; - error?: { - error: any; - reason: any; - }; + error?: any; loading?: boolean; containerStyle?: StyleProp<ViewStyle>; inputStyle?: StyleProp<TextStyle>; @@ -68,7 +65,11 @@ export interface IRCTextInputProps extends TextInputProps { theme: string; } -export default class RCTextInput extends React.PureComponent<IRCTextInputProps, any> { +interface IRCTextInputState { + showPassword: boolean; +} + +export default class RCTextInput extends React.PureComponent<IRCTextInputProps, IRCTextInputState> { static defaultProps = { error: {}, theme: 'light' @@ -116,12 +117,11 @@ export default class RCTextInput extends React.PureComponent<IRCTextInputProps, get loading() { const { theme } = this.props; - // @ts-ignore - return <ActivityIndicator style={[styles.iconContainer, styles.iconRight, { color: themes[theme].bodyText }]} />; + return <ActivityIndicator style={[styles.iconContainer, styles.iconRight]} color={themes[theme].bodyText} />; } tooglePassword = () => { - this.setState((prevState: any) => ({ showPassword: !prevState.showPassword })); + this.setState(prevState => ({ showPassword: !prevState.showPassword })); }; render() { diff --git a/app/containers/ThreadDetails.tsx b/app/containers/ThreadDetails.tsx index 5dc9fb954..081397ef0 100644 --- a/app/containers/ThreadDetails.tsx +++ b/app/containers/ThreadDetails.tsx @@ -41,7 +41,7 @@ const styles = StyleSheet.create({ }); interface IThreadDetails { - item: Partial<TThreadModel>; + item: Pick<TThreadModel, 'tcount' | 'replies' | 'id'>; user: { id: string; }; @@ -52,9 +52,9 @@ interface IThreadDetails { const ThreadDetails = ({ item, user, badgeColor, toggleFollowThread, style }: IThreadDetails): JSX.Element => { const { theme } = useTheme(); - let { tcount } = item; - if (tcount && tcount >= 1000) { - tcount = '+999'; + let count: string | number | undefined | null = item.tcount; + if (count && count >= 1000) { + count = '+999'; } let replies: number | string = item?.replies?.length ?? 0; @@ -62,21 +62,21 @@ const ThreadDetails = ({ item, user, badgeColor, toggleFollowThread, style }: IT replies = '+999'; } - const isFollowing = item.replies?.find((u: any) => u === user?.id); + const isFollowing = item.replies?.find((u: string) => u === user?.id); return ( <View style={[styles.container, style]}> <View style={styles.detailsContainer}> <View style={styles.detailContainer}> - <CustomIcon name='threads' size={24} color={themes[theme!].auxiliaryText} /> - <Text style={[styles.detailText, { color: themes[theme!].auxiliaryText }]} numberOfLines={1}> - {tcount} + <CustomIcon name='threads' size={24} color={themes[theme].auxiliaryText} /> + <Text style={[styles.detailText, { color: themes[theme].auxiliaryText }]} numberOfLines={1}> + {count} </Text> </View> <View style={styles.detailContainer}> - <CustomIcon name='user' size={24} color={themes[theme!].auxiliaryText} /> - <Text style={[styles.detailText, { color: themes[theme!].auxiliaryText }]} numberOfLines={1}> + <CustomIcon name='user' size={24} color={themes[theme].auxiliaryText} /> + <Text style={[styles.detailText, { color: themes[theme].auxiliaryText }]} numberOfLines={1}> {replies} </Text> </View> @@ -87,7 +87,7 @@ const ThreadDetails = ({ item, user, badgeColor, toggleFollowThread, style }: IT <CustomIcon size={24} name={isFollowing ? 'notification' : 'notification-disabled'} - color={themes[theme!].auxiliaryTintColor} + color={themes[theme].auxiliaryTintColor} /> </Touchable> </View> diff --git a/app/containers/Toast.tsx b/app/containers/Toast.tsx index 7dca3e147..ba1598f90 100644 --- a/app/containers/Toast.tsx +++ b/app/containers/Toast.tsx @@ -26,9 +26,9 @@ interface IToastProps { } class Toast extends React.Component<IToastProps, any> { - private listener: any; + private listener?: Function; - private toast: any; + private toast: EasyToast | null | undefined; componentDidMount() { this.listener = EventEmitter.addEventListener(LISTENER, this.showToast); @@ -43,12 +43,14 @@ class Toast extends React.Component<IToastProps, any> { } componentWillUnmount() { - EventEmitter.removeListener(LISTENER, this.listener); + if (this.listener) { + EventEmitter.removeListener(LISTENER, this.listener); + } } - getToastRef = (toast: any) => (this.toast = toast); + getToastRef = (toast: EasyToast | null) => (this.toast = toast); - showToast = ({ message }: any) => { + showToast = ({ message }: { message: string }) => { if (this.toast && this.toast.show) { this.toast.show(message, 1000); } diff --git a/app/containers/TwoFactor/index.tsx b/app/containers/TwoFactor/index.tsx index 5bb27774c..200095b47 100644 --- a/app/containers/TwoFactor/index.tsx +++ b/app/containers/TwoFactor/index.tsx @@ -9,21 +9,36 @@ import { connect } from 'react-redux'; import TextInput from '../TextInput'; import I18n from '../../i18n'; import EventEmitter from '../../utils/events'; -import { withTheme } from '../../theme'; +import { useTheme } from '../../theme'; import { themes } from '../../constants/colors'; import Button from '../Button'; import sharedStyles from '../../views/Styles'; import RocketChat from '../../lib/rocketchat'; import styles from './styles'; +import { IApplicationState } from '../../definitions'; export const TWO_FACTOR = 'TWO_FACTOR'; -interface ITwoFactor { - theme?: string; - isMasterDetail: boolean; +interface IMethodsProp { + text: string; + keyboardType: 'numeric' | 'default'; + title?: string; + secureTextEntry?: boolean; +} +interface IMethods { + totp: IMethodsProp; + email: IMethodsProp; + password: IMethodsProp; } -const methods: any = { +interface EventListenerMethod { + method?: keyof IMethods; + submit?: (param: string) => void; + cancel?: () => void; + invalid?: boolean; +} + +const methods: IMethods = { totp: { text: 'Open_your_authentication_app_and_enter_the_code', keyboardType: 'numeric' @@ -40,14 +55,14 @@ const methods: any = { } }; -const TwoFactor = React.memo(({ theme, isMasterDetail }: ITwoFactor) => { +const TwoFactor = React.memo(({ isMasterDetail }: { isMasterDetail: boolean }) => { + const { theme } = useTheme(); const [visible, setVisible] = useState(false); - const [data, setData] = useState<any>({}); - const [code, setCode] = useState<any>(''); + const [data, setData] = useState<EventListenerMethod>({}); + const [code, setCode] = useState<string>(''); - const method = methods[data.method]; + const method = data.method ? methods[data.method] : null; const isEmail = data.method === 'email'; - const sendEmail = () => RocketChat.sendEmailCode(); useDeepCompareEffect(() => { @@ -59,7 +74,7 @@ const TwoFactor = React.memo(({ theme, isMasterDetail }: ITwoFactor) => { } }, [data]); - const showTwoFactor = (args: any) => setData(args); + const showTwoFactor = (args: EventListenerMethod) => setData(args); useEffect(() => { const listener = EventEmitter.addEventListener(TWO_FACTOR, showTwoFactor); @@ -87,26 +102,19 @@ const TwoFactor = React.memo(({ theme, isMasterDetail }: ITwoFactor) => { setData({}); }; - const color = themes[theme!].titleText; + const color = themes[theme].titleText; return ( - <Modal - // @ts-ignore - transparent - avoidKeyboard - useNativeDriver - isVisible={visible} - hideModalContentWhileAnimating> + <Modal avoidKeyboard useNativeDriver isVisible={visible} hideModalContentWhileAnimating> <View style={styles.container} testID='two-factor'> <View style={[ styles.content, isMasterDetail && [sharedStyles.modalFormSheet, styles.tablet], - { backgroundColor: themes[theme!].backgroundColor } + { backgroundColor: themes[theme].backgroundColor } ]}> <Text style={[styles.title, { color }]}>{I18n.t(method?.title || 'Two_Factor_Authentication')}</Text> {method?.text ? <Text style={[styles.subtitle, { color }]}>{I18n.t(method.text)}</Text> : null} <TextInput - /* @ts-ignore*/ value={code} theme={theme} inputRef={(e: any) => InteractionManager.runAfterInteractions(() => e?.getNativeRef()?.focus())} @@ -116,19 +124,19 @@ const TwoFactor = React.memo(({ theme, isMasterDetail }: ITwoFactor) => { onSubmitEditing={onSubmit} keyboardType={method?.keyboardType} secureTextEntry={method?.secureTextEntry} - error={data.invalid && { error: 'totp-invalid', reason: I18n.t('Code_or_password_invalid') }} + error={data.invalid ? { error: 'totp-invalid', reason: I18n.t('Code_or_password_invalid') } : undefined} testID='two-factor-input' /> - {isEmail && ( + {isEmail ? ( <Text style={[styles.sendEmail, { color }]} onPress={sendEmail}> {I18n.t('Send_me_the_code_again')} </Text> - )} + ) : null} <View style={styles.buttonContainer}> <Button title={I18n.t('Cancel')} type='secondary' - backgroundColor={themes[theme!].chatComponentBackground} + backgroundColor={themes[theme].chatComponentBackground} style={styles.button} onPress={onCancel} theme={theme} @@ -148,8 +156,8 @@ const TwoFactor = React.memo(({ theme, isMasterDetail }: ITwoFactor) => { ); }); -const mapStateToProps = (state: any) => ({ +const mapStateToProps = (state: IApplicationState) => ({ isMasterDetail: state.app.isMasterDetail }); -export default connect(mapStateToProps)(withTheme(TwoFactor)); +export default connect(mapStateToProps)(TwoFactor); diff --git a/app/containers/UIKit/Actions.tsx b/app/containers/UIKit/Actions.tsx index 1d5ba9840..801e8d4ae 100644 --- a/app/containers/UIKit/Actions.tsx +++ b/app/containers/UIKit/Actions.tsx @@ -3,25 +3,18 @@ import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit'; import Button from '../Button'; import I18n from '../../i18n'; - -interface IActions { - blockId: string; - appId: string; - elements: any[]; - parser: any; - theme: string; -} +import { IActions } from './interfaces'; export const Actions = ({ blockId, appId, elements, parser, theme }: IActions) => { - const [showMoreVisible, setShowMoreVisible] = useState(() => elements.length > 5); - const renderedElements = showMoreVisible ? elements.slice(0, 5) : elements; + const [showMoreVisible, setShowMoreVisible] = useState(() => elements && elements.length > 5); + const renderedElements = showMoreVisible ? elements?.slice(0, 5) : elements; - const Elements = () => - renderedElements.map((element: any) => parser.renderActions({ blockId, appId, ...element }, BLOCK_CONTEXT.ACTION, parser)); + const Elements = () => ( + <>{renderedElements?.map(element => parser?.renderActions({ blockId, appId, ...element }, BLOCK_CONTEXT.ACTION, parser))}</> + ); return ( <> - {/* @ts-ignore*/} <Elements /> {showMoreVisible && <Button theme={theme} title={I18n.t('Show_more')} onPress={() => setShowMoreVisible(false)} />} </> diff --git a/app/containers/UIKit/Context.tsx b/app/containers/UIKit/Context.tsx index 11f8e492e..e39580140 100644 --- a/app/containers/UIKit/Context.tsx +++ b/app/containers/UIKit/Context.tsx @@ -1,8 +1,9 @@ import React from 'react'; import { StyleSheet, View } from 'react-native'; -import PropTypes from 'prop-types'; import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit'; +import { IContext } from './interfaces'; + const styles = StyleSheet.create({ container: { minHeight: 36, @@ -11,13 +12,6 @@ const styles = StyleSheet.create({ } }); -export const Context = ({ elements, parser }: any) => ( - <View style={styles.container}> - {elements.map((element: any) => parser.renderContext(element, BLOCK_CONTEXT.CONTEXT, parser))} - </View> +export const Context = ({ elements, parser }: IContext) => ( + <View style={styles.container}>{elements?.map(element => parser?.renderContext(element, BLOCK_CONTEXT.CONTEXT, parser))}</View> ); - -Context.propTypes = { - elements: PropTypes.array, - parser: PropTypes.object -}; diff --git a/app/containers/UIKit/DatePicker.tsx b/app/containers/UIKit/DatePicker.tsx index 25ada0700..08b5343a8 100644 --- a/app/containers/UIKit/DatePicker.tsx +++ b/app/containers/UIKit/DatePicker.tsx @@ -12,6 +12,7 @@ import sharedStyles from '../../views/Styles'; import { CustomIcon } from '../../lib/Icons'; import { isAndroid } from '../../utils/deviceInfo'; import ActivityIndicator from '../ActivityIndicator'; +import { IDatePicker } from './interfaces'; const styles = StyleSheet.create({ input: { @@ -35,23 +36,11 @@ const styles = StyleSheet.create({ } }); -interface IDatePicker { - element: { - initial_date: any; - placeholder: string; - }; - language: string; - action: Function; - context: number; - loading: boolean; - theme: string; - value: string; - error: string; -} - export const DatePicker = ({ element, language, action, context, theme, loading, value, error }: IDatePicker) => { const [show, onShow] = useState(false); - const { initial_date, placeholder } = element; + const initial_date = element?.initial_date; + const placeholder = element?.placeholder; + const [currentDate, onChangeDate] = useState(new Date(initial_date || value)); const onChange = ({ nativeEvent: { timestamp } }: any, date: any) => { diff --git a/app/containers/UIKit/Image.tsx b/app/containers/UIKit/Image.tsx index 7b8dbf0ff..9e4317fb0 100644 --- a/app/containers/UIKit/Image.tsx +++ b/app/containers/UIKit/Image.tsx @@ -5,6 +5,8 @@ import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit'; import ImageContainer from '../message/Image'; import Navigation from '../../lib/Navigation'; +import { IThumb, IImage, IElement } from './interfaces'; +import { TThemeMode } from '../../definitions/ITheme'; const styles = StyleSheet.create({ image: { @@ -15,44 +17,25 @@ const styles = StyleSheet.create({ } }); -interface IThumb { - element: { - imageUrl: string; - }; - size?: number; -} - -interface IMedia { - element: { - imageUrl: string; - }; - theme: string; -} - -interface IImage { - element: any; - context: any; - theme: string; -} - -const ThumbContext = (args: any) => ( +const ThumbContext = (args: IThumb) => ( <View style={styles.mediaContext}> <Thumb size={20} {...args} /> </View> ); export const Thumb = ({ element, size = 88 }: IThumb) => ( - <FastImage style={[{ width: size, height: size }, styles.image]} source={{ uri: element.imageUrl }} /> + <FastImage style={[{ width: size, height: size }, styles.image]} source={{ uri: element?.imageUrl }} /> ); -export const Media = ({ element, theme }: IMedia) => { +export const Media = ({ element, theme }: IImage) => { const showAttachment = (attachment: any) => Navigation.navigate('AttachmentView', { attachment }); - const { imageUrl } = element; + const imageUrl = element?.imageUrl ?? ''; // @ts-ignore + // TODO: delete ts-ignore after refactor Markdown and ImageContainer return <ImageContainer file={{ image_url: imageUrl }} imageUrl={imageUrl} showAttachment={showAttachment} theme={theme} />; }; -const genericImage = (element: any, context: any, theme: string) => { +const genericImage = (theme: TThemeMode, element: IElement, context?: number) => { switch (context) { case BLOCK_CONTEXT.SECTION: return <Thumb element={element} />; @@ -63,4 +46,4 @@ const genericImage = (element: any, context: any, theme: string) => { } }; -export const Image = ({ element, context, theme }: IImage) => genericImage(element, context, theme); +export const Image = ({ element, context, theme }: IImage) => genericImage(theme, element, context); diff --git a/app/containers/UIKit/Input.tsx b/app/containers/UIKit/Input.tsx index 3ecd8b58c..b3492e447 100644 --- a/app/containers/UIKit/Input.tsx +++ b/app/containers/UIKit/Input.tsx @@ -4,6 +4,7 @@ import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit'; import sharedStyles from '../../views/Styles'; import { themes } from '../../constants/colors'; +import { IInput } from './interfaces'; const styles = StyleSheet.create({ container: { @@ -31,16 +32,6 @@ const styles = StyleSheet.create({ } }); -interface IInput { - element: object; - parser: any; - label: string; - description: string; - error: string; - hint: string; - theme: string; -} - export const Input = ({ element, parser, label, description, error, hint, theme }: IInput) => ( <View style={styles.container}> {label ? ( diff --git a/app/containers/UIKit/MultiSelect/Items.tsx b/app/containers/UIKit/MultiSelect/Items.tsx index 4c81bbe2c..149e2a82a 100644 --- a/app/containers/UIKit/MultiSelect/Items.tsx +++ b/app/containers/UIKit/MultiSelect/Items.tsx @@ -41,7 +41,7 @@ const Item = ({ item, selected, onSelect, theme }: IItem) => { <> {item.imageUrl ? <FastImage style={styles.itemImage} source={{ uri: item.imageUrl }} /> : null} <Text style={{ color: themes[theme].titleText }}>{textParser([item.text])}</Text> - {selected ? <Check theme={theme} /> : null} + {selected ? <Check /> : null} </> </Touchable> ); diff --git a/app/containers/UIKit/MultiSelect/index.tsx b/app/containers/UIKit/MultiSelect/index.tsx index bedac3257..1038d4777 100644 --- a/app/containers/UIKit/MultiSelect/index.tsx +++ b/app/containers/UIKit/MultiSelect/index.tsx @@ -24,7 +24,7 @@ interface IMultiSelect { multiselect?: boolean; onSearch?: () => void; onClose?: () => void; - inputStyle: object; + inputStyle?: object; value?: any[]; disabled?: boolean | object; theme: string; @@ -126,7 +126,6 @@ export const MultiSelect = React.memo( <View style={[styles.content, { backgroundColor: themes[theme].backgroundColor }]}> <TextInput testID='multi-select-search' - /* @ts-ignore*/ onChangeText={onSearch || onSearchChange} placeholder={I18n.t('Search')} theme={theme} diff --git a/app/containers/UIKit/Overflow.tsx b/app/containers/UIKit/Overflow.tsx index 391a3af17..a48fadd36 100644 --- a/app/containers/UIKit/Overflow.tsx +++ b/app/containers/UIKit/Overflow.tsx @@ -8,32 +8,7 @@ import ActivityIndicator from '../ActivityIndicator'; import { themes } from '../../constants/colors'; import { BUTTON_HIT_SLOP } from '../message/utils'; import * as List from '../List'; - -interface IOption { - option: { - text: string; - value: string; - }; - onOptionPress: Function; - parser: any; - theme: string; -} - -interface IOptions { - options: []; - onOptionPress: Function; - parser: object; - theme: string; -} - -interface IOverflow { - element: any; - action: Function; - loading: boolean; - parser: object; - theme: string; - context: any; -} +import { IOption, IOptions, IOverflow } from './interfaces'; const keyExtractor = (item: any) => item.value; @@ -68,10 +43,11 @@ const Options = ({ options, onOptionPress, parser, theme }: IOptions) => ( /> ); -const touchable = {}; +const touchable: { [key: string]: any } = {}; export const Overflow = ({ element, loading, action, parser, theme }: IOverflow) => { - const { options, blockId } = element; + const options = element?.options || []; + const blockId = element?.blockId || ''; const [show, onShow] = useState(false); const onOptionPress = ({ value }: any) => { @@ -82,8 +58,7 @@ export const Overflow = ({ element, loading, action, parser, theme }: IOverflow) return ( <> <Touchable - /* @ts-ignore*/ - ref={ref => (touchable[blockId] = ref)} + ref={(ref: any) => (touchable[blockId] = ref)} background={Touchable.Ripple(themes[theme].bannerBackground)} onPress={() => onShow(!show)} hitSlop={BUTTON_HIT_SLOP} @@ -91,7 +66,7 @@ export const Overflow = ({ element, loading, action, parser, theme }: IOverflow) {!loading ? ( <CustomIcon size={18} name='kebab' color={themes[theme].bodyText} /> ) : ( - <ActivityIndicator style={styles.loading} theme={theme} /> + <ActivityIndicator style={styles.loading} /> )} </Touchable> <Popover diff --git a/app/containers/UIKit/Section.tsx b/app/containers/UIKit/Section.tsx index a64d2c7a1..6a4c60744 100644 --- a/app/containers/UIKit/Section.tsx +++ b/app/containers/UIKit/Section.tsx @@ -3,6 +3,7 @@ import { StyleSheet, Text, View } from 'react-native'; import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit'; import { themes } from '../../constants/colors'; +import { IAccessoryComponent, IFields, ISection } from './interfaces'; const styles = StyleSheet.create({ content: { @@ -23,36 +24,16 @@ const styles = StyleSheet.create({ } }); -interface IAccessory { - blockId?: string; - appId?: string; - element: any; - parser: any; -} +const Accessory = ({ element, parser }: IAccessoryComponent) => + parser.renderAccessories({ ...element }, BLOCK_CONTEXT.SECTION, parser); -interface IFields { - fields: any; - parser: any; - theme: string; -} - -interface ISection { - blockId: string; - appId: string; - text: object; - fields: []; - accessory: any; - theme: string; - parser: any; -} - -const Accessory = ({ blockId, appId, element, parser }: IAccessory) => - parser.renderAccessories({ blockId, appId, ...element }, BLOCK_CONTEXT.SECTION, parser); - -const Fields = ({ fields, parser, theme }: IFields) => - fields.map((field: any) => ( - <Text style={[styles.text, styles.field, { color: themes[theme].bodyText }]}>{parser.text(field)}</Text> - )); +const Fields = ({ fields, parser, theme }: IFields) => ( + <> + {fields.map(field => ( + <Text style={[styles.text, styles.field, { color: themes[theme].bodyText }]}>{parser.text(field)}</Text> + ))} + </> +); const accessoriesRight = ['image', 'overflow']; diff --git a/app/containers/UIKit/index.tsx b/app/containers/UIKit/index.tsx index a5850441a..77c660967 100644 --- a/app/containers/UIKit/index.tsx +++ b/app/containers/UIKit/index.tsx @@ -20,6 +20,7 @@ import { Input } from './Input'; import { DatePicker } from './DatePicker'; import { Overflow } from './Overflow'; import { ThemeContext } from '../../theme'; +import { BlockContext, IButton, IInputIndex, IParser, IText } from './interfaces'; const styles = StyleSheet.create({ input: { @@ -42,8 +43,12 @@ const styles = StyleSheet.create({ const plainText = ({ text } = { text: '' }) => text; class MessageParser extends UiKitParserMessage { - text({ text, type }: any = { text: '' }, context: any) { - const { theme }: any = useContext(ThemeContext); + get current() { + return this as unknown as IParser; + } + + text({ text, type }: Partial<IText> = { text: '' }, context: BlockContext) { + const { theme } = useContext(ThemeContext); if (type !== 'mrkdwn') { return <Text style={[styles.text, { color: themes[theme].bodyText }]}>{text}</Text>; } @@ -55,9 +60,9 @@ class MessageParser extends UiKitParserMessage { return <Markdown msg={text} theme={theme} style={[isContext && { color: themes[theme].auxiliaryText }]} />; } - button(element: any, context: any) { + button(element: IButton, context: BlockContext) { const { text, value, actionId, style } = element; - const [{ loading }, action]: any = useBlockContext(element, context); + const [{ loading }, action] = useBlockContext(element, context); const { theme } = useContext(ThemeContext); return ( <Button @@ -73,7 +78,7 @@ class MessageParser extends UiKitParserMessage { } divider() { - const { theme }: any = useContext(ThemeContext); + const { theme } = useContext(ThemeContext); // @ts-ignore return <Divider theme={theme} />; } @@ -91,7 +96,7 @@ class MessageParser extends UiKitParserMessage { overflow(element: any, context: any) { const [{ loading }, action]: any = useBlockContext(element, context); const { theme }: any = useContext(ThemeContext); - return <Overflow element={element} context={context} loading={loading} action={action} theme={theme} parser={this} />; + return <Overflow element={element} context={context} loading={loading} action={action} theme={theme} parser={this.current} />; } datePicker(element: any, context: any) { @@ -150,12 +155,16 @@ class ModalParser extends UiKitParserModal { }); } - input({ element, blockId, appId, label, description, hint }: any, context: any) { + get current() { + return this as unknown as IParser; + } + + input({ element, blockId, appId, label, description, hint }: IInputIndex, context: number) { const [{ error }]: any = useBlockContext({ ...element, appId, blockId }, context); const { theme }: any = useContext(ThemeContext); return ( <Input - parser={this} + parser={this.current} element={{ ...element, appId, blockId }} label={plainText(label)} description={plainText(description)} @@ -178,16 +187,14 @@ class ModalParser extends UiKitParserModal { return ( // @ts-ignore <TextInput - id={actionId} + key={actionId} placeholder={plainText(placeholder)} - onInput={action} multiline={multiline} loading={loading} - onChangeText={(text: any) => action({ value: text })} + onChangeText={text => action({ value: text })} inputStyle={multiline && styles.multiline} containerStyle={styles.input} value={value} - // @ts-ignore error={{ error }} theme={theme} /> diff --git a/app/containers/UIKit/interfaces.ts b/app/containers/UIKit/interfaces.ts new file mode 100644 index 000000000..af41c34a3 --- /dev/null +++ b/app/containers/UIKit/interfaces.ts @@ -0,0 +1,273 @@ +import { TThemeMode } from '../../definitions/ITheme'; + +export enum ElementTypes { + IMAGE = 'image', + BUTTON = 'button', + STATIC_SELECT = 'static_select', + MULTI_STATIC_SELECT = 'multi_static_select', + CONVERSATION_SELECT = 'conversations_select', + CHANNEL_SELECT = 'channels_select', + USER_SELECT = 'users_select', + OVERFLOW = 'overflow', + DATEPICKER = 'datepicker', + PLAIN_TEXT_INPUT = 'plain_text_input', + SECTION = 'section', + DIVIDER = 'divider', + ACTIONS = 'actions', + CONTEXT = 'context', + FIELDS = 'fields', + INPUT = 'input', + PLAIN_TEXT = 'plain_text', + TEXT = 'text', + MARKDOWN = 'mrkdwn' +} + +export enum BlockContext { + BLOCK, + SECTION, + ACTION, + FORM, + CONTEXT +} + +export enum ActionTypes { + ACTION = 'blockAction', + SUBMIT = 'viewSubmit', + CLOSED = 'viewClosed' +} + +export enum ContainerTypes { + VIEW = 'view', + MESSAGE = 'message' +} + +export enum ModalActions { + MODAL = 'modal', + OPEN = 'modal.open', + CLOSE = 'modal.close', + UPDATE = 'modal.update', + ERRORS = 'errors' +} + +export interface IStateView { + [key: string]: { [settings: string]: string | number }; +} + +export interface IView { + appId: string; + type: ModalActions; + id: string; + title: IText; + submit: IButton; + close: IButton; + blocks: Block[]; + showIcon: boolean; + state?: IStateView; +} + +export interface Block { + type: ElementTypes; + blockId: string; + element?: IElement; + label?: string; + appId: string; + optional?: boolean; + elements?: IElement[]; +} + +export interface IElement { + type: ElementTypes; + placeholder?: IText; + actionId: string; + initialValue?: string; + options?: Option[]; + text?: IText; + value?: string; + initial_date?: any; + imageUrl?: string; + appId?: string; + blockId?: string; +} + +export interface IText { + type: ElementTypes; + text: string; + emoji?: boolean; +} + +export interface Option { + text: IText; + value: string; +} + +export interface IButton { + type: ElementTypes; + text: IText; + actionId: string; + value?: any; + style?: any; +} + +export interface IContainer { + type: ContainerTypes; + id: string; +} + +// methods/actions +export interface IUserInteraction { + triggerId: string; + appId?: string; + viewId?: string; + view: IView; +} + +export interface IEmitUserInteraction extends IUserInteraction { + type: ModalActions; +} + +export interface ITriggerAction { + type: ActionTypes; + actionId?: string; + appId?: string; + container?: IContainer; + value?: number; + blockId?: string; + rid?: string; + mid?: string; + viewId?: string; + payload?: any; + view?: IView; +} + +export interface ITriggerBlockAction { + container: IContainer; + actionId: string; + appId: string; + value: number; + blockId?: string; + mid?: string; + rid?: string; +} + +export interface ITriggerSubmitView { + viewId: string; + appId: string; + payload: { + view: { + id: string; + state: IStateView; + }; + }; +} + +export interface ITriggerCancel { + view: IView; + appId: string; + viewId: string; + isCleared: boolean; +} + +// UiKit components +export interface IParser { + renderAccessories: (data: TElementAccessory, context: BlockContext, parser: IParser) => JSX.Element; + renderActions: (data: Block, context: BlockContext, parser: IParser) => JSX.Element; + renderContext: (data: IElement, context: BlockContext, parser: IParser) => JSX.Element; + renderInputs: (data: Partial<IElement>, context: BlockContext, parser: IParser) => JSX.Element; + text: (data: IText) => JSX.Element; +} +export interface IActions extends Block { + parser?: IParser; + theme: TThemeMode; +} + +export interface IContext extends Block { + parser: IParser; +} + +export interface IDatePicker extends Partial<Block> { + language: string; + action: Function; + context: number; + loading: boolean; + value: string; + error: string; + theme: TThemeMode; +} + +export interface IInput extends Partial<Block> { + parser: IParser; + description: string; + error: string; + hint: string; + theme: TThemeMode; +} + +export interface IInputIndex { + element: IElement; + blockId: string; + appId: string; + label: IText; + description: IText; + hint: IText; +} + +export interface IThumb { + element: IElement; + size?: number; +} +export interface IImage { + element: IElement; + theme: TThemeMode; + context?: number; +} + +// UiKit/Overflow +export interface IOverflow extends Partial<Block> { + action: Function; + loading: boolean; + parser: IParser; + theme: TThemeMode; + context: number; +} + +interface PropsOption { + onOptionPress: Function; + parser: IParser; + theme: TThemeMode; +} +export interface IOptions extends PropsOption { + options: Option[]; +} + +export interface IOption extends PropsOption { + option: Option; +} + +// UiKit/Section +interface IAccessory { + type: ElementTypes; + actionId: string; + value: number; + text: IText; +} + +type TElementAccessory = IAccessory & { blockId: string; appId: string }; +export interface IAccessoryComponent { + element: TElementAccessory; + parser: IParser; +} +export interface ISection { + blockId: string; + appId: string; + text?: IText; + accessory?: IAccessory; + parser: IParser; + theme: TThemeMode; + fields?: any[]; +} + +export interface IFields { + parser: IParser; + theme: TThemeMode; + fields: any[]; +} diff --git a/app/containers/UIKit/utils.ts b/app/containers/UIKit/utils.ts index b64aea9cc..d148fdd56 100644 --- a/app/containers/UIKit/utils.ts +++ b/app/containers/UIKit/utils.ts @@ -2,6 +2,8 @@ import React, { useContext, useState } from 'react'; import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit'; +import { BlockContext } from './interfaces'; + export const textParser = ([{ text }]: any) => text; export const defaultContext: any = { @@ -13,7 +15,19 @@ export const defaultContext: any = { export const KitContext = React.createContext(defaultContext); -export const useBlockContext = ({ blockId, actionId, appId, initialValue }: any, context: any) => { +type TObjectReturn = { + loading: boolean; + setLoading: React.Dispatch<React.SetStateAction<boolean>>; + error: any; + value: any; + language: any; +}; + +type TFunctionReturn = (value: any) => Promise<void>; + +type TReturn = [TObjectReturn, TFunctionReturn]; + +export const useBlockContext = ({ blockId, actionId, appId, initialValue }: any, context: BlockContext): TReturn => { const { action, appId: appIdFromContext, viewId, state, language, errors, values = {} } = useContext(KitContext); const { value = initialValue } = values[actionId] || {}; const [loading, setLoading] = useState(false); diff --git a/app/containers/markdown/Table.tsx b/app/containers/markdown/Table.tsx index f7c742b6e..4a0a972bf 100644 --- a/app/containers/markdown/Table.tsx +++ b/app/containers/markdown/Table.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { ScrollView, Text, TouchableOpacity, View } from 'react-native'; +import { ScrollView, Text, TouchableOpacity, View, ViewStyle } from 'react-native'; import { CELL_WIDTH } from './TableCell'; import styles from './styles'; @@ -19,7 +19,7 @@ const Table = React.memo(({ children, numColumns, theme }: ITable) => { const getTableWidth = () => numColumns * CELL_WIDTH; const renderRows = (drawExtraBorders = true) => { - const tableStyle = [styles.table, { borderColor: themes[theme].borderColor }]; + const tableStyle: ViewStyle[] = [styles.table, { borderColor: themes[theme].borderColor }]; if (drawExtraBorders) { tableStyle.push(styles.tableExtraBorders); } diff --git a/app/containers/markdown/TableCell.tsx b/app/containers/markdown/TableCell.tsx index 09e5c4fc3..a00b0e092 100644 --- a/app/containers/markdown/TableCell.tsx +++ b/app/containers/markdown/TableCell.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Text, View } from 'react-native'; +import { Text, View, ViewStyle } from 'react-native'; import { themes } from '../../constants/colors'; import styles from './styles'; @@ -14,7 +14,7 @@ interface ITableCell { export const CELL_WIDTH = 100; const TableCell = React.memo(({ isLastCell, align, children, theme }: ITableCell) => { - const cellStyle = [styles.cell, { borderColor: themes[theme].borderColor }]; + const cellStyle: ViewStyle[] = [styles.cell, { borderColor: themes[theme].borderColor }]; if (!isLastCell) { cellStyle.push(styles.cellRightBorder); } diff --git a/app/containers/markdown/TableRow.tsx b/app/containers/markdown/TableRow.tsx index 730c0b71e..c1fc9e906 100644 --- a/app/containers/markdown/TableRow.tsx +++ b/app/containers/markdown/TableRow.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { View } from 'react-native'; +import { View, ViewStyle } from 'react-native'; import { themes } from '../../constants/colors'; import styles from './styles'; @@ -11,7 +11,7 @@ interface ITableRow { } const TableRow = React.memo(({ isLastRow, children: _children, theme }: ITableRow) => { - const rowStyle = [styles.row, { borderColor: themes[theme].borderColor }]; + const rowStyle: ViewStyle[] = [styles.row, { borderColor: themes[theme].borderColor }]; if (!isLastRow) { rowStyle.push(styles.rowBottomBorder); } diff --git a/app/containers/markdown/index.tsx b/app/containers/markdown/index.tsx index 73e74e8f3..e4c942d1e 100644 --- a/app/containers/markdown/index.tsx +++ b/app/containers/markdown/index.tsx @@ -280,6 +280,7 @@ class Markdown extends PureComponent<IMarkdownProps, any> { renderHeading = ({ children, level }: any) => { const { numberOfLines, theme } = this.props; + // @ts-ignore const textStyle = styles[`heading${level}Text`]; return ( <Text numberOfLines={numberOfLines} style={[textStyle, { color: themes[theme].bodyText }]}> diff --git a/app/containers/markdown/styles.ts b/app/containers/markdown/styles.ts index 0e594d3a4..fa8abd9da 100644 --- a/app/containers/markdown/styles.ts +++ b/app/containers/markdown/styles.ts @@ -7,7 +7,7 @@ const codeFontFamily = Platform.select({ android: { fontFamily: 'monospace' } }); -export default StyleSheet.create<any>({ +export default StyleSheet.create({ container: { alignItems: 'flex-start', flexDirection: 'row' diff --git a/app/containers/message/Attachments.tsx b/app/containers/message/Attachments.tsx index 8ca931836..673f91ae1 100644 --- a/app/containers/message/Attachments.tsx +++ b/app/containers/message/Attachments.tsx @@ -10,9 +10,16 @@ import Reply from './Reply'; import Button from '../Button'; import styles from './styles'; import MessageContext from './Context'; +import { useTheme } from '../../theme'; +import { IAttachment } from '../../definitions'; +import CollapsibleQuote from './Components/CollapsibleQuote'; -const AttachedActions = ({ attachment, theme }: IMessageAttachedActions) => { +const AttachedActions = ({ attachment }: IMessageAttachedActions) => { + if (!attachment.actions) { + return null; + } const { onAnswerButtonPress } = useContext(MessageContext); + const { theme } = useTheme(); const attachedButtons = attachment.actions.map((element: { type: string; msg: string; text: string }) => { if (element.type === 'button') { @@ -29,42 +36,62 @@ const AttachedActions = ({ attachment, theme }: IMessageAttachedActions) => { }; const Attachments = React.memo( - ({ attachments, timeFormat, showAttachment, getCustomEmoji, theme }: IMessageAttachments) => { + // @ts-ignore + ({ attachments, timeFormat, showAttachment, style, getCustomEmoji, isReply }: IMessageAttachments) => { if (!attachments || attachments.length === 0) { return null; } - return attachments.map((file: any, index: number) => { - if (file.image_url) { + const { theme } = useTheme(); + + return attachments.map((file: IAttachment, index: number) => { + if (file && file.image_url) { return ( - <Image key={file.image_url} file={file} showAttachment={showAttachment} getCustomEmoji={getCustomEmoji} theme={theme} /> + <Image + key={file.image_url} + file={file} + showAttachment={showAttachment} + getCustomEmoji={getCustomEmoji} + style={style} + isReply={isReply} + theme={theme} + /> ); } - if (file.audio_url) { - return <Audio key={file.audio_url} file={file} getCustomEmoji={getCustomEmoji} theme={theme} />; - } - if (file.video_url) { - return ( - <Video key={file.video_url} file={file} showAttachment={showAttachment} getCustomEmoji={getCustomEmoji} theme={theme} /> - ); - } - if (file.actions && file.actions.length > 0) { - return <AttachedActions attachment={file} theme={theme} />; - } - return ( - <Reply - key={index} - index={index} - attachment={file} - timeFormat={timeFormat} - getCustomEmoji={getCustomEmoji} - theme={theme} - /> - ); + if (file && file.audio_url) { + return ( + <Audio key={file.audio_url} file={file} getCustomEmoji={getCustomEmoji} isReply={isReply} style={style} theme={theme} /> + ); + } + + if (file.video_url) { + return ( + <Video + key={file.video_url} + file={file} + showAttachment={showAttachment} + getCustomEmoji={getCustomEmoji} + style={style} + isReply={isReply} + theme={theme} + /> + ); + } + + if (file && file.actions && file.actions.length > 0) { + return <AttachedActions attachment={file} />; + } + if (file.title) { + return ( + <CollapsibleQuote key={index} index={index} attachment={file} timeFormat={timeFormat} getCustomEmoji={getCustomEmoji} /> + ); + } + + return <Reply key={index} index={index} attachment={file} timeFormat={timeFormat} getCustomEmoji={getCustomEmoji} />; }); }, - (prevProps, nextProps) => dequal(prevProps.attachments, nextProps.attachments) && prevProps.theme === nextProps.theme + (prevProps, nextProps) => dequal(prevProps.attachments, nextProps.attachments) ); Attachments.displayName = 'MessageAttachments'; diff --git a/app/containers/message/Audio.tsx b/app/containers/message/Audio.tsx index 65500adc9..d364c0d38 100644 --- a/app/containers/message/Audio.tsx +++ b/app/containers/message/Audio.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Easing, StyleSheet, Text, View } from 'react-native'; +import { StyleProp, StyleSheet, Text, TextStyle, View } from 'react-native'; import { Audio } from 'expo-av'; import Slider from '@react-native-community/slider'; import moment from 'moment'; @@ -16,19 +16,20 @@ import MessageContext from './Context'; import ActivityIndicator from '../ActivityIndicator'; import { withDimensions } from '../../dimensions'; import { TGetCustomEmoji } from '../../definitions/IEmoji'; +import { IAttachment } from '../../definitions'; interface IButton { loading: boolean; paused: boolean; theme: string; + disabled?: boolean; onPress: Function; } interface IMessageAudioProps { - file: { - audio_url: string; - description: string; - }; + file: IAttachment; + isReply?: boolean; + style?: StyleProp<TextStyle>[]; theme: string; getCustomEmoji: TGetCustomEmoji; scale?: number; @@ -83,22 +84,21 @@ const formatTime = (seconds: number) => moment.utc(seconds * 1000).format('mm:ss const BUTTON_HIT_SLOP = { top: 12, right: 12, bottom: 12, left: 12 }; -const sliderAnimationConfig = { - duration: 250, - easing: Easing.linear, - delay: 0 -}; - -const Button = React.memo(({ loading, paused, onPress, theme }: IButton) => ( +const Button = React.memo(({ loading, paused, onPress, disabled, theme }: IButton) => ( <Touchable style={styles.playPauseButton} + disabled={disabled} onPress={onPress} hitSlop={BUTTON_HIT_SLOP} background={Touchable.SelectableBackgroundBorderless()}> {loading ? ( - <ActivityIndicator style={[styles.playPauseButton, styles.audioLoading]} theme={theme} /> + <ActivityIndicator style={[styles.playPauseButton, styles.audioLoading]} /> ) : ( - <CustomIcon name={paused ? 'play-filled' : 'pause-filled'} size={36} color={themes[theme].tintColor} /> + <CustomIcon + name={paused ? 'play-filled' : 'pause-filled'} + size={36} + color={disabled ? themes[theme].tintDisabled : themes[theme].tintColor} + /> )} </Touchable> )); @@ -128,7 +128,7 @@ class MessageAudio extends React.Component<IMessageAudioProps, IMessageAudioStat const { baseUrl, user } = this.context; let url = file.audio_url; - if (!url.startsWith('http')) { + if (url && !url.startsWith('http')) { url = `${baseUrl}${file.audio_url}`; } @@ -249,7 +249,7 @@ class MessageAudio extends React.Component<IMessageAudioProps, IMessageAudioStat render() { const { loading, paused, currentTime, duration } = this.state; - const { file, getCustomEmoji, theme, scale } = this.props; + const { file, getCustomEmoji, theme, scale, isReply, style } = this.props; const { description } = file; const { baseUrl, user } = this.context; @@ -259,29 +259,34 @@ class MessageAudio extends React.Component<IMessageAudioProps, IMessageAudioStat return ( <> + <Markdown + msg={description} + style={[isReply && style]} + baseUrl={baseUrl} + username={user.username} + getCustomEmoji={getCustomEmoji} + theme={theme} + /> <View style={[ styles.audioContainer, { backgroundColor: themes[theme].chatComponentBackground, borderColor: themes[theme].borderColor } ]}> - <Button loading={loading} paused={paused} onPress={this.togglePlayPause} theme={theme} /> + <Button disabled={isReply} loading={loading} paused={paused} onPress={this.togglePlayPause} theme={theme} /> <Slider + disabled={isReply} style={styles.slider} value={currentTime} maximumValue={duration} minimumValue={0} - animateTransitions - animationConfig={sliderAnimationConfig} - thumbTintColor={isAndroid && themes[theme].tintColor} + thumbTintColor={isReply && isAndroid ? themes[theme].tintDisabled : isAndroid && themes[theme].tintColor} minimumTrackTintColor={themes[theme].tintColor} maximumTrackTintColor={themes[theme].auxiliaryText} onValueChange={this.onValueChange} - /* @ts-ignore*/ - thumbImage={isIOS && { uri: 'audio_thumb', scale }} + thumbImage={isIOS ? { uri: 'audio_thumb', scale } : undefined} /> <Text style={[styles.duration, { color: themes[theme].auxiliaryText }]}>{this.duration}</Text> </View> - <Markdown msg={description} baseUrl={baseUrl} username={user.username} getCustomEmoji={getCustomEmoji} theme={theme} /> </> ); } diff --git a/app/containers/message/Components/CollapsibleQuote/CollapsibleQuote.stories.js b/app/containers/message/Components/CollapsibleQuote/CollapsibleQuote.stories.js new file mode 100644 index 000000000..e398112e5 --- /dev/null +++ b/app/containers/message/Components/CollapsibleQuote/CollapsibleQuote.stories.js @@ -0,0 +1,34 @@ +import { storiesOf } from '@storybook/react-native'; +import React from 'react'; +import { View } from 'react-native'; + +import MessageContext from '../../Context'; +import CollapsibleQuote from '.'; + +const testAttachment = { + ts: '1970-01-01T00:00:00.000Z', + title: 'Engineering (9 today)', + fields: [ + { + title: 'Out Today:\n', + value: + 'Ricardo Mellu, 1 day, until Fri Mar 11\nLoma, 1 day, until Fri Mar 11\nAnitta, 3 hours\nDiego Carlitos, 19 days, until Fri Mar 11\nGabriel Vasconcelos, 5 days, until Fri Mar 11\nJorge Leite, 1 day, until Fri Mar 11\nKevin Aleman, 1 day, until Fri Mar 11\nPierre, 1 day, until Fri Mar 11\nTiago Evangelista Pinto, 1 day, until Fri Mar 11' + } + ], + attachments: [], + collapsed: true +}; + +const stories = storiesOf('Message', module); + +stories.add('Item', () => ( + <View style={{ padding: 10 }}> + <MessageContext.Provider + value={{ + onLongPress: () => {}, + user: { username: 'Marcos' } + }}> + <CollapsibleQuote key={0} index={0} attachment={testAttachment} getCustomEmoji={() => {}} timeFormat='LT' /> + </MessageContext.Provider> + </View> +)); diff --git a/app/containers/message/Components/CollapsibleQuote/CollapsibleQuote.test.tsx b/app/containers/message/Components/CollapsibleQuote/CollapsibleQuote.test.tsx new file mode 100644 index 000000000..d94e4c904 --- /dev/null +++ b/app/containers/message/Components/CollapsibleQuote/CollapsibleQuote.test.tsx @@ -0,0 +1,94 @@ +import { fireEvent, render, within } from '@testing-library/react-native'; +import React from 'react'; + +import MessageContext from '../../Context'; +import CollapsibleQuote from '.'; + +// For some reason a general mock didn't work, I have to do a search +jest.mock('react-native-mmkv-storage', () => ({ + Loader: jest.fn().mockImplementation(() => ({ + setProcessingMode: jest.fn().mockImplementation(() => ({ + withEncryption: jest.fn().mockImplementation(() => ({ + initialize: jest.fn() + })) + })) + })), + create: jest.fn(), + MODES: { MULTI_PROCESS: '' } +})); + +const testAttachment = { + ts: '1970-01-01T00:00:00.000Z', + title: 'Engineering (9 today)', + fields: [ + { + title: 'Out Today:\n', + value: + 'Ricardo Mellu, 1 day, until Fri Mar 11\nLoma, 1 day, until Fri Mar 11\nAnitta, 3 hours\nDiego Carlitos, 19 days, until Fri Mar 11\nGabriel Vasconcelos, 5 days, until Fri Mar 11\nJorge Leite, 1 day, until Fri Mar 11\nKevin Aleman, 1 day, until Fri Mar 11\nPierre, 1 day, until Fri Mar 11\nTiago Evangelista Pinto, 1 day, until Fri Mar 11' + } + ], + attachments: [], + collapsed: true +}; + +const mockFn = jest.fn(); + +const Render = () => ( + <MessageContext.Provider + value={{ + onLongPress: () => {}, + user: { username: 'Marcos' } + }}> + <CollapsibleQuote key={0} index={0} attachment={testAttachment} getCustomEmoji={mockFn} timeFormat='LT' /> + </MessageContext.Provider> +); + +const touchableTestID = `collapsibleQuoteTouchable-${testAttachment.title}`; + +describe('CollapsibleQuote', () => { + test('rendered', async () => { + const { findByTestId } = render(<Render />); + const collapsibleQuoteTouchable = await findByTestId(touchableTestID); + expect(collapsibleQuoteTouchable).toBeTruthy(); + }); + + test('title exists and is correct', async () => { + const { findByText } = render(<Render />); + const collapsibleQuoteTitle = await findByText(testAttachment.title); + expect(collapsibleQuoteTitle).toBeTruthy(); + expect(collapsibleQuoteTitle.props.children).toEqual(testAttachment.title); + }); + + test('fields render title correctly', async () => { + const collapsibleQuote = render(<Render />); + const collapsibleQuoteTouchable = await collapsibleQuote.findByTestId(touchableTestID); + // open + fireEvent.press(collapsibleQuoteTouchable); + const open = within(collapsibleQuoteTouchable); + const fieldTitleOpen = open.getByTestId('collapsibleQuoteTouchableFieldTitle'); + expect(fieldTitleOpen).toBeTruthy(); + expect(fieldTitleOpen.props.children).toEqual(testAttachment.fields[0].title); + // close + fireEvent.press(collapsibleQuoteTouchable); + collapsibleQuote.rerender(<Render />); + const close = within(collapsibleQuoteTouchable); + const fieldTitleClosed = close.queryByTestId('collapsibleQuoteTouchableFieldTitle'); + expect(fieldTitleClosed).toBeNull(); + }); + + test('fields render fields correctly', async () => { + const collapsibleQuote = render(<Render />); + const collapsibleQuoteTouchable = await collapsibleQuote.findByTestId(touchableTestID); + // open + fireEvent.press(collapsibleQuoteTouchable); + const open = within(collapsibleQuoteTouchable); + const fieldValueOpen = open.getByLabelText(testAttachment.fields[0].value.split('\n')[0]); + expect(fieldValueOpen).toBeTruthy(); + // close + fireEvent.press(collapsibleQuoteTouchable); + collapsibleQuote.rerender(<Render />); + const close = within(collapsibleQuoteTouchable); + const fieldValueClosed = close.queryByTestId(testAttachment.fields[0].value.split('\n')[0]); + expect(fieldValueClosed).toBeNull(); + }); +}); diff --git a/app/containers/message/Components/CollapsibleQuote/__snapshots__/CollapsibleQuote.stories.storyshot b/app/containers/message/Components/CollapsibleQuote/__snapshots__/CollapsibleQuote.stories.storyshot new file mode 100644 index 000000000..a101f5a5b --- /dev/null +++ b/app/containers/message/Components/CollapsibleQuote/__snapshots__/CollapsibleQuote.stories.storyshot @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Storyshots Message Item 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"padding\\":10}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"collapsibleQuoteTouchable-Engineering (9 today)\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"minHeight\\":40,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderLeftColor\\":\\"#CBCED1\\",\\"borderTopColor\\":\\"#e1e5e8\\",\\"borderRightColor\\":\\"#e1e5e8\\",\\"borderBottomColor\\":\\"#e1e5e8\\",\\"borderLeftWidth\\":2,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"padding\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"Engineering (9 today)\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":20,\\"height\\":20,\\"right\\":8,\\"top\\":8,\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#6C727A\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}"`; diff --git a/app/containers/message/Components/CollapsibleQuote/index.tsx b/app/containers/message/Components/CollapsibleQuote/index.tsx new file mode 100644 index 000000000..484e690ba --- /dev/null +++ b/app/containers/message/Components/CollapsibleQuote/index.tsx @@ -0,0 +1,185 @@ +import { transparentize } from 'color2k'; +import { dequal } from 'dequal'; +import React, { useContext, useState } from 'react'; +import { StyleSheet, Text, View } from 'react-native'; + +import { themes } from '../../../../constants/colors'; +import { IAttachment } from '../../../../definitions/IAttachment'; +import { TGetCustomEmoji } from '../../../../definitions/IEmoji'; +import { CustomIcon } from '../../../../lib/Icons'; +import { useTheme } from '../../../../theme'; +import sharedStyles from '../../../../views/Styles'; +import Markdown from '../../../markdown'; +import MessageContext from '../../Context'; +import Touchable from '../../Touchable'; +import { BUTTON_HIT_SLOP } from '../../utils'; + +const styles = StyleSheet.create({ + button: { + flexDirection: 'row', + alignItems: 'center', + marginTop: 6, + borderWidth: 1, + borderRadius: 4, + minHeight: 40 + }, + attachmentContainer: { + flex: 1, + borderRadius: 4, + padding: 8 + }, + authorContainer: { + flexDirection: 'row' + }, + fieldContainer: { + flexDirection: 'column', + paddingLeft: 10, + paddingTop: 10, + paddingBottom: 10 + }, + fieldTitle: { + fontSize: 15, + ...sharedStyles.textBold + }, + marginTop: { + marginTop: 4 + }, + marginBottom: { + marginBottom: 4 + }, + title: { + fontSize: 16, + ...sharedStyles.textMedium + }, + touchableContainer: { + flexDirection: 'row' + }, + markdownFontSize: { + fontSize: 15 + }, + iconContainer: { + width: 20, + height: 20, + right: 8, + top: 8, + justifyContent: 'center', + alignItems: 'center' + } +}); + +interface IMessageFields { + attachment: IAttachment; + getCustomEmoji: TGetCustomEmoji; +} + +interface IMessageReply { + attachment: IAttachment; + timeFormat?: string; + index: number; + getCustomEmoji: TGetCustomEmoji; +} + +const Fields = React.memo( + ({ attachment, getCustomEmoji }: IMessageFields) => { + if (!attachment.fields) { + return null; + } + const { baseUrl, user } = useContext(MessageContext); + const { theme } = useTheme(); + return ( + <> + {attachment.fields.map(field => ( + <View key={field.title} style={[styles.fieldContainer, { width: field.short ? '50%' : '100%' }]}> + <Text testID='collapsibleQuoteTouchableFieldTitle' style={[styles.fieldTitle, { color: themes[theme].bodyText }]}> + {field.title} + </Text> + <Markdown + msg={field?.value || ''} + baseUrl={baseUrl} + username={user.username} + getCustomEmoji={getCustomEmoji} + theme={theme} + style={[styles.markdownFontSize]} + /> + </View> + ))} + </> + ); + }, + (prevProps, nextProps) => dequal(prevProps.attachment.fields, nextProps.attachment.fields) +); + +const CollapsibleQuote = React.memo( + ({ attachment, index, getCustomEmoji }: IMessageReply) => { + if (!attachment) { + return null; + } + const [collapsed, setCollapsed] = useState(attachment.collapsed); + const { theme } = useTheme(); + + const onPress = () => { + setCollapsed(!collapsed); + }; + + let { + borderColor, + chatComponentBackground: backgroundColor, + collapsibleQuoteBorder, + collapsibleChevron, + headerTintColor + } = themes[theme]; + + try { + if (attachment.color) { + backgroundColor = transparentize(attachment.color, 0.8); + borderColor = attachment.color; + collapsibleQuoteBorder = attachment.color; + collapsibleChevron = attachment.color; + headerTintColor = headerTintColor; + } + } catch (e) { + // fallback to default + } + + return ( + <> + <Touchable + testID={`collapsibleQuoteTouchable-${attachment.title}`} + onPress={onPress} + style={[ + styles.button, + index > 0 && styles.marginTop, + attachment.description && styles.marginBottom, + { + backgroundColor, + borderLeftColor: collapsibleQuoteBorder, + borderTopColor: borderColor, + borderRightColor: borderColor, + borderBottomColor: borderColor, + borderLeftWidth: 2 + } + ]} + background={Touchable.Ripple(themes[theme].bannerBackground)} + hitSlop={BUTTON_HIT_SLOP}> + <View style={styles.touchableContainer}> + <View style={styles.attachmentContainer}> + <View style={styles.authorContainer}> + <Text style={[styles.title, { color: headerTintColor }]}>{attachment.title}</Text> + </View> + {!collapsed && <Fields attachment={attachment} getCustomEmoji={getCustomEmoji} />} + </View> + <View style={styles.iconContainer}> + <CustomIcon name={!collapsed ? 'chevron-up' : 'chevron-down'} size={22} color={collapsibleChevron} /> + </View> + </View> + </Touchable> + </> + ); + }, + (prevProps, nextProps) => dequal(prevProps.attachment, nextProps.attachment) +); + +CollapsibleQuote.displayName = 'CollapsibleQuote'; +Fields.displayName = 'CollapsibleQuoteFields'; + +export default CollapsibleQuote; diff --git a/app/containers/message/Content.tsx b/app/containers/message/Content.tsx index 684d4c6bf..add46cfbb 100644 --- a/app/containers/message/Content.tsx +++ b/app/containers/message/Content.tsx @@ -39,9 +39,7 @@ const Content = React.memo( const isPreview: any = props.tmid && !props.isThreadRoom; let content = null; - if (props.tmid && !props.msg) { - content = <Text style={[styles.text, { color: themes[props.theme].bodyText }]}>{I18n.t('Sent_an_attachment')}</Text>; - } else if (props.isEncrypted) { + if (props.isEncrypted) { content = ( <Text style={[styles.textInfo, { color: themes[props.theme].auxiliaryText }]} diff --git a/app/containers/message/Image.tsx b/app/containers/message/Image.tsx index 88f1d9f1d..8c59706d4 100644 --- a/app/containers/message/Image.tsx +++ b/app/containers/message/Image.tsx @@ -1,5 +1,5 @@ import React, { useContext } from 'react'; -import { View } from 'react-native'; +import { StyleProp, TextStyle, View } from 'react-native'; import FastImage from '@rocket.chat/react-native-fast-image'; import { dequal } from 'dequal'; import { createImageProgress } from 'react-native-image-progress'; @@ -12,9 +12,11 @@ import { formatAttachmentUrl } from '../../lib/utils'; import { themes } from '../../constants/colors'; import MessageContext from './Context'; import { TGetCustomEmoji } from '../../definitions/IEmoji'; +import { IAttachment } from '../../definitions'; type TMessageButton = { children: JSX.Element; + disabled?: boolean; onPress: Function; theme: string; }; @@ -25,17 +27,23 @@ type TMessageImage = { }; interface IMessageImage { - file: { image_url: string; description?: string }; + file: IAttachment; imageUrl?: string; - showAttachment: Function; + showAttachment?: Function; + style?: StyleProp<TextStyle>[]; + isReply?: boolean; theme: string; getCustomEmoji: TGetCustomEmoji; } const ImageProgress = createImageProgress(FastImage); -const Button = React.memo(({ children, onPress, theme }: TMessageButton) => ( - <Touchable onPress={onPress} style={styles.imageContainer} background={Touchable.Ripple(themes[theme].bannerBackground)}> +const Button = React.memo(({ children, onPress, disabled, theme }: TMessageButton) => ( + <Touchable + disabled={disabled} + onPress={onPress} + style={styles.imageContainer} + background={Touchable.Ripple(themes[theme].bannerBackground)}> {children} </Touchable> )); @@ -53,34 +61,41 @@ export const MessageImage = React.memo(({ img, theme }: TMessageImage) => ( )); const ImageContainer = React.memo( - ({ file, imageUrl, showAttachment, getCustomEmoji, theme }: IMessageImage) => { + ({ file, imageUrl, showAttachment, getCustomEmoji, style, isReply, theme }: IMessageImage) => { const { baseUrl, user } = useContext(MessageContext); const img = imageUrl || formatAttachmentUrl(file.image_url, user.id, user.token, baseUrl); if (!img) { return null; } - const onPress = () => showAttachment(file); + const onPress = () => { + if (!showAttachment) { + return; + } + + return showAttachment(file); + }; if (file.description) { return ( - <Button theme={theme} onPress={onPress}> + <Button disabled={isReply} theme={theme} onPress={onPress}> <View> - <MessageImage img={img} theme={theme} /> <Markdown msg={file.description} + style={[isReply && style]} baseUrl={baseUrl} username={user.username} getCustomEmoji={getCustomEmoji} theme={theme} /> + <MessageImage img={img} theme={theme} /> </View> </Button> ); } return ( - <Button theme={theme} onPress={onPress}> + <Button disabled={isReply} theme={theme} onPress={onPress}> <MessageImage img={img} theme={theme} /> </Button> ); diff --git a/app/containers/message/Message.tsx b/app/containers/message/Message.tsx index 7751fa028..011857619 100644 --- a/app/containers/message/Message.tsx +++ b/app/containers/message/Message.tsx @@ -21,6 +21,9 @@ import { themes } from '../../constants/colors'; import { IMessage, IMessageInner, IMessageTouchable } from './interfaces'; const MessageInner = React.memo((props: IMessageInner) => { + const { attachments } = props; + const isCollapsible = attachments ? attachments[0] && attachments[0].collapsed : false; + if (props.type === 'discussion-created') { return ( <> @@ -29,6 +32,7 @@ const MessageInner = React.memo((props: IMessageInner) => { </> ); } + if (props.type === 'jitsi_call_started') { return ( <> @@ -38,6 +42,7 @@ const MessageInner = React.memo((props: IMessageInner) => { </> ); } + if (props.blocks && props.blocks.length) { return ( <> @@ -48,11 +53,22 @@ const MessageInner = React.memo((props: IMessageInner) => { </> ); } + return ( <> <User {...props} /> - <Content {...props} /> - <Attachments {...props} /> + {isCollapsible ? ( + <> + <Content {...props} /> + <Attachments {...props} /> + </> + ) : ( + <> + <Attachments {...props} /> + <Content {...props} /> + </> + )} + <Urls {...props} /> <Thread {...props} /> <Reactions {...props} /> @@ -87,7 +103,7 @@ const Message = React.memo((props: IMessage) => { <View style={[styles.messageContent, props.isHeader && styles.messageContentWithHeader]}> <MessageInner {...props} /> </View> - <ReadReceipt isReadReceiptEnabled={props.isReadReceiptEnabled} unread={props.unread} theme={props.theme} /> + <ReadReceipt isReadReceiptEnabled={props.isReadReceiptEnabled} unread={props.unread || false} theme={props.theme} /> </View> </View> ); diff --git a/app/containers/message/Reply.tsx b/app/containers/message/Reply.tsx index 0da83d6fd..4f197bc47 100644 --- a/app/containers/message/Reply.tsx +++ b/app/containers/message/Reply.tsx @@ -1,7 +1,6 @@ import React, { useContext, useState } from 'react'; import { StyleSheet, Text, View } from 'react-native'; import moment from 'moment'; -import { transparentize } from 'color2k'; import { dequal } from 'dequal'; import FastImage from '@rocket.chat/react-native-fast-image'; @@ -16,22 +15,24 @@ import { formatAttachmentUrl } from '../../lib/utils'; import { IAttachment } from '../../definitions/IAttachment'; import { TGetCustomEmoji } from '../../definitions/IEmoji'; import RCActivityIndicator from '../ActivityIndicator'; +import Attachments from './Attachments'; +import { useTheme } from '../../theme'; const styles = StyleSheet.create({ button: { flex: 1, flexDirection: 'row', alignItems: 'center', - marginTop: 6, + marginVertical: 4, alignSelf: 'flex-start', - borderWidth: 1, - borderRadius: 4 + borderLeftWidth: 2 }, attachmentContainer: { flex: 1, borderRadius: 4, flexDirection: 'column', - padding: 15 + paddingVertical: 4, + paddingLeft: 8 }, backdrop: { ...StyleSheet.absoluteFillObject @@ -39,7 +40,8 @@ const styles = StyleSheet.create({ authorContainer: { flex: 1, flexDirection: 'row', - alignItems: 'center' + alignItems: 'center', + marginBottom: 8 }, author: { flex: 1, @@ -48,9 +50,8 @@ const styles = StyleSheet.create({ }, time: { fontSize: 12, - marginLeft: 10, - ...sharedStyles.textRegular, - fontWeight: '300' + marginLeft: 8, + ...sharedStyles.textRegular }, fieldsContainer: { flex: 1, @@ -94,7 +95,7 @@ const styles = StyleSheet.create({ interface IMessageTitle { attachment: IAttachment; - timeFormat: string; + timeFormat?: string; theme: string; } @@ -112,9 +113,8 @@ interface IMessageFields { interface IMessageReply { attachment: IAttachment; - timeFormat: string; + timeFormat?: string; index: number; - theme: string; getCustomEmoji: TGetCustomEmoji; } @@ -123,10 +123,10 @@ const Title = React.memo(({ attachment, timeFormat, theme }: IMessageTitle) => { return ( <View style={styles.authorContainer}> {attachment.author_name ? ( - <Text style={[styles.author, { color: themes[theme].bodyText }]}>{attachment.author_name}</Text> + <Text style={[styles.author, { color: themes[theme].auxiliaryTintColor }]}>{attachment.author_name}</Text> ) : null} {attachment.title ? <Text style={[styles.title, { color: themes[theme].bodyText }]}>{attachment.title}</Text> : null} - {time ? <Text style={[styles.time, { color: themes[theme].auxiliaryText }]}>{time}</Text> : null} + {time ? <Text style={[styles.time, { color: themes[theme].auxiliaryTintColor }]}>{time}</Text> : null} </View> ); }); @@ -138,7 +138,16 @@ const Description = React.memo( return null; } const { baseUrl, user } = useContext(MessageContext); - return <Markdown msg={text} baseUrl={baseUrl} username={user.username} getCustomEmoji={getCustomEmoji} theme={theme} />; + return ( + <Markdown + msg={text} + style={[{ color: themes[theme].auxiliaryTintColor, fontSize: 14 }]} + baseUrl={baseUrl} + username={user.username} + getCustomEmoji={getCustomEmoji} + theme={theme} + /> + ); }, (prevProps, nextProps) => { if (prevProps.attachment.text !== nextProps.attachment.text) { @@ -195,12 +204,14 @@ const Fields = React.memo( ); const Reply = React.memo( - ({ attachment, timeFormat, index, getCustomEmoji, theme }: IMessageReply) => { + ({ attachment, timeFormat, index, getCustomEmoji }: IMessageReply) => { const [loading, setLoading] = useState(false); if (!attachment) { return null; } + + const { theme } = useTheme(); const { baseUrl, user, jumpToMessage } = useContext(MessageContext); const onPress = async () => { @@ -221,14 +232,9 @@ const Reply = React.memo( openLink(url, theme); }; - let { borderColor, chatComponentBackground: backgroundColor } = themes[theme]; - try { - if (attachment.color) { - backgroundColor = transparentize(attachment.color, 0.8); - borderColor = attachment.color; - } - } catch (e) { - // fallback to default + let { borderColor } = themes[theme]; + if (attachment.color) { + borderColor = attachment.color; } return ( @@ -240,7 +246,6 @@ const Reply = React.memo( index > 0 && styles.marginTop, attachment.description && styles.marginBottom, { - backgroundColor, borderColor } ]} @@ -248,6 +253,13 @@ const Reply = React.memo( disabled={loading}> <View style={styles.attachmentContainer}> <Title attachment={attachment} timeFormat={timeFormat} theme={theme} /> + <Attachments + attachments={attachment.attachments} + getCustomEmoji={getCustomEmoji} + timeFormat={timeFormat} + style={[{ color: themes[theme].auxiliaryTintColor, fontSize: 14, marginBottom: 8 }]} + isReply + /> <UrlImage image={attachment.thumb_url} /> <Description attachment={attachment} getCustomEmoji={getCustomEmoji} theme={theme} /> <Fields attachment={attachment} getCustomEmoji={getCustomEmoji} theme={theme} /> @@ -258,7 +270,7 @@ const Reply = React.memo( styles.backdrop, { backgroundColor: themes[theme].bannerBackground, opacity: themes[theme].attachmentLoadingOpacity } ]}></View> - <RCActivityIndicator theme={theme} /> + <RCActivityIndicator /> </View> ) : null} </View> @@ -273,7 +285,7 @@ const Reply = React.memo( </> ); }, - (prevProps, nextProps) => dequal(prevProps.attachment, nextProps.attachment) && prevProps.theme === nextProps.theme + (prevProps, nextProps) => dequal(prevProps.attachment, nextProps.attachment) ); Reply.displayName = 'MessageReply'; diff --git a/app/containers/message/User.tsx b/app/containers/message/User.tsx index b03620d9a..17494deee 100644 --- a/app/containers/message/User.tsx +++ b/app/containers/message/User.tsx @@ -40,7 +40,7 @@ const styles = StyleSheet.create({ interface IMessageUser { isHeader?: boolean; hasError?: boolean; - useRealName: boolean; + useRealName?: boolean; author?: { _id: string; name?: string; @@ -50,25 +50,26 @@ interface IMessageUser { ts?: Date; timeFormat?: string; theme: string; - navToRoomInfo: Function; + navToRoomInfo?: Function; type: string; } const User = React.memo( ({ isHeader, useRealName, author, alias, ts, timeFormat, hasError, theme, navToRoomInfo, type, ...props }: IMessageUser) => { if (isHeader || hasError) { - const navParam = { - t: 'd', - rid: author!._id - }; const { user } = useContext(MessageContext); - const username = (useRealName && author!.name) || author!.username; + const username = (useRealName && author?.name) || author?.username; const aliasUsername = alias ? ( <Text style={[styles.alias, { color: themes[theme].auxiliaryText }]}> @{username}</Text> ) : null; const time = moment(ts).format(timeFormat); - const onUserPress = () => navToRoomInfo(navParam); - const isDisabled = author!._id === user.id; + const onUserPress = () => { + navToRoomInfo?.({ + t: 'd', + rid: author?._id + }); + }; + const isDisabled = author?._id === user.id; const textContent = ( <> @@ -96,7 +97,7 @@ const User = React.memo( {textContent} </Text> </TouchableOpacity> - <Text style={[messageStyles.time, { color: themes[theme].auxiliaryText }]}>{time}</Text> + <Text style={[messageStyles.time, { color: themes[theme].auxiliaryTintColor }]}>{time}</Text> {hasError && <MessageError hasError={hasError} theme={theme} {...props} />} </View> ); diff --git a/app/containers/message/Video.tsx b/app/containers/message/Video.tsx index 6fb823f82..8490b66d9 100644 --- a/app/containers/message/Video.tsx +++ b/app/containers/message/Video.tsx @@ -1,5 +1,5 @@ import React, { useContext, useState } from 'react'; -import { StyleSheet } from 'react-native'; +import { StyleProp, StyleSheet, TextStyle } from 'react-native'; import { dequal } from 'dequal'; import Touchable from './Touchable'; @@ -33,13 +33,15 @@ const styles = StyleSheet.create({ interface IMessageVideo { file: IAttachment; - showAttachment: Function; + showAttachment?: Function; getCustomEmoji: TGetCustomEmoji; + style?: StyleProp<TextStyle>[]; + isReply?: boolean; theme: string; } const Video = React.memo( - ({ file, showAttachment, getCustomEmoji, theme }: IMessageVideo) => { + ({ file, showAttachment, getCustomEmoji, style, isReply, theme }: IMessageVideo) => { const { baseUrl, user } = useContext(MessageContext); const [loading, setLoading] = useState(false); @@ -47,7 +49,7 @@ const Video = React.memo( return null; } const onPress = async () => { - if (isTypeSupported(file.video_type)) { + if (isTypeSupported(file.video_type) && showAttachment) { return showAttachment(file); } @@ -73,23 +75,21 @@ const Video = React.memo( return ( <> - <Touchable - onPress={onPress} - style={[styles.button, { backgroundColor: themes[theme].videoBackground }]} - background={Touchable.Ripple(themes[theme].bannerBackground)}> - {loading ? ( - <RCActivityIndicator theme={theme} /> - ) : ( - <CustomIcon name='play-filled' size={54} color={themes[theme].buttonText} /> - )} - </Touchable> <Markdown msg={file.description} baseUrl={baseUrl} username={user.username} getCustomEmoji={getCustomEmoji} + style={[isReply && style]} theme={theme} /> + <Touchable + disabled={isReply} + onPress={onPress} + style={[styles.button, { backgroundColor: themes[theme].videoBackground }]} + background={Touchable.Ripple(themes[theme].bannerBackground)}> + {loading ? <RCActivityIndicator /> : <CustomIcon name='play-filled' size={54} color={themes[theme].buttonText} />} + </Touchable> </> ); }, diff --git a/app/containers/message/index.tsx b/app/containers/message/index.tsx index 1740fba49..ab37997c2 100644 --- a/app/containers/message/index.tsx +++ b/app/containers/message/index.tsx @@ -10,9 +10,10 @@ import messagesStatus from '../../constants/messagesStatus'; import { withTheme } from '../../theme'; import openLink from '../../utils/openLink'; import { TGetCustomEmoji } from '../../definitions/IEmoji'; +import { TAnyMessageModel } from '../../definitions'; interface IMessageContainerProps { - item: any; + item: TAnyMessageModel; user: { id: string; username: string; @@ -20,24 +21,16 @@ interface IMessageContainerProps { }; msg?: string; rid?: string; - timeFormat: string; + timeFormat?: string; style?: ViewStyle; archived?: boolean; broadcast?: boolean; - previousItem?: { - ts: any; - u: any; - groupable: any; - id: string; - tmid: string; - status: any; - }; - isHeader: boolean; + previousItem?: TAnyMessageModel; baseUrl: string; Message_GroupingPeriod?: number; isReadReceiptEnabled?: boolean; isThreadRoom: boolean; - useRealName: boolean; + useRealName?: boolean; autoTranslateRoom?: boolean; autoTranslateLanguage?: string; status?: number; @@ -59,11 +52,11 @@ interface IMessageContainerProps { callJitsi?: Function; blockAction?: Function; onAnswerButtonPress?: Function; - theme: string; + theme?: string; threadBadgeColor?: string; toggleFollowThread?: Function; jumpToMessage?: Function; - onPress: Function; + onPress?: Function; } class MessageContainer extends React.Component<IMessageContainerProps> { @@ -222,7 +215,7 @@ class MessageContainer extends React.Component<IMessageContainerProps> { this.setState({ isManualUnignored: true }); }; - get isHeader() { + get isHeader(): boolean { const { item, previousItem, broadcast, Message_GroupingPeriod } = this.props; if (this.hasError || (previousItem && previousItem.status === messagesStatus.ERROR)) { return true; @@ -230,9 +223,11 @@ class MessageContainer extends React.Component<IMessageContainerProps> { try { if ( previousItem && + // @ts-ignore TODO: IMessage vs IMessageFromServer non-sense previousItem.ts.toDateString() === item.ts.toDateString() && previousItem.u.username === item.u.username && !(previousItem.groupable === false || item.groupable === false || broadcast === true) && + // @ts-ignore TODO: IMessage vs IMessageFromServer non-sense item.ts - previousItem.ts < Message_GroupingPeriod! * 1000 && previousItem.tmid === item.tmid ) { @@ -244,7 +239,7 @@ class MessageContainer extends React.Component<IMessageContainerProps> { } } - get isThreadReply() { + get isThreadReply(): boolean { const { item, previousItem, isThreadRoom } = this.props; if (isThreadRoom) { return false; @@ -255,37 +250,40 @@ class MessageContainer extends React.Component<IMessageContainerProps> { return false; } - get isThreadSequential() { + get isThreadSequential(): boolean { const { item, isThreadRoom } = this.props; if (isThreadRoom) { return false; } - return item.tmid; + return !!item.tmid; } - get isEncrypted() { + get isEncrypted(): boolean { const { item } = this.props; const { t, e2e } = item; return t === E2E_MESSAGE_TYPE && e2e !== E2E_STATUS.DONE; } - get isInfo() { + get isInfo(): boolean { const { item } = this.props; - return SYSTEM_MESSAGES.includes(item.t); + return (item.t && SYSTEM_MESSAGES.includes(item.t)) ?? false; } - get isTemp() { + get isTemp(): boolean { const { item } = this.props; return item.status === messagesStatus.TEMP || item.status === messagesStatus.ERROR; } - get isIgnored() { + get isIgnored(): boolean { const { isManualUnignored } = this.state; const { isIgnored } = this.props; - return isManualUnignored ? false : isIgnored; + if (isManualUnignored) { + return false; + } + return isIgnored ?? false; } - get hasError() { + get hasError(): boolean { const { item } = this.props; return item.status === messagesStatus.ERROR; } @@ -405,13 +403,12 @@ class MessageContainer extends React.Component<IMessageContainerProps> { rid={rid!} author={u} ts={ts} - type={t} + type={t as any} attachments={attachments} blocks={blocks} urls={urls} reactions={reactions} alias={alias} - /* @ts-ignore*/ avatar={avatar} emoji={emoji} timeFormat={timeFormat} @@ -424,16 +421,19 @@ class MessageContainer extends React.Component<IMessageContainerProps> { role={role} drid={drid} dcount={dcount} + // @ts-ignore dlm={dlm} tmid={tmid} tcount={tcount} + // @ts-ignore tlm={tlm} tmsg={tmsg} fetchThreadName={fetchThreadName!} + // @ts-ignore mentions={mentions} channels={channels} - isIgnored={this.isIgnored!} - isEdited={editedBy && !!editedBy.username} + isIgnored={this.isIgnored} + isEdited={(editedBy && !!editedBy.username) ?? false} isHeader={this.isHeader} isThreadReply={this.isThreadReply} isThreadSequential={this.isThreadSequential} @@ -447,7 +447,7 @@ class MessageContainer extends React.Component<IMessageContainerProps> { navToRoomInfo={navToRoomInfo!} callJitsi={callJitsi!} blockAction={blockAction!} - theme={theme} + theme={theme as string} highlighted={highlighted!} /> </MessageContext.Provider> diff --git a/app/containers/message/interfaces.ts b/app/containers/message/interfaces.ts index a068cd9cd..8dae235ba 100644 --- a/app/containers/message/interfaces.ts +++ b/app/containers/message/interfaces.ts @@ -1,24 +1,23 @@ import { MarkdownAST } from '@rocket.chat/message-parser'; +import { StyleProp, TextStyle } from 'react-native'; import { IUserChannel, IUserMention } from '../markdown/interfaces'; import { TGetCustomEmoji } from '../../definitions/IEmoji'; +import { IAttachment } from '../../definitions'; export type TMessageType = 'discussion-created' | 'jitsi_call_started'; export interface IMessageAttachments { - attachments: any; - timeFormat: string; - showAttachment: Function; + attachments?: IAttachment[]; + timeFormat?: string; + style?: StyleProp<TextStyle>[]; + isReply?: boolean; + showAttachment?: Function; getCustomEmoji: TGetCustomEmoji; - theme: string; } export interface IMessageAttachedActions { - attachment: { - actions: []; - text: string; - }; - theme: string; + attachment: IAttachment; } export interface IMessageAvatar { @@ -66,26 +65,26 @@ export interface IMessageContent { _id: string; isTemp: boolean; isInfo: boolean; - tmid: string; + tmid?: string; isThreadRoom: boolean; - msg: string; - md: MarkdownAST; + msg?: string; + md?: MarkdownAST; theme: string; isEdited: boolean; isEncrypted: boolean; getCustomEmoji: TGetCustomEmoji; - channels: IUserChannel[]; - mentions: IUserMention[]; - navToRoomInfo: Function; - useRealName: boolean; + channels?: IUserChannel[]; + mentions?: IUserMention[]; + navToRoomInfo?: Function; + useRealName?: boolean; isIgnored: boolean; type: string; } export interface IMessageDiscussion { - msg: string; - dcount: number; - dlm: Date; + msg?: string; + dcount?: number; + dlm?: Date; theme: string; } @@ -98,10 +97,10 @@ export interface IMessageEmoji { } export interface IMessageThread { - msg: string; - tcount: number; + msg?: string; + tcount?: number | null; theme: string; - tlm: Date; + tlm?: Date; isThreadRoom: boolean; id: string; } @@ -123,8 +122,8 @@ export interface IMessageTouchable { } export interface IMessageRepliedThread { - tmid: string; - tmsg: string; + tmid?: string; + tmsg?: string; id: string; isHeader: boolean; theme: string; @@ -154,7 +153,7 @@ export interface IMessage extends IMessageRepliedThread, IMessageInner { style: any; onLongPress: Function; isReadReceiptEnabled: boolean; - unread: boolean; + unread?: boolean; theme: string; isIgnored: boolean; } diff --git a/app/containers/message/styles.ts b/app/containers/message/styles.ts index 49aa273eb..624bd97f6 100644 --- a/app/containers/message/styles.ts +++ b/app/containers/message/styles.ts @@ -3,7 +3,7 @@ import { StyleSheet } from 'react-native'; import sharedStyles from '../../views/Styles'; import { isTablet } from '../../utils/deviceInfo'; -export default StyleSheet.create<any>({ +export default StyleSheet.create({ root: { flexDirection: 'row' }, @@ -28,7 +28,6 @@ export default StyleSheet.create<any>({ }, flex: { flexDirection: 'row' - // flex: 1 }, temp: { opacity: 0.3 }, marginTop: { @@ -100,7 +99,6 @@ export default StyleSheet.create<any>({ ...sharedStyles.textSemibold }, imageContainer: { - // flex: 1, flexDirection: 'column', borderRadius: 4 }, @@ -141,7 +139,6 @@ export default StyleSheet.create<any>({ }, repliedThread: { flexDirection: 'row', - // flex: 1, alignItems: 'center', marginTop: 6, marginBottom: 12 diff --git a/app/containers/message/utils.ts b/app/containers/message/utils.ts index b10f6f741..6d3149236 100644 --- a/app/containers/message/utils.ts +++ b/app/containers/message/utils.ts @@ -2,9 +2,12 @@ import { TMessageModel } from '../../definitions/IMessage'; import I18n from '../../i18n'; import { DISCUSSION } from './constants'; -export const formatMessageCount = (count: number, type: string) => { +export const formatMessageCount = (count?: number, type?: string): string => { const discussion = type === DISCUSSION; let text = discussion ? I18n.t('No_messages_yet') : null; + if (!count) { + return text; + } if (count === 1) { text = `${count} ${discussion ? I18n.t('message') : I18n.t('reply')}`; } else if (count > 1 && count < 1000) { @@ -170,10 +173,10 @@ export const getInfoMessage = ({ type, role, msg, author }: TInfoMessage): strin return I18n.t('This_room_encryption_has_been_enabled_by__username_', { username }); } if (type === 'removed-user-from-team') { - return I18n.t('Removed__username__from_team', { user_removed: username }); + return I18n.t('Removed__username__from_team', { user_removed: msg }); } if (type === 'added-user-to-team') { - return I18n.t('Added__username__to_team', { user_added: username }); + return I18n.t('Added__username__to_team', { user_added: msg }); } if (type === 'user-added-room-to-team') { return I18n.t('added__roomName__to_team', { roomName: msg }); diff --git a/app/definitions/IAttachment.ts b/app/definitions/IAttachment.ts index 4ff3aa8df..94d0e6195 100644 --- a/app/definitions/IAttachment.ts +++ b/app/definitions/IAttachment.ts @@ -1,20 +1,25 @@ +import { IUser } from './IUser'; + export interface IAttachment { - ts: Date; + ts?: string | Date; title: string; - type: string; - description: string; + type?: string; + description?: string; title_link?: string; image_url?: string; image_type?: string; video_url?: string; video_type?: string; + audio_url?: string; title_link_download?: boolean; + attachments?: IAttachment[]; fields?: IAttachment[]; image_dimensions?: { width?: number; height?: number }; image_preview?: string; image_size?: number; author_name?: string; author_icon?: string; + actions?: []; message_link?: string; text?: string; short?: boolean; @@ -22,4 +27,32 @@ export interface IAttachment { author_link?: string; color?: string; thumb_url?: string; + collapsed?: boolean; +} + +export interface IServerAttachment { + _id: string; + name: string; + size: number; + type: string; + rid: string; + userId: string; + AmazonS3: { path: string }; + store: string; + identify: { + format: string; + size: { + width: number; + height: number; + }; + }; + complete: boolean; + etag: string; + path: string; + progress: boolean; + token: string; + uploadedAt: string | Date; + uploading: boolean; + url: string; + user: Pick<IUser, '_id' | 'username' | 'name'>; } diff --git a/app/definitions/ICredentials.ts b/app/definitions/ICredentials.ts new file mode 100644 index 000000000..e5f96f0a5 --- /dev/null +++ b/app/definitions/ICredentials.ts @@ -0,0 +1,21 @@ +import { AppleAuthenticationFullName } from 'expo-apple-authentication'; + +export interface ICredentials { + resume?: string; + user?: string; + password?: string; + username?: string; + ldapPass?: string; + ldap?: boolean; + ldapOptions?: object; + crowdPassword?: string; + crowd?: boolean; + code?: string; + totp?: { + login: ICredentials; + code: string; + }; + fullName?: AppleAuthenticationFullName | null; + email?: string | null; + identityToken?: string | null; +} diff --git a/app/definitions/IDDPMessage.ts b/app/definitions/IDDPMessage.ts new file mode 100644 index 000000000..7b6ad822a --- /dev/null +++ b/app/definitions/IDDPMessage.ts @@ -0,0 +1,7 @@ +export interface IDDPMessage { + msg: string; + fields: { + eventName: string; + args: any; + }; +} diff --git a/app/definitions/IEmoji.ts b/app/definitions/IEmoji.ts index 58be90a24..94841aab1 100644 --- a/app/definitions/IEmoji.ts +++ b/app/definitions/IEmoji.ts @@ -21,4 +21,10 @@ export interface IEmojiCategory { tabLabel: string; } -export type TGetCustomEmoji = (name: string) => IEmoji | null; +// TODO: copied from reducers/customEmojis. We can unify later. +export interface IReduxEmoji { + name: string; + extension: any; +} + +export type TGetCustomEmoji = (name: string) => any; diff --git a/app/definitions/ILivechatEditView.ts b/app/definitions/ILivechatEditView.ts new file mode 100644 index 000000000..d173d54e5 --- /dev/null +++ b/app/definitions/ILivechatEditView.ts @@ -0,0 +1,40 @@ +import { TextInput } from 'react-native'; + +import { ILivechatVisitor } from './ILivechatVisitor'; +import { ISubscription } from './ISubscription'; + +export interface ITitle { + title: string; + theme: string; +} + +export interface IInputs { + livechatData: { + [key: string]: any; + }; + name: string; + email: string; + phone?: string; + topic: string; + tag: string[]; + [key: string]: any; +} + +export type TParams = ILivechatVisitor & IInputs; + +export interface ILivechat extends ISubscription { + // Param dynamic depends on server + sms?: string; +} + +export interface IInputsRefs { + [index: string]: TextInput | null; + name: TextInput | null; + phone: TextInput | null; + topic: TextInput | null; +} + +export interface ICustomFields { + visitor?: { [key: string]: string }; + livechat?: { [key: string]: string }; +} diff --git a/app/definitions/ILivechatVisitor.ts b/app/definitions/ILivechatVisitor.ts index 847d3b26c..8a942909a 100644 --- a/app/definitions/ILivechatVisitor.ts +++ b/app/definitions/ILivechatVisitor.ts @@ -32,6 +32,8 @@ export interface ILivechatVisitor extends IRocketChatRecord { ip?: string; host?: string; visitorEmails?: IVisitorEmail[]; + livechatData?: any; + utc?: number; } export interface ILivechatVisitorDTO { diff --git a/app/definitions/ILoggedUser.ts b/app/definitions/ILoggedUser.ts index ecd9e2674..c13d420fb 100644 --- a/app/definitions/ILoggedUser.ts +++ b/app/definitions/ILoggedUser.ts @@ -1,13 +1,21 @@ import Model from '@nozbe/watermelondb/Model'; +import { IUserEmail, IUserSettings } from './IUser'; +import { UserStatus } from './UserStatus'; + export interface ILoggedUser { id: string; token: string; username: string; name: string; language?: string; - status: string; + status: UserStatus; statusText?: string; + customFields?: { + [key: string]: any; + }; + statusLivechat?: string; + emails?: IUserEmail[]; roles?: string[]; avatarETag?: string; showMessageInMainThread?: boolean; @@ -15,4 +23,16 @@ export interface ILoggedUser { enableMessageParserEarlyAdoption?: boolean; } +export interface ILoggedUserResultFromServer + extends Omit<ILoggedUser, 'enableMessageParserEarlyAdoption' | 'showMessageInMainThread'> { + settings: IUserSettings; +} + +export interface ILoginResultFromServer { + status: string; + authToken: string; + userId: string; + me: ILoggedUserResultFromServer; +} + export type TLoggedUserModel = ILoggedUser & Model; diff --git a/app/definitions/IMessage.ts b/app/definitions/IMessage.ts index 15f046c8b..4765b2ca1 100644 --- a/app/definitions/IMessage.ts +++ b/app/definitions/IMessage.ts @@ -1,11 +1,14 @@ import Model from '@nozbe/watermelondb/Model'; import { MarkdownAST } from '@rocket.chat/message-parser'; +import { MessageTypeLoad } from '../constants/messageTypeLoad'; import { IAttachment } from './IAttachment'; import { IReaction } from './IReaction'; -import { IUrl } from './IUrl'; +import { TThreadMessageModel } from './IThreadMessage'; +import { TThreadModel } from './IThread'; +import { IUrlFromServer } from './IUrl'; -export type MessageType = 'jitsi_call_started' | 'discussion-created' | 'e2e' | 'load_more' | 'rm' | 'uj'; +export type MessageType = 'jitsi_call_started' | 'discussion-created' | 'e2e' | 'load_more' | 'rm' | 'uj' | MessageTypeLoad; export interface IUserMessage { _id: string; @@ -41,64 +44,116 @@ export type E2EType = 'pending' | 'done'; export interface ILastMessage { _id: string; rid: string; - tshow: boolean; - t: MessageType; - tmid: string; - msg: string; - e2e: E2EType; - ts: Date; + tshow?: boolean; + t?: MessageType; + tmid?: string; + msg?: string; + e2e?: E2EType; + ts: string | Date; u: IUserMessage; - _updatedAt: Date; - urls: string[]; - mentions: IUserMention[]; - channels: IUserChannel[]; - md: MarkdownAST; - attachments: IAttachment[]; - reactions: IReaction[]; - unread: boolean; - status: boolean; + _updatedAt: string | Date; + urls?: IUrlFromServer[]; + mentions?: IUserMention[]; + channels?: IUserChannel[]; + md?: MarkdownAST; + attachments?: IAttachment[]; + reactions?: IReaction[]; + unread?: boolean; + status?: number; } -export interface IMessage { +interface IMessageFile { + _id: string; + name: string; + type: string; +} + +export interface IMessageFromServer { _id: string; rid: string; msg?: string; - id?: string; - t?: MessageType; - ts: string | Date; + ts: string | Date; // wm date issue u: IUserMessage; + _updatedAt: string | Date; + urls?: IUrlFromServer[]; + mentions?: IUserMention[]; + channels?: IUserChannel[]; + md?: MarkdownAST; + file?: IMessageFile; + files?: IMessageFile[]; + groupable?: boolean; + attachments?: IAttachment[]; + t?: MessageType; + drid?: string; + dcount?: number; + dml: string | Date; + starred?: + | { + _id: string; + } + | boolean; + pinned?: boolean; + pinnedAt?: string | Date; + pinnedBy?: { + _id: string; + username: string; + }; + score?: number; +} + +export interface ILoadMoreMessage { + _id: string; + rid: string; + ts: string; + t: string; + msg: string; +} + +export interface IMessage extends IMessageFromServer { + id: string; + t?: MessageType; alias?: string; parseUrls?: boolean; - groupable?: boolean; avatar?: string; emoji?: string; - attachments?: IAttachment[]; - urls?: IUrl[]; - _updatedAt: Date; status?: number; pinned?: boolean; - starred?: boolean; + starred?: + | { + _id: string; + } + | boolean; editedBy?: IEditedBy; reactions?: IReaction[]; role?: string; drid?: string; dcount?: number; - dlm?: Date; + dlm?: string | Date; tmid?: string; - tcount?: number; - tlm?: Date; + tcount?: number | null; + tlm?: string | Date | null; replies?: string[]; - mentions?: IUserMention[]; - channels?: IUserChannel[]; unread?: boolean; autoTranslate?: boolean; translations?: ITranslations[]; tmsg?: string; blocks?: any; - e2e?: string; + e2e?: E2EType; tshow?: boolean; - md?: MarkdownAST; subscription?: { id: string }; } export type TMessageModel = IMessage & Model; + +export type TAnyMessageModel = TMessageModel | TThreadModel | TThreadMessageModel; +export type TTypeMessages = IMessageFromServer | ILoadMoreMessage | IMessage; + +// Read receipts to ReadReceiptView and chat.getMessageReadReceipts +export interface IReadReceipts { + _id: string; + roomId: string; + userId: string; + messageId: string; + ts: string; + user?: IUserMessage; +} diff --git a/app/views/ProfileView/interfaces.ts b/app/definitions/IProfileViewInterfaces.ts similarity index 86% rename from app/views/ProfileView/interfaces.ts rename to app/definitions/IProfileViewInterfaces.ts index 0fe592f32..ba6d0659b 100644 --- a/app/views/ProfileView/interfaces.ts +++ b/app/definitions/IProfileViewInterfaces.ts @@ -1,7 +1,7 @@ import { StackNavigationProp } from '@react-navigation/stack'; import React from 'react'; -import { ProfileStackParamList } from '../../stacks/types'; +import { ProfileStackParamList } from '../stacks/types'; export interface IUser { id: string; @@ -57,6 +57,14 @@ export interface IAvatar { service?: any; } +export interface IAvatarSuggestion { + [service: string]: { + url: string; + blob: string; + contentType: string; + }; +} + export interface IProfileViewState { saving: boolean; name: string; @@ -66,13 +74,7 @@ export interface IProfileViewState { currentPassword: string | null; avatarUrl: string | null; avatar: IAvatar; - avatarSuggestions: { - [service: string]: { - url: string; - blob: string; - contentType: string; - }; - }; + avatarSuggestions: IAvatarSuggestion; customFields: { [key: string | number]: string; }; diff --git a/app/definitions/IRocketChat.ts b/app/definitions/IRocketChat.ts index 654e2c92c..6fb88a263 100644 --- a/app/definitions/IRocketChat.ts +++ b/app/definitions/IRocketChat.ts @@ -1,8 +1,18 @@ import rocketchat from '../lib/rocketchat'; -type TRocketChat = typeof rocketchat; +export type TRocketChat = typeof rocketchat; export interface IRocketChat extends TRocketChat { + closeListener: any; + usersListener: any; + notifyAllListener: any; + rolesListener: any; + notifyLoggedListener: any; + activeUsers: any; + _setUserTimer: any; + connectedListener: any; + connectingListener: any; + connectTimeout: any; sdk: any; activeUsersSubTimeout: any; roomsSub: any; diff --git a/app/definitions/IRocketChatRecord.ts b/app/definitions/IRocketChatRecord.ts index 8a933059a..e5f72a01d 100644 --- a/app/definitions/IRocketChatRecord.ts +++ b/app/definitions/IRocketChatRecord.ts @@ -1,5 +1,5 @@ export interface IRocketChatRecord { - _id?: string; + _id: string; _updatedAt?: Date; } diff --git a/app/definitions/IRole.ts b/app/definitions/IRole.ts index 332dab65d..d4a87c2e0 100644 --- a/app/definitions/IRole.ts +++ b/app/definitions/IRole.ts @@ -12,3 +12,14 @@ export interface IRole { } export type TRoleModel = IRole & Model; + +// For rest/v1/ 'groups.roles' and 'channels.roles' +export interface IGetRoomRoles { + _id: string; + rid: string; + u: { + _id: string; + username: string; + }; + roles: string[]; +} diff --git a/app/definitions/IRoom.ts b/app/definitions/IRoom.ts index 2ea2f1824..552d7b5a9 100644 --- a/app/definitions/IRoom.ts +++ b/app/definitions/IRoom.ts @@ -1,9 +1,10 @@ import Model from '@nozbe/watermelondb/Model'; import { IMessage } from './IMessage'; +import { IRocketChatRecord } from './IRocketChatRecord'; import { IServedBy } from './IServedBy'; -import { SubscriptionType } from './ISubscription'; -import { IUser } from './IUser'; +import { IVisitor, SubscriptionType } from './ISubscription'; +import { IUser, TNotifications } from './IUser'; interface IRequestTranscript { email: string; @@ -13,8 +14,8 @@ interface IRequestTranscript { } export interface IRoom { - _id?: string; fname?: string; + _id: string; id: string; rid: string; prid: string; @@ -26,11 +27,8 @@ export interface IRoom { broadcast: boolean; encrypted: boolean; ro: boolean; - v?: { - _id?: string; - token?: string; - status: 'online' | 'busy' | 'away' | 'offline'; - }; + v?: IVisitor; + status?: string; servedBy?: IServedBy; departmentId?: string; livechatData?: any; @@ -38,8 +36,25 @@ export interface IRoom { e2eKeyId?: string; avatarETag?: string; latest?: string; - default?: true; - featured?: true; + default?: boolean; + featured?: boolean; + muted?: string[]; + teamId?: string; + ignored?: string; + + _updatedAt?: Date; + archived?: boolean; + announcement?: string; + description?: string; + lastMessage?: IMessage; + topic?: string; + reactWhenReadOnly?: boolean; + joinCodeRequired?: boolean; + jitsiTimeout?: Date; + usernames?: string[]; + uids: Array<string>; + lm?: Date; + sysMes?: string[]; } export enum OmnichannelSourceType { @@ -50,13 +65,11 @@ export enum OmnichannelSourceType { API = 'api', OTHER = 'other' // catch-all source type } -export interface IOmnichannelRoom extends Omit<IRoom, 'default' | 'featured' | 'broadcast' | ''> { +export interface IOmnichannelRoom extends Partial<Omit<IRoom, 'default' | 'featured' | 'broadcast'>> { + _id: string; + rid: string; t: SubscriptionType.OMNICHANNEL; - v: { - _id?: string; - token?: string; - status: 'online' | 'busy' | 'away' | 'offline'; - }; + v: IVisitor; email?: { // Data used when the room is created from an email, via email Integration. inbox: string; @@ -78,6 +91,8 @@ export interface IOmnichannelRoom extends Omit<IRoom, 'default' | 'featured' | ' sidebarIcon?: string; // The default sidebar icon defaultIcon?: string; + _updatedAt?: Date; + queuedAt?: Date; }; transcriptRequest?: IRequestTranscript; servedBy?: IServedBy; @@ -86,18 +101,114 @@ export interface IOmnichannelRoom extends Omit<IRoom, 'default' | 'featured' | ' lastMessage?: IMessage & { token?: string }; - tags: any; - closedAt: any; - metrics: any; - waitingResponse: any; - responseBy: any; - priorityId: any; - livechatData: any; + tags?: string[]; + closedAt?: Date; + metrics?: any; + waitingResponse?: any; + responseBy?: any; + priorityId?: any; + livechatData?: any; queuedAt?: Date; ts: Date; label?: string; crmData?: unknown; + message?: string; + queueOrder?: string; + estimatedWaitingTimeQueue?: string; + estimatedServiceTimeAt?: Date; } export type TRoomModel = IRoom & Model; + +export type RoomType = 'c' | 'd' | 'p' | 'l'; +export type RoomID = string; +export type ChannelName = string; + +// https://github.com/RocketChat/Rocket.Chat/blob/43fa95aeaf5716d728bad943c6a07d1ee7172ee2/definition/IRoom.ts#L17 +export interface IServerRoom extends IRocketChatRecord { + _id: RoomID; + t: RoomType; + name?: string; + fname: string; + msgs: number; + default?: boolean; + broadcast?: boolean; + featured?: boolean; + encrypted?: boolean; + topic?: any; + + u: Pick<IUser, '_id' | 'username' | 'name'>; + uids: Array<string>; + + lastMessage?: IMessage; + lm?: Date; + usersCount: number; + jitsiTimeout?: Date; + webRtcCallStartTime?: Date; + servedBy?: { + _id: string; + }; + + streamingOptions?: { + id?: string; + type: string; + }; + + prid?: string; + avatarETag?: string; + tokenpass?: { + require: string; + tokens: { + token: string; + balance: number; + }[]; + }; + + teamMain?: boolean; + teamId?: string; + teamDefault?: boolean; + open?: boolean; + + autoTranslateLanguage: string; + autoTranslate?: boolean; + unread?: number; + alert?: boolean; + hideUnreadStatus?: boolean; + + sysMes?: string[]; + muted?: string[]; + unmuted?: string[]; + + usernames?: string[]; + ts?: Date; + + cl?: boolean; + ro?: boolean; + favorite?: boolean; + archived?: boolean; + announcement?: string; + description?: string; + + reactWhenReadOnly?: boolean; + joinCodeRequired?: boolean; + e2eKeyId?: string; + v?: { + _id?: string; + token?: string; + status: 'online' | 'busy' | 'away' | 'offline'; + }; + departmentId?: string; + livechatData?: any; + tags?: string[]; +} + +export interface IRoomNotifications { + disableNotifications?: boolean; + muteGroupMentions?: boolean; + hideUnreadStatus?: boolean; + audioNotificationsValue?: string; + desktopNotifications?: TNotifications; + mobilePushNotifications?: TNotifications; + emailNotifications?: TNotifications; +} diff --git a/app/definitions/ISearch.ts b/app/definitions/ISearch.ts new file mode 100644 index 000000000..e4ef9de62 --- /dev/null +++ b/app/definitions/ISearch.ts @@ -0,0 +1,20 @@ +import { ILastMessage } from './IMessage'; + +export interface ISearchLocal { + avatarETag: string; + rid: string; + name: string; + t: string; + fname: string; + encrypted: boolean | null; + lastMessage?: ILastMessage; +} + +export interface ISearch extends ISearchLocal { + // return only from api search + _id: string; + status?: string; + username: string; + outside?: boolean; + search?: boolean; +} diff --git a/app/definitions/IServedBy.ts b/app/definitions/IServedBy.ts index 4bf31aad2..cc40aeedf 100644 --- a/app/definitions/IServedBy.ts +++ b/app/definitions/IServedBy.ts @@ -1,5 +1,5 @@ export interface IServedBy { _id: string; - username: string; - ts: Date; + username?: string; + ts?: Date; } diff --git a/app/definitions/IServer.ts b/app/definitions/IServer.ts index 3f36d7feb..9eee6ee82 100644 --- a/app/definitions/IServer.ts +++ b/app/definitions/IServer.ts @@ -1,5 +1,7 @@ import Model from '@nozbe/watermelondb/Model'; +import { IEnterpriseModules } from '../reducers/enterpriseModules'; + export interface IServer { name: string; iconURL: string; @@ -13,7 +15,7 @@ export interface IServer { autoLockTime?: number; biometry?: boolean; uniqueID: string; - enterpriseModules: string; + enterpriseModules: IEnterpriseModules; E2E_Enable: boolean; } diff --git a/app/definitions/ISlashCommand.ts b/app/definitions/ISlashCommand.ts index 966392733..1f62bffd0 100644 --- a/app/definitions/ISlashCommand.ts +++ b/app/definitions/ISlashCommand.ts @@ -14,3 +14,10 @@ export interface ISlashCommandResult extends ISlashCommand { } export type TSlashCommandModel = ISlashCommand & Model; + +// For Command Preview ex: /giphy or /tenor in open.rocket.chat +export interface IPreviewItem { + id: string; + type: string; + value: string; +} diff --git a/app/definitions/ISpotlight.ts b/app/definitions/ISpotlight.ts new file mode 100644 index 000000000..1744297a2 --- /dev/null +++ b/app/definitions/ISpotlight.ts @@ -0,0 +1,11 @@ +import { IServerRoom } from './IRoom'; +import { IUser } from './IUser'; + +export type TSpotlightUser = Pick<IUser, '_id' | 'status' | 'name' | 'username'> & { outside: boolean }; + +export type ISpotlightRoom = Pick<IServerRoom, '_id' | 'name' | 't'> & Partial<Pick<IServerRoom, 'lastMessage'>>; + +export interface ISpotlight { + users: TSpotlightUser[]; + rooms: ISpotlightRoom[]; +} diff --git a/app/definitions/ISubscription.ts b/app/definitions/ISubscription.ts index 3e523656b..6f13a040c 100644 --- a/app/definitions/ISubscription.ts +++ b/app/definitions/ISubscription.ts @@ -2,34 +2,47 @@ import Model from '@nozbe/watermelondb/Model'; import Relation from '@nozbe/watermelondb/Relation'; import { ILastMessage, TMessageModel } from './IMessage'; +import { IRocketChatRecord } from './IRocketChatRecord'; +import { RoomID, RoomType } from './IRoom'; import { IServedBy } from './IServedBy'; import { TThreadModel } from './IThread'; import { TThreadMessageModel } from './IThreadMessage'; import { TUploadModel } from './IUpload'; +import { IUser } from './IUser'; export enum SubscriptionType { GROUP = 'p', DIRECT = 'd', CHANNEL = 'c', OMNICHANNEL = 'l', - E2E = 'e2e', + E2E = 'e2e', // FIXME: this is not a type of subscription THREAD = 'thread' // FIXME: this is not a type of subscription } export interface IVisitor { - _id: string; - username: string; - token: string; - status: string; - lastMessageTs: Date; + _id?: string; + token?: string; + status: 'online' | 'busy' | 'away' | 'offline'; + username?: string; + lastMessageTs?: Date; } +export enum ERoomTypes { + DIRECT = 'direct', + GROUP = 'group', + CHANNEL = 'channel' +} + +type RelationModified<T extends Model> = { fetch(): Promise<T[]> } & Relation<T>; + export interface ISubscription { - _id: string; // _id belongs watermelonDB - id: string; // id from server + _id: string; + id: string; + _updatedAt?: string; + v?: IVisitor; f: boolean; - t: SubscriptionType; - ts: Date; + t: SubscriptionType; // TODO: we need to review this type later + ts: string | Date; ls: Date; name: string; fname?: string; @@ -38,12 +51,14 @@ export interface ISubscription { alert: boolean; roles?: string[]; unread: number; + lm: string; + lr: string; userMentions: number; groupMentions: number; - tunread?: string[]; + tunread: string[]; tunreadUser?: string[]; tunreadGroup?: string[]; - roomUpdatedAt: Date; + roomUpdatedAt: Date | number; ro: boolean; lastOpen?: Date; description?: string; @@ -59,18 +74,19 @@ export interface ISubscription { ignored?: string[]; broadcast?: boolean; prid?: string; - draftMessage?: string; + draftMessage?: string | null; lastThreadSync?: Date; - jitsiTimeout?: number; + jitsiTimeout?: Date; autoTranslate?: boolean; - autoTranslateLanguage: string; - lastMessage?: ILastMessage; + autoTranslateLanguage?: string; + lastMessage?: ILastMessage | null; // TODO: we need to use IMessage here hideUnreadStatus?: boolean; sysMes?: string[] | boolean; uids?: string[]; usernames?: string[]; visitor?: IVisitor; departmentId?: string; + status?: string; servedBy?: IServedBy; livechatData?: any; tags?: string[]; @@ -80,11 +96,68 @@ export interface ISubscription { avatarETag?: string; teamId?: string; teamMain?: boolean; + unsubscribe: () => Promise<any>; + separator?: boolean; // https://nozbe.github.io/WatermelonDB/Relation.html#relation-api - messages: Relation<TMessageModel>; - threads: Relation<TThreadModel>; - threadMessages: Relation<TThreadMessageModel>; - uploads: Relation<TUploadModel>; + messages: RelationModified<TMessageModel>; + threads: RelationModified<TThreadModel>; + threadMessages: RelationModified<TThreadMessageModel>; + uploads: RelationModified<TUploadModel>; } export type TSubscriptionModel = ISubscription & Model; + +// https://github.com/RocketChat/Rocket.Chat/blob/a88a96fcadd925b678ff27ada37075e029f78b5e/definition/ISubscription.ts#L8 +export interface IServerSubscription extends IRocketChatRecord { + u: Pick<IUser, '_id' | 'username' | 'name'>; + v?: Pick<IUser, '_id' | 'username' | 'name'>; + rid: RoomID; + open: boolean; + ts: Date; + + name: string; + + alert?: boolean; + unread: number; + t: RoomType; + ls: Date; + f?: true; + lr: Date; + hideUnreadStatus?: true; + teamMain?: boolean; + teamId?: string; + + userMentions: number; + groupMentions: number; + + tunread?: Array<string>; + tunreadGroup?: Array<string>; + tunreadUser?: Array<string>; + + prid?: RoomID; + + roles?: string[]; + + onHold?: boolean; + encrypted?: boolean; + E2EKey?: string; + unreadAlert?: 'default' | 'all' | 'mentions' | 'nothing'; + + fname?: unknown; + + code?: unknown; + archived?: unknown; + audioNotificationValue?: unknown; + desktopNotifications?: unknown; + mobilePushNotifications?: unknown; + emailNotifications?: unknown; + blocked?: unknown; + blocker?: unknown; + autoTranslate?: unknown; + autoTranslateLanguage?: unknown; + disableNotifications?: unknown; + muteGroupMentions?: unknown; + ignored?: unknown; + + department?: unknown; +} diff --git a/app/definitions/ITagsOmnichannel.ts b/app/definitions/ITagsOmnichannel.ts deleted file mode 100644 index d0bb2c9b5..000000000 --- a/app/definitions/ITagsOmnichannel.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface ITagsOmnichannel { - _id: string; - name: string; - departments: string[]; -} diff --git a/app/definitions/ITeam.ts b/app/definitions/ITeam.ts index 3b1774054..2e9525fdb 100644 --- a/app/definitions/ITeam.ts +++ b/app/definitions/ITeam.ts @@ -1,5 +1,6 @@ import { IRocketChatRecord } from './IRocketChatRecord'; import { IUser } from './IUser'; +import { IServerRoom } from './IRoom'; export enum TEAM_TYPE { PUBLIC = 0, @@ -46,3 +47,12 @@ export interface ITeamStats { totalTeams: number; teamStats: Array<ITeamStatData>; } + +export interface IServerTeamUpdateRoom + extends Omit< + IServerRoom, + 'topic' | 'joinCodeRequired' | 'description' | 'jitsiTimeout' | 'usersCount' | 'e2eKeyId' | 'avatarETag' + > { + teamId: string; + teamDefault: boolean; +} diff --git a/app/definitions/IThread.ts b/app/definitions/IThread.ts index 670e10d52..4e298bdaa 100644 --- a/app/definitions/IThread.ts +++ b/app/definitions/IThread.ts @@ -2,8 +2,7 @@ import Model from '@nozbe/watermelondb/Model'; import { MarkdownAST } from '@rocket.chat/message-parser'; import { IAttachment } from './IAttachment'; -import { IEditedBy, IUserChannel, IUserMention, IUserMessage, MessageType } from './IMessage'; -import { IReaction } from './IReaction'; +import { IMessage, IUserChannel, IUserMention, IUserMessage } from './IMessage'; import { IUrl } from './IUrl'; interface IFileThread { @@ -13,6 +12,7 @@ interface IFileThread { } export interface IThreadResult { + id: string; _id: string; rid: string; ts: string | Date; @@ -23,51 +23,19 @@ export interface IThreadResult { attachments?: IAttachment[]; md?: MarkdownAST; u: IUserMessage; - _updatedAt: Date; + _updatedAt: string | Date; urls?: IUrl[]; mentions?: IUserMention[]; channels?: IUserChannel[]; replies?: string[]; tcount?: number; - tlm?: Date; + status?: number; + tlm?: string | Date; } -export interface IThread { - id: string; +export interface IThread extends IMessage { tmsg?: string; - msg?: string; - t?: MessageType; - rid: string; - _updatedAt?: Date; - ts?: Date; - u?: IUserMessage; - alias?: string; - parseUrls?: boolean; - groupable?: boolean; - avatar?: string; - emoji?: string; - attachments?: IAttachment[]; - urls?: IUrl[]; - status?: number; - pinned?: boolean; - starred?: boolean; - editedBy?: IEditedBy; - reactions?: IReaction[]; - role?: string; - drid?: string; - dcount?: number | string; - dlm?: number; - tmid?: string; - tcount?: number | string; - tlm?: string; - replies?: string[]; - mentions?: IUserMention[]; - channels?: IUserChannel[]; - unread?: boolean; - autoTranslate?: boolean; - translations?: any; - e2e?: string; - subscription: { id: string }; + draftMessage?: string; } export type TThreadModel = IThread & Model; diff --git a/app/definitions/IThreadMessage.ts b/app/definitions/IThreadMessage.ts index 574d4a200..7383d69eb 100644 --- a/app/definitions/IThreadMessage.ts +++ b/app/definitions/IThreadMessage.ts @@ -1,46 +1,9 @@ import Model from '@nozbe/watermelondb/Model'; -import { IAttachment } from './IAttachment'; -import { IEditedBy, ITranslations, IUserChannel, IUserMention, IUserMessage, MessageType } from './IMessage'; -import { IReaction } from './IReaction'; -import { IUrl } from './IUrl'; +import { IMessage } from './IMessage'; -export interface IThreadMessage { - _id: string; +export interface IThreadMessage extends IMessage { tmsg?: string; - msg?: string; - t?: MessageType; - rid: string; - ts: string | Date; - u: IUserMessage; - alias?: string; - parseUrls?: boolean; - groupable?: boolean; - avatar?: string; - emoji?: string; - attachments?: IAttachment[]; - urls?: IUrl[]; - _updatedAt?: Date; - status?: number; - pinned?: boolean; - starred?: boolean; - editedBy?: IEditedBy; - reactions?: IReaction[]; - role?: string; - drid?: string; - dcount?: number; - dlm?: Date; - tmid?: string; - tcount?: number; - tlm?: Date; - replies?: string[]; - mentions?: IUserMention[]; - channels?: IUserChannel[]; - unread?: boolean; - autoTranslate?: boolean; - translations?: ITranslations[]; - e2e?: string; - subscription?: { id: string }; } export type TThreadMessageModel = IThreadMessage & Model; diff --git a/app/definitions/IUrl.ts b/app/definitions/IUrl.ts index 3e613bab3..3210afa23 100644 --- a/app/definitions/IUrl.ts +++ b/app/definitions/IUrl.ts @@ -1,11 +1,3 @@ -export interface IUrl { - _id: number; - title: string; - description: string; - image: string; - url: string; -} - export interface IUrlFromServer { url: string; meta: { @@ -47,3 +39,11 @@ export interface IUrlFromServer { }; ignoreParse: boolean; } + +export interface IUrl extends IUrlFromServer { + _id: number; + title: string; + description: string; + image: string; + url: string; +} diff --git a/app/definitions/IUser.ts b/app/definitions/IUser.ts index 461b52fb4..93bce8805 100644 --- a/app/definitions/IUser.ts +++ b/app/definitions/IUser.ts @@ -22,6 +22,16 @@ export interface IPersonalAccessToken extends ILoginToken { bypassTwoFactor?: boolean; } +export interface IUserRegistered { + _id: string; + type: string; + status: UserStatus; + active: boolean; + name: string; + username: string; + __rooms: string[]; +} + export interface IUserEmailVerificationToken { token: string; address: string; @@ -93,6 +103,23 @@ export interface IUserSettings { [key: string]: any; }; } +export type TNotifications = 'default' | 'all' | 'mentions' | 'nothing'; + +export interface INotificationPreferences { + id: string; + enableMessageParserEarlyAdoption: boolean; + desktopNotifications: TNotifications; + pushNotifications: TNotifications; + emailNotificationMode?: 'mentions' | 'nothing'; + language?: string; +} + +export interface IUserPreferences { + user: { _id: string }; + settings: { + preferences: INotificationPreferences; + }; +} export interface IUser extends IRocketChatRecord, Omit<ILoggedUser, 'username' | 'name' | 'status'> { _id: string; @@ -106,7 +133,7 @@ export interface IUser extends IRocketChatRecord, Omit<ILoggedUser, 'username' | name?: string; services?: IUserServices; emails?: IUserEmail[]; - status?: UserStatus; + status: UserStatus; statusConnection?: string; lastLogin?: Date; avatarOrigin?: string; @@ -130,6 +157,7 @@ export interface IUser extends IRocketChatRecord, Omit<ILoggedUser, 'username' | settings?: IUserSettings; defaultRoom?: string; ldap?: boolean; + muted?: boolean; } export interface IRegisterUser extends IUser { diff --git a/app/definitions/IVisitor.ts b/app/definitions/IVisitor.ts deleted file mode 100644 index 637513567..000000000 --- a/app/definitions/IVisitor.ts +++ /dev/null @@ -1,24 +0,0 @@ -export interface IVisitorEmail { - address: string; -} - -export interface IVisitorPhone { - phoneNumber: string; -} - -export interface IVisitor { - _id?: string; - token: string; - username: string; - updatedAt?: Date; - name: string; - department?: string; - phone?: IVisitorPhone[]; - visitorEmails?: IVisitorEmail[]; - customFields?: { - [key: string]: any; - }; - livechatData: { - [key: string]: any; - }; -} diff --git a/app/definitions/index.ts b/app/definitions/index.ts index c11e91b1a..19d8caec5 100644 --- a/app/definitions/index.ts +++ b/app/definitions/index.ts @@ -24,12 +24,15 @@ export * from './IServerHistory'; export * from './IRocketChat'; export * from './ICertificate'; export * from './IUrl'; +export * from './ICredentials'; +export * from './ISearch'; export interface IBaseScreen<T extends Record<string, object | undefined>, S extends string> { navigation: StackNavigationProp<T, S>; route: RouteProp<T, S>; dispatch: Dispatch; theme: string; + isMasterDetail: boolean; } export * from './redux'; diff --git a/app/definitions/redux/index.ts b/app/definitions/redux/index.ts index 7b4e52db0..71c103c16 100644 --- a/app/definitions/redux/index.ts +++ b/app/definitions/redux/index.ts @@ -1,4 +1,5 @@ // ACTIONS +import { TActionInquiry } from '../../ee/omnichannel/actions/inquiry'; import { TActionActiveUsers } from '../../actions/activeUsers'; import { TActionApp } from '../../actions/app'; import { TActionCreateChannel } from '../../actions/createChannel'; @@ -28,15 +29,16 @@ import { IRoles } from '../../reducers/roles'; import { IRoom } from '../../reducers/room'; import { ISelectedUsers } from '../../reducers/selectedUsers'; import { IServer } from '../../reducers/server'; -import { ISettings } from '../../reducers/settings'; +import { TSettingsState } from '../../reducers/settings'; import { IShare } from '../../reducers/share'; +import { IInquiry } from '../../ee/omnichannel/reducers/inquiry'; import { IPermissionsState } from '../../reducers/permissions'; import { IEnterpriseModules } from '../../reducers/enterpriseModules'; export interface IApplicationState { - settings: ISettings; - meteor: IConnect; + settings: TSettingsState; login: ILogin; + meteor: IConnect; server: IServer; selectedUsers: ISelectedUsers; app: IApp; @@ -50,7 +52,7 @@ export interface IApplicationState { usersTyping: any; inviteLinks: IInviteLinks; createDiscussion: ICreateDiscussion; - inquiry: any; + inquiry: IInquiry; enterpriseModules: IEnterpriseModules; encryption: IEncryption; permissions: IPermissionsState; @@ -71,5 +73,6 @@ export type TApplicationActions = TActionActiveUsers & TActionsShare & TActionServer & TActionApp & + TActionInquiry & TActionPermissions & TActionEnterpriseModules; diff --git a/app/definitions/rest/v1/channels.ts b/app/definitions/rest/v1/channels.ts index d16798774..42b3edac5 100644 --- a/app/definitions/rest/v1/channels.ts +++ b/app/definitions/rest/v1/channels.ts @@ -1,20 +1,117 @@ -import type { IMessage } from '../../IMessage'; -import type { IRoom } from '../../IRoom'; +import { ITeam } from '../../ITeam'; +import type { IMessageFromServer } from '../../IMessage'; +import type { IServerRoom } from '../../IRoom'; import type { IUser } from '../../IUser'; +import { IGetRoomRoles } from '../../IRole'; +import { IServerAttachment } from '../../IAttachment'; +import { PaginatedRequest } from '../helpers/PaginatedRequest'; export type ChannelsEndpoints = { 'channels.files': { - GET: (params: { roomId: IRoom['_id']; offset: number; count: number; sort: string; query: string }) => { - files: IMessage[]; + GET: (params: { roomId: IServerRoom['_id']; offset: number; sort: string | { uploadedAt: number } }) => { + files: IServerAttachment[]; + count: number; + offset: number; total: number; }; }; 'channels.members': { - GET: (params: { roomId: IRoom['_id']; offset?: number; count?: number; filter?: string; status?: string[] }) => { - count: number; - offset: number; + GET: (params: { + roomId: IServerRoom['_id']; + offset?: number; + count?: number; + filter?: boolean; + status?: string[]; + }) => PaginatedRequest<{ members: IUser[]; - total: number; + }>; + }; + 'channels.history': { + GET: (params: { roomId: string; count: number; latest?: string }) => { + messages: IMessageFromServer[]; + }; + }; + 'channels.archive': { + POST: (params: { roomId: string }) => void; + }; + 'channels.unarchive': { + POST: (params: { roomId: string }) => void; + }; + 'channels.create': { + POST: (params: { + name: string; + members: string[]; + readOnly: boolean; + extraData: { + broadcast: boolean; + encrypted: boolean; + teamId?: string; + }; + }) => { + group: Partial<IServerRoom>; + }; + }; + 'channels.convertToTeam': { + POST: (params: { channelId: string; channelName: string }) => { team: ITeam }; + }; + 'channels.info': { + GET: (params: { roomId: string }) => { channel: IServerRoom }; + }; + 'channels.counters': { + GET: (params: { roomId: string }) => { + joined: boolean; + members: number; + unreads: number; + unreadsFrom: Date; + msgs: number; + latest: Date; + userMentions: number; + }; + }; + 'channels.join': { + POST: (params: { roomId: string; joinCode: string | null }) => { channel: IServerRoom }; + }; + 'channels.close': { + POST: (params: { roomId: string }) => {}; + }; + 'channels.kick': { + POST: (params: { roomId: string; userId: string }) => {}; + }; + 'channels.delete': { + POST: (params: { roomId: string }) => {}; + }; + 'channels.leave': { + POST: (params: { roomId: string }) => {}; + }; + 'channels.addModerator': { + POST: (params: { roomId: string; userId: string }) => {}; + }; + 'channels.removeModerator': { + POST: (params: { roomId: string; userId: string }) => {}; + }; + 'channels.addOwner': { + POST: (params: { roomId: string; userId: string }) => {}; + }; + 'channels.removeOwner': { + POST: (params: { roomId: string; userId: string }) => {}; + }; + 'channels.addLeader': { + POST: (params: { roomId: string; userId: string }) => {}; + }; + 'channels.removeLeader': { + POST: (params: { roomId: string; userId: string }) => {}; + }; + 'channels.roles': { + GET: (params: { roomId: string }) => { roles: IGetRoomRoles[] }; + }; + 'channels.messages': { + GET: (params: { + roomId: IServerRoom['_id']; + query: { 'mentions._id': { $in: string[] } } | { 'starred._id': { $in: string[] } } | { pinned: boolean }; + offset: number; + sort: { ts: number }; + }) => { + messages: IMessageFromServer[]; }; }; }; diff --git a/app/definitions/rest/v1/chat.ts b/app/definitions/rest/v1/chat.ts index 4a224c475..16f568756 100644 --- a/app/definitions/rest/v1/chat.ts +++ b/app/definitions/rest/v1/chat.ts @@ -1,5 +1,5 @@ -import type { IMessage } from '../../IMessage'; -import type { IRoom } from '../../IRoom'; +import type { IMessage, IMessageFromServer, IReadReceipts } from '../../IMessage'; +import type { IServerRoom } from '../../IRoom'; import { PaginatedResult } from '../helpers/PaginatedResult'; export type ChatEndpoints = { @@ -11,19 +11,34 @@ export type ChatEndpoints = { 'chat.followMessage': { POST: (params: { mid: IMessage['_id'] }) => void; }; + 'chat.unStarMessage': { + POST: (params: { messageId: IMessage['_id'] }) => void; + }; + 'chat.starMessage': { + POST: (params: { messageId: IMessage['_id'] }) => void; + }; 'chat.unfollowMessage': { POST: (params: { mid: IMessage['_id'] }) => void; }; + 'chat.unPinMessage': { + POST: (params: { messageId: IMessage['_id'] }) => void; + }; + 'chat.pinMessage': { + POST: (params: { messageId: IMessage['_id'] }) => void; + }; + 'chat.reportMessage': { + POST: (params: { messageId: IMessage['_id']; description: string }) => void; + }; 'chat.getDiscussions': { - GET: (params: { roomId: IRoom['_id']; text?: string; offset: number; count: number }) => { - messages: IMessage[]; + GET: (params: { roomId: IServerRoom['_id']; text?: string; offset: number; count: number }) => { + messages: IMessageFromServer[]; total: number; }; }; 'chat.getThreadsList': { GET: (params: { - rid: IRoom['_id']; - type: 'unread' | 'following' | 'all'; + rid: IServerRoom['_id']; + type?: 'unread' | 'following' | 'all'; text?: string; offset: number; count: number; @@ -32,4 +47,38 @@ export type ChatEndpoints = { total: number; }>; }; + 'chat.syncThreadsList': { + GET: (params: { rid: IServerRoom['_id']; updatedSince: string }) => { + threads: { + update: IMessage[]; + remove: IMessage[]; + }; + }; + }; + 'chat.delete': { + POST: (params: { msgId: string; roomId: string }) => { + _id: string; + ts: string; + message: Pick<IMessage, '_id' | 'rid' | 'u'>; + }; + }; + 'chat.react': { + POST: (params: { emoji: string; messageId: string }) => void; + }; + 'chat.ignoreUser': { + GET: (params: { rid: string; userId: string; ignore: boolean }) => {}; + }; + 'chat.search': { + GET: (params: { roomId: IServerRoom['_id']; searchText: string; count: number; offset: number }) => { + messages: IMessageFromServer[]; + }; + }; + 'chat.update': { + POST: (params: { roomId: IServerRoom['_id']; msgId: string; text: string }) => { + messages: IMessageFromServer; + }; + }; + 'chat.getMessageReadReceipts': { + GET: (params: { messageId: string }) => { receipts: IReadReceipts[] }; + }; }; diff --git a/app/definitions/rest/v1/commands.ts b/app/definitions/rest/v1/commands.ts new file mode 100644 index 000000000..b1e9195ea --- /dev/null +++ b/app/definitions/rest/v1/commands.ts @@ -0,0 +1,23 @@ +import { IPreviewItem } from '../../ISlashCommand'; + +export type CommandsEndpoints = { + 'commands.preview': { + GET: (params: { command: string; params: string; roomId: string }) => { + preview?: { + i18nTitle: string; + items: IPreviewItem[]; + }; + }; + POST: (params: { + command: string; + params: string; + roomId: string; + previewItem: IPreviewItem; + triggerId: string; + tmid?: string; + }) => {}; + }; + 'commands.run': { + POST: (params: { command: string; roomId: string; params: string; triggerId?: string; tmid?: string }) => {}; + }; +}; diff --git a/app/definitions/rest/v1/directory.ts b/app/definitions/rest/v1/directory.ts new file mode 100644 index 000000000..dfb2c9e00 --- /dev/null +++ b/app/definitions/rest/v1/directory.ts @@ -0,0 +1,13 @@ +import { IServerRoom } from '../../IRoom'; +import { PaginatedResult } from '../helpers/PaginatedResult'; + +export type DirectoryEndpoint = { + directory: { + GET: (params: { + query: { [key: string]: string }; + count: number; + offset: number; + sort: { [key: string]: number }; + }) => PaginatedResult<{ result: IServerRoom[] }>; + }; +}; diff --git a/app/definitions/rest/v1/dm.ts b/app/definitions/rest/v1/dm.ts index 6783cbc07..18ece05d5 100644 --- a/app/definitions/rest/v1/dm.ts +++ b/app/definitions/rest/v1/dm.ts @@ -1,4 +1,4 @@ -import type { IRoom } from '../../IRoom'; +import type { IServerRoom } from '../../IRoom'; import type { IUser } from '../../IUser'; export type DmEndpoints = { @@ -15,7 +15,7 @@ export type DmEndpoints = { excludeSelf?: boolean; } ) => { - room: IRoom & { rid: IRoom['_id'] }; + room: IServerRoom & { rid: IServerRoom['_id'] }; }; }; }; diff --git a/app/definitions/rest/v1/e2e.ts b/app/definitions/rest/v1/e2e.ts new file mode 100644 index 000000000..f23c0fac9 --- /dev/null +++ b/app/definitions/rest/v1/e2e.ts @@ -0,0 +1,21 @@ +import { IUser } from '../../IUser'; + +export type E2eEndpoints = { + 'e2e.setUserPublicAndPrivateKeys': { + POST: (params: { public_key: string; private_key: string }) => void; + }; + 'e2e.getUsersOfRoomWithoutKey': { + GET: (params: { rid: string }) => { + users: Pick<IUser, '_id' | 'e2e'>[]; + }; + }; + 'e2e.updateGroupKey': { + POST: (params: { uid: string; rid: string; key: string }) => {}; + }; + 'e2e.setRoomKeyID': { + POST: (params: { rid: string; keyID: string }) => {}; + }; + 'e2e.fetchMyKeys': { + GET: () => { public_key: string; private_key: string }; + }; +}; diff --git a/app/definitions/rest/v1/groups.ts b/app/definitions/rest/v1/groups.ts index ca6454734..94a60959f 100644 --- a/app/definitions/rest/v1/groups.ts +++ b/app/definitions/rest/v1/groups.ts @@ -1,20 +1,93 @@ -import type { IMessage } from '../../IMessage'; -import type { IRoom } from '../../IRoom'; +import { ITeam } from '../../ITeam'; +import type { IMessageFromServer } from '../../IMessage'; +import type { IServerRoom } from '../../IRoom'; import type { IUser } from '../../IUser'; +import { IGetRoomRoles } from '../../IRole'; +import { IServerAttachment } from '../../IAttachment'; +import { PaginatedRequest } from '../helpers/PaginatedRequest'; export type GroupsEndpoints = { 'groups.files': { - GET: (params: { roomId: IRoom['_id']; count: number; sort: string; query: string }) => { - files: IMessage[]; + GET: (params: { roomId: IServerRoom['_id']; offset: number; sort: string | { uploadedAt: number } }) => { + files: IServerAttachment[]; + count: number; + offset: number; total: number; }; }; 'groups.members': { - GET: (params: { roomId: IRoom['_id']; offset?: number; count?: number; filter?: string; status?: string[] }) => { - count: number; - offset: number; + GET: (params: { + roomId: IServerRoom['_id']; + offset?: number; + count?: number; + filter?: string; + status?: string[]; + }) => PaginatedRequest<{ members: IUser[]; - total: number; + }>; + }; + 'groups.history': { + GET: (params: { roomId: string; count: number; latest?: string }) => { + messages: IMessageFromServer[]; + }; + }; + 'groups.archive': { + POST: (params: { roomId: string }) => void; + }; + 'groups.unarchive': { + POST: (params: { roomId: string }) => void; + }; + 'groups.create': { + POST: (params: { + name: string; + members: string[]; + readOnly: boolean; + extraData: { + broadcast: boolean; + encrypted: boolean; + teamId?: string; + }; + }) => { + group: Partial<IServerRoom>; + }; + }; + 'groups.convertToTeam': { + POST: (params: { roomId: string; roomName: string }) => { team: ITeam }; + }; + 'groups.counters': { + GET: (params: { roomId: string }) => { + joined: boolean; + members: number; + unreads: number; + unreadsFrom: Date; + msgs: number; + latest: Date; + userMentions: number; + }; + }; + 'groups.close': { + POST: (params: { roomId: string }) => {}; + }; + 'groups.kick': { + POST: (params: { roomId: string; userId: string }) => {}; + }; + 'groups.delete': { + POST: (params: { roomId: string }) => {}; + }; + 'groups.leave': { + POST: (params: { roomId: string }) => {}; + }; + 'groups.roles': { + GET: (params: { roomId: string }) => { roles: IGetRoomRoles[] }; + }; + 'groups.messages': { + GET: (params: { + roomId: IServerRoom['_id']; + query: { 'mentions._id': { $in: string[] } } | { 'starred._id': { $in: string[] } } | { pinned: boolean }; + offset: number; + sort: { ts: number }; + }) => { + messages: IMessageFromServer[]; }; }; }; diff --git a/app/definitions/rest/v1/im.ts b/app/definitions/rest/v1/im.ts index a9502ab2d..2ad403c55 100644 --- a/app/definitions/rest/v1/im.ts +++ b/app/definitions/rest/v1/im.ts @@ -1,6 +1,8 @@ -import type { IMessage } from '../../IMessage'; -import type { IRoom } from '../../IRoom'; +import type { IMessageFromServer } from '../../IMessage'; +import type { IServerRoom, RoomID, RoomType } from '../../IRoom'; import type { IUser } from '../../IUser'; +import { IServerAttachment } from '../../IAttachment'; +import { PaginatedRequest } from '../helpers/PaginatedRequest'; export type ImEndpoints = { 'im.create': { @@ -16,21 +18,58 @@ export type ImEndpoints = { excludeSelf?: boolean; } ) => { - room: IRoom; + room: { + t: RoomType; + rid: RoomID; + _id: RoomID; + usernames: IServerRoom['usernames']; + }; }; }; 'im.files': { - GET: (params: { roomId: IRoom['_id']; count: number; sort: string; query: string }) => { - files: IMessage[]; + GET: (params: { roomId: IServerRoom['_id']; offset: number; sort: string | { uploadedAt: number } }) => { + files: IServerAttachment[]; + count: number; + offset: number; total: number; }; }; 'im.members': { - GET: (params: { roomId: IRoom['_id']; offset?: number; count?: number; filter?: string; status?: string[] }) => { - count: number; - offset: number; + GET: (params: { + roomId: IServerRoom['_id']; + offset?: number; + count?: number; + filter?: string; + status?: string[]; + }) => PaginatedRequest<{ members: IUser[]; - total: number; + }>; + }; + 'im.history': { + GET: (params: { roomId: string; count: number; latest?: string }) => { + messages: IMessageFromServer[]; + }; + }; + 'im.close': { + POST: (params: { roomId: string }) => {}; + }; + 'im.kick': { + POST: (params: { roomId: string; userId: string }) => {}; + }; + 'im.delete': { + POST: (params: { roomId: string }) => {}; + }; + 'im.leave': { + POST: (params: { roomId: string }) => {}; + }; + 'im.messages': { + GET: (params: { + roomId: IServerRoom['_id']; + query: { 'mentions._id': { $in: string[] } } | { 'starred._id': { $in: string[] } } | { pinned: boolean }; + offset: number; + sort: { ts: number }; + }) => { + messages: IMessageFromServer[]; }; }; }; diff --git a/app/definitions/rest/v1/index.ts b/app/definitions/rest/v1/index.ts index ae5f29262..4289f55c6 100644 --- a/app/definitions/rest/v1/index.ts +++ b/app/definitions/rest/v1/index.ts @@ -11,9 +11,14 @@ import { PermissionsEndpoints } from './permissions'; import { RolesEndpoints } from './roles'; import { RoomsEndpoints } from './rooms'; import { OauthCustomConfiguration } from './settings'; -import { UserEndpoints } from './user'; import { UsersEndpoints } from './users'; import { TeamsEndpoints } from './teams'; +import { E2eEndpoints } from './e2e'; +import { SubscriptionsEndpoints } from './subscriptions'; +import { VideoConferenceEndpoints } from './videoConference'; +import { CommandsEndpoints } from './commands'; +import { PushTokenEndpoints } from './pushToken'; +import { DirectoryEndpoint } from './directory'; export type Endpoints = ChannelsEndpoints & ChatEndpoints & @@ -28,6 +33,11 @@ export type Endpoints = ChannelsEndpoints & RolesEndpoints & RoomsEndpoints & OauthCustomConfiguration & - UserEndpoints & UsersEndpoints & - TeamsEndpoints; + TeamsEndpoints & + E2eEndpoints & + SubscriptionsEndpoints & + VideoConferenceEndpoints & + CommandsEndpoints & + PushTokenEndpoints & + DirectoryEndpoint; diff --git a/app/definitions/rest/v1/invites.ts b/app/definitions/rest/v1/invites.ts index 6682c9e32..e77791984 100644 --- a/app/definitions/rest/v1/invites.ts +++ b/app/definitions/rest/v1/invites.ts @@ -1,5 +1,5 @@ import type { IInvite } from '../../IInvite'; -import type { IRoom } from '../../IRoom'; +import type { IServerRoom } from '../../IRoom'; export type InvitesEndpoints = { listInvites: { @@ -11,11 +11,11 @@ export type InvitesEndpoints = { '/v1/useInviteToken': { POST: (params: { token: string }) => { room: { - rid: IRoom['_id']; - prid: IRoom['prid']; - fname: IRoom['fname']; - name: IRoom['name']; - t: IRoom['t']; + rid: IServerRoom['_id']; + prid: IServerRoom['prid']; + fname: IServerRoom['fname']; + name: IServerRoom['name']; + t: IServerRoom['t']; }; }; }; diff --git a/app/definitions/rest/v1/omnichannel.ts b/app/definitions/rest/v1/omnichannel.ts index 784415a53..b18ea77a2 100644 --- a/app/definitions/rest/v1/omnichannel.ts +++ b/app/definitions/rest/v1/omnichannel.ts @@ -1,3 +1,4 @@ +import { ICannedResponse } from '../../ICannedResponse'; import { ILivechatAgent } from '../../ILivechatAgent'; import { ILivechatDepartment } from '../../ILivechatDepartment'; import { ILivechatDepartmentAgents } from '../../ILivechatDepartmentAgents'; @@ -5,7 +6,7 @@ import { ILivechatMonitor } from '../../ILivechatMonitor'; import { ILivechatTag } from '../../ILivechatTag'; import { ILivechatVisitor, ILivechatVisitorDTO } from '../../ILivechatVisitor'; import { IMessage } from '../../IMessage'; -import { IOmnichannelRoom, IRoom } from '../../IRoom'; +import { IOmnichannelRoom, IServerRoom } from '../../IRoom'; import { ISetting } from '../../ISetting'; import { PaginatedRequest } from '../helpers/PaginatedRequest'; import { PaginatedResult } from '../helpers/PaginatedResult'; @@ -20,15 +21,11 @@ export type OmnichannelEndpoints = { }; 'livechat/visitors.info': { GET: (params: { visitorId: string }) => { - visitor: { - visitorEmails: Array<{ - address: string; - }>; - }; + visitor: ILivechatVisitor; }; }; 'livechat/room.onHold': { - POST: (params: { roomId: IRoom['_id'] }) => void; + POST: (params: { roomId: IServerRoom['_id'] }) => void; }; 'livechat/monitors.list': { GET: (params: PaginatedRequest<{ text: string }>) => PaginatedResult<{ @@ -76,6 +73,9 @@ export type OmnichannelEndpoints = { GET: (params: { sort: string }) => PaginatedResult<{ agents: ILivechatDepartmentAgents[] }>; POST: (params: { upsert: string[]; remove: string[] }) => void; }; + 'livechat/department/:departmentId/?includeAgents=false': { + GET: () => PaginatedResult<{ department: ILivechatDepartment }>; + }; 'livechat/departments.available-by-unit/:id': { GET: (params: PaginatedRequest<{ text: string }>) => PaginatedResult<{ departments: ILivechatDepartment[]; @@ -103,6 +103,8 @@ export type OmnichannelEndpoints = { { _id: string; label: string; + visibility?: string; + scope?: string; } ]; }>; @@ -179,7 +181,7 @@ export type OmnichannelEndpoints = { departmentId?: ILivechatAgent['_id']; offset: number; count: number; - sort: string; + sort: string | { uploadedAt: number }; }) => { queue: { chats: number; @@ -191,4 +193,14 @@ export type OmnichannelEndpoints = { total: number; }; }; + + 'livechat/agents/:uid/departments?enabledDepartmentsOnly=true': { + GET: () => { departments: ILivechatDepartment[] }; + }; + + 'canned-responses': { + GET: (params: PaginatedRequest<{ scope?: string; departmentId?: string; text?: string }>) => PaginatedResult<{ + cannedResponses: ICannedResponse[]; + }>; + }; }; diff --git a/app/definitions/rest/v1/pushToken.ts b/app/definitions/rest/v1/pushToken.ts new file mode 100644 index 000000000..99726eb2b --- /dev/null +++ b/app/definitions/rest/v1/pushToken.ts @@ -0,0 +1,12 @@ +export type PushTokenEndpoints = { + 'push.token': { + POST: (params: { value: string; type: string; appName: string }) => { + result: { + id: string; + token: string; + appName: string; + userId: string; + }; + }; + }; +}; diff --git a/app/definitions/rest/v1/rooms.ts b/app/definitions/rest/v1/rooms.ts index 8306cd68f..ebcb29cd4 100644 --- a/app/definitions/rest/v1/rooms.ts +++ b/app/definitions/rest/v1/rooms.ts @@ -1,16 +1,16 @@ import type { IMessage } from '../../IMessage'; -import type { IRoom } from '../../IRoom'; +import type { IRoomNotifications, IServerRoom } from '../../IRoom'; import type { IUser } from '../../IUser'; export type RoomsEndpoints = { 'rooms.autocomplete.channelAndPrivate': { GET: (params: { selector: string }) => { - items: IRoom[]; + items: IServerRoom[]; }; }; 'rooms.autocomplete.channelAndPrivate.withPagination': { GET: (params: { selector: string; offset?: number; count?: number; sort?: string }) => { - items: IRoom[]; + items: IServerRoom[]; count: number; offset: number; total: number; @@ -18,27 +18,30 @@ export type RoomsEndpoints = { }; 'rooms.autocomplete.availableForTeams': { GET: (params: { name: string }) => { - items: IRoom[]; + items: IServerRoom[]; }; }; 'rooms.info': { GET: (params: { roomId: string } | { roomName: string }) => { - room: IRoom; + room: IServerRoom; }; }; 'rooms.createDiscussion': { POST: (params: { - prid: IRoom['_id']; + prid: IServerRoom['_id']; pmid?: IMessage['_id']; - t_name: IRoom['fname']; + t_name: IServerRoom['fname']; users?: IUser['username'][]; encrypted?: boolean; reply?: string; }) => { - discussion: IRoom; + discussion: IServerRoom; }; }; 'rooms.favorite': { POST: (params: { roomId: string; favorite: boolean }) => {}; }; + 'rooms.saveNotification': { + POST: (params: { roomId: string; notifications: IRoomNotifications }) => {}; + }; }; diff --git a/app/definitions/rest/v1/subscriptions.ts b/app/definitions/rest/v1/subscriptions.ts new file mode 100644 index 000000000..d02c81099 --- /dev/null +++ b/app/definitions/rest/v1/subscriptions.ts @@ -0,0 +1,8 @@ +export type SubscriptionsEndpoints = { + 'subscriptions.unread': { + POST: (params: { firstUnreadMessage: { _id: string } } | { roomId: string }) => {}; + }; + 'subscriptions.read': { + POST: (params: { rid: string }) => {}; + }; +}; diff --git a/app/definitions/rest/v1/teams.ts b/app/definitions/rest/v1/teams.ts index 29047149d..e282e630f 100644 --- a/app/definitions/rest/v1/teams.ts +++ b/app/definitions/rest/v1/teams.ts @@ -1,7 +1,41 @@ -import { IRoom } from '../../IRoom'; +import { IServerRoom } from '../../IRoom'; +import { IServerTeamUpdateRoom, ITeam, TEAM_TYPE } from '../../ITeam'; +import { PaginatedResult } from '../helpers/PaginatedResult'; export type TeamsEndpoints = { 'teams.removeRoom': { - POST: (params: { roomId: string; teamId: string }) => { room: IRoom }; + POST: (params: { roomId: string; teamId: string }) => { room: IServerRoom }; + }; + 'teams.listRoomsOfUser': { + GET: (params: { teamId: string; userId: string }) => PaginatedResult<{ rooms: IServerRoom[] }>; + }; + 'teams.updateRoom': { + POST: (params: { roomId: string; isDefault: boolean }) => { room: IServerTeamUpdateRoom }; + }; + 'teams.convertToChannel': { + POST: (params: { teamId: string; roomsToRemove?: string[] }) => {}; + }; + 'teams.removeMember': { + POST: (params: { teamId: string; userId: string; rooms?: string[] }) => {}; + }; + 'teams.addRooms': { + POST: (params: { teamId: string; rooms: string[] }) => { rooms: IServerRoom[] }; + }; + 'teams.create': { + POST: (params: { + name: string; + users: string[]; + type: TEAM_TYPE; + room: { readOnly: boolean; extraData: { broadcast: boolean; encrypted: boolean } }; + }) => { team: ITeam }; + }; + 'teams.listRooms': { + GET: (params: { + teamId: string; + count: number; + offset: number; + type: string; + filter?: any; + }) => PaginatedResult<{ rooms: IServerTeamUpdateRoom[] }>; }; }; diff --git a/app/definitions/rest/v1/user.ts b/app/definitions/rest/v1/user.ts deleted file mode 100644 index 7de12aabf..000000000 --- a/app/definitions/rest/v1/user.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { IUser } from '../../IUser'; - -export type UserEndpoints = { - 'users.info': { - GET: (params: { userId: IUser['_id'] }) => { - user: IUser; - success: boolean; - }; - POST: (params: { userId: IUser['_id'] }) => { - user: IUser; - success: boolean; - }; - }; -}; diff --git a/app/definitions/rest/v1/users.ts b/app/definitions/rest/v1/users.ts index 337a2182f..035e62509 100644 --- a/app/definitions/rest/v1/users.ts +++ b/app/definitions/rest/v1/users.ts @@ -1,5 +1,7 @@ +import { IParams } from '../../IProfileViewInterfaces'; import type { ITeam } from '../../ITeam'; import type { IUser } from '../../IUser'; +import { INotificationPreferences, IUserPreferences, IUserRegistered } from '../../IUser'; export type UsersEndpoints = { 'users.2fa.sendEmailCode': { @@ -11,4 +13,46 @@ export type UsersEndpoints = { 'users.listTeams': { GET: (params: { userId: IUser['_id'] }) => { teams: Array<ITeam> }; }; + 'users.forgotPassword': { + POST: (params: { email: string }) => {}; + }; + 'users.info': { + GET: (params: { userId: IUser['_id'] }) => { + user: IUser; + success: boolean; + }; + POST: (params: { userId: IUser['_id'] }) => { + user: IUser; + success: boolean; + }; + }; + 'users.setPreferences': { + POST: (params: { userId?: IUser['_id']; data: Partial<INotificationPreferences> }) => { + user: IUserPreferences; + success: boolean; + }; + }; + 'users.register': { + POST: (params: { name: string; email: string; username: string; pass: string }) => { user: IUserRegistered }; + }; + 'users.setStatus': { + POST: (params: { status: string; message: string }) => {}; + }; + 'users.updateOwnBasicInfo': { + POST: (params: { data: IParams | Pick<IParams, 'username'>; customFields?: { [key: string | number]: string } }) => { + user: IUser; + }; + }; + 'users.getUsernameSuggestion': { + GET: () => { result: string }; + }; + 'users.resetAvatar': { + POST: (params: { userId: string }) => {}; + }; + 'users.getPreferences': { + GET: (params: { userId: IUser['_id'] }) => { + preferences: INotificationPreferences; + success: boolean; + }; + }; }; diff --git a/app/definitions/rest/v1/videoConference.ts b/app/definitions/rest/v1/videoConference.ts new file mode 100644 index 000000000..a7a1e3f70 --- /dev/null +++ b/app/definitions/rest/v1/videoConference.ts @@ -0,0 +1,5 @@ +export type VideoConferenceEndpoints = { + 'video-conference/jitsi.update-timeout': { + POST: (params: { roomId: string }) => void; + }; +}; diff --git a/app/dimensions.tsx b/app/dimensions.tsx index ddf95d6d3..1c2ce6282 100644 --- a/app/dimensions.tsx +++ b/app/dimensions.tsx @@ -6,10 +6,10 @@ import { TNavigationOptions } from './definitions/navigationTypes'; export interface IDimensionsContextProps { width: number; - height?: number; - scale: number; - fontScale: number; - setDimensions: ({ + height: number; + scale?: number; + fontScale?: number; + setDimensions?: ({ width, height, scale, @@ -22,7 +22,7 @@ export interface IDimensionsContextProps { }) => void; } -export const DimensionsContext = React.createContext<Partial<IDimensionsContextProps>>(Dimensions.get('window')); +export const DimensionsContext = React.createContext<IDimensionsContextProps>(Dimensions.get('window')); export function withDimensions<T extends object>(Component: React.ComponentType<T> & TNavigationOptions): typeof Component { const DimensionsComponent = (props: T) => ( @@ -37,7 +37,7 @@ export const useDimensions = () => React.useContext(DimensionsContext); export const useOrientation = () => { const { width, height } = React.useContext(DimensionsContext); - const isPortrait = height! > width!; + const isPortrait = height > width; return { isPortrait, isLandscape: !isPortrait diff --git a/app/ee/omnichannel/actions/inquiry.js b/app/ee/omnichannel/actions/inquiry.js deleted file mode 100644 index ef3e88c13..000000000 --- a/app/ee/omnichannel/actions/inquiry.js +++ /dev/null @@ -1,55 +0,0 @@ -import * as types from '../../../actions/actionsTypes'; - -export function inquirySetEnabled(enabled) { - return { - type: types.INQUIRY.SET_ENABLED, - enabled - }; -} - -export function inquiryReset() { - return { - type: types.INQUIRY.RESET - }; -} - -export function inquiryQueueAdd(inquiry) { - return { - type: types.INQUIRY.QUEUE_ADD, - inquiry - }; -} - -export function inquiryQueueUpdate(inquiry) { - return { - type: types.INQUIRY.QUEUE_UPDATE, - inquiry - }; -} - -export function inquiryQueueRemove(inquiryId) { - return { - type: types.INQUIRY.QUEUE_REMOVE, - inquiryId - }; -} - -export function inquiryRequest() { - return { - type: types.INQUIRY.REQUEST - }; -} - -export function inquirySuccess(inquiries) { - return { - type: types.INQUIRY.SUCCESS, - inquiries - }; -} - -export function inquiryFailure(error) { - return { - type: types.INQUIRY.FAILURE, - error - }; -} diff --git a/app/ee/omnichannel/actions/inquiry.ts b/app/ee/omnichannel/actions/inquiry.ts new file mode 100644 index 000000000..4488e8f92 --- /dev/null +++ b/app/ee/omnichannel/actions/inquiry.ts @@ -0,0 +1,84 @@ +import { Action } from 'redux'; + +import { IOmnichannelRoom } from '../../../definitions'; +import { INQUIRY } from '../../../actions/actionsTypes'; + +interface IInquirySetEnabled extends Action { + enabled: boolean; +} + +interface IInquiryQueueAddAndUpdate extends Action { + inquiry: IOmnichannelRoom; +} + +interface IInquirySuccess extends Action { + inquiries: IOmnichannelRoom[]; +} + +interface IInquiryQueueRemove extends Action { + inquiryId: string; +} + +interface IInquiryFailure extends Action { + error: unknown; +} + +export type TActionInquiry = IInquirySetEnabled & + IInquiryQueueAddAndUpdate & + IInquirySuccess & + IInquiryQueueRemove & + IInquiryFailure; + +export function inquirySetEnabled(enabled: boolean): IInquirySetEnabled { + return { + type: INQUIRY.SET_ENABLED, + enabled + }; +} + +export function inquiryReset(): Action { + return { + type: INQUIRY.RESET + }; +} + +export function inquiryQueueAdd(inquiry: IOmnichannelRoom): IInquiryQueueAddAndUpdate { + return { + type: INQUIRY.QUEUE_ADD, + inquiry + }; +} + +export function inquiryQueueUpdate(inquiry: IOmnichannelRoom): IInquiryQueueAddAndUpdate { + return { + type: INQUIRY.QUEUE_UPDATE, + inquiry + }; +} + +export function inquiryQueueRemove(inquiryId: string): IInquiryQueueRemove { + return { + type: INQUIRY.QUEUE_REMOVE, + inquiryId + }; +} + +export function inquiryRequest(): Action { + return { + type: INQUIRY.REQUEST + }; +} + +export function inquirySuccess(inquiries: IOmnichannelRoom[]): IInquirySuccess { + return { + type: INQUIRY.SUCCESS, + inquiries + }; +} + +export function inquiryFailure(error: unknown): IInquiryFailure { + return { + type: INQUIRY.FAILURE, + error + }; +} diff --git a/app/ee/omnichannel/containers/OmnichannelStatus.js b/app/ee/omnichannel/containers/OmnichannelStatus.tsx similarity index 68% rename from app/ee/omnichannel/containers/OmnichannelStatus.js rename to app/ee/omnichannel/containers/OmnichannelStatus.tsx index 82f4e1418..6963ac1c4 100644 --- a/app/ee/omnichannel/containers/OmnichannelStatus.js +++ b/app/ee/omnichannel/containers/OmnichannelStatus.tsx @@ -1,19 +1,28 @@ import React, { memo, useEffect, useState } from 'react'; import { Switch, View } from 'react-native'; -import PropTypes from 'prop-types'; import * as List from '../../../containers/List'; import styles from '../../../views/RoomsListView/styles'; import { SWITCH_TRACK_COLOR, themes } from '../../../constants/colors'; -import { withTheme } from '../../../theme'; +import { useTheme } from '../../../theme'; import UnreadBadge from '../../../presentation/UnreadBadge'; import RocketChat from '../../../lib/rocketchat'; import { changeLivechatStatus, isOmnichannelStatusAvailable } from '../lib'; +import { IUser } from '../../../definitions/IUser'; -const OmnichannelStatus = memo(({ searching, goQueue, theme, queueSize, inquiryEnabled, user }) => { - if (searching > 0 || !(RocketChat.isOmnichannelModuleAvailable() && user?.roles?.includes('livechat-agent'))) { +interface IOmnichannelStatus { + searching: boolean; + goQueue: () => void; + queueSize: number; + inquiryEnabled: boolean; + user: IUser; +} + +const OmnichannelStatus = memo(({ searching, goQueue, queueSize, inquiryEnabled, user }: IOmnichannelStatus) => { + if (searching || !(RocketChat.isOmnichannelModuleAvailable() && user?.roles?.includes('livechat-agent'))) { return null; } + const { theme } = useTheme(); const [status, setStatus] = useState(isOmnichannelStatusAvailable(user)); useEffect(() => { @@ -48,16 +57,4 @@ const OmnichannelStatus = memo(({ searching, goQueue, theme, queueSize, inquiryE ); }); -OmnichannelStatus.propTypes = { - searching: PropTypes.bool, - goQueue: PropTypes.func, - queueSize: PropTypes.number, - inquiryEnabled: PropTypes.bool, - theme: PropTypes.string, - user: PropTypes.shape({ - roles: PropTypes.array, - statusLivechat: PropTypes.string - }) -}; - -export default withTheme(OmnichannelStatus); +export default OmnichannelStatus; diff --git a/app/ee/omnichannel/lib/index.js b/app/ee/omnichannel/lib/index.ts similarity index 57% rename from app/ee/omnichannel/lib/index.js rename to app/ee/omnichannel/lib/index.ts index 107bc31d0..c7c45dc65 100644 --- a/app/ee/omnichannel/lib/index.js +++ b/app/ee/omnichannel/lib/index.ts @@ -1,21 +1,24 @@ -import RocketChat from '../../../lib/rocketchat'; +import sdk from '../../../lib/rocketchat/services/sdk'; +import { IUser } from '../../../definitions'; import EventEmitter from '../../../utils/events'; import subscribeInquiry from './subscriptions/inquiry'; -export const isOmnichannelStatusAvailable = user => user?.statusLivechat === 'available'; +export const isOmnichannelStatusAvailable = (user: IUser): boolean => user?.statusLivechat === 'available'; // RC 0.26.0 -export const changeLivechatStatus = () => RocketChat.methodCallWrapper('livechat:changeLivechatStatus'); +export const changeLivechatStatus = () => sdk.methodCallWrapper('livechat:changeLivechatStatus'); // RC 2.4.0 -export const getInquiriesQueued = () => RocketChat.sdk.get('livechat/inquiries.queued'); +// @ts-ignore +export const getInquiriesQueued = () => sdk.get('livechat/inquiries.queued'); // this inquiry is added to the db by the subscriptions stream // and will be removed by the queue stream // RC 2.4.0 -export const takeInquiry = inquiryId => RocketChat.methodCallWrapper('livechat:takeInquiry', inquiryId); +export const takeInquiry = (inquiryId: string) => sdk.methodCallWrapper('livechat:takeInquiry', inquiryId); class Omnichannel { + private inquirySub: { stop: () => void } | null; constructor() { this.inquirySub = null; EventEmitter.addEventListener('INQUIRY_SUBSCRIBE', this.subscribeInquiry); @@ -36,5 +39,5 @@ class Omnichannel { }; } -// eslint-disable-next-line no-unused-vars +// eslint-disable-next-line @typescript-eslint/no-unused-vars const omnichannel = new Omnichannel(); diff --git a/app/ee/omnichannel/lib/subscriptions/inquiry.js b/app/ee/omnichannel/lib/subscriptions/inquiry.ts similarity index 64% rename from app/ee/omnichannel/lib/subscriptions/inquiry.js rename to app/ee/omnichannel/lib/subscriptions/inquiry.ts index 4e6cda682..69953e378 100644 --- a/app/ee/omnichannel/lib/subscriptions/inquiry.js +++ b/app/ee/omnichannel/lib/subscriptions/inquiry.ts @@ -2,11 +2,27 @@ import log from '../../../../utils/log'; import { store } from '../../../../lib/auxStore'; import RocketChat from '../../../../lib/rocketchat'; import { inquiryQueueAdd, inquiryQueueRemove, inquiryQueueUpdate, inquiryRequest } from '../../actions/inquiry'; +import sdk from '../../../../lib/rocketchat/services/sdk'; +import { IOmnichannelRoom } from '../../../../definitions'; -const removeListener = listener => listener.stop(); +interface IArgsQueueOmnichannel extends IOmnichannelRoom { + type: string; +} -let connectedListener; -let queueListener; +interface IDdpMessage { + msg: string; + collection: string; + id: string; + fields: { + eventName: string; + args: IArgsQueueOmnichannel[]; + }; +} + +const removeListener = (listener: any) => listener.stop(); + +let connectedListener: any; +let queueListener: any; const streamTopic = 'stream-livechat-inquiry-queue-observer'; @@ -15,7 +31,7 @@ export default function subscribeInquiry() { store.dispatch(inquiryRequest()); }; - const handleQueueMessageReceived = ddpMessage => { + const handleQueueMessageReceived = (ddpMessage: IDdpMessage) => { const [{ type, ...sub }] = ddpMessage.fields.args; // added can be ignored, since it is handled by 'changed' event @@ -26,7 +42,9 @@ export default function subscribeInquiry() { // if the sub isn't on the queue anymore if (sub.status !== 'queued') { // remove it from the queue - store.dispatch(inquiryQueueRemove(sub._id)); + if (sub._id) { + store.dispatch(inquiryQueueRemove(sub._id)); + } return; } @@ -53,23 +71,28 @@ export default function subscribeInquiry() { } }; - connectedListener = RocketChat.onStreamData('connected', handleConnection); - queueListener = RocketChat.onStreamData(streamTopic, handleQueueMessageReceived); + connectedListener = sdk.onStreamData('connected', handleConnection); + queueListener = sdk.onStreamData(streamTopic, handleQueueMessageReceived); try { const { user } = store.getState().login; + + if (!user.id) { + throw new Error('inquiry: @subscribeInquiry user.id not found'); + } + RocketChat.getAgentDepartments(user.id).then(result => { if (result.success) { const { departments } = result; if (!departments.length || RocketChat.hasRole('livechat-manager')) { - RocketChat.subscribe(streamTopic, 'public').catch(e => console.log(e)); + sdk.subscribe(streamTopic, 'public').catch((e: unknown) => console.log(e)); } const departmentIds = departments.map(({ departmentId }) => departmentId); departmentIds.forEach(departmentId => { // subscribe to all departments of the agent - RocketChat.subscribe(streamTopic, `department/${departmentId}`).catch(e => console.log(e)); + sdk.subscribe(streamTopic, `department/${departmentId}`).catch((e: unknown) => console.log(e)); }); } }); diff --git a/app/ee/omnichannel/reducers/inquiry.test.ts b/app/ee/omnichannel/reducers/inquiry.test.ts new file mode 100644 index 000000000..63c0b3973 --- /dev/null +++ b/app/ee/omnichannel/reducers/inquiry.test.ts @@ -0,0 +1,98 @@ +import { + inquiryFailure, + inquiryQueueAdd, + inquiryQueueRemove, + inquiryQueueUpdate, + inquiryReset, + inquirySetEnabled, + inquirySuccess +} from '../actions/inquiry'; +import { mockedStore } from '../../../reducers/mockedStore'; +import { initialState } from './inquiry'; +import { IOmnichannelRoom, OmnichannelSourceType, SubscriptionType } from '../../../definitions'; + +describe('test inquiry reduce', () => { + const enabledObj = { + enabled: true + }; + + const queued: IOmnichannelRoom = { + _id: '_id', + rid: 'rid', + name: 'Rocket Chat', + ts: new Date(), + message: 'ola', + status: 'queued', + v: { + _id: 'id-visitor', + username: 'guest-24', + token: '123456789', + status: 'online' + }, + t: SubscriptionType.OMNICHANNEL, + queueOrder: '1', + estimatedWaitingTimeQueue: '0', + estimatedServiceTimeAt: new Date(), + source: { + type: OmnichannelSourceType.WIDGET, + _updatedAt: new Date(), + queuedAt: new Date() + } + }; + + const error = 'Error Test'; + + it('should return inital state', () => { + const state = mockedStore.getState().inquiry; + expect(state).toEqual(initialState); + }); + + it('should return correct inquiry state after dispatch inquirySetEnabled action', () => { + mockedStore.dispatch(inquirySetEnabled(enabledObj.enabled)); + const { inquiry } = mockedStore.getState(); + expect(inquiry).toEqual({ ...initialState, ...enabledObj }); + }); + + it('after inquiry state is modified, should return inquiry state as initial state after dispatch inquiryReset action', () => { + mockedStore.dispatch(inquiryReset()); + const { inquiry } = mockedStore.getState(); + expect(inquiry).toEqual(initialState); + }); + + it('should return correct inquiry state after dispatch inquiryQueueAdd action', () => { + mockedStore.dispatch(inquiryQueueAdd(queued)); + const { inquiry } = mockedStore.getState(); + expect(inquiry).toEqual({ ...initialState, queued: [queued] }); + }); + + it('should update correct inquiry state after dispatch inquiryQueueUpdate action', () => { + const modifiedQueued: IOmnichannelRoom = { ...queued, message: 'inquiryQueueUpdate' }; + mockedStore.dispatch(inquiryQueueUpdate(modifiedQueued)); + const { inquiry } = mockedStore.getState(); + expect(inquiry).toEqual({ ...initialState, queued: [modifiedQueued] }); + }); + + it('should remove correct from queue in inquiry state after dispatch inquiryQueueRemove action', () => { + mockedStore.dispatch(inquiryQueueRemove(queued._id)); + const { inquiry } = mockedStore.getState(); + expect(inquiry).toEqual(initialState); + }); + + it('should return correct inquiry state after dispatch inquirySuccess action', () => { + mockedStore.dispatch(inquirySuccess([queued])); + const { inquiry } = mockedStore.getState(); + expect(inquiry).toEqual({ ...initialState, queued: [queued] }); + }); + + it('after inquiry state is modified, should return inquiry state as initial state after dispatch inquiryReset action', () => { + mockedStore.dispatch(inquiryReset()); + const { inquiry } = mockedStore.getState(); + expect(inquiry).toEqual(initialState); + }); + + it('should return correct inquiry state after dispatch inquiryFailure action', () => { + mockedStore.dispatch(inquiryFailure(error)); + const { inquiry } = mockedStore.getState(); + expect(inquiry).toEqual({ ...initialState, error }); + }); +}); diff --git a/app/ee/omnichannel/reducers/inquiry.js b/app/ee/omnichannel/reducers/inquiry.ts similarity index 74% rename from app/ee/omnichannel/reducers/inquiry.js rename to app/ee/omnichannel/reducers/inquiry.ts index 8c031d55d..b9026a5a9 100644 --- a/app/ee/omnichannel/reducers/inquiry.js +++ b/app/ee/omnichannel/reducers/inquiry.ts @@ -1,12 +1,19 @@ +import { IOmnichannelRoom, TApplicationActions } from '../../../definitions'; import { INQUIRY } from '../../../actions/actionsTypes'; -const initialState = { +export interface IInquiry { + enabled: boolean; + queued: IOmnichannelRoom[]; + error: any; +} + +export const initialState: IInquiry = { enabled: false, queued: [], error: {} }; -export default function inquiry(state = initialState, action) { +export default function inquiry(state = initialState, action: TApplicationActions): IInquiry { switch (action.type) { case INQUIRY.SUCCESS: return { diff --git a/app/ee/omnichannel/selectors/inquiry.js b/app/ee/omnichannel/selectors/inquiry.ts similarity index 50% rename from app/ee/omnichannel/selectors/inquiry.js rename to app/ee/omnichannel/selectors/inquiry.ts index ada81fd9e..f3a7ac2a1 100644 --- a/app/ee/omnichannel/selectors/inquiry.js +++ b/app/ee/omnichannel/selectors/inquiry.ts @@ -1,5 +1,7 @@ import { createSelector } from 'reselect'; -const getInquiryQueue = state => state.inquiry.queued; +import { IApplicationState } from '../../../definitions'; + +const getInquiryQueue = (state: IApplicationState) => state.inquiry.queued; export const getInquiryQueueSelector = createSelector([getInquiryQueue], queue => queue); diff --git a/app/ee/omnichannel/views/QueueListView.js b/app/ee/omnichannel/views/QueueListView.tsx similarity index 63% rename from app/ee/omnichannel/views/QueueListView.js rename to app/ee/omnichannel/views/QueueListView.tsx index 5d537ceef..bb898e13f 100644 --- a/app/ee/omnichannel/views/QueueListView.js +++ b/app/ee/omnichannel/views/QueueListView.tsx @@ -1,6 +1,7 @@ import React from 'react'; -import PropTypes from 'prop-types'; -import { FlatList } from 'react-native'; +import { CompositeNavigationProp } from '@react-navigation/native'; +import { StackNavigationOptions, StackNavigationProp } from '@react-navigation/stack'; +import { FlatList, ListRenderItem } from 'react-native'; import { connect } from 'react-redux'; import { dequal } from 'dequal'; @@ -19,18 +20,50 @@ import * as HeaderButton from '../../../containers/HeaderButton'; import RocketChat from '../../../lib/rocketchat'; import { events, logEvent } from '../../../utils/log'; import { getInquiryQueueSelector } from '../selectors/inquiry'; +import { IOmnichannelRoom, IApplicationState } from '../../../definitions'; +import { DisplayMode } from '../../../constants/constantDisplayMode'; +import { ChatsStackParamList } from '../../../stacks/types'; +import { MasterDetailInsideStackParamList } from '../../../stacks/MasterDetailStack/types'; +import { TSettingsValues } from '../../../reducers/settings'; + +interface INavigationOptions { + isMasterDetail: boolean; + navigation: CompositeNavigationProp< + StackNavigationProp<ChatsStackParamList, 'QueueListView'>, + StackNavigationProp<MasterDetailInsideStackParamList> + >; +} + +interface IQueueListView extends INavigationOptions { + user: { + id: string; + username: string; + token: string; + }; + width: number; + queued: IOmnichannelRoom[]; + server: string; + useRealName?: TSettingsValues; + theme: string; + showAvatar: any; + displayMode: DisplayMode; +} const INITIAL_NUM_TO_RENDER = isTablet ? 20 : 12; -const getItemLayout = (data, index) => ({ +const getItemLayout = (data: IOmnichannelRoom[] | null | undefined, index: number) => ({ length: ROW_HEIGHT, offset: ROW_HEIGHT * index, index }); -const keyExtractor = item => item.rid; +const keyExtractor = (item: IOmnichannelRoom) => item.rid; -class QueueListView extends React.Component { - static navigationOptions = ({ navigation, isMasterDetail }) => { - const options = { +class QueueListView extends React.Component<IQueueListView, any> { + private getScrollRef?: React.Ref<FlatList<IOmnichannelRoom>>; + + private onEndReached: ((info: { distanceFromEnd: number }) => void) | null | undefined; + + static navigationOptions = ({ navigation, isMasterDetail }: INavigationOptions) => { + const options: StackNavigationOptions = { title: I18n.t('Queued_chats') }; if (isMasterDetail) { @@ -39,24 +72,7 @@ class QueueListView extends React.Component { return options; }; - static propTypes = { - user: PropTypes.shape({ - id: PropTypes.string, - username: PropTypes.string, - token: PropTypes.string - }), - isMasterDetail: PropTypes.bool, - width: PropTypes.number, - queued: PropTypes.array, - server: PropTypes.string, - useRealName: PropTypes.bool, - navigation: PropTypes.object, - theme: PropTypes.string, - showAvatar: PropTypes.bool, - displayMode: PropTypes.string - }; - - shouldComponentUpdate(nextProps) { + shouldComponentUpdate(nextProps: IQueueListView) { const { queued } = this.props; if (!dequal(nextProps.queued, queued)) { return true; @@ -65,7 +81,7 @@ class QueueListView extends React.Component { return false; } - onPressItem = (item = {}) => { + onPressItem = (item = {} as IOmnichannelRoom) => { logEvent(events.QL_GO_ROOM); const { navigation, isMasterDetail } = this.props; if (isMasterDetail) { @@ -84,13 +100,13 @@ class QueueListView extends React.Component { }); }; - getRoomTitle = item => RocketChat.getRoomTitle(item); + getRoomTitle = (item: IOmnichannelRoom) => RocketChat.getRoomTitle(item); - getRoomAvatar = item => RocketChat.getRoomAvatar(item); + getRoomAvatar = (item: IOmnichannelRoom) => RocketChat.getRoomAvatar(item); - getUidDirectMessage = room => RocketChat.getUidDirectMessage(room); + getUidDirectMessage = (room: IOmnichannelRoom) => RocketChat.getUidDirectMessage(room); - renderItem = ({ item }) => { + renderItem: ListRenderItem<IOmnichannelRoom> = ({ item }) => { const { user: { id: userId, username, token }, server, @@ -152,7 +168,7 @@ class QueueListView extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: IApplicationState) => ({ user: getUserSelector(state), isMasterDetail: state.app.isMasterDetail, server: state.server.server, diff --git a/app/i18n/locales/ar.json b/app/i18n/locales/ar.json index 0f6eebaa9..364fe3fc1 100644 --- a/app/i18n/locales/ar.json +++ b/app/i18n/locales/ar.json @@ -1,8 +1,8 @@ { - "1_person_reacted": "تفاعل شخص 1", - "1_user": "مستخدم 1", - "error-action-not-allowed": "{{action}} غير مسموح", - "error-application-not-found": "لم يتم العثور على البرنامج", + "1_person_reacted": "تفاعل شخص واحد", + "1_user": "مستخدم واحد", + "error-action-not-allowed": "غير مسموح بالإجراء {{action}}", + "error-application-not-found": "لم يتم العثور على التطبيق", "error-archived-duplicate-name": "هناك قناة مؤرشفة باسم {{room_name}}", "error-avatar-invalid-url": "عنوان الصورة الرمزية غير صحيح: {{url}}", "error-avatar-url-handling": "خطأ في معالجة الصورة الرمزية ({{url}}) للمستخدم {{username}}", diff --git a/app/i18n/locales/de.json b/app/i18n/locales/de.json index 8bb4dee5a..4bf6c3828 100644 --- a/app/i18n/locales/de.json +++ b/app/i18n/locales/de.json @@ -3,10 +3,10 @@ "1_user": "1 Benutzer", "error-action-not-allowed": "{{action}} ist nicht erlaubt", "error-application-not-found": "Anwendung nicht gefunden", - "error-archived-duplicate-name": "Es gibt bereits einen archivierten Kanal mit dem Namen {{room_name}}", + "error-archived-duplicate-name": "Es gibt bereits einen archivierten Channel mit dem Namen {{room_name}}", "error-avatar-invalid-url": "Ungültige Avatar-URL: {{url}}", "error-avatar-url-handling": "Fehler beim Umgang mit der Avatar-Einstellung von einer URL ({{url}}) für {{username}}", - "error-cant-invite-for-direct-room": "Benutzer können nicht zu Räumen eingeladen werden", + "error-cant-invite-for-direct-room": "Benutzer können nicht zu Rooms eingeladen werden", "error-could-not-change-email": "E-Mail konnte nicht geändert werden", "error-could-not-change-name": "Name konnte nicht geändert werden", "error-could-not-change-username": "Benutzername konnte nicht geändert werden", @@ -14,22 +14,23 @@ "error-delete-protected-role": "Eine geschützte Rolle kann nicht gelöscht werden", "error-department-not-found": "Abteilung nicht gefunden", "error-direct-message-file-upload-not-allowed": "Dateifreigabe in direkten Nachrichten nicht zulässig", - "error-duplicate-channel-name": "Ein Kanal mit dem Namen {{room_name}} ist bereits vorhanden", + "error-duplicate-channel-name": "Ein Channel mit dem Namen {{room_name}} ist bereits vorhanden", "error-email-domain-blacklisted": "Die E-Mail-Domain wird auf die schwarze Liste gesetzt", "error-email-send-failed": "Fehler beim Versuch, eine E-Mail zu senden: {{message}}", "error-save-image": "Fehler beim Speichern des Bildes", "error-save-video": "Fehler beim Speichern des Videos", "error-field-unavailable": "{{field}} wird bereits verwendet :(", "error-file-too-large": "Datei ist zu groß", + "error-not-permission-to-upload-file": "Sie haben keine Berechtigung zum Hochladen von Dateien", "error-importer-not-defined": "Der Import wurde nicht korrekt definiert, es fehlt die Importklasse.", "error-input-is-not-a-valid-field": "{{input}} ist kein gültiges {{field}}", "error-invalid-actionlink": "Ungültiger Aktionslink", "error-invalid-arguments": "Ungültige Argumente", "error-invalid-asset": "Ungültiges Asset", - "error-invalid-channel": "Ungültiger Kanal", - "error-invalid-channel-start-with-chars": "Ungültiger Kanal. Beginne mit @ oder #", + "error-invalid-channel": "Ungültiger Channel", + "error-invalid-channel-start-with-chars": "Ungültiger Channel. Beginne mit @ oder #", "error-invalid-custom-field": "Ungültiges benutzerdefiniertes Feld", - "error-invalid-custom-field-name": "Ungültiger benutzerdefinierter Feldname. Verwende nur Buchstaben, Zahlen, Bindestriche und Unterstriche.", + "error-invalid-custom-field-name": "Ungültiger benutzerdefinierter Feldname. Verwenden Sie nur Buchstaben, Zahlen, Bindestriche und Unterstriche.", "error-invalid-date": "Ungültiges Datum angegeben", "error-invalid-description": "Ungültige Beschreibung", "error-invalid-domain": "Ungültige Domain", @@ -38,7 +39,7 @@ "error-invalid-file-height": "Ungültige Dateihöhe", "error-invalid-file-type": "Ungültiger Dateityp", "error-invalid-file-width": "Ungültige Dateibreite", - "error-invalid-from-address": "Du hast eine ungültige FROM-Adresse mitgeteilt.", + "error-invalid-from-address": "Sie haben eine ungültige FROM-Adresse mitgeteilt.", "error-invalid-integration": "Ungültige Integration", "error-invalid-message": "Ungültige Nachricht", "error-invalid-method": "Ungültige Methode", @@ -47,8 +48,8 @@ "error-invalid-redirectUri": "Ungültige Weiterleitung", "error-invalid-role": "Ungültige Rolle", "error-invalid-room": "Ungültiger Raum", - "error-invalid-room-name": "{{room_name}} ist kein gültiger Raumname", - "error-invalid-room-type": "{{type}} ist kein gültiger Raumtyp.", + "error-invalid-room-name": "{{room_name}} ist kein gültiger Room-Name", + "error-invalid-room-type": "{{type}} ist kein gültiger Room-Typ.", "error-invalid-settings": "Ungültige Einstellungen angegeben", "error-invalid-subscription": "Ungültiges Abonnement", "error-invalid-token": "Ungültiges Token", @@ -60,25 +61,25 @@ "error-message-deleting-blocked": "Das Löschen von Nachrichten ist gesperrt", "error-message-editing-blocked": "Die Bearbeitung von Nachrichten ist gesperrt", "error-message-size-exceeded": "Die Nachrichtengröße überschreitet Message_MaxAllowedSize", - "error-missing-unsubscribe-link": "Du musst den Link [abbestellen] angeben.", - "error-no-owner-channel": "Dieser Raum gehört dir nicht", + "error-missing-unsubscribe-link": "Sie müssen den Link [abbestellen] angeben.", + "error-no-owner-channel": "Dieser Room gehört Ihnen nicht", "error-no-tokens-for-this-user": "Für diesen Benutzer gibt es keine Token", "error-not-allowed": "Nicht erlaubt", "error-not-authorized": "Nicht berechtigt", "error-push-disabled": "Push ist deaktiviert", - "error-remove-last-owner": "Dies ist der letzte Besitzer. Bitte lege einen neuen Besitzer fest, bevor du diesen entfernst.", + "error-remove-last-owner": "Dies ist der letzte Besitzer. Bitte legen Sie einen neuen Besitzer fest, bevor Sie diesen entfernen.", "error-role-in-use": "Rolle kann nicht gelöscht werden, da sie gerade verwendet wird", "error-role-name-required": "Der Rollenname ist erforderlich", "error-the-field-is-required": "Das Feld {{field}} ist erforderlich.", - "error-too-many-requests": "Fehler, zu viele Anfragen. Du musst {{seconds}} Sekunden warten, bevor du es erneut versuchst.", + "error-too-many-requests": "Fehler, zu viele Anfragen. Sie müssen {{seconds}} Sekunden warten, bevor Sie es erneut versuchen.", "error-user-is-not-activated": "Benutzer ist nicht aktiviert", "error-user-has-no-roles": "Benutzer hat keine Rollen", - "error-user-limit-exceeded": "Die Anzahl der Benutzer, die du zu #channel_name einladen möchtest, überschreitet die vom Administrator festgelegte Grenze", - "error-user-not-in-room": "Benutzer ist nicht in diesem Raum", + "error-user-limit-exceeded": "Die Anzahl der Benutzer, die Sie zu #channel_name einladen möchten, überschreitet die vom Administrator festgelegte Grenze", + "error-user-not-in-room": "Benutzer ist nicht in diesem Room", "error-user-registration-custom-field": "error-user-registration-custom-field", "error-user-registration-disabled": "Die Benutzerregistrierung ist deaktiviert", "error-user-registration-secret": "Die Benutzerregistrierung ist nur über eine geheime URL möglich", - "error-you-are-last-owner": "Du bist der letzte Besitzer. Bitte setze einen neuen Besitzer, bevor du den Raum verlässt.", + "error-you-are-last-owner": "Sie sind der letzte Besitzer. Bitte setzen Sie einen neuen Besitzer, bevor Sie den Raum verlassen.", "error-status-not-allowed": "Unsichtbar-Status ist deaktiviert", "Actions": "Aktionen", "Activity": "Aktivität", @@ -90,9 +91,9 @@ "Alert": "Benachrichtigung", "alert": "Benachrichtigung", "alerts": "Benachrichtigungen", - "All_users_in_the_channel_can_write_new_messages": "Alle Benutzer im Kanal können neue Nachrichten schreiben", + "All_users_in_the_channel_can_write_new_messages": "Alle Benutzer im Channel können neue Nachrichten schreiben", "All_users_in_the_team_can_write_new_messages": "Alle Mitglieder eines Teams können neue Nachrichten schreiben", - "A_meaningful_name_for_the_discussion_room": "Ein aussagekräftiger Name für den Diskussionsraum", + "A_meaningful_name_for_the_discussion_room": "Ein aussagekräftiger Name für den Unterhaltungs-Room", "All": "alle", "All_Messages": "Alle Nachrichten", "Allow_Reactions": "Reaktionen zulassen", @@ -101,12 +102,12 @@ "and": "und", "announcement": "Ankündigung", "Announcement": "Ankündigung", - "Apply_Your_Certificate": "Wende dein Zertifikat an", + "Apply_Your_Certificate": "Wenden Sie ihr Zertifikat an", "ARCHIVE": "ARCHIV", "archive": "Archiv", "are_typing": "tippen", - "Are_you_sure_question_mark": "Bist du sicher?", - "Are_you_sure_you_want_to_leave_the_room": "Möchtest du den Raum wirklich verlassen {{room}}?", + "Are_you_sure_question_mark": "Sind Sie sicher?", + "Are_you_sure_you_want_to_leave_the_room": "Möchten Sie den Room {{room}} wirklich verlassen?", "Audio": "Audio", "Authenticating": "Authentifizierung", "Automatic": "Automatisch", @@ -121,31 +122,31 @@ "Broadcast_channel_Description": "Nur autorisierte Benutzer können neue Nachrichten schreiben, die anderen Benutzer können jedoch antworten", "Broadcast_Channel": "Broadcast-Kanal", "Busy": "Beschäftigt", - "By_proceeding_you_are_agreeing": "Indem du fortfährst, stimmst du zu unserem", + "By_proceeding_you_are_agreeing": "Indem Sie fortfahren, akzeptieren Sie unsere", "Cancel_editing": "Bearbeitung abbrechen", "Cancel_recording": "Aufnahme abbrechen", "Cancel": "Abbrechen", "changing_avatar": "Avatar wechseln", - "creating_channel": "Kanal erstellen", + "creating_channel": "Channel erstellen", "creating_invite": "Einladung erstellen", - "Channel_Name": "Kanal Name", - "Channels": "Kanäle", + "Channel_Name": "Channel-Name", + "Channels": "Channels", "Chats": "Chats", "Call_already_ended": "Anruf bereits beendet!", - "Clear_cookies_alert": "Möchtest du alle Cookies löschen?", - "Clear_cookies_desc": "Diese Aktion wird alle Login-Cookies löschen und erlaubt es dir, dich mit einem anderen Konto anzumelden.", + "Clear_cookies_alert": "Möchten Sie alle Cookies löschen?", + "Clear_cookies_desc": "Diese Aktion wird alle Login-Cookies löschen und erlaubt es Ihnen, sich mit einem anderen Konto anzumelden.", "Clear_cookies_yes": "Ja, Cookies löschen", "Clear_cookies_no": "Nein, Cookies behalten", "Click_to_join": "Klicken um beizutreten!", "Close": "Schließen", - "Close_emoji_selector": "Schließe die Emoji-Auswahl", + "Close_emoji_selector": "Emoji-Auswahl schließen", "Closing_chat": "Chat schließen", "Change_language_loading": "Ändere Sprache.", "Chat_closed_by_agent": "Chat durch den Agenten geschlossen", "Choose": "Wählen", "Choose_from_library": "Aus der Bibliothek auswählen", "Choose_file": "Datei auswählen", - "Choose_where_you_want_links_be_opened": "Entscheide, wie Links geöffnet werden sollen", + "Choose_where_you_want_links_be_opened": "Entscheiden, wie Links geöffnet werden sollen", "Code": "Code", "Code_or_password_invalid": "Code oder Passwort sind falsch", "Collaborative": "Kollaborativ", @@ -154,8 +155,8 @@ "Connected": "Verbunden", "connecting_server": "verbinde zum Server", "Connecting": "Verbinden ...", - "Contact_us": "Kontaktiere uns", - "Contact_your_server_admin": "Kontaktiere deinen Server-Administrator.", + "Contact_us": "Kontaktieren Sie uns", + "Contact_your_server_admin": "Kontaktieren Sie Ihren Server-Administrator.", "Continue_with": "Weitermachen mit", "Copied_to_clipboard": "In die Zwischenablage kopiert!", "Copy": "Kopieren", @@ -164,20 +165,20 @@ "Certificate_password": "Zertifikats-Passwort", "Clear_cache": "Lokalen Server-Cache leeren", "Clear_cache_loading": "Leere Cache.", - "Whats_the_password_for_your_certificate": "Wie lautet das Passwort für dein Zertifikat?", + "Whats_the_password_for_your_certificate": "Wie lautet das Passwort für Ihr Zertifikat?", "Create_account": "Ein Konto erstellen", "Create_Channel": "Kanal erstellen", "Create_Direct_Messages": "Direkt-Nachricht erstellen", "Create_Discussion": "Diskussion erstellen", "Created_snippet": "ein Snippet erstellt", - "Create_a_new_workspace": "Erstelle einen neuen Arbeitsbereich", + "Create_a_new_workspace": "Einen neuen Arbeitsbereich erstellen", "Create": "Erstellen", "Custom_Status": "Eigener Status", "Dark": "Dunkel", "Dark_level": "Dunkelstufe", "Default": "Standard", "Default_browser": "Standard-Browser", - "Delete_Room_Warning": "Durch das Löschen eines Raums werden alle Nachrichten gelöscht, die im Raum gepostet wurden. Das kann nicht rückgängig gemacht werden.", + "Delete_Room_Warning": "Durch das Löschen eines Rooms werden alle Nachrichten gelöscht, die im Raum gepostet wurden. Das kann nicht rückgängig gemacht werden.", "Department": "Abteilung", "delete": "löschen", "Delete": "Löschen", @@ -193,18 +194,18 @@ "Direct_Messages": "Direktnachrichten", "Disable_notifications": "Benachrichtigungen deaktiveren", "Discussions": "Diskussionen", - "Discussion_Desc": "Hilft dir die Übersicht zu behalten! Durch das Erstellen einer Diskussion wird ein Unter-Kanal im ausgewählten Raum erzeugt und beide verknüpft.", + "Discussion_Desc": "Hilft, die Übersicht zu behalten! Durch das Erstellen einer Diskussion wird ein Unter-Channel im ausgewählten Room erzeugt und beide verknüpft.", "Discussion_name": "Diskussions-Name", "Done": "Erledigt", - "Dont_Have_An_Account": "Du hast noch kein Konto?", - "Do_you_have_an_account": "Du hast schon ein Konto?", - "Do_you_have_a_certificate": "Hast du ein Zertifikat?", - "Do_you_really_want_to_key_this_room_question_mark": "Möchtest du diesen Raum wirklich {{key}}?", + "Dont_Have_An_Account": "Sie haben noch kein Konto?", + "Do_you_have_an_account": "Sie haben schon ein Konto?", + "Do_you_have_a_certificate": "Haben Sie ein Zertifikat?", + "Do_you_really_want_to_key_this_room_question_mark": "Möchten Sie diesen Raum wirklich {{key}}?", "E2E_Encryption": "E2E-Verschlüsselung", - "E2E_How_It_Works_info1": "Du kannst nun verschlüsselte private Gruppen und Direktnachrichten versenden. Du kannst außerdem deine bestehenden privaten Gruppen und Direktnachrichten auf Verschlüsselung umstellen.", - "E2E_How_It_Works_info2": "Dies ist *Ende-zu-Ende-Verschlüsselung*, daher wird der Schlüssel um die Nachrichten zu ver-/entschlüsseln nicht auf dem Server gespeichert. Aus diesem Grund musst du dieses Passwort an einem sicheren Ort speichern, so dass du später bei Bedarf darauf zugreifen kannst.", - "E2E_How_It_Works_info3": "Wenn du fortfährst, wird automatisch ein ein E2E-Passwort erzeugt.", - "E2E_How_It_Works_info4": "Du kannst außerdem jederzeit, in jedem Browser, in dem du das bestehende Passwort eingegeben hast, ein neues Passwort setzen.", + "E2E_How_It_Works_info1": "Sie können nun verschlüsselte private Gruppen und Direktnachrichten versenden. Sie können außerdem Ihre bestehenden privaten Gruppen und Direktnachrichten auf Verschlüsselung umstellen.", + "E2E_How_It_Works_info2": "Dies ist *Ende-zu-Ende-Verschlüsselung*, daher wird der Schlüssel um die Nachrichten zu ver-/entschlüsseln nicht auf dem Server gespeichert. Aus diesem Grund müssen Sie dieses Passwort an einem sicheren Ort speichern, sodass Sie später bei Bedarf darauf zugreifen können.", + "E2E_How_It_Works_info3": "Wenn Sie fortfahren, wird automatisch ein ein E2E-Passwort erzeugt.", + "E2E_How_It_Works_info4": "Sie können außerdem jederzeit, in jedem Browser, in dem Sie das bestehende Passwort eingegeben haben, ein neues Passwort setzen.", "edit": "bearbeiten", "edited": "bearbeitet", "Edit": "Bearbeiten", @@ -222,12 +223,12 @@ "Enable_notifications": "Benachrichtigungen aktivieren", "Encrypted": "Verschlüsselt", "Encrypted_message": "Verschlüsselte Nachricht", - "Enter_Your_E2E_Password": "Gib dein Ende-zu-Ende-Passwort ein", - "Enter_Your_Encryption_Password_desc1": "Das erlaubt dir auf deine verschlüsselten privaten Gruppen und Direktnachrichten zuzugreifen.", - "Enter_Your_Encryption_Password_desc2": "Du musst das Passwort zur Ver-/Entschlüsselung an jeder Stelle eingeben, an dem du diesen Chat verwendest.", - "Encryption_error_title": "Dein Verschlüsselungs-Passwort scheint falsch zu sein", - "Encryption_error_desc": "Es war nicht möglich deinen Verschlüsselungs-Key zu importieren.", - "Everyone_can_access_this_channel": "Jeder kann auf diesen Kanal zugreifen", + "Enter_Your_E2E_Password": "Geben Sie Ihr Ende-zu-Ende-Passwort ein", + "Enter_Your_Encryption_Password_desc1": "Das erlaubt Ihnen, auf Ihre verschlüsselten privaten Gruppen und Direktnachrichten zuzugreifen.", + "Enter_Your_Encryption_Password_desc2": "Sie müssen das Passwort zur Ver-/Entschlüsselung an jeder Stelle eingeben, an dem Sie diesen Chat verwenden.", + "Encryption_error_title": "Ihr Verschlüsselungs-Passwort scheint falsch zu sein", + "Encryption_error_desc": "Es war nicht möglich, Ihren Verschlüsselungs-Key zu importieren.", + "Everyone_can_access_this_channel": "Jeder kann auf diesen Channel zugreifen", "Everyone_can_access_this_team": "Jeder kann auf dieses Team zugreifen", "Error_uploading": "Fehler beim Hochladen", "Expiration_Days": "läuft ab (Tage)", @@ -235,23 +236,25 @@ "Files": "Dateien", "File_description": "Dateibeschreibung", "File_name": "Dateiname", - "Finish_recording": "Beende die Aufnahme", + "Finish_recording": "Aufnahme neenden", "Following_thread": "Thread folgen", - "For_your_security_you_must_enter_your_current_password_to_continue": "Zu deiner Sicherheit musst du dein aktuelles Passwort eingeben, um fortzufahren", - "Forgot_password_If_this_email_is_registered": "Wenn diese E-Mail registriert ist, senden wir Anweisungen zum Zurücksetzen deines Passworts. Wenn du nicht in Kürze keine E-Mail erhältst, versuche es bitte erneut.", + "For_your_security_you_must_enter_your_current_password_to_continue": "Zu Ihrer Sicherheit müssen Sie Ihr aktuelles Passwort eingeben, um fortzufahren", + "Forgot_password_If_this_email_is_registered": "Wenn es sich um eine registrierte E-Mail-Adresse handelt, werden wir an diese eine Anleitung zum Zurücksetzen des Passworts senden. Sollten Sie in Kürzen keine E-Mail erhalten, kommen Sie wieder und versuchen Sie es noch einmal.", "Forgot_password": "Passwort vergessen", "Forgot_Password": "Passwort vergessen", "Forward": "Weiterleiten", "Forward_Chat": "Chat weiterleiten", "Forward_to_department": "Weiterleiten an Abteilung", "Forward_to_user": "Weiterleiten an Benutzer", - "Full_table": "Klicken um die ganze Tabelle anzuzeigen", + "Full_table": "Klicken, um die ganze Tabelle anzuzeigen", "Generate_New_Link": "Neuen Link erstellen", "Has_joined_the_channel": "Ist dem Kanal beigetreten", - "Has_joined_the_conversation": "Hat sich dem Gespräch angeschlossen", - "Has_left_the_channel": "Hat den Kanal verlassen", - "Hide_System_Messages": "Systemnachrichten verstecken", - "Hide_type_messages": "Verstecke \"{{type}}\"-Nachrichten", + "Has_joined_the_team": "ist dem Team beigetreten", + "Has_joined_the_conversation": "hat sich dem Gespräch angeschlossen", + "Has_left_the_channel": "Hat den CHannel verlassen", + "Has_left_the_team": "Hat das Team verlassen", + "Hide_System_Messages": "Systemnachrichten ausblenden", + "Hide_type_messages": "\"{{type}}\"-Nachrichten ausblenden", "How_It_Works": "Wie es funktioniert", "Message_HideType_uj": "Benutzer beigetreten", "Message_HideType_ul": "Benutzer verlassen", @@ -277,14 +280,14 @@ "is_not_a_valid_RocketChat_instance": "ist keine gültige Rocket.Chat-Instanz", "is_typing": "schreibt", "Invalid_or_expired_invite_token": "Ungültiger oder abgelaufener Einladungscode", - "Invalid_server_version": "Der Server, zu dem du dich verbinden möchtest, verwendet eine Version, die von der App nicht mehr unterstützt wird: {{currentVersion}}.\n\nWir benötigen Version {{minVersion}}.", + "Invalid_server_version": "Der Server, mit dem Sie sich verbinden möchten, verwendet eine Version, die von der App nicht mehr unterstützt wird: {{currentVersion}}.\n\nWir benötigen Version {{minVersion}}.", "Invite_Link": "Einladungs-Link", "Invite_users": "Benutzer einladen", "Join": "Beitreten", "Join_Code": "Beitrittscode", "Insert_Join_Code": "Beitrittscode eingeben", - "Join_our_open_workspace": "Tritt unserem offenen Arbeitsbereich bei", - "Join_your_workspace": "Tritt deinem Arbeitsbereich bei", + "Join_our_open_workspace": "Treten Sie unserem offenen Arbeitsbereich bei", + "Join_your_workspace": "Treten Sie Ihrem Arbeitsbereich bei", "Just_invited_people_can_access_this_channel": "Nur eingeladene Personen können auf diesen Kanal zugreifen", "Just_invited_people_can_access_this_team": "Nur eingeladene Personen können auf das Team zugreifen", "Language": "Sprache", @@ -299,8 +302,8 @@ "Livechat": "Live-Chat", "Livechat_edit": "Live-Chat bearbeiten", "Login": "Anmeldung", - "Login_error": "Deine Zugangsdaten wurden abgelehnt! Bitte versuche es erneut.", - "Login_with": "Einloggen mit", + "Login_error": "Ihre Zugangsdaten wurden abgelehnt! Bitte versuchen Sie es erneut.", + "Login_with": "Anmelden mit", "Logging_out": "Abmelden.", "Logout": "Abmelden", "Max_number_of_uses": "Maximale Anzahl der Benutzungen", @@ -321,7 +324,7 @@ "Message": "Nachricht", "Messages": "Mitteilungen", "Message_Reported": "Nachricht gemeldet", - "Microphone_Permission_Message": "Rocket.Chat benötigt Zugriff auf das Mikrofon, damit du eine Audionachricht senden kannst.", + "Microphone_Permission_Message": "Rocket.Chat benötigt Zugriff auf das Mikrofon, damit Sie eine Audionachricht senden können.", "Microphone_Permission": "Mikrofonberechtigung", "Mute": "Diesem Benutzer das Chatten verbieten", "muted": "stummgeschaltet", @@ -351,8 +354,8 @@ "Not_RC_Server": "Dies ist kein Rocket.Chat-Server.\n{{contact}}", "Nothing": "Nichts", "Nothing_to_save": "Nichts zu speichern!", - "Notify_active_in_this_room": "Aktive Benutzer in diesem Raum benachrichtigen", - "Notify_all_in_this_room": "Benachrichtige alle in diesem Raum", + "Notify_active_in_this_room": "Aktive Benutzer in diesem Room benachrichtigen", + "Notify_all_in_this_room": "Alle in diesem Room nenachrichtigen", "Notifications": "Benachrichtigungen", "Notification_Duration": "Benachrichtigungsdauer", "Notification_Preferences": "Benachrichtigungseinstellungen", @@ -361,25 +364,25 @@ "Oops": "Hoppla!", "Omnichannel": "Omnichannel", "Open_Livechats": "Offene Chats", - "Omnichannel_enable_alert": "Du bist in Omnichannel nicht verfügbar. Möchtest du erreichbar sein?", - "Onboarding_description": "Ein Arbeitsbereich ist der Ort für die Zusammenarbeit deines Teams oder Organisation. Bitte den Admin des Arbeitsbereichs um eine Adresse, um ihm beizutreten, oder erstelle einen Arbeitsbereich für dein Team.", - "Onboarding_join_workspace": "Tritt einem Arbeitsbereich bei", + "Omnichannel_enable_alert": "Sie sind in Omnichannel nicht verfügbar. Möchten Sie erreichbar sein?", + "Onboarding_description": "Ein Arbeitsbereich ist der Ort für die Zusammenarbeit deines Teams oder Organisation. Bitten Sie den Admin des Arbeitsbereichs um eine Adresse, um ihm beizutreten, oder erstellen Sie einen Arbeitsbereich für Ihr Team.", + "Onboarding_join_workspace": "Einem Arbeitsbereich beiteten", "Onboarding_subtitle": "Mehr als Team-Zusammenarbeit", "Onboarding_title": "Willkommen bei Rocket.Chat", - "Onboarding_join_open_description": "Tritt unserem Arbeitsbereich bei um mit dem Rocket.Chat-Team oder der Gemeinschaft zu chatten.", - "Onboarding_agree_terms": "Durch fortfahren stimmst du Rocket.Chats Bedingungen zu", + "Onboarding_join_open_description": "Treten Sie unserem Arbeitsbereich bei, um mit dem Rocket.Chat-Team oder der Community zu chatten.", + "Onboarding_agree_terms": "Durch fortfahren stimmen Sie Rocket.Chats Bedingungen zu", "Onboarding_less_options": "Weniger Optionen", "Onboarding_more_options": "Mehr Optionen", "Online": "Online", "Only_authorized_users_can_write_new_messages": "Nur autorisierte Benutzer können neue Nachrichten schreiben", - "Open_emoji_selector": "Öffne die Emoji-Auswahl", + "Open_emoji_selector": "Emoji-Auswahl öffnen", "Open_Source_Communication": "Open-Source-Kommunikation", - "Open_your_authentication_app_and_enter_the_code": "Öffne deine Authentifizierungsanwendung und gib den Code ein.", + "Open_your_authentication_app_and_enter_the_code": "Öffnen Sie Ihre Authentifizierungsanwendung und geben Sie den Code ein.", "OR": "ODER", "OS": "OS", "Overwrites_the_server_configuration_and_use_room_config": "Übergeht die Servereinstellungen und nutzt Einstellung für den Raum", "Password": "Passwort", - "Parent_channel_or_group": "Übergeordneter Kanal oder Gruppe", + "Parent_channel_or_group": "Übergeordneter Channel oder Gruppe", "Permalink_copied_to_clipboard": "Permalink in die Zwischenablage kopiert!", "Phone": "Telefon", "Pin": "Anheften", @@ -387,7 +390,7 @@ "pinned": "angeheftet", "Pinned": "Angeheftet", "Please_add_a_comment": "Bitte Kommentar hinzufügen", - "Please_enter_your_password": "Gib bitte dein Passwort ein", + "Please_enter_your_password": "Geben Sie bitte Ihr Passwort ein", "Please_wait": "Bitte warten.", "Preferences": "Einstellungen", "Preferences_saved": "Einstellungen gespeichert!", @@ -397,37 +400,37 @@ "Processing": "Bearbeite …", "Profile_saved_successfully": "Profil erfolgreich gespeichert!", "Profile": "Profil", - "Public_Channel": "Öffentlicher Kanal", + "Public_Channel": "Öffentlicher Channel", "Public": "Öffentlich", "Push_Notifications": "Push-Benachrichtigungen", - "Push_Notifications_Alert_Info": "Diese Benachrichtigungen werden dir zugestellt, wenn die App nicht geöffnet ist.", + "Push_Notifications_Alert_Info": "Diese Benachrichtigungen werden Ihnen zugestellt, wenn die App nicht geöffnet ist.", "Quote": "Zitat", "Reactions_are_disabled": "Reaktionen sind deaktiviert", "Reactions_are_enabled": "Reaktionen sind aktiviert", "Reactions": "Reaktionen", - "Read_External_Permission_Message": "Rocket.Chat benötigt Zugriff auf deine Fotos, Medien und Dateien auf deinem Gerät", + "Read_External_Permission_Message": "Rocket.Chat benötigt Zugriff auf Ihre Fotos, Medien und Dateien auf Ihrem Gerät", "Read_External_Permission": "Lese-Zugriff auf Medien", "Read_Only_Channel": "Nur-Lese-Kanal", "Read_Only": "Schreibgeschützt", "Read_Receipt": "Lesebestätigung", - "Receive_Group_Mentions": "Erhalte Gruppen-Benachrichtigungen", - "Receive_Group_Mentions_Info": "Empfange @all und @here Erwähnungen", + "Receive_Group_Mentions": "Gruppen-Benachrichtigungen erhalten", + "Receive_Group_Mentions_Info": "@all- und @here-Erwähnungen empfangen", "Register": "Registrieren", - "Repeat_Password": "Wiederhole das Passwort", + "Repeat_Password": "Passwort wiederholen", "Replied_on": "Antwortete am:", "replies": "Antworten", "reply": "Antworten", "Reply": "Antworten", "Report": "Melden", - "Receive_Notification": "Erhalte Benachrichtigungen", - "Receive_notifications_from": "Erhalte Benachrichtigungen von {{name}}", + "Receive_Notification": "Benachrichtigungen erhalten", + "Receive_notifications_from": "Benachrichtigungen von {{name}} erhalten", "Resend": "Erneut senden", "Reset_password": "Passwort zurücksetzen", "resetting_password": "Passwort zurücksetzen", "RESET": "ZURÜCKSETZEN", "Return": "Zurück", - "Review_app_title": "Gefällt dir diese App?", - "Review_app_desc": "Gib uns 5 Sterne im {{store}}", + "Review_app_title": "Gefällt Ihnen diese App?", + "Review_app_desc": "Geben Sie uns 5 Sterne im {{store}}", "Review_app_yes": "Sicher!", "Review_app_no": "Nein", "Review_app_later": "Vielleicht später", @@ -436,17 +439,17 @@ "Remove": "Entfernen", "remove": "entfernen", "Roles": "Rollen", - "Room_actions": "Raumaktionen", - "Room_changed_announcement": "Raumansage geändert in: {{announcement}} von {{userBy}}", - "Room_changed_avatar": "Raum-Avatar durch Nutzer {{userBy}} gändert", - "Room_changed_description": "Raumbeschreibung geändert in: {{description}} von {{userBy}}", - "Room_changed_privacy": "Raumtyp geändert in: {{type}} von {{userBy}}", - "Room_changed_topic": "Raumthema geändert in: {{topic}} von {{userBy}}", - "Room_Files": "Raumdateien", - "Room_Info_Edit": "Rauminfo bearbeiten", - "Room_Info": "Rauminfo", - "Room_Members": "Raum-Mitglieder", - "Room_name_changed": "Raumname geändert in {{name}} von {{userBy}}", + "Room_actions": "Room-Aktionen", + "Room_changed_announcement": "Room-Ansage geändert in: {{announcement}} von {{userBy}}", + "Room_changed_avatar": "Room-Avatar durch Nutzer {{userBy}} gändert", + "Room_changed_description": "Room-beschreibung geändert in: {{description}} von {{userBy}}", + "Room_changed_privacy": "Room-Typ geändert in: {{type}} von {{userBy}}", + "Room_changed_topic": "Room-Thema geändert in: {{topic}} von {{userBy}}", + "Room_Files": "Room-Dateien", + "Room_Info_Edit": "Room-Info bearbeiten", + "Room_Info": "Room-Info", + "Room_Members": "Room-Mitglieder", + "Room_name_changed": "Room-Name geändert in {{name}} von {{userBy}}", "SAVE": "SPEICHERN", "Save_Changes": "Änderungen speichern", "Save": "speichern", @@ -455,21 +458,21 @@ "saving_profile": "Profil speichern", "saving_settings": "Einstellungen speichern", "saved_to_gallery": "Gespeichert in der Galerie", - "Save_Your_E2E_Password": "Speichere dein Ende-zu-Ende-Passwort", - "Save_Your_Encryption_Password": "Speichere dein Verschlüsselungs-Passwort", - "Save_Your_Encryption_Password_warning": "Dieses Passwort wird nirgends gespeichert, stelle daher sicher, dass du es an einem sicheren Ort aufbewahrst.", - "Save_Your_Encryption_Password_info": "Hinweis: Wenn du dieses Passwort verlierst, gibt es keine Möglichkeit es wieder herzustellen und du wirst nicht mehr auf deine Nachrichten zugreifen können.", + "Save_Your_E2E_Password": "Speichern Sie Ihr Ende-zu-Ende-Passwort", + "Save_Your_Encryption_Password": "Speichern Sie Ihr Verschlüsselungs-Passwort", + "Save_Your_Encryption_Password_warning": "Dieses Passwort wird nirgendwo gespeichert, speichern Sie es also sorgfältig an einem anderen Ort.", + "Save_Your_Encryption_Password_info": "Hinweis: Wenn Sie dieses Passwort verlieren, gibt es keine Möglichkeit es wieder herzustellen und Sie können nicht mehr auf Ihre Nachrichten zugreifen.", "Search_Messages": "Nachrichten suchen", "Search": "Suche", "Search_by": "Suche nach", - "Search_global_users": "Suche nach globalen Benutzern", - "Search_global_users_description": "Wenn aktiviert, kannst du nach Benutzern von anderen Unternehmen oder Servern suchen.", + "Search_global_users": "Nach globalen Benutzern suchen", + "Search_global_users_description": "Wenn aktiviert, Können Sie nach Benutzern von anderen Unternehmen oder Servern suchen.", "Seconds": "{{second}} Sekunden", "Security_and_privacy": "Sicherheit und Datenschutz", - "Select_Avatar": "Wähle einen Avatar aus", + "Select_Avatar": "Avatar auswählen", "Select_Server": "Server auswählen", "Select_Users": "Benutzer auswählen", - "Select_a_Channel": "Kanal auswählen", + "Select_a_Channel": "Channel auswählen", "Select_a_Department": "Abteilung auswählen", "Select_an_option": "Option auswählen", "Select_a_User": "Benutzer auswählen", @@ -480,11 +483,11 @@ "Send_me_the_code_again": "Den Code neu versenden", "Send_to": "Senden an …", "Sending_to": "Sende an", - "Sent_an_attachment": "Sende einen Anhang", + "Sent_an_attachment": "Anhang senden", "Server": "Server", "Servers": "Server", "Server_version": "Server version: {{version}}", - "Set_username_subtitle": "Der Benutzername wird verwendet, damit andere Personen dich in Nachrichten erwähnen können", + "Set_username_subtitle": "Der Benutzername wird verwendet, damit andere Personen Sie in Nachrichten erwähnen können", "Set_custom_status": "Individuellen Status setzen", "Set_status": "Status setzen", "Status_saved_successfully": "Status erfolgreich gesetzt!", @@ -496,11 +499,11 @@ "Show_more": "Mehr anzeigen …", "Show_Unread_Counter": "Zähler anzeigen", "Show_Unread_Counter_Info": "Anzahl der ungelesenen Nachrichten anzeigen", - "Sign_in_your_server": "Melde dich bei deinem Server an", + "Sign_in_your_server": "Melden Sie sich bei Ihrem Server an", "Sign_Up": "Anmelden", "Some_field_is_invalid_or_empty": "Ein Feld ist ungültig oder leer", "Sound": "Ton", - "Star_room": "Favorisierter Raum", + "Star_room": "Favorisierter Room", "Star": "Favoriten", "Starred_Messages": "Favorisierte Nachrichten", "starred": "favorisiert", @@ -515,15 +518,15 @@ "Take_a_photo": "Foto aufnehmen", "Take_a_video": "Video aufnehmen", "Take_it": "Annehmen!", - "tap_to_change_status": "Tippen um den Status zu ändern", + "tap_to_change_status": "Tippen, um den Status zu ändern", "Tap_to_view_servers_list": "Tippen, um die Serverliste anzuzeigen", "Terms_of_Service": " Nutzungsbedingungen", "Theme": "Erscheinungsbild", "The_user_wont_be_able_to_type_in_roomName": "Dem Nutzer wird es nicht möglich sein in {{roomName}} zu schreiben", "The_user_will_be_able_to_type_in_roomName": "Der Nutzer wird in {{roomName}} schreiben können", "There_was_an_error_while_action": "Während {{action}} ist ein Fehler aufgetreten!", - "This_room_is_blocked": "Dieser Raum ist gesperrt", - "This_room_is_read_only": "Dieser Raum kann nur gelesen werden", + "This_room_is_blocked": "Dieser Room ist gesperrt", + "This_room_is_read_only": "Dieser Room kann nur gelesen werden", "Thread": "Thread", "Threads": "Threads", "Timezone": "Zeitzone", @@ -531,9 +534,9 @@ "topic": "Thema", "Topic": "Thema", "Translate": "Übersetzen", - "Try_again": "Versuche es nochmal", + "Try_again": "Versuchen Sie es nochmal", "Two_Factor_Authentication": "Zwei-Faktor-Authentifizierung", - "Type_the_channel_name_here": "Gib hier den Kanalnamen ein", + "Type_the_channel_name_here": "Geben Sie hier den Kanalnamen ein", "unarchive": "wiederherstellen", "UNARCHIVE": "WIEDERHERSTELLEN", "Unblock_user": "Benutzer entsperren", @@ -567,54 +570,54 @@ "Registration_Succeeded": "Registrierung erfolgreich!", "Verify": "Überprüfen", "Verify_email_title": "Registrierung erfolgreich!", - "Verify_email_desc": "Wir haben dir eine Email geschickt um deine Anmeldung zu bestätigen. Wenn du keine Email erhältst, komme bitte wieder und versuche es noch einmal.", - "Verify_your_email_for_the_code_we_sent": "Prüfe deine Mails für den Code, den wir dir eben geschickt haben.", + "Verify_email_desc": "Wir haben Ihnen eine Email geschickt um Ihre Anmeldung zu bestätigen. Wenn Sie keine Email erhalten, versuchen Sie es später noch einmal.", + "Verify_your_email_for_the_code_we_sent": "Prüfen Sie Ihre Mails auf den Code, den wir Ihnen eben geschickt haben.", "Video_call": "Videoanruf", "View_Original": "Original anzeigen", "Voice_call": "Sprachanruf", "Waiting_for_network": "Warte auf das Netzwerk …", "Websocket_disabled": "Websockets sind auf diesem Server nicht aktiviert.\n{{contact}}", "Welcome": "Herzlich willkommen", - "What_are_you_doing_right_now": "Was machst du gerade?", - "Whats_your_2fa": "Wie lautet dein 2FA-Code?", + "What_are_you_doing_right_now": "Was machen Sie gerade?", + "Whats_your_2fa": "Wie lautet Ihr 2FA-Code?", "Without_Servers": "Ohne Server", "Workspaces": "Arbeitsbereiche", - "Would_you_like_to_return_the_inquiry": "Willst du zur Anfrage zurück?", - "Write_External_Permission_Message": "Rocket.Chat benötigt Zugriff auf deine Galerie um Bilder speichern zu können.", + "Would_you_like_to_return_the_inquiry": "Wollen Sie zur Anfrage zurück?", + "Write_External_Permission_Message": "Rocket.Chat benötigt Zugriff auf Ihre Galerie, um Bilder speichern zu können.", "Write_External_Permission": "Galerie-Zugriff", "Yes": "Ja", "Yes_action_it": "Ja, {{action}}!", "Yesterday": "Gestern", - "You_are_in_preview_mode": "Du befindest dich im Vorschaumodus", - "You_are_offline": "Du bist offline", - "You_can_search_using_RegExp_eg": "Du kannst mit RegExp suchen. z.B. `/ ^ text $ / i`", - "You_colon": "Du: ", - "you_were_mentioned": "Du wurdest erwähnt", - "You_were_removed_from_channel": "Du wurdest aus {{channel}} entfernt", - "you": "du", - "You": "Du", - "Logged_out_by_server": "Du bist vom Server abgemeldet worden. Bitte melde dich wieder an.", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Du benötigst Zugang zu mindestens einem Rocket.Chat-Server um etwas zu teilen.", - "You_need_to_verifiy_your_email_address_to_get_notications": "Du musst deine Email-Adresse bestätigen um Benachrichtigungen zu erhalten.", - "Your_certificate": "Dein Zertifikat", - "Your_invite_link_will_expire_after__usesLeft__uses": "Dein Einladungs-Link wird nach {{usesLeft}} Benutzungen ablaufen.", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Dein Einladungs-Link wird am {{date}} oder nach {{usesLeft}} Benutzungen ablaufen.", - "Your_invite_link_will_expire_on__date__": "Dein Einladungs-Link wird am {{date}} ablaufen.", - "Your_invite_link_will_never_expire": "Dein Einladungs-Link wird niemals ablaufen.", - "Your_workspace": "Dein Arbeitsbereich", - "Your_password_is": "Dein Passwort lautet", + "You_are_in_preview_mode": "Sie befinden dich im Vorschaumodus", + "You_are_offline": "Sie sind offline", + "You_can_search_using_RegExp_eg": "Sie können mit RegExp suchen. z.B. `/ ^ text $ / i`", + "You_colon": "Sie: ", + "you_were_mentioned": "Sie wurden erwähnt", + "You_were_removed_from_channel": "Sie wurden aus {{channel}} entfernt", + "you": "Sie", + "You": "Sie", + "Logged_out_by_server": "Sie sind vom Server abgemeldet worden. Bitte melden Sie sich wieder an.", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Sie benötigen Zugang zu mindestens einem Rocket.Chat-Server, um etwas zu teilen.", + "You_need_to_verifiy_your_email_address_to_get_notications": "Sie müssen deine Email-Adresse bestätigen um Benachrichtigungen zu erhalten.", + "Your_certificate": "Ihr Zertifikat", + "Your_invite_link_will_expire_after__usesLeft__uses": "Ihr Einladungs-Link wird nach {{usesLeft}} Benutzungen ablaufen.", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Ihr Einladungs-Link wird am {{date}} oder nach {{usesLeft}} Benutzungen ablaufen.", + "Your_invite_link_will_expire_on__date__": "Ihr Einladungs-Link wird am {{date}} ablaufen.", + "Your_invite_link_will_never_expire": "Ihr Einladungs-Link wird niemals ablaufen.", + "Your_workspace": "Ihr Arbeitsbereich", + "Your_password_is": "Ihr Passwort lautet", "Version_no": "Version: {{version}}", - "You_will_not_be_able_to_recover_this_message": "Du kannst diese Nachricht nicht wiederherstellen!", - "You_will_unset_a_certificate_for_this_server": "Du entfernst ein Zertifikat für diesen Server", + "You_will_not_be_able_to_recover_this_message": "Sie können diese Nachricht nicht wiederherstellen!", + "You_will_unset_a_certificate_for_this_server": "Sie entfernen ein Zertifikat für diesen Server", "Change_Language": "Sprache ändern", - "Crash_report_disclaimer": "Wir verfolgen niemals den Inhalt deiner Chats. Der Crash-Report enthält nur für uns relevante Informationen um das Problem zu erkennen und zu beheben.", + "Crash_report_disclaimer": "Wir verfolgen niemals den Inhalt Ihrer Chats. Der Crash-Report enthält nur für uns relevante Informationen um das Problem zu erkennen und zu beheben.", "Type_message": "Nachricht schreiben", - "Room_search": "Raum-Suche", - "Room_selection": "Raum-Auswahl 1...9", - "Next_room": "Nächster Raum", - "Previous_room": "Voriger Raum", - "New_room": "Neuer Raum", - "Upload_room": "Zu einem Raum hochladen", + "Room_search": "Room-Suche", + "Room_selection": "Room-Auswahl 1...9", + "Next_room": "Nächster Room", + "Previous_room": "Voriger Room", + "New_room": "Neuer Room", + "Upload_room": "Zu einem Room hochladen", "Search_messages": "Nachrichten durchsuchen", "Scroll_messages": "Nachrichten durchblättern", "Reply_latest": "Auf die letzte Nachricht antworten", @@ -623,12 +626,12 @@ "Server_selection_numbers": "Server-Auswahl 1...9", "Add_server": "Server hinzufügen", "New_line": "Zeilenumbruch", - "You_will_be_logged_out_of_this_application": "Du wirst in dieser Anwendung vom Server abgemeldet.", + "You_will_be_logged_out_of_this_application": "Sie werden in dieser Anwendung vom Server abgemeldet.", "Clear": "Löschen", - "This_will_clear_all_your_offline_data": "Dies wird deine Offline-Daten löschen.", + "This_will_clear_all_your_offline_data": "Dies wird Ihre Offline-Daten löschen.", "This_will_remove_all_data_from_this_server": "Dies wird alle Daten von diesem Server löschen.", "Mark_unread": "Als ungelesen markieren", - "Wait_activation_warning": "Bevor du dich anmelden kannst, muss dein Konto durch einen Administrator freigeschaltet werden.", + "Wait_activation_warning": "Bevor Sie sich anmelden können, muss Ihr Konto durch einen Administrator freigeschaltet werden.", "Screen_lock": "Zugriffs-Sperre", "Local_authentication_biometry_title": "Authentifizieren", "Local_authentication_biometry_fallback": "Sicherheitscode benutzen", @@ -643,30 +646,30 @@ "Local_authentication_auto_lock_900": "Nach 15 Minuten", "Local_authentication_auto_lock_1800": "Nach 30 Minuten", "Local_authentication_auto_lock_3600": "Nach 1 Stunde", - "Passcode_enter_title": "Gib deinen Sicherheitscode ein", - "Passcode_choose_title": "Setze deinen neuen Sicherheitscode", - "Passcode_choose_confirm_title": "Bestätige deinen neuen Sicherheitscode", + "Passcode_enter_title": "Geben Sie Ihren Sicherheitscode ein", + "Passcode_choose_title": "Setzen Sie Ihren neuen Sicherheitscode", + "Passcode_choose_confirm_title": "Bestätigen Sie Ihren neuen Sicherheitscode", "Passcode_choose_error": "Sicherheitscodes stimmen nicht überein. Probiere es noch einmal.", "Passcode_choose_force_set": "Sicherheitscode wird vom Admin verlangt", "Passcode_app_locked_title": "App gesperrt", - "Passcode_app_locked_subtitle": "Versuche es in {{timeLeft}} Sekunden noch einmal.", + "Passcode_app_locked_subtitle": "Versuchen Sie es in {{timeLeft}} Sekunden noch einmal.", "After_seconds_set_by_admin": "Nach {{seconds}} Sekunden (durch den Admin gesetzt)", "Dont_activate": "Jetzt nicht aktivieren", "Queued_chats": "Chats in der Warteschlange", "Queue_is_empty": "Warteschlange leer", "Logout_from_other_logged_in_locations": "Auf anderen angemeldeten Geräte abmelden", - "You_will_be_logged_out_from_other_locations": "Du wirst auf anderen Geräten abgemeldet.", + "You_will_be_logged_out_from_other_locations": "Sie werden auf anderen Geräten abgemeldet.", "Logged_out_of_other_clients_successfully": "Erfolgreich von anderen Geräten abgemeldet.", "Logout_failed": "Abmeldung fehlgeschlagen!", "Log_analytics_events": "Analyse-Ereignisse loggen", "E2E_encryption_change_password_title": "Verschlüsselungs-Passwort ändern", - "E2E_encryption_change_password_description": "Du kannst nun verschlüsselte private Gruppen und Direktnachrichten versenden. Du kannst außerdem deine bestehenden privaten Gruppen und Direktnachrichten auf Verschlüsselung umstellen. \nDies ist Ende-zu-Ende-Verschlüsselung, daher wird der Schlüssel um die Nachrichten zu ver-/entschlüsseln nicht auf dem Server gespeichert. Aus diesem Grund musst du dieses Passwort an einem sicheren Ort speichern, du wirst es auf anderen Geräten benötigen auf denen du E2E-Verschlüsselung nutzen möchtest.", + "E2E_encryption_change_password_description": "Sie können jetzt verschlüsselte private Gruppen und Direktnachrichten erstellen. Sie können auch bereits vorhandene private Gruppen oder Direktnachrichten verschlüsseln. Da dies eine Ende-zu-Ende-Verschlüsselung ist, werden die Schlüssel auf keinem Server gespeichert. Daher müssen Sie den Schlüssel an einem sicheren Ort aufbewahren - Sie müssen ihn auf anderen Geräten eingeben, auf denen Sie die Ende-zu-Ende-Verschlüsselung verwenden möchten.", "E2E_encryption_change_password_error": "Fehler beim Ändern des E2E-Passworts!", "E2E_encryption_change_password_success": "E2E-Passwort erfolgreich geändert!", - "E2E_encryption_change_password_message": "Stelle sicher, dass du es noch an einer anderen Stelle gesichert hasst.", + "E2E_encryption_change_password_message": "Stellen Sie sicher, dass Sie es noch an einer anderen Stelle gesichert haben.", "E2E_encryption_change_password_confirmation": "Ja, ändern", "E2E_encryption_reset_title": "E2E-Schlüssel zurücksetzen", - "E2E_encryption_reset_description": "Diese Option wird deinen aktuellen E2E-Schlüssel entfernen und dich abmelden. \nWenn du dich wieder anmeldest, wird Rocket.Chat einen neuen Schlüssel erzeugen und deinen Zugang zu allen Kanälen mit einer oder mehreren anwesenden Personen wieder herstellen. \nAufgrund der Funktionsweise von E2E-Verschlüsselung, kann Rocket.Chat nicht deinen Zugang zu Kanälen wieder herstellen, in denen keine andere Person anwesend ist.", + "E2E_encryption_reset_description": "Diese Option entfernt Ihren aktuelle Ende-zu-Ende-Schlüssel und meldet Sie ab. Wenn Sie sich erneut anmelden, generiert Rocket.Chat einen neuen Schlüssel und stellt Ihren Zugriff auf einen verschlüsselten Raum wieder her, in dem mindestens ein Mitglied online ist. Aufgrund der Art der Ende-zu-Ende Verschlüsselung, kann Rocket.Chat den Zugriff auf verschlüsselte Räume, mit kein Mitglied online, nicht wiederherstellen. ", "E2E_encryption_reset_button": "E2E-Schlüssel zurücksetzen", "E2E_encryption_reset_error": "Fehler beim Zurücksetzen des E2E-Schlüssels!", "E2E_encryption_reset_message": "Du wirst abgemeldet.", @@ -676,13 +679,13 @@ "Threads_displaying_following": "zeige gefolgte", "Threads_displaying_unread": "Zeige ungelesene", "No_threads": "Es gibt keine Threads", - "No_threads_following": "Du folgst keinen Threads", + "No_threads_following": "Sie folgen keinen Threads", "No_threads_unread": "Es gibt keine ungelesenen Threads", "Messagebox_Send_to_channel": "an Kanal senden", "Leader": "Leiter", "Moderator": "Moderator", "Owner": "Eigentümer", - "Remove_from_room": "Aus dem Raum entfernen", + "Remove_from_room": "Aus dem Room entfernen", "Ignore": "Ignorieren", "Unignore": "Nicht mehr ignorieren", "User_has_been_ignored": "Benutzer wurde stumm geschaltet", @@ -700,8 +703,8 @@ "Message_Ignored": "Nachricht ignoriert. Antippen um sie zu zeigen.", "Enter_workspace_URL": "Arbeitsbereich-URL", "Workspace_URL_Example": "z.B. https://rocketchat.deine-firma.de", - "This_room_encryption_has_been_enabled_by__username_": "Die Verschlüsselung dieses Raums wurde von {{username}} aktiviert", - "This_room_encryption_has_been_disabled_by__username_": "Die Verschlüsselung dieses Raums wurde von {{username}} deaktiviert", + "This_room_encryption_has_been_enabled_by__username_": "Die Verschlüsselung dieses Rooms wurde von {{username}} aktiviert", + "This_room_encryption_has_been_disabled_by__username_": "Die Verschlüsselung dieses Rooms wurde von {{username}} deaktiviert", "Teams": "Teams", "No_team_channels_found": "Keine Kanäle gefunden", "Team_not_found": "Team nicht gefunden", @@ -719,48 +722,90 @@ "Add_Existing_Channel": "Vorhandenen Kanal hinzufügen", "Remove_from_Team": "Aus Team entfernen", "Auto-join": "Automatischer Beitritt", - "Remove_Team_Room_Warning": "Möchten du diesen Kanal aus dem Team entfernen? Der Kanal wird zurück in den Arbeitsbereich verschoben.", + "Remove_Team_Room_Warning": "Möchten Sie diesen Kanal aus dem Team entfernen? Der Kanal wird zurück in den Arbeitsbereich verschoben.", "Confirmation": "Bestätigung", "invalid-room": "Ungültiger Raum", - "You_are_leaving_the_team": "Du verlässt das Team '{{team}}'", + "You_are_leaving_the_team": "Sie verlassen das Team '{{team}}'", "Leave_Team": "Team verlassen", "Select_Team": "Team auswählen", - "Select_Team_Channels": "Wähle die Kanäle des Teams aus, die du verlassen möchtest.", + "Select_Team_Channels": "Wählen Sie die Channels des Teams aus, die Sie verlassen möchten.", "Cannot_leave": "Verlassen nicht möglich", "Cannot_remove": "Kann nicht entfernt werden", "Cannot_delete": "Kann nicht gelöscht werden", - "Last_owner_team_room": "Du bist der letzte Eigentümer des Kanals. Wenn du das Team verlässt, bleibt der Kanal innerhalb des Teams aber du verwaltest ihn von außen.", + "Last_owner_team_room": "Sie sind der letzte Eigner dieses Channels. Wenn Sie das Team verlassen haben, bleibt der Channel im Team, aber Sie werden ihn von außen verwalten.", "last-owner-can-not-be-removed": "Letzter Besitzer kann nicht entfernt werden", - "Remove_User_Teams": "Wähle die Kanäle aus, aus denen der Benutzer entfernt werden soll.", + "Remove_User_Teams": "Die Channels auswählen, aus denen der Benutzer entfernt werden soll", "Delete_Team": "Team löschen", - "Select_channels_to_delete": "Dies kann nicht rückgängig gemacht werden. Wenn du ein Team löschst, werden alle Chat-Inhalte und und Einstellungen gelöscht.\n\nWähle die Kanäle, die du löschen möchtest. Diejenigen, die du behalten möchtest, werden in deinem Arbeitsbereich verfügbar sein. Beachte, das öffentliche Kanäle öffentlich bleiben und für jeden sichtbar sein werden.", - "You_are_deleting_the_team": "Du löschst dieses Team", - "Removing_user_from_this_team": "Du entfernst {{user}} aus diesem Team", - "Remove_User_Team_Channels": "Wähle die Kanäle aus, aus denen der Benutzer entfernt werden soll.", + "Select_channels_to_delete": "Dies kann nicht rückgängig gemacht werden. Sobald Sie ein Team löschen, werden alle Chat-Inhalte und die Konfiguration gelöscht \n\nWählen Sie die Channels aus, die Sie löschen möchten. Diejenigen, die Sie behalten möchten, werden auf Ihrem Arbeitsbereich verfügbar sein. Beachten Sie, dass öffentliche Channels weiterhin öffentlich und für alle sichtbar sind.", + "You_are_deleting_the_team": "Sie sind dabei dieses Team zu löschen.", + "Removing_user_from_this_team": "Sie entfernen {{user}} aus diesem Team", + "Remove_User_Team_Channels": "Wählen Sie die Kanäle aus, aus denen der Benutzer entfernt werden soll.", "Remove_Member": "Mitglied entfernen", "leaving_team": "Team verlassen", "removing_team": "Aus dem Team entfernen", - "moving_channel_to_team": "Kanal zu Team verschieben", + "moving_channel_to_team": "Channel zu Team verschieben", "deleting_team": "Team löschen", "member-does-not-exist": "Mitglied existiert nicht", "Convert": "Konvertieren", "Convert_to_Team": "Zu Team konvertieren", - "Convert_to_Team_Warning": "Dies kann nicht rückgängig gemacht werden. Sobald du einen Kanal in ein Team umgewandelt hast, kannst du ihn nicht mehr zurück in einen Kanal verwandeln.", + "Convert_to_Team_Warning": "Dies kann nicht rückgängig gemacht werden. Sobald Sie einen Channel in ein Team umgewandelt haben, können Sie ihn nicht mehr zurück in einen Channel verwandeln.", "Move_to_Team": "Zu Team hinzufügen", - "Move_Channel_Paragraph": "Das Verschieben eines Kanals innerhalb eines Teams bedeutet, dass dieser Kanal im Kontext des Teams hinzugefügt wird, jedoch haben alle Mitglieder des Kanals, die nicht Mitglied des jeweiligen Teams sind, weiterhin Zugriff auf diesen Kanal, werden aber nicht als Teammitglieder hinzugefügt \n\nDie gesamte Verwaltung des Kanals wird weiterhin von den Eigentümern dieses Kanals vorgenommen.\n\nTeammitglieder und sogar Teameigentümer, die nicht Mitglied dieses Kanals sind, können keinen Zugriff auf den Inhalt des Kanals haben \n\nBitte beachte, dass der Besitzer des Teams in der Lage ist, Mitglieder aus dem Kanal zu entfernen.", - "Move_to_Team_Warning": "Nachdem du die vorherigen Anleitungen zu diesem Verhalten gelesen hast, möchtest du diesen Kanal immer noch in das ausgewählte Team verschieben?", - "Load_More": "Mehr laden", + "Move_Channel_Paragraph": "Das Verschieben eines Channels innerhalb eines Teams bedeutet, dass dieser Channel im Kontext des Teams hinzugefügt wird, jedoch haben alle Mitglieder des Channels, die nicht Mitglied des jeweiligen Teams sind, weiterhin Zugriff auf diesen Channel, werden aber nicht als Teammitglieder hinzugefügt \n\nDie gesamte Verwaltung des Channels wird weiterhin von den Eigentümern dieses Channels vorgenommen.\n\nTeammitglieder und sogar Teameigentümer, die nicht Mitglied dieses Channels sind, haben keinen Zugriff auf den Inhalt des Channels. \n\nBitte beachten Sie, dass der Besitzer des Teams in der Lage ist, Mitglieder aus dem Channel zu entfernen.", + "Move_to_Team_Warning": "Nachdem Sie die vorherigen Informationen zu diesem Verhalten gelesen haben, möchten Sie diesen Channel immer noch in das ausgewählte Team verschieben?", + "Load_More": "Weitere laden", "Load_Newer": "Neuere laden", "Load_Older": "Ältere laden", - "room-name-already-exists": "Raum-Name existiert bereits", + "room-name-already-exists": "Room-Name existiert bereits", "error-team-creation": "Fehler bei der Erstellung des Teams", "unauthorized": "Nicht erlaubt", - "Left_The_Room_Successfully": "Raum erfolgreich verlassen", + "Left_The_Room_Successfully": "Room erfolgreich verlassen", "Deleted_The_Team_Successfully": "Team erfolgreich gelöscht", - "Deleted_The_Room_Successfully": "Raum erfolgreich gelöscht", - "Convert_to_Channel": "In Kanal umwandeln", - "Converting_Team_To_Channel": "Team in Kanal umwandeln", - "Select_Team_Channels_To_Delete": "Wähle die Kanäle des Teams aus, die du löschen möchtest. Die Kanäle, die du nicht auswählst, werden in den Arbeitsbereich verschoben \n\nBeachte, dass öffentliche Kanäle öffentlich und für alle sichtbar sind.", - "You_are_converting_the_team": "Du wandelst dieses Team in einen Raum um", - "creating_discussion": "erzeuge Diskussion" + "Deleted_The_Room_Successfully": "Room erfolgreich gelöscht", + "Convert_to_Channel": "In Channel umwandeln", + "Converting_Team_To_Channel": "Team in Channel umwandeln", + "Select_Team_Channels_To_Delete": "Wählen Sie die Channels des Teams aus, die Sie löschen möchten. Die Channels, die Sie nicht auswählen, werden in den Arbeitsbereich verschoben \n\nBeachten Sie, dass öffentliche Kanäle öffentlich und für alle sichtbar sind.", + "You_are_converting_the_team": "Sie wandeln dieses Team in einen Room um", + "Display": "Anzeige", + "Avatars": "Avatare", + "Sort_by": "Sortieren nach", + "Group_by": "Gruppieren nach", + "Types": "Typen", + "Expanded": "Erweitert", + "Condensed": "Komprimiert", + "creating_discussion": "Erzeuge Diskussion", + "Canned_Responses": "Vorformulierte Antworten", + "No_match_found": "Keine Übereinstimmung gefunden.", + "No_discussions": "Keine Unterhaltungen", + "Check_canned_responses": "Vorformulierte Antworten prüfen.", + "Searching": "Suche", + "Use": "Verwenden", + "Shortcut": "Verknüpfung", + "Content": "Inhalt", + "Sharing": "Wird geteilt", + "No_canned_responses": "Keine vorformulierten Antworten", + "Send_email_confirmation": "Bestätigungsmail versenden", + "sending_email_confirmation": "Bestätigungsmail versenden", + "Enable_Message_Parser": "Nachrichtenparser aktivieren", + "Unsupported_format": "Nicht unterstütztes Format", + "Downloaded_file": "Heruntergeladene Datei", + "Error_Download_file": "Fehler beim Herunterladen der Datei", + "added__roomName__to_team": "#{{roomName}} zu diesem Team hinzugefügt", + "Added__username__to_team": "@{{user_added}} zu diesem Team hinzugefügt", + "Converted__roomName__to_team": "#{{roomName}} in ein Team umgewandelt", + "Converted__roomName__to_channel": "#{{roomName}} in einen CHannel umgewandelt", + "Converting_team_to_channel": "Team in Channel umwandeln", + "Deleted__roomName__": "#{{roomName}} gelöscht", + "Message_HideType_added_user_to_team": "Nachrichten \"Benutzer zu Team hinzugefügt\" ausblenden", + "Message_HideType_removed_user_from_team": "Nachrichten \"Benutzer aus Team entfernt\" ausblenden", + "Message_HideType_ujt": "Nachrichten \"Benutzer ist Team beigetreten\" ausblenden", + "Message_HideType_ult": "Nachrichten \"Benutzer hat Team verlassen\" ausblenden", + "Message_HideType_user_added_room_to_team": "Nachrichten \"Benutzer hat Room zu Team hinzugefügt\" ausblenden", + "Message_HideType_user_converted_to_channel": "Nachrichten \"Benutzer hat Team in Channel konvertiert\" ausblenden", + "Message_HideType_user_converted_to_team": "Nachrichten \"Benutzer hat Channel in Team konvertiert\" ausblenden", + "Message_HideType_user_deleted_room_from_team": "Nachrichten \"Benutzer hat Room aus Team gelöscht\" ausblenden", + "Message_HideType_user_removed_room_from_team": "Nachrichten \"Benutzer hat Room aus Team entfernt\" ausblenden", + "Removed__roomName__from_this_team": "Sie entfernen {{roomName}} aus diesem Team", + "Removed__username__from_team": "@{{user_removed}} aus diesem Team entfernt", + "User_joined_team": "ist dem Team beigetreten", + "User_left_team": "hat das Team verlassen" } \ No newline at end of file diff --git a/app/i18n/locales/en.json b/app/i18n/locales/en.json index 4cae91c18..fe16b8854 100644 --- a/app/i18n/locales/en.json +++ b/app/i18n/locales/en.json @@ -799,9 +799,9 @@ "Message_HideType_removed_user_from_team": "Hide \"User Removed from Team\" messages", "Message_HideType_ujt": "Hide \"User Joined Team\" messages", "Message_HideType_ult": "Hide \"User Left Team\" messages", - "Message_HideType_user_added_room_to_team": "Hide \"User Added Room to Team\" messages", + "Message_HideType_user_added_room_to_team": "Hide \"User Added Room to Team\" messages", "Message_HideType_user_converted_to_channel": "Hide \"User converted team to a Channel\" messages", - "Message_HideType_user_converted_to_team": "Hide \"User converted channel to a Team\" messages", + "Message_HideType_user_converted_to_team": "Hide \"User converted channel to a Team\" messages", "Message_HideType_user_deleted_room_from_team": "Hide \"User deleted room from Team\" messages", "Message_HideType_user_removed_room_from_team": "Hide \"User removed room from Team\" messages", "Removed__roomName__from_this_team": "removed #{{roomName}} from this Team", diff --git a/app/i18n/locales/fr.json b/app/i18n/locales/fr.json index 977679fed..93966212d 100644 --- a/app/i18n/locales/fr.json +++ b/app/i18n/locales/fr.json @@ -26,7 +26,7 @@ "error-input-is-not-a-valid-field": "{{input}} n'est pas un {{field}} valide", "error-invalid-actionlink": "Lien d'action non valide", "error-invalid-arguments": "Arguments non valides", - "error-invalid-asset": "Elément non valide", + "error-invalid-asset": "Élément non valide", "error-invalid-channel": "Canal invalide.", "error-invalid-channel-start-with-chars": "Canal non valide. Commencez par @ ou #", "error-invalid-custom-field": "Champ personnalisé non valide", @@ -788,5 +788,24 @@ "Enable_Message_Parser": "Activer le parseur de messages", "Unsupported_format": "Format non supporté", "Downloaded_file": "Fichier téléchargé", - "Error_Download_file": "Erreur lors du téléchargement du fichier" + "Error_Download_file": "Erreur lors du téléchargement du fichier", + "added__roomName__to_team": "#{{roomName}} ajouté à cette équipe", + "Added__username__to_team": "@{{user_added}} ajouté à cette équipe", + "Converted__roomName__to_team": "#{{roomName}} converti en équipe", + "Converted__roomName__to_channel": "#{{roomName}} converti en canal", + "Converting_team_to_channel": "Conversion d'équipe en canal", + "Deleted__roomName__": "#{{roomName}} supprimé", + "Message_HideType_added_user_to_team": "Masquer les messages \"Utilisateur ajouté à l'équipe\"", + "Message_HideType_removed_user_from_team": "Masquer les messages \"Utilisateur supprimé de l'équipe\"", + "Message_HideType_ujt": "Masquer les messages \"Utilisateur a rejoint l'équipe\"", + "Message_HideType_ult": "Masquer les messages \"Utilisateur a quitté l'équipe\"", + "Message_HideType_user_added_room_to_team": "Masquer les messages \"L'utilisateur a ajouté un salon à l'équipe\"", + "Message_HideType_user_converted_to_channel": "Masquer les messages \"L'utilisateur a converti l'équipe en canal\"", + "Message_HideType_user_converted_to_team": "Masquer les messages \"L'utilisateur a converti le canal en équipe\"", + "Message_HideType_user_deleted_room_from_team": "Masquer les messages \"L'utilisateur a supprimé le salon de l'équipe\"", + "Message_HideType_user_removed_room_from_team": "Masquer les messages \"L'utilisateur a enlevé le salon de l'équipe\"", + "Removed__roomName__from_this_team": "#{{roomName}} supprimé de cette équipe", + "Removed__username__from_team": "@{{user_removed}} supprimé de cette équipe", + "User_joined_team": "a rejoint cette équipe", + "User_left_team": "a quitté cette équipe" } \ No newline at end of file diff --git a/app/i18n/locales/ja.json b/app/i18n/locales/ja.json index dedba9ffd..1e1d1bd34 100644 --- a/app/i18n/locales/ja.json +++ b/app/i18n/locales/ja.json @@ -10,6 +10,7 @@ "error-could-not-change-email": "メールアドレスを変更できません。", "error-could-not-change-name": "名前を変更できません。", "error-could-not-change-username": "ユーザー名を変更できません。", + "error-could-not-change-status": "ステータスを変更できませんでした", "error-delete-protected-role": "保護されたロールは削除できません。", "error-department-not-found": "ロールが存在しません。", "error-direct-message-file-upload-not-allowed": "ダイレクトメッセージでのファイルのアップロードは許可されていません。", @@ -17,8 +18,10 @@ "error-email-domain-blacklisted": "このドメインのメールアドレスはブラックリストに登録されています。", "error-email-send-failed": "次のメールアドレスの送信に失敗しました: {{message}}", "error-save-image": "画像の保存に失敗しました。", + "error-save-video": "動画の保存中にエラーが発生しました", "error-field-unavailable": "{{field}}は既に使用されています。", "error-file-too-large": "ファイルが大きすぎます。", + "error-not-permission-to-upload-file": "ファイルをアップロードする権限がありません", "error-importer-not-defined": "インポータが正しく定義されていません。Importクラスが見つかりません。", "error-input-is-not-a-valid-field": "{{input}}は{{field}}の入力として正しくありません。", "error-invalid-actionlink": "アクションリンクが正しくありません。", @@ -59,6 +62,7 @@ "error-message-editing-blocked": "メッセージの編集をブロックされています。", "error-message-size-exceeded": "メッセージの大きさが Message_MaxAllowedSize を超えています。", "error-missing-unsubscribe-link": "購読停止リンクを入れてください。", + "error-no-owner-channel": "チャンネルを所有していません", "error-no-tokens-for-this-user": "このユーザーにはトークンがありません。", "error-not-allowed": "許可されていません。", "error-not-authorized": "有効化されていません。", @@ -76,16 +80,20 @@ "error-user-registration-disabled": "ユーザー登録は無効化されています", "error-user-registration-secret": "ユーザーの登録は登録用URLからのみ許可されています", "error-you-are-last-owner": "あなたは最後のオーナーです。ルームを退出する前に別のオーナーを設定してください。", + "error-status-not-allowed": "ステータスの非表示が無効になっています", "Actions": "アクション", "Activity": "アクティビティ順", "Add_Reaction": "リアクションを追加", "Add_Server": "サーバーを追加", "Add_users": "ユーザーを追加", "Admin_Panel": "管理者パネル", + "Agent": "エージェント", "Alert": "アラート", "alert": "アラート", "alerts": "アラート", "All_users_in_the_channel_can_write_new_messages": "すべてのユーザーが新しいメッセージを書き込みできます", + "All_users_in_the_team_can_write_new_messages": "チームのすべてのユーザーが新しいメッセージを書き込むことができます", + "A_meaningful_name_for_the_discussion_room": "ディスカッションルームわかりやすい名前", "All": "すべての", "All_Messages": "全メッセージ", "Allow_Reactions": "リアクションを許可", @@ -110,6 +118,7 @@ "Back": "戻る", "Black": "ブラック", "Block_user": "ブロックしたユーザー", + "Browser": "ブラウザ", "Broadcast_channel_Description": "許可されたユーザーのみが新しいメッセージを書き込めます。他のユーザーは返信することができます", "Broadcast_Channel": "配信チャンネル", "Busy": "取り込み中", @@ -124,13 +133,22 @@ "Channels": "チャンネル", "Chats": "チャット", "Call_already_ended": "通話は終了しています。", + "Clear_cookies_alert": "すべてのCookieをクリアしますか?", + "Clear_cookies_desc": "この操作により、すべてのログインCookieがクリアされ、他のアカウントにログインできます。", + "Clear_cookies_yes": "はい、Cookieをクリアします", + "Clear_cookies_no": "いいえ、Cookieを保持します", "Click_to_join": "クリックして参加!", "Close": "閉じる", "Close_emoji_selector": "絵文字ピッカーを閉じる", + "Closing_chat": "チャットを閉じる", + "Change_language_loading": "言語の変更", + "Chat_closed_by_agent": "エージェントが閉じたチャット", "Choose": "選択", "Choose_from_library": "ライブラリから選択", "Choose_file": "ファイルを選択", + "Choose_where_you_want_links_be_opened": "開くリンクを選択する", "Code": "コード", + "Code_or_password_invalid": "無効なコードまたはパスワード", "Collaborative": "コラボ", "Confirm": "承認", "Connect": "接続", @@ -142,44 +160,76 @@ "Continue_with": "次でログイン: ", "Copied_to_clipboard": "クリップボードにコピー!", "Copy": "コピー", + "Conversation": "会話", "Permalink": "パーマリンク", "Certificate_password": "パスワード証明書", "Clear_cache": "ローカルのサーバーキャッシュをクリア", + "Clear_cache_loading": "キャッシュをクリアしています。", "Whats_the_password_for_your_certificate": "証明書のパスワードはなんですか?", "Create_account": "アカウントを作成", "Create_Channel": "チャンネルを作成", + "Create_Direct_Messages": "ダイレクトメッセージを作成する", + "Create_Discussion": "ディスカッションを作成する", "Created_snippet": "スニペットを作成", "Create_a_new_workspace": "新しいワークスペースを作成", "Create": "作成", + "Custom_Status": "カスタムステータス", "Dark": "ダーク", "Dark_level": "ダークレベル", "Default": "デフォルト", "Default_browser": "デフォルトのブラウザ", "Delete_Room_Warning": "ルームを削除すると、ルームに投稿されたすべてのメッセージが削除されます。この操作は取り消せません。", + "Department": "部署", "delete": "削除", "Delete": "削除", "DELETE": "削除", + "move": "移動", "deleting_room": "ルームを削除", "description": "概要", "Description": "概要", "Desktop_Options": "デスクトップオプション", + "Desktop_Notifications": "デスクトップ通知", + "Desktop_Alert_info": "これらの通知はデスクトップで配信されます", "Directory": "ディレクトリ", "Direct_Messages": "ダイレクトメッセージ", "Disable_notifications": "通知を無効化", "Discussions": "ディスカッション", + "Discussion_Desc": "状況の概要を把握するのに役立ちます。ディスカッションを作成すると、選択したチャンネルのサブチャンネルが作成され、両方のチャンネルがリンクされます。", + "Discussion_name": "ディスカッション名", + "Done": "完了", "Dont_Have_An_Account": "アカウントがありませんか?", + "Do_you_have_an_account": "アカウントをお持ちですか?", "Do_you_have_a_certificate": "証明書を持っていますか?", "Do_you_really_want_to_key_this_room_question_mark": "本当にこのルームを{{key}}しますか?", + "E2E_Encryption": "E2E暗号化", + "E2E_How_It_Works_info1": "暗号化されたプライベートグループやダイレクトメッセージを作成できるようになりました。また、既存のプライベートグループやDMを暗号化された状態に変更することもできます。", + "E2E_How_It_Works_info2": "これは*エンドツーエンド*の暗号化であり、メッセージをエンコード/デコードするためのキーであるため、サーバーには保存されません。そのため、必要に応じて後でアクセスできる*安全な場所にこのパスワードを保管する*必要があります。", + "E2E_How_It_Works_info3": "処理を進めると、E2Eパスワードが自動生成されます。", + "E2E_How_It_Works_info4": "既存のE2Eパスワードを入力した任意のブラウザから、暗号化キーの新しいパスワードをいつでも設定することもできます。", "edit": "編集", "edited": "編集済", "Edit": "編集", + "Edit_Status": "ステータスを編集する", "Edit_Invite": "編集に招待", + "End_to_end_encrypted_room": "暗号化されたエンドツーエンドのルーム", + "end_to_end_encryption": "エンドツーエンドの暗号化", + "Email_Notification_Mode_All": "すべてのメンション/DM", + "Email_Notification_Mode_Disabled": "無効", "Email_or_password_field_is_empty": "メールアドレスかパスワードの入力欄が空です", "Email": "メールアドレス", "email": "メールアドレス", + "Empty_title": "空のタイトル", "Enable_Auto_Translate": "自動翻訳を有効にする", "Enable_notifications": "通知を有効にする", + "Encrypted": "暗号化済み", + "Encrypted_message": "暗号化されたメッセージ", + "Enter_Your_E2E_Password": "E2Eパスワードを入力してください", + "Enter_Your_Encryption_Password_desc1": "これにより、暗号化されたプライベートグループやダイレクトメッセージにアクセスできます。", + "Enter_Your_Encryption_Password_desc2": "チャットを利用するたびに、メッセージをエンコード/デコードするためのパスワードを入力する必要があります。", + "Encryption_error_title": "暗号化パスワードが間違っているようです", + "Encryption_error_desc": "暗号化キーをデコードしてインポートできませんでした。", "Everyone_can_access_this_channel": "全員このチャンネルにアクセスできます", + "Everyone_can_access_this_team": "全員このチームにアクセスできます", "Error_uploading": "アップロードエラー", "Expiration_Days": "期限切れ (日)", "Favorites": "お気に入り", @@ -192,11 +242,36 @@ "Forgot_password_If_this_email_is_registered": "送信したメールアドレスが登録されていれば、パスワードのリセット方法を送信しました。メールアドレスがすぐに来ない場合はやり直してください。", "Forgot_password": "パスワードを忘れた", "Forgot_Password": "パスワードを忘れた", + "Forward": "転送", + "Forward_Chat": "チャットを転送する", + "Forward_to_department": "部署に転送する", + "Forward_to_user": "ユーザーに転送する", "Full_table": "クリックしてテーブル全体を見る", "Generate_New_Link": "新しいリンクを生成", "Has_joined_the_channel": "はチャンネルに参加しました", + "Has_joined_the_team": "チームに参加しました", "Has_joined_the_conversation": "は会話に参加しました", "Has_left_the_channel": "はチャンネルを退出しました", + "Has_left_the_team": "チームを退出しました", + "Hide_System_Messages": "システムメッセージを非表示にする", + "Hide_type_messages": "\"{{type}}\"メッセージを非表示にする", + "How_It_Works": "仕組み", + "Message_HideType_uj": "ユーザー参加", + "Message_HideType_ul": "ユーザー退出", + "Message_HideType_ru": "ユーザーが削除されました", + "Message_HideType_au": "ユーザーが追加されました", + "Message_HideType_mute_unmute": "ユーザーがミュート/ミュート解除されました", + "Message_HideType_r": "ルーム名が変更されました", + "Message_HideType_ut": "ユーザーが会話に参加しました", + "Message_HideType_wm": "ようこそ", + "Message_HideType_rm": "メッセージが削除されました", + "Message_HideType_subscription_role_added": "ロールが設定されました", + "Message_HideType_subscription_role_removed": "ロールが定義されていません", + "Message_HideType_room_archived": "ルームがアーカイブされました", + "Message_HideType_room_unarchived": "ルームのアーカイブが解除されました", + "I_Saved_My_E2E_Password": "自分のE2Eのパスワードを保存しました", + "IP": "IP", + "In_app": "アプリ内", "In_App_And_Desktop": "アプリ内とデスクトップ", "In_App_and_Desktop_Alert_info": "アプリを表示中にはバナーを上部に表示し、デスクトップには通知を送ります。", "Invisible": "状態を隠す", @@ -209,7 +284,12 @@ "Invite_Link": "招待リンク", "Invite_users": "ユーザーを招待", "Join": "参加", + "Join_Code": "参加コード", + "Insert_Join_Code": "参加コードを挿入する", + "Join_our_open_workspace": "開いているワークスペースに参加する", + "Join_your_workspace": "ワークスペースに参加する", "Just_invited_people_can_access_this_channel": "招待されたユーザーだけがこのチャンネルに参加できます", + "Just_invited_people_can_access_this_team": "招待されたユーザーのみがこのチームにアクセスできます", "Language": "言語", "last_message": "最後のメッセージ", "Leave_channel": "チャンネルを退出", @@ -220,9 +300,11 @@ "Light": "ライト", "License": "ライセンス", "Livechat": "ライブチャット", + "Livechat_edit": "ライブチャット編集", "Login": "ログイン", "Login_error": "証明書が承認されませんでした。再度お試しください。", "Login_with": "次でログイン: ", + "Logging_out": "ログアウトしています。", "Logout": "ログアウト", "Max_number_of_uses": "最大利用数", "members": "メンバー", @@ -419,6 +501,7 @@ "Updating": "更新中...", "Uploading": "アップロード中", "Upload_file_question_mark": "ファイルをアップロードしますか?", + "User": "ユーザー", "Users": "ユーザー", "User_added_by": "{{userBy}} が {{userAdded}} を追加しました", "User_Info": "ユーザー情報", @@ -432,7 +515,11 @@ "Username_is_empty": "ユーザー名が空です。", "Username": "ユーザー名", "Username_or_email": "ユーザー名かメールアドレス", + "Uses_server_configuration": "サーバー構成を使用する", "Validating": "検証中", + "Registration_Succeeded": "登録が成功しました", + "Verify": "確認", + "Verify_email_title": "登録が成功しました", "Video_call": "ビデオ通話", "View_Original": "オリジナルを見る", "Voice_call": "音声通話", diff --git a/app/i18n/locales/nl.json b/app/i18n/locales/nl.json index 08bfc7fff..34d6ccc1c 100644 --- a/app/i18n/locales/nl.json +++ b/app/i18n/locales/nl.json @@ -788,5 +788,24 @@ "Enable_Message_Parser": "Berichtparser inschakelen", "Unsupported_format": "Niet ondersteund formaat", "Downloaded_file": "Gedownload bestand", - "Error_Download_file": "Fout tijdens het downloaden van bestand" + "Error_Download_file": "Fout tijdens het downloaden van bestand", + "added__roomName__to_team": "#{{roomName}} toegevoegd aan dit team", + "Added__username__to_team": "@{{user_added}} toegevoegd aan dit team", + "Converted__roomName__to_team": "#{{roomName}} omgezet in een team", + "Converted__roomName__to_channel": "#{{roomName}} omgezet in een kanaal", + "Converting_team_to_channel": "Team converteren naar kanaal", + "Deleted__roomName__": "#{{roomName}} verwijderd", + "Message_HideType_added_user_to_team": "Verberg \"Gebruiker toegevoegd aan team\" berichten", + "Message_HideType_removed_user_from_team": "Verberg \"Gebruiker verwijderd uit team\" berichten", + "Message_HideType_ujt": "Verberg \"Gebruiker is lid geworden van team\" berichten", + "Message_HideType_ult": "Verberg \"Gebruiker heeft team verlaten\" berichten", + "Message_HideType_user_added_room_to_team": "Verberg \"Gebruiker heeft kamer toegevoegd aan team\" berichten", + "Message_HideType_user_converted_to_channel": "Verberg \"Gebruiker heeft team in kanaal geconverteerd\" berichten", + "Message_HideType_user_converted_to_team": "Verberg \"Gebruiker heeft kanaal in team geconverteerd\" berichten", + "Message_HideType_user_deleted_room_from_team": "Verberg \"Gebruiker heeft kamer uit team verwijderd\" berichten", + "Message_HideType_user_removed_room_from_team": "Verberg \"Gebruiker heeft kamer uit team verwijderd\" berichten", + "Removed__roomName__from_this_team": "#{{roomName}} uit dit team verwijderd", + "Removed__username__from_team": "@{{user_removed}} uit dit team verwijderd", + "User_joined_team": "is lid geworden van dit team", + "User_left_team": "heeft dit team verlaten" } \ No newline at end of file diff --git a/app/i18n/locales/pt-BR.json b/app/i18n/locales/pt-BR.json index a77dd415a..20742f28b 100644 --- a/app/i18n/locales/pt-BR.json +++ b/app/i18n/locales/pt-BR.json @@ -240,8 +240,10 @@ "Full_table": "Clique para ver a tabela completa", "Generate_New_Link": "Gerar novo convite", "Has_joined_the_channel": "entrou no canal", + "Has_joined_the_team": "entrou na equipe", "Has_joined_the_conversation": "entrou na conversa", "Has_left_the_channel": "saiu da conversa", + "Has_left_the_team": "saiu da equipe", "Hide_System_Messages": "Esconder mensagens do sistema", "Hide_type_messages": "Esconder mensagens de \"{{type}}\"", "Message_HideType_uj": "Utilizador Entrou", @@ -270,7 +272,7 @@ "Join": "Entrar", "Join_Code": "Insira o Código da Sala", "Insert_Join_Code": "Insira o código para entrar na sala", - "Join_our_open_workspace": "Entra na nossa workspace pública", + "Join_our_open_workspace": "Entrar na nossa workspace pública", "Join_your_workspace": "Entre na sua workspace", "Just_invited_people_can_access_this_channel": "Apenas as pessoas convidadas podem acessar este canal", "Just_invited_people_can_access_this_team": "Apenas as pessoas convidadas podem acessar este time", diff --git a/app/i18n/locales/ru.json b/app/i18n/locales/ru.json index 235ba0205..fbe7de898 100644 --- a/app/i18n/locales/ru.json +++ b/app/i18n/locales/ru.json @@ -249,10 +249,10 @@ "Full_table": "Нажмите, чтобы увидеть полную таблицу", "Generate_New_Link": "Сгенерировать Новую Ссылку", "Has_joined_the_channel": "присоединился к каналу", - "Has_joined_the_team": "присоединился к команде", + "Has_joined_the_team": "присоединился к Команде", "Has_joined_the_conversation": "присоединился к беседе", "Has_left_the_channel": "покинул канал", - "Has_left_the_team": "покинул команду", + "Has_left_the_team": "покинул Команду", "Hide_System_Messages": "Скрыть Системные Сообщения", "Hide_type_messages": "Скрыть \"{{type}}\" сообщения", "How_It_Works": "Как Это Работает", @@ -716,7 +716,7 @@ "creating_team": "создание Команды", "team-name-already-exists": "Команда с таким названием уже существует", "Add_Channel_to_Team": "Добавить канал в Команду", - "Left_The_Team_Successfully": "Успешно покинул команду", + "Left_The_Team_Successfully": "Успешно покинул Команду", "Create_New": "Создать", "Add_Existing": "Добавить существующее", "Add_Existing_Channel": "Добавить существующий канал", @@ -726,7 +726,7 @@ "Confirmation": "Подтверждение", "invalid-room": "Такого канала не существует", "You_are_leaving_the_team": "Вы покидаете Команду '{{team}}'", - "Leave_Team": "Покинуть команду", + "Leave_Team": "Покинуть Команду", "Select_Team": "Выберите Команду", "Select_Team_Channels": "Выберите каналы Команды, которые вы хотите покинуть.", "Cannot_leave": "Невозможно выйти", @@ -788,5 +788,22 @@ "Enable_Message_Parser": "Включить парсер сообщений", "Unsupported_format": "Неподдерживаемый формат", "Downloaded_file": "Скачанный файл", - "Error_Download_file": "Ошибка при скачивании файла" + "Error_Download_file": "Ошибка при скачивании файла", + "added__roomName__to_team": "добавил(-а) #{{roomName}} в эту рабочую группу", + "Added__username__to_team": "добавил(-а) @{{user_added}} в эту рабочую группу", + "Converted__roomName__to_team": "преобразовал(-а) #{{roomName}} в рабочую группу", + "Converted__roomName__to_channel": "преобразовал(-а) #{{roomName}} в канал", + "Converting_team_to_channel": "Преобразование группы в канал", + "Deleted__roomName__": "удалил(-а) #{{roomName}}", + "Message_HideType_added_user_to_team": "Скрыть сообщения \"Пользователь добавлен в группу\"", + "Message_HideType_removed_user_from_team": "Скрыть сообщения \"Пользователь удален из группы\"", + "Message_HideType_ujt": "Скрыть сообщения \"Пользователь присоединился к группе\"", + "Message_HideType_ult": "Скрыть сообщения \"Пользователь вышел из группы\"", + "Message_HideType_user_added_room_to_team": "Скрыть сообщения \"Пользователь добавил зал в группу\"", + "Message_HideType_user_converted_to_channel": "Скрыть сообщения \"Пользователь преобразовал группу в канал\"", + "Message_HideType_user_converted_to_team": "Скрыть сообщения \"Пользователь преобразовал канал в группу\"", + "Message_HideType_user_deleted_room_from_team": "Скрыть сообщения \"Пользователь удалил зал из группы\"", + "Message_HideType_user_removed_room_from_team": "Скрыть сообщения \"Пользователь удалил зал из группы\"", + "Removed__roomName__from_this_team": "удалил(-а) #{{roomName}} из этой рабочей группы", + "Removed__username__from_team": "удалил(-а) @{{user_removed}} из этой рабочей группы" } \ No newline at end of file diff --git a/app/i18n/locales/zh-TW.json b/app/i18n/locales/zh-TW.json index 258f8fdf7..05a33ea0a 100644 --- a/app/i18n/locales/zh-TW.json +++ b/app/i18n/locales/zh-TW.json @@ -21,6 +21,7 @@ "error-save-video": "錯誤,無法儲存影片", "error-field-unavailable": "{{field}} 已被使用 :(", "error-file-too-large": "檔案太大", + "error-not-permission-to-upload-file": "You don't have permission to upload files", "error-importer-not-defined": "沒有正確定義,它缺少匯入類型", "error-input-is-not-a-valid-field": "{{input}}不是有效的{{field}}", "error-invalid-actionlink": "無效的操作連結", diff --git a/app/index.tsx b/app/index.tsx index 89e6c5270..508bec332 100644 --- a/app/index.tsx +++ b/app/index.tsx @@ -6,8 +6,7 @@ import { KeyCommandsEmitter } from 'react-native-keycommands'; import RNScreens from 'react-native-screens'; import { SafeAreaProvider, initialWindowMetrics } from 'react-native-safe-area-context'; -import { defaultTheme, newThemeState, subscribeTheme, unsubscribeTheme } from './utils/theme'; -import UserPreferences from './lib/userPreferences'; +import { getTheme, initialTheme, newThemeState, subscribeTheme, unsubscribeTheme } from './utils/theme'; import EventEmitter from './utils/events'; import { appInit, appInitLocalSettings, setMasterDetail as setMasterDetailAction } from './actions/app'; import { deepLinkingOpen } from './actions/deepLinking'; @@ -17,9 +16,9 @@ import store from './lib/createStore'; import { toggleAnalyticsEventsReport, toggleCrashErrorsReport } from './utils/log'; import { ThemeContext } from './theme'; import { DimensionsContext } from './dimensions'; -import RocketChat, { THEME_PREFERENCES_KEY } from './lib/rocketchat'; +import RocketChat from './lib/rocketchat'; import { MIN_WIDTH_MASTER_DETAIL_LAYOUT } from './constants/tablet'; -import { isTablet, supportSystemTheme } from './utils/deviceInfo'; +import { isTablet } from './utils/deviceInfo'; import { KEY_COMMAND } from './commands'; import AppContainer from './AppContainer'; import TwoFactor from './containers/TwoFactor'; @@ -33,6 +32,7 @@ import { isFDroidBuild } from './constants/environment'; import { IThemePreference } from './definitions/ITheme'; import { ICommand } from './definitions/ICommand'; import { initStore } from './lib/auxStore'; +import { themes } from './constants/colors'; RNScreens.enableScreens(); initStore(store); @@ -88,12 +88,10 @@ export default class Root extends React.Component<{}, IState> { this.initCrashReport(); } const { width, height, scale, fontScale } = Dimensions.get('window'); + const theme = initialTheme(); this.state = { - theme: defaultTheme(), - themePreferences: { - currentTheme: supportSystemTheme() ? 'automatic' : 'light', - darkLevel: 'black' - }, + theme: getTheme(theme), + themePreferences: theme, width, height, scale, @@ -128,7 +126,6 @@ export default class Root extends React.Component<{}, IState> { } init = async () => { - UserPreferences.getMapAsync(THEME_PREFERENCES_KEY).then((theme: any) => this.setTheme(theme)); store.dispatch(appInitLocalSettings()); // Open app from push notification @@ -209,7 +206,9 @@ export default class Root extends React.Component<{}, IState> { render() { const { themePreferences, theme, width, height, scale, fontScale } = this.state; return ( - <SafeAreaProvider initialMetrics={initialWindowMetrics}> + <SafeAreaProvider + initialMetrics={initialWindowMetrics} + style={{ backgroundColor: themes[this.state.theme].backgroundColor }}> <AppearanceProvider> <Provider store={store}> <ThemeContext.Provider diff --git a/app/lib/database/index.ts b/app/lib/database/index.ts index 1b8df955b..d85e826d6 100644 --- a/app/lib/database/index.ts +++ b/app/lib/database/index.ts @@ -66,7 +66,7 @@ export const getDatabase = (database = ''): Database => { }; interface IDatabases { - shareDB?: TAppDatabase; + shareDB?: TAppDatabase | null; serversDB: TServerDatabase; activeDB?: TAppDatabase; } diff --git a/app/lib/database/model/Thread.js b/app/lib/database/model/Thread.js index 1224554b6..ff534c85d 100644 --- a/app/lib/database/model/Thread.js +++ b/app/lib/database/model/Thread.js @@ -75,4 +75,6 @@ export default class Thread extends Model { @json('translations', sanitizer) translations; @field('e2e') e2e; + + @field('draft_message') draftMessage; } diff --git a/app/lib/database/model/migrations.js b/app/lib/database/model/migrations.js index 15c1331fe..5ce47045b 100644 --- a/app/lib/database/model/migrations.js +++ b/app/lib/database/model/migrations.js @@ -199,6 +199,15 @@ export default schemaMigrations({ columns: [{ name: 'md', type: 'string', isOptional: true }] }) ] + }, + { + toVersion: 15, + steps: [ + addColumns({ + table: 'threads', + columns: [{ name: 'draft_message', type: 'string', isOptional: true }] + }) + ] } ] }); diff --git a/app/lib/database/schema/app.js b/app/lib/database/schema/app.js index 043ddb8e9..c76be539c 100644 --- a/app/lib/database/schema/app.js +++ b/app/lib/database/schema/app.js @@ -1,7 +1,7 @@ import { appSchema, tableSchema } from '@nozbe/watermelondb'; export default appSchema({ - version: 14, + version: 15, tables: [ tableSchema({ name: 'subscriptions', @@ -153,7 +153,8 @@ export default appSchema({ { name: 'unread', type: 'boolean', isOptional: true }, { name: 'auto_translate', type: 'boolean', isOptional: true }, { name: 'translations', type: 'string', isOptional: true }, - { name: 'e2e', type: 'string', isOptional: true } + { name: 'e2e', type: 'string', isOptional: true }, + { name: 'draft_message', type: 'string', isOptional: true } ] }), tableSchema({ diff --git a/app/lib/database/services/Message.ts b/app/lib/database/services/Message.ts index 60295b371..1fc44d04d 100644 --- a/app/lib/database/services/Message.ts +++ b/app/lib/database/services/Message.ts @@ -4,7 +4,10 @@ import { MESSAGES_TABLE } from '../model/Message'; const getCollection = (db: TAppDatabase) => db.get(MESSAGES_TABLE); -export const getMessageById = async (messageId: string) => { +export const getMessageById = async (messageId: string | null) => { + if (!messageId) { + return null; + } const db = database.active; const messageCollection = getCollection(db); try { diff --git a/app/lib/encryption/constants.ts b/app/lib/encryption/constants.ts index d10539eda..566fa1b65 100644 --- a/app/lib/encryption/constants.ts +++ b/app/lib/encryption/constants.ts @@ -10,7 +10,7 @@ export const E2E_BANNER_TYPE = { REQUEST_PASSWORD: 'REQUEST_PASSWORD', SAVE_PASSWORD: 'SAVE_PASSWORD' }; -export const E2E_ROOM_TYPES = { +export const E2E_ROOM_TYPES: Record<string, string> = { d: 'd', p: 'p' }; diff --git a/app/lib/encryption/encryption.ts b/app/lib/encryption/encryption.ts index 8d17ebd46..6e9abae2d 100644 --- a/app/lib/encryption/encryption.ts +++ b/app/lib/encryption/encryption.ts @@ -118,8 +118,8 @@ class Encryption { // Persist keys on UserPreferences persistKeys = async (server: string, publicKey: string, privateKey: string) => { this.privateKey = await SimpleCrypto.RSA.importKey(EJSON.parse(privateKey)); - await UserPreferences.setStringAsync(`${server}-${E2E_PUBLIC_KEY}`, EJSON.stringify(publicKey)); - await UserPreferences.setStringAsync(`${server}-${E2E_PRIVATE_KEY}`, privateKey); + UserPreferences.setString(`${server}-${E2E_PUBLIC_KEY}`, EJSON.stringify(publicKey)); + UserPreferences.setString(`${server}-${E2E_PRIVATE_KEY}`, privateKey); }; // Could not obtain public-private keypair from server. @@ -182,9 +182,9 @@ class Encryption { }; // Create a random password to local created keys - createRandomPassword = async (server: string) => { + createRandomPassword = (server: string) => { const password = randomPassword(); - await UserPreferences.setStringAsync(`${server}-${E2E_RANDOM_PASSWORD_KEY}`, password); + UserPreferences.setString(`${server}-${E2E_RANDOM_PASSWORD_KEY}`, password); return password; }; @@ -194,7 +194,7 @@ class Encryption { // Encode the private key const encodedPrivateKey = await this.encodePrivateKey(EJSON.stringify(privateKey), password, this.userId as string); - const publicKey = await UserPreferences.getStringAsync(`${server}-${E2E_PUBLIC_KEY}`); + const publicKey = UserPreferences.getString(`${server}-${E2E_PUBLIC_KEY}`); // Send the new keys to the server await RocketChat.e2eSetUserPublicAndPrivateKeys(EJSON.stringify(publicKey), encodedPrivateKey); @@ -244,7 +244,7 @@ class Encryption { const threadMessagesToDecrypt = await threadMessagesCollection.query(...whereClause).fetch(); // Concat messages/threads/threadMessages - let toDecrypt: (TThreadModel | TThreadMessageModel)[] = [ + let toDecrypt: (TThreadModel | TThreadMessageModel | TMessageModel)[] = [ ...messagesToDecrypt, ...threadsToDecrypt, ...threadMessagesToDecrypt @@ -259,7 +259,7 @@ class Encryption { newMessage = await this.decryptMessage({ t, rid, - msg, + msg: msg as string, tmsg }); } @@ -443,7 +443,7 @@ class Encryption { }; // Decrypt a message - decryptMessage = async (message: Partial<IMessage>) => { + decryptMessage = async (message: Pick<IMessage, 't' | 'e2e' | 'rid' | 'msg' | 'tmsg'>) => { const { t, e2e } = message; // Prevent create a new instance if this room was encrypted sometime ago @@ -464,12 +464,13 @@ class Encryption { } const { rid } = message; - const roomE2E = await this.getRoomInstance(rid as string); + const roomE2E = await this.getRoomInstance(rid); return roomE2E.decrypt(message); }; // Decrypt multiple messages - decryptMessages = (messages: IMessage[]) => Promise.all(messages.map((m: IMessage) => this.decryptMessage(m))); + decryptMessages = (messages: Partial<IMessage>[]) => + Promise.all(messages.map((m: Partial<IMessage>) => this.decryptMessage(m as IMessage))); // Decrypt multiple subscriptions decryptSubscriptions = (subscriptions: ISubscription[]) => Promise.all(subscriptions.map(s => this.decryptSubscription(s))); diff --git a/app/lib/encryption/room.ts b/app/lib/encryption/room.ts index a68ccc49f..ee3519207 100644 --- a/app/lib/encryption/room.ts +++ b/app/lib/encryption/room.ts @@ -158,12 +158,12 @@ export default class EncryptionRoom { const result = await RocketChat.e2eGetUsersOfRoomWithoutKey(this.roomId); if (result.success) { const { users } = result; - await Promise.all(users.map((user: IUser) => this.encryptRoomKeyForUser(user))); + await Promise.all(users.map(user => this.encryptRoomKeyForUser(user))); } }; // Encrypt the room key to each user in - encryptRoomKeyForUser = async (user: IUser) => { + encryptRoomKeyForUser = async (user: Pick<IUser, '_id' | 'e2e'>) => { if (user?.e2e?.public_key) { const { public_key: publicKey } = user.e2e; const userKey = await SimpleCrypto.RSA.importKey(EJSON.parse(publicKey)); diff --git a/app/lib/methods/actions.js b/app/lib/methods/actions.ts similarity index 51% rename from app/lib/methods/actions.js rename to app/lib/methods/actions.ts index 7dcdb6ae5..73dc44468 100644 --- a/app/lib/methods/actions.js +++ b/app/lib/methods/actions.ts @@ -2,42 +2,37 @@ import random from '../../utils/random'; import EventEmitter from '../../utils/events'; import fetch from '../../utils/fetch'; import Navigation from '../Navigation'; - -const ACTION_TYPES = { - ACTION: 'blockAction', - SUBMIT: 'viewSubmit', - CLOSED: 'viewClosed' -}; - -export const MODAL_ACTIONS = { - MODAL: 'modal', - OPEN: 'modal.open', - CLOSE: 'modal.close', - UPDATE: 'modal.update', - ERRORS: 'errors' -}; - -export const CONTAINER_TYPES = { - VIEW: 'view', - MESSAGE: 'message' -}; +import sdk from '../rocketchat/services/sdk'; +import { + ActionTypes, + ITriggerAction, + ITriggerBlockAction, + ITriggerCancel, + ITriggerSubmitView, + IUserInteraction, + ModalActions +} from '../../containers/UIKit/interfaces'; +import { TRocketChat } from '../../definitions/IRocketChat'; const triggersId = new Map(); -const invalidateTriggerId = id => { +const invalidateTriggerId = (id: string) => { const appId = triggersId.get(id); triggersId.delete(id); return appId; }; -export const generateTriggerId = appId => { +export const generateTriggerId = (appId?: string): string => { const triggerId = random(17); triggersId.set(triggerId, appId); return triggerId; }; -export const handlePayloadUserInteraction = (type, { triggerId, ...data }) => { +export const handlePayloadUserInteraction = ( + type: ModalActions, + { triggerId, ...data }: IUserInteraction +): ModalActions | undefined => { if (!triggersId.has(triggerId)) { return; } @@ -58,7 +53,7 @@ export const handlePayloadUserInteraction = (type, { triggerId, ...data }) => { return; } - if ([MODAL_ACTIONS.ERRORS].includes(type)) { + if ([ModalActions.ERRORS].includes(type)) { EventEmitter.emit(viewId, { type, triggerId, @@ -66,10 +61,10 @@ export const handlePayloadUserInteraction = (type, { triggerId, ...data }) => { appId, ...data }); - return MODAL_ACTIONS.ERRORS; + return ModalActions.ERRORS; } - if ([MODAL_ACTIONS.UPDATE].includes(type)) { + if ([ModalActions.UPDATE].includes(type)) { EventEmitter.emit(viewId, { type, triggerId, @@ -77,10 +72,10 @@ export const handlePayloadUserInteraction = (type, { triggerId, ...data }) => { appId, ...data }); - return MODAL_ACTIONS.UPDATE; + return ModalActions.UPDATE; } - if ([MODAL_ACTIONS.OPEN].includes(type) || [MODAL_ACTIONS.MODAL].includes(type)) { + if ([ModalActions.OPEN].includes(type) || [ModalActions.MODAL].includes(type)) { Navigation.navigate('ModalBlockView', { data: { triggerId, @@ -89,21 +84,24 @@ export const handlePayloadUserInteraction = (type, { triggerId, ...data }) => { ...data } }); - return MODAL_ACTIONS.OPEN; + return ModalActions.OPEN; } - return MODAL_ACTIONS.CLOSE; + return ModalActions.CLOSE; }; -export function triggerAction({ type, actionId, appId, rid, mid, viewId, container, ...rest }) { - return new Promise(async (resolve, reject) => { +export function triggerAction( + this: TRocketChat, + { type, actionId, appId, rid, mid, viewId, container, ...rest }: ITriggerAction +) { + return new Promise<ModalActions | undefined | void>(async (resolve, reject) => { const triggerId = generateTriggerId(appId); const payload = rest.payload || rest; try { - const { userId, authToken } = this.sdk.currentLogin; - const { host } = this.sdk.client; + const { userId, authToken } = sdk.current.currentLogin; + const { host } = sdk.current.client; // we need to use fetch because this.sdk.post add /v1 to url const result = await fetch(`${host}/api/apps/ui.interaction/${appId}/`, { @@ -142,17 +140,17 @@ export function triggerAction({ type, actionId, appId, rid, mid, viewId, contain }); } -export default function triggerBlockAction(options) { - return triggerAction.call(this, { type: ACTION_TYPES.ACTION, ...options }); +export default function triggerBlockAction(this: TRocketChat, options: ITriggerBlockAction) { + return triggerAction.call(this, { type: ActionTypes.ACTION, ...options }); } -export async function triggerSubmitView({ viewId, ...options }) { - const result = await triggerAction.call(this, { type: ACTION_TYPES.SUBMIT, viewId, ...options }); - if (!result || MODAL_ACTIONS.CLOSE === result) { +export async function triggerSubmitView(this: TRocketChat, { viewId, ...options }: ITriggerSubmitView) { + const result = await triggerAction.call(this, { type: ActionTypes.SUBMIT, viewId, ...options }); + if (!result || ModalActions.CLOSE === result) { Navigation.back(); } } -export function triggerCancel({ view, ...options }) { - return triggerAction.call(this, { type: ACTION_TYPES.CLOSED, view, ...options }); +export function triggerCancel(this: TRocketChat, { view, ...options }: ITriggerCancel) { + return triggerAction.call(this, { type: ActionTypes.CLOSED, view, ...options }); } diff --git a/app/lib/methods/canOpenRoom.js b/app/lib/methods/canOpenRoom.ts similarity index 65% rename from app/lib/methods/canOpenRoom.js rename to app/lib/methods/canOpenRoom.ts index 183b32a36..93f297180 100644 --- a/app/lib/methods/canOpenRoom.js +++ b/app/lib/methods/canOpenRoom.ts @@ -1,5 +1,8 @@ -import database from '../database'; +import { ERoomTypes } from '../../definitions'; import { store } from '../auxStore'; +import database from '../database'; +import RocketChat from '../rocketchat'; +import sdk from '../rocketchat/services/sdk'; const restTypes = { channel: 'channels', @@ -7,27 +10,30 @@ const restTypes = { group: 'groups' }; -async function open({ type, rid, name }) { +async function open({ type, rid, name }: { type: ERoomTypes; rid: string; name: string }) { try { const params = rid ? { roomId: rid } : { roomName: name }; // if it's a direct link without rid we'll create a new dm // if the dm already exists it'll return the existent - if (type === 'direct' && !rid) { - const result = await this.createDirectMessage(name); + if (type === ERoomTypes.DIRECT && !rid) { + const result = await RocketChat.createDirectMessage(name); if (result.success) { const { room } = result; - room.rid = room._id; - return room; + return { + ...room, + rid: room._id + }; } } // if it's a group we need to check if you can open - if (type === 'group') { + if (type === ERoomTypes.GROUP) { try { // RC 0.61.0 - await this.sdk.post(`${restTypes[type]}.open`, params); - } catch (e) { + // @ts-ignore + await sdk.post(`${restTypes[type]}.open`, params); + } catch (e: any) { if (!(e.data && /is already open/.test(e.data.error))) { return false; } @@ -36,9 +42,10 @@ async function open({ type, rid, name }) { // if it's a channel or group and the link don't have rid // we'll get info from the room - if ((type === 'channel' || type === 'group') && !rid) { + if ((type === ERoomTypes.CHANNEL || type === ERoomTypes.GROUP) && !rid) { // RC 0.72.0 - const result = await this.sdk.get(`${restTypes[type]}.info`, params); + // @ts-ignore + const result: any = await sdk.get(`${restTypes[type]}.info`, params); if (result.success) { const room = result[type]; room.rid = room._id; @@ -56,7 +63,7 @@ async function open({ type, rid, name }) { } } -export default async function canOpenRoom({ rid, path, isCall }) { +export default async function canOpenRoom({ rid, path, isCall }: { rid: string; isCall: boolean; path: string }): Promise<any> { try { const db = database.active; const subsCollection = db.get('subscriptions'); @@ -86,8 +93,9 @@ export default async function canOpenRoom({ rid, path, isCall }) { } const [type, name] = path.split('/'); + const t = type as ERoomTypes; try { - const result = await open.call(this, { type, rid, name }); + const result = await open({ type: t, rid, name }); return result; } catch (e) { return false; diff --git a/app/lib/methods/enterpriseModules.js b/app/lib/methods/enterpriseModules.ts similarity index 82% rename from app/lib/methods/enterpriseModules.js rename to app/lib/methods/enterpriseModules.ts index 34313074d..8769e3818 100644 --- a/app/lib/methods/enterpriseModules.js +++ b/app/lib/methods/enterpriseModules.ts @@ -1,11 +1,12 @@ +import sdk from '../rocketchat/services/sdk'; import { compareServerVersion } from '../utils'; import { store as reduxStore } from '../auxStore'; import database from '../database'; import log from '../../utils/log'; import { clearEnterpriseModules, setEnterpriseModules as setEnterpriseModulesAction } from '../../actions/enterpriseModules'; -export const LICENSE_OMNICHANNEL_MOBILE_ENTERPRISE = 'omnichannel-mobile-enterprise'; -export const LICENSE_LIVECHAT_ENTERPRISE = 'livechat-enterprise'; +const LICENSE_OMNICHANNEL_MOBILE_ENTERPRISE = 'omnichannel-mobile-enterprise'; +const LICENSE_LIVECHAT_ENTERPRISE = 'livechat-enterprise'; export async function setEnterpriseModules() { try { @@ -29,17 +30,17 @@ export async function setEnterpriseModules() { } export function getEnterpriseModules() { - return new Promise(async resolve => { + return new Promise<void>(async resolve => { try { const { version: serverVersion, server: serverId } = reduxStore.getState().server; if (compareServerVersion(serverVersion, 'greaterThanOrEqualTo', '3.1.0')) { // RC 3.1.0 - const enterpriseModules = await this.methodCallWrapper('license:getModules'); + const enterpriseModules = await sdk.methodCallWrapper('license:getModules'); if (enterpriseModules) { const serversDB = database.servers; const serversCollection = serversDB.get('servers'); const server = await serversCollection.find(serverId); - await serversDB.action(async () => { + await serversDB.write(async () => { await server.update(s => { s.enterpriseModules = enterpriseModules.join(','); }); @@ -56,7 +57,7 @@ export function getEnterpriseModules() { }); } -export function hasLicense(module) { +export function hasLicense(module: string) { const { enterpriseModules } = reduxStore.getState(); return enterpriseModules.includes(module); } diff --git a/app/lib/methods/getRoomInfo.ts b/app/lib/methods/getRoomInfo.ts index b74dbaca1..142d59177 100644 --- a/app/lib/methods/getRoomInfo.ts +++ b/app/lib/methods/getRoomInfo.ts @@ -1,8 +1,15 @@ -import { IRoom } from '../../definitions'; +import { IServerSubscription, RoomType } from '../../definitions'; import { getSubscriptionByRoomId } from '../database/services/Subscription'; import RocketChat from '../rocketchat'; -const getRoomInfo = async (rid: string): Promise<Pick<IRoom, 'rid' | 'name' | 'fname' | 't'> | null> => { +export interface IRoomInfoResult { + rid: IServerSubscription['rid']; + name: IServerSubscription['name']; + fname: IServerSubscription['fname']; + t: IServerSubscription['t']; +} + +const getRoomInfo = async (rid: string): Promise<IRoomInfoResult | null> => { let result; result = await getSubscriptionByRoomId(rid); if (result) { @@ -10,7 +17,7 @@ const getRoomInfo = async (rid: string): Promise<Pick<IRoom, 'rid' | 'name' | 'f rid, name: result.name, fname: result.fname, - t: result.t + t: result.t as RoomType }; } @@ -18,7 +25,7 @@ const getRoomInfo = async (rid: string): Promise<Pick<IRoom, 'rid' | 'name' | 'f if (result?.success) { return { rid, - name: result.room.name, + name: result.room.name as string, fname: result.room.fname, t: result.room.t }; diff --git a/app/lib/methods/getSingleMessage.ts b/app/lib/methods/getSingleMessage.ts index 4d395a0db..cc153e2f4 100644 --- a/app/lib/methods/getSingleMessage.ts +++ b/app/lib/methods/getSingleMessage.ts @@ -1,6 +1,7 @@ import RocketChat from '../rocketchat'; +import { IMessage } from '../../definitions'; -const getSingleMessage = (messageId: string) => +const getSingleMessage = (messageId: string): Promise<IMessage> => new Promise(async (resolve, reject) => { try { const result = await RocketChat.getSingleMessage(messageId); diff --git a/app/lib/methods/getThreadName.js b/app/lib/methods/getThreadName.ts similarity index 68% rename from app/lib/methods/getThreadName.js rename to app/lib/methods/getThreadName.ts index a490a7d40..3f4c42882 100644 --- a/app/lib/methods/getThreadName.js +++ b/app/lib/methods/getThreadName.ts @@ -6,11 +6,12 @@ import { getThreadById } from '../database/services/Thread'; import log from '../../utils/log'; import { Encryption } from '../encryption'; import getSingleMessage from './getSingleMessage'; +import { IMessage, IThread, TThreadModel } from '../../definitions'; -const buildThreadName = thread => thread.msg || thread?.attachments?.[0]?.title; +const buildThreadName = (thread: IThread | IMessage): string | undefined => thread.msg || thread?.attachments?.[0]?.title; -const getThreadName = async (rid, tmid, messageId) => { - let tmsg; +const getThreadName = async (rid: string, tmid: string, messageId: string): Promise<string | undefined> => { + let tmsg: string | undefined; try { const db = database.active; const threadCollection = db.get('threads'); @@ -18,7 +19,7 @@ const getThreadName = async (rid, tmid, messageId) => { const threadRecord = await getThreadById(tmid); if (threadRecord) { tmsg = buildThreadName(threadRecord); - await db.action(async () => { + await db.write(async () => { await messageRecord?.update(m => { m.tmsg = tmsg; }); @@ -27,11 +28,11 @@ const getThreadName = async (rid, tmid, messageId) => { let thread = await getSingleMessage(tmid); thread = await Encryption.decryptMessage(thread); tmsg = buildThreadName(thread); - await db.action(async () => { + await db.write(async () => { await db.batch( - threadCollection?.prepareCreate(t => { + threadCollection?.prepareCreate((t: TThreadModel) => { t._raw = sanitizedRaw({ id: thread._id }, threadCollection.schema); - t.subscription.id = rid; + if (t.subscription) t.subscription.id = rid; Object.assign(t, thread); }), messageRecord?.prepareUpdate(m => { diff --git a/app/lib/methods/getUsersPresence.ts b/app/lib/methods/getUsersPresence.ts index afc885caa..bb8705e0a 100644 --- a/app/lib/methods/getUsersPresence.ts +++ b/app/lib/methods/getUsersPresence.ts @@ -106,7 +106,7 @@ export default async function getUsersPresence() { } } -let usersTimer: number | null = null; +let usersTimer: ReturnType<typeof setTimeout> | null = null; export function getUserPresence(uid: string) { if (!usersTimer) { usersTimer = setTimeout(() => { diff --git a/app/lib/methods/helpers/buildMessage.ts b/app/lib/methods/helpers/buildMessage.ts index 44c30ffa2..96ee8ccbe 100644 --- a/app/lib/methods/helpers/buildMessage.ts +++ b/app/lib/methods/helpers/buildMessage.ts @@ -1,8 +1,8 @@ -import { IMessage } from '../../../definitions'; +import { ILastMessage, IMessage, IThreadResult } from '../../../definitions'; import messagesStatus from '../../../constants/messagesStatus'; import normalizeMessage from './normalizeMessage'; -export default (message: IMessage): IMessage => { +export default (message: Partial<IMessage> | IThreadResult | ILastMessage): IMessage | IThreadResult | null => { message.status = messagesStatus.SENT; return normalizeMessage(message); }; diff --git a/app/lib/methods/helpers/findSubscriptionsRooms.js b/app/lib/methods/helpers/findSubscriptionsRooms.ts similarity index 75% rename from app/lib/methods/helpers/findSubscriptionsRooms.js rename to app/lib/methods/helpers/findSubscriptionsRooms.ts index e931b3edd..e7df6c5b1 100644 --- a/app/lib/methods/helpers/findSubscriptionsRooms.js +++ b/app/lib/methods/helpers/findSubscriptionsRooms.ts @@ -1,15 +1,18 @@ import { Q } from '@nozbe/watermelondb'; +import { IServerSubscription, IServerRoom } from '../../../definitions'; import database from '../../database'; -export default async (subscriptions = [], rooms = []) => { +export default async (subscriptions: IServerSubscription[], rooms: IServerRoom[]) => { + let sub = subscriptions; + let room = rooms; try { const db = database.active; const subCollection = db.get('subscriptions'); const roomIds = rooms.filter(r => !subscriptions.find(s => s.rid === r._id)).map(r => r._id); - let existingSubs = await subCollection.query(Q.where('rid', Q.oneOf(roomIds))).fetch(); - existingSubs = existingSubs.map(s => ({ + const existingSubs = await subCollection.query(Q.where('rid', Q.oneOf(roomIds))).fetch(); + const mappedExistingSubs = existingSubs.map(s => ({ _id: s._id, f: s.f, t: s.t, @@ -55,11 +58,12 @@ export default async (subscriptions = [], rooms = []) => { E2EKey: s.E2EKey, avatarETag: s.avatarETag })); - subscriptions = subscriptions.concat(existingSubs); + // Assign + sub = subscriptions.concat(mappedExistingSubs as unknown as IServerSubscription); const subsIds = subscriptions.filter(s => !rooms.find(r => s.rid === r._id)).map(s => s._id); - let existingRooms = await subCollection.query(Q.where('id', Q.oneOf(subsIds))).fetch(); - existingRooms = existingRooms.map(r => ({ + const existingRooms = await subCollection.query(Q.where('id', Q.oneOf(subsIds))).fetch(); + const mappedExistingRooms = existingRooms.map(r => ({ _updatedAt: r._updatedAt, lastMessage: r.lastMessage, description: r.description, @@ -84,13 +88,14 @@ export default async (subscriptions = [], rooms = []) => { e2eKeyId: r.e2eKeyId, avatarETag: r.avatarETag })); - rooms = rooms.concat(existingRooms); + // Assign + room = rooms.concat(mappedExistingRooms as unknown as IServerRoom); } catch { // do nothing } return { - subscriptions, - rooms + subscriptions: sub, + rooms: room }; }; diff --git a/app/lib/methods/helpers/mergeSubscriptionsRooms.js b/app/lib/methods/helpers/mergeSubscriptionsRooms.js deleted file mode 100644 index e4541a426..000000000 --- a/app/lib/methods/helpers/mergeSubscriptionsRooms.js +++ /dev/null @@ -1,116 +0,0 @@ -import EJSON from 'ejson'; - -import { Encryption } from '../../encryption'; -import { store as reduxStore } from '../../auxStore'; -import { compareServerVersion } from '../../utils'; -import findSubscriptionsRooms from './findSubscriptionsRooms'; -import normalizeMessage from './normalizeMessage'; -// TODO: delete and update - -export const merge = (subscription, room) => { - const serverVersion = reduxStore.getState().server.version; - subscription = EJSON.fromJSONValue(subscription); - room = EJSON.fromJSONValue(room); - - if (!subscription) { - return; - } - if (room) { - if (room._updatedAt) { - subscription.lastMessage = normalizeMessage(room.lastMessage); - subscription.description = room.description; - subscription.topic = room.topic; - subscription.announcement = room.announcement; - subscription.reactWhenReadOnly = room.reactWhenReadOnly; - subscription.archived = room.archived || false; - subscription.joinCodeRequired = room.joinCodeRequired; - subscription.jitsiTimeout = room.jitsiTimeout; - subscription.usernames = room.usernames; - subscription.uids = room.uids; - } - if (compareServerVersion(serverVersion, 'lowerThan', '3.7.0')) { - const updatedAt = room?._updatedAt ? new Date(room._updatedAt) : null; - const lastMessageTs = subscription?.lastMessage?.ts ? new Date(subscription.lastMessage.ts) : null; - subscription.roomUpdatedAt = Math.max(updatedAt, lastMessageTs); - } else { - // https://github.com/RocketChat/Rocket.Chat/blob/develop/app/ui-sidenav/client/roomList.js#L180 - const lastRoomUpdate = room.lm || subscription.ts || subscription._updatedAt; - subscription.roomUpdatedAt = subscription.lr - ? Math.max(new Date(subscription.lr), new Date(lastRoomUpdate)) - : lastRoomUpdate; - } - subscription.ro = room.ro; - subscription.broadcast = room.broadcast; - subscription.encrypted = room.encrypted; - subscription.e2eKeyId = room.e2eKeyId; - subscription.avatarETag = room.avatarETag; - subscription.teamId = room.teamId; - subscription.teamMain = room.teamMain; - if (!subscription.roles || !subscription.roles.length) { - subscription.roles = []; - } - if (!subscription.ignored?.length) { - subscription.ignored = []; - } - if (room.muted && room.muted.length) { - subscription.muted = room.muted.filter(muted => !!muted); - } else { - subscription.muted = []; - } - if (room.v) { - subscription.visitor = room.v; - } - if (room.departmentId) { - subscription.departmentId = room.departmentId; - } - if (room.servedBy) { - subscription.servedBy = room.servedBy; - } - if (room.livechatData) { - subscription.livechatData = room.livechatData; - } - if (room.tags) { - subscription.tags = room.tags; - } - subscription.sysMes = room.sysMes; - } - - if (!subscription.name) { - subscription.name = subscription.fname; - } - - if (!subscription.autoTranslate) { - subscription.autoTranslate = false; - } - - subscription.blocker = !!subscription.blocker; - subscription.blocked = !!subscription.blocked; - return subscription; -}; - -export default async (subscriptions = [], rooms = []) => { - if (subscriptions.update) { - subscriptions = subscriptions.update; - rooms = rooms.update; - } - - // Find missing rooms/subscriptions on local database - ({ subscriptions, rooms } = await findSubscriptionsRooms(subscriptions, rooms)); - // Merge each subscription into a room - subscriptions = subscriptions.map(s => { - const index = rooms.findIndex(({ _id }) => _id === s.rid); - // Room not found - if (index < 0) { - return merge(s); - } - const [room] = rooms.splice(index, 1); - return merge(s, room); - }); - // Decrypt all subscriptions missing decryption - subscriptions = await Encryption.decryptSubscriptions(subscriptions); - - return { - subscriptions, - rooms - }; -}; diff --git a/app/lib/methods/helpers/mergeSubscriptionsRooms.ts b/app/lib/methods/helpers/mergeSubscriptionsRooms.ts new file mode 100644 index 000000000..e430371a2 --- /dev/null +++ b/app/lib/methods/helpers/mergeSubscriptionsRooms.ts @@ -0,0 +1,126 @@ +import EJSON from 'ejson'; + +import { Encryption } from '../../encryption'; +import { store as reduxStore } from '../../auxStore'; +import { compareServerVersion } from '../../utils'; +import findSubscriptionsRooms from './findSubscriptionsRooms'; +import normalizeMessage from './normalizeMessage'; +import { ISubscription, IServerSubscription, IServerRoom, IRoom } from '../../../definitions'; + +export const merge = (subscription: ISubscription | IServerSubscription, room?: IRoom | IServerRoom): ISubscription => { + const serverVersion = reduxStore.getState().server.version as string; + const mergedSubscription: ISubscription = EJSON.fromJSONValue(subscription); + + if (room) { + room = EJSON.fromJSONValue(room); + if (room?._updatedAt) { + mergedSubscription.lastMessage = normalizeMessage(room.lastMessage); + mergedSubscription.description = room.description; + mergedSubscription.topic = room.topic; + mergedSubscription.announcement = room.announcement; + mergedSubscription.reactWhenReadOnly = room.reactWhenReadOnly; + mergedSubscription.archived = room.archived || false; + mergedSubscription.joinCodeRequired = room.joinCodeRequired; + mergedSubscription.jitsiTimeout = room.jitsiTimeout; + mergedSubscription.usernames = room.usernames; + mergedSubscription.uids = room.uids; + } + + if (compareServerVersion(serverVersion, 'lowerThan', '3.7.0')) { + const updatedAt = room?._updatedAt ? new Date(room._updatedAt) : null; + // @ts-ignore + const lastMessageTs = mergedSubscription?.lastMessage?.ts ? new Date(mergedSubscription.lastMessage.ts) : null; + // @ts-ignore + // If all parameters are null it will return zero, if only one is null it will return its timestamp only. + // "It works", but it's not the best solution. It does not accept "Date" as a parameter, but it works. + mergedSubscription.roomUpdatedAt = Math.max(updatedAt, lastMessageTs); + } else { + // https://github.com/RocketChat/Rocket.Chat/blob/develop/app/ui-sidenav/client/roomList.js#L180 + const lastRoomUpdate = room?.lm || mergedSubscription.ts || mergedSubscription._updatedAt; + // @ts-ignore Same as above scenario + mergedSubscription.roomUpdatedAt = mergedSubscription.lr + ? // @ts-ignore Same as above scenario + Math.max(new Date(mergedSubscription.lr), new Date(lastRoomUpdate)) + : lastRoomUpdate; + } + mergedSubscription.ro = room?.ro ?? false; + mergedSubscription.broadcast = room?.broadcast; + mergedSubscription.encrypted = room?.encrypted; + mergedSubscription.e2eKeyId = room?.e2eKeyId; + mergedSubscription.avatarETag = room?.avatarETag; + mergedSubscription.teamId = room?.teamId; + mergedSubscription.teamMain = room?.teamMain; + if (!mergedSubscription.roles || !mergedSubscription.roles.length) { + mergedSubscription.roles = []; + } + if (!mergedSubscription.ignored?.length) { + mergedSubscription.ignored = []; + } + if (room?.muted?.length) { + mergedSubscription.muted = room.muted.filter(muted => !!muted); + } else { + mergedSubscription.muted = []; + } + if (room?.v) { + mergedSubscription.visitor = room.v; + } + if (room?.departmentId) { + mergedSubscription.departmentId = room.departmentId; + } + if (room?.servedBy) { + mergedSubscription.servedBy = room.servedBy; + } + if (room?.livechatData) { + mergedSubscription.livechatData = room.livechatData; + } + if (room?.tags) { + mergedSubscription.tags = room.tags; + } + mergedSubscription.sysMes = room?.sysMes; + } + + if (!mergedSubscription.name) { + mergedSubscription.name = mergedSubscription.fname as string; + } + + if (!mergedSubscription.autoTranslate) { + mergedSubscription.autoTranslate = false; + } + + mergedSubscription.blocker = !!mergedSubscription.blocker; + mergedSubscription.blocked = !!mergedSubscription.blocked; + return mergedSubscription; +}; + +export default async ( + serverSubscriptions: { + update: IServerSubscription[]; + remove: IServerSubscription[]; + success: boolean; + }, + serverRooms: { + update: IServerRoom[]; + remove: IServerRoom[]; + success: boolean; + } +): Promise<ISubscription[]> => { + const subscriptions = serverSubscriptions.update; + const rooms = serverRooms.update; + + // Find missing rooms/subscriptions on local database + const findData = await findSubscriptionsRooms(subscriptions, rooms); + // Merge each subscription into a room + const mergedSubscriptions = findData.subscriptions.map(subscription => { + const index = rooms.findIndex(({ _id }) => _id === subscription.rid); + // Room not found + if (index < 0) { + return merge(subscription); + } + const [room] = rooms.splice(index, 1); + return merge(subscription, room); + }); + // Decrypt all subscriptions missing decryption + const decryptedSubscriptions = (await Encryption.decryptSubscriptions(mergedSubscriptions)) as ISubscription[]; + + return decryptedSubscriptions; +}; diff --git a/app/lib/methods/helpers/normalizeMessage.js b/app/lib/methods/helpers/normalizeMessage.ts similarity index 77% rename from app/lib/methods/helpers/normalizeMessage.js rename to app/lib/methods/helpers/normalizeMessage.ts index bf34728e5..a0e7d6409 100644 --- a/app/lib/methods/helpers/normalizeMessage.js +++ b/app/lib/methods/helpers/normalizeMessage.ts @@ -1,8 +1,11 @@ import moment from 'moment'; import parseUrls from './parseUrls'; +import type { IAttachment, IMessage, IThreadResult } from '../../../definitions'; -function normalizeAttachments(msg) { +type TMsg = IMessage & IAttachment; + +function normalizeAttachments(msg: TMsg) { if (typeof msg.attachments !== typeof [] || !msg.attachments || !msg.attachments.length) { msg.attachments = []; } @@ -11,17 +14,17 @@ function normalizeAttachments(msg) { if (att.ts) { att.ts = moment(att.ts).toDate(); } - att = normalizeAttachments(att); + att = normalizeAttachments(att as TMsg); return att; }); return msg; } -export default msg => { +export default (msg: any): IMessage | IThreadResult | null => { if (!msg) { return null; } - msg = normalizeAttachments(msg); + msg = normalizeAttachments(msg as TMsg); msg.reactions = msg.reactions || []; msg.unread = msg.unread || false; // TODO: api problems @@ -30,18 +33,19 @@ export default msg => { // } else { // msg.reactions = Object.keys(msg.reactions).map(key => ({ emoji: key, usernames: msg.reactions[key].usernames.map(username => ({ value: username })) })); // } + if (!Array.isArray(msg.reactions)) { msg.reactions = Object.keys(msg.reactions).map(key => ({ _id: `${msg._id}${key}`, emoji: key, - usernames: msg.reactions[key].usernames + usernames: msg.reactions ? msg.reactions[key].usernames : [] })); } if (msg.translations && Object.keys(msg.translations).length) { msg.translations = Object.keys(msg.translations).map(key => ({ _id: `${msg._id}${key}`, language: key, - value: msg.translations[key] + value: msg.translations ? msg.translations[key] : '' })); msg.autoTranslate = true; } diff --git a/app/lib/methods/loadMessagesForRoom.ts b/app/lib/methods/loadMessagesForRoom.ts index db64a05ca..f2bce7102 100644 --- a/app/lib/methods/loadMessagesForRoom.ts +++ b/app/lib/methods/loadMessagesForRoom.ts @@ -1,17 +1,17 @@ import moment from 'moment'; -import { MESSAGE_TYPE_LOAD_MORE } from '../../constants/messageTypeLoad'; +import { MessageTypeLoad } from '../../constants/messageTypeLoad'; +import { IMessage, TMessageModel } from '../../definitions'; import log from '../../utils/log'; import { getMessageById } from '../database/services/Message'; +import roomTypeToApiType, { RoomTypes } from '../rocketchat/methods/roomTypeToApiType'; +import sdk from '../rocketchat/services/sdk'; import { generateLoadMoreId } from '../utils'; import updateMessages from './updateMessages'; -import { IMessage, TMessageModel } from '../../definitions'; -import sdk from '../rocketchat/services/sdk'; -import roomTypeToApiType, { RoomTypes } from '../rocketchat/methods/roomTypeToApiType'; const COUNT = 50; -async function load({ rid: roomId, latest, t }: { rid: string; latest?: string; t: RoomTypes }) { +async function load({ rid: roomId, latest, t }: { rid: string; latest?: Date; t: RoomTypes }) { let params = { roomId, count: COUNT } as { roomId: string; count: number; latest?: string }; if (latest) { params = { ...params, latest: new Date(latest).toISOString() }; @@ -23,9 +23,8 @@ async function load({ rid: roomId, latest, t }: { rid: string; latest?: string; } // RC 0.48.0 - // @ts-ignore - const data: any = await sdk.get(`${apiType}.history`, params); - if (!data || data.status === 'error') { + const data = await sdk.get(`${apiType}.history`, params); + if (!data.success) { return []; } return data.messages; @@ -34,29 +33,29 @@ async function load({ rid: roomId, latest, t }: { rid: string; latest?: string; export default function loadMessagesForRoom(args: { rid: string; t: RoomTypes; - latest: string; - loaderItem: TMessageModel; -}): Promise<IMessage[] | []> { + latest?: Date; + loaderItem?: TMessageModel; +}): Promise<void> { return new Promise(async (resolve, reject) => { try { - const data = await load(args); + const data: Partial<IMessage>[] = await load(args); if (data?.length) { const lastMessage = data[data.length - 1]; - const lastMessageRecord = await getMessageById(lastMessage._id); + const lastMessageRecord = await getMessageById(lastMessage._id as string); if (!lastMessageRecord && data.length === COUNT) { - const loadMoreItem = { - _id: generateLoadMoreId(lastMessage._id), + const loadMoreMessage = { + _id: generateLoadMoreId(lastMessage._id as string), rid: lastMessage.rid, - ts: moment(lastMessage.ts).subtract(1, 'millisecond'), - t: MESSAGE_TYPE_LOAD_MORE, + ts: moment(lastMessage.ts).subtract(1, 'millisecond').toString(), + t: MessageTypeLoad.MORE, msg: lastMessage.msg }; - data.push(loadMoreItem); + data.push(loadMoreMessage); } await updateMessages({ rid: args.rid, update: data, loaderItem: args.loaderItem }); - return resolve(data); + return resolve(); } - return resolve([]); + return resolve(); } catch (e) { log(e); reject(e); diff --git a/app/lib/methods/loadMissedMessages.ts b/app/lib/methods/loadMissedMessages.ts index e4578a867..5a114269c 100644 --- a/app/lib/methods/loadMissedMessages.ts +++ b/app/lib/methods/loadMissedMessages.ts @@ -16,7 +16,7 @@ const getLastUpdate = async (rid: string) => { return null; }; -async function load({ rid: roomId, lastOpen }: { rid: string; lastOpen: string }) { +async function load({ rid: roomId, lastOpen }: { rid: string; lastOpen?: Date }) { let lastUpdate; if (lastOpen) { lastUpdate = new Date(lastOpen).toISOString(); @@ -29,7 +29,7 @@ async function load({ rid: roomId, lastOpen }: { rid: string; lastOpen: string } return result; } -export default function loadMissedMessages(args: { rid: string; lastOpen: string }): Promise<void> { +export default function loadMissedMessages(args: { rid: string; lastOpen?: Date }): Promise<void> { return new Promise(async (resolve, reject) => { try { const data = await load({ rid: args.rid, lastOpen: args.lastOpen }); diff --git a/app/lib/methods/loadNextMessages.ts b/app/lib/methods/loadNextMessages.ts index 74f91d1f2..063170652 100644 --- a/app/lib/methods/loadNextMessages.ts +++ b/app/lib/methods/loadNextMessages.ts @@ -4,22 +4,22 @@ import orderBy from 'lodash/orderBy'; import log from '../../utils/log'; import { getMessageById } from '../database/services/Message'; -import { MESSAGE_TYPE_LOAD_NEXT_CHUNK } from '../../constants/messageTypeLoad'; +import { MessageTypeLoad } from '../../constants/messageTypeLoad'; import { generateLoadMoreId } from '../utils'; import updateMessages from './updateMessages'; -import { IMessage, TMessageModel } from '../../definitions'; +import { TMessageModel } from '../../definitions'; import RocketChat from '../rocketchat'; const COUNT = 50; interface ILoadNextMessages { rid: string; - ts: string; - tmid: string; + ts: Date; + tmid?: string; loaderItem: TMessageModel; } -export default function loadNextMessages(args: ILoadNextMessages): Promise<IMessage | []> { +export default function loadNextMessages(args: ILoadNextMessages): Promise<void> { return new Promise(async (resolve, reject) => { try { const data = await RocketChat.methodCallWrapper('loadNextMessages', args.rid, args.ts, COUNT); @@ -34,14 +34,14 @@ export default function loadNextMessages(args: ILoadNextMessages): Promise<IMess rid: lastMessage.rid, tmid: args.tmid, ts: moment(lastMessage.ts).add(1, 'millisecond'), - t: MESSAGE_TYPE_LOAD_NEXT_CHUNK + t: MessageTypeLoad.NEXT_CHUNK }; messages.push(loadMoreItem); } await updateMessages({ rid: args.rid, update: messages, loaderItem: args.loaderItem }); - return resolve(messages); + return resolve(); } - return resolve([]); + return resolve(); } catch (e) { log(e); reject(e); diff --git a/app/lib/methods/loadSurroundingMessages.js b/app/lib/methods/loadSurroundingMessages.ts similarity index 67% rename from app/lib/methods/loadSurroundingMessages.js rename to app/lib/methods/loadSurroundingMessages.ts index bc25ae695..727bd200e 100644 --- a/app/lib/methods/loadSurroundingMessages.js +++ b/app/lib/methods/loadSurroundingMessages.ts @@ -4,21 +4,23 @@ import orderBy from 'lodash/orderBy'; import log from '../../utils/log'; import { getMessageById } from '../database/services/Message'; -import { MESSAGE_TYPE_LOAD_NEXT_CHUNK, MESSAGE_TYPE_LOAD_PREVIOUS_CHUNK } from '../../constants/messageTypeLoad'; +import { MessageTypeLoad } from '../../constants/messageTypeLoad'; +import sdk from '../rocketchat/services/sdk'; +import { IMessage } from '../../definitions'; import { generateLoadMoreId } from '../utils'; import updateMessages from './updateMessages'; const COUNT = 50; -export default function loadSurroundingMessages({ messageId, rid }) { +export default function loadSurroundingMessages({ messageId, rid }: { messageId: string; rid: string }) { return new Promise(async (resolve, reject) => { try { - const data = await this.methodCallWrapper('loadSurroundingMessages', { _id: messageId, rid }, COUNT); - let messages = EJSON.fromJSONValue(data?.messages); + const data = await sdk.methodCallWrapper('loadSurroundingMessages', { _id: messageId, rid }, COUNT); + let messages: IMessage[] = EJSON.fromJSONValue(data?.messages); messages = orderBy(messages, 'ts'); const message = messages.find(m => m._id === messageId); - const { tmid } = message; + const tmid = message?.tmid; if (messages?.length) { if (data?.moreBefore) { @@ -29,10 +31,10 @@ export default function loadSurroundingMessages({ messageId, rid }) { _id: generateLoadMoreId(firstMessage._id), rid: firstMessage.rid, tmid, - ts: moment(firstMessage.ts).subtract(1, 'millisecond'), - t: MESSAGE_TYPE_LOAD_PREVIOUS_CHUNK, + ts: moment(firstMessage.ts).subtract(1, 'millisecond').toDate(), + t: MessageTypeLoad.PREVIOUS_CHUNK, msg: firstMessage.msg - }; + } as IMessage; messages.unshift(loadMoreItem); } } @@ -45,18 +47,18 @@ export default function loadSurroundingMessages({ messageId, rid }) { _id: generateLoadMoreId(lastMessage._id), rid: lastMessage.rid, tmid, - ts: moment(lastMessage.ts).add(1, 'millisecond'), - t: MESSAGE_TYPE_LOAD_NEXT_CHUNK, + ts: moment(lastMessage.ts).add(1, 'millisecond').toDate(), + t: MessageTypeLoad.NEXT_CHUNK, msg: lastMessage.msg - }; + } as IMessage; messages.push(loadMoreItem); } } + await updateMessages({ rid, update: messages }); return resolve(messages); - } else { - return resolve([]); } + return resolve([]); } catch (e) { log(e); reject(e); diff --git a/app/lib/methods/loadThreadMessages.js b/app/lib/methods/loadThreadMessages.js deleted file mode 100644 index 1a17f564d..000000000 --- a/app/lib/methods/loadThreadMessages.js +++ /dev/null @@ -1,76 +0,0 @@ -import { Q } from '@nozbe/watermelondb'; -import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord'; -import EJSON from 'ejson'; - -import database from '../database'; -import log from '../../utils/log'; -import { Encryption } from '../encryption'; -import protectedFunction from './helpers/protectedFunction'; -import buildMessage from './helpers/buildMessage'; - -async function load({ tmid }) { - try { - // RC 1.0 - const result = await this.methodCallWrapper('getThreadMessages', { tmid }); - if (!result) { - return []; - } - return EJSON.fromJSONValue(result); - } catch (error) { - console.log(error); - return []; - } -} - -export default function loadThreadMessages({ tmid, rid }) { - return new Promise(async (resolve, reject) => { - try { - let data = await load.call(this, { tmid }); - if (data && data.length) { - try { - data = data.filter(m => m.tmid).map(m => buildMessage(m)); - data = await Encryption.decryptMessages(data); - const db = database.active; - const threadMessagesCollection = db.get('thread_messages'); - const allThreadMessagesRecords = await threadMessagesCollection.query(Q.where('rid', tmid)).fetch(); - let threadMessagesToCreate = data.filter(i1 => !allThreadMessagesRecords.find(i2 => i1._id === i2.id)); - let threadMessagesToUpdate = allThreadMessagesRecords.filter(i1 => data.find(i2 => i1.id === i2._id)); - - threadMessagesToCreate = threadMessagesToCreate.map(threadMessage => - threadMessagesCollection.prepareCreate( - protectedFunction(tm => { - tm._raw = sanitizedRaw({ id: threadMessage._id }, threadMessagesCollection.schema); - Object.assign(tm, threadMessage); - tm.subscription.id = rid; - tm.rid = threadMessage.tmid; - delete threadMessage.tmid; - }) - ) - ); - - threadMessagesToUpdate = threadMessagesToUpdate.map(threadMessage => { - const newThreadMessage = data.find(t => t._id === threadMessage.id); - return threadMessage.prepareUpdate( - protectedFunction(tm => { - Object.assign(tm, newThreadMessage); - tm.rid = threadMessage.tmid; - delete threadMessage.tmid; - }) - ); - }); - - await db.action(async () => { - await db.batch(...threadMessagesToCreate, ...threadMessagesToUpdate); - }); - } catch (e) { - log(e); - } - return resolve(data); - } else { - return resolve([]); - } - } catch (e) { - reject(e); - } - }); -} diff --git a/app/lib/methods/loadThreadMessages.ts b/app/lib/methods/loadThreadMessages.ts new file mode 100644 index 000000000..e9390668e --- /dev/null +++ b/app/lib/methods/loadThreadMessages.ts @@ -0,0 +1,87 @@ +import { Q } from '@nozbe/watermelondb'; +import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord'; +import EJSON from 'ejson'; + +import database from '../database'; +import log from '../../utils/log'; +import { Encryption } from '../encryption'; +import protectedFunction from './helpers/protectedFunction'; +import buildMessage from './helpers/buildMessage'; +import { TThreadMessageModel } from '../../definitions'; +import sdk from '../rocketchat/services/sdk'; + +async function load({ tmid }: { tmid: string }) { + try { + // RC 1.0 + const result = await sdk.methodCallWrapper('getThreadMessages', { tmid }); + if (!result) { + return []; + } + return EJSON.fromJSONValue(result); + } catch (error) { + console.log(error); + return []; + } +} + +export default function loadThreadMessages({ tmid, rid }: { tmid: string; rid: string }) { + return new Promise<void>(async (resolve, reject) => { + try { + let data = await load({ tmid }); + if (data && data.length) { + try { + data = data.filter((m: TThreadMessageModel) => m.tmid).map((m: TThreadMessageModel) => buildMessage(m)); + data = await Encryption.decryptMessages(data); + const db = database.active; + const threadMessagesCollection = db.get('thread_messages'); + const allThreadMessagesRecords = await threadMessagesCollection.query(Q.where('rid', tmid)).fetch(); + const filterThreadMessagesToCreate = data.filter( + (i1: TThreadMessageModel) => !allThreadMessagesRecords.find(i2 => i1._id === i2.id) + ); + const filterThreadMessagesToUpdate = allThreadMessagesRecords.filter(i1 => + data.find((i2: TThreadMessageModel) => i1.id === i2._id) + ); + + const threadMessagesToCreate = filterThreadMessagesToCreate.map((threadMessage: TThreadMessageModel) => + threadMessagesCollection.prepareCreate( + protectedFunction((tm: TThreadMessageModel) => { + tm._raw = sanitizedRaw({ id: threadMessage._id }, threadMessagesCollection.schema); + Object.assign(tm, threadMessage); + if (tm.subscription) { + tm.subscription.id = rid; + } + if (threadMessage.tmid) { + tm.rid = threadMessage.tmid; + } + delete threadMessage.tmid; + }) + ) + ); + + const threadMessagesToUpdate = filterThreadMessagesToUpdate.map(threadMessage => { + const newThreadMessage = data.find((t: TThreadMessageModel) => t._id === threadMessage.id); + return threadMessage.prepareUpdate( + protectedFunction((tm: TThreadMessageModel) => { + Object.assign(tm, newThreadMessage); + if (threadMessage.tmid) { + tm.rid = threadMessage.tmid; + } + delete threadMessage.tmid; + }) + ); + }); + + await db.write(async () => { + await db.batch(...threadMessagesToCreate, ...threadMessagesToUpdate); + }); + } catch (e) { + log(e); + } + return resolve(data); + } + return resolve(); + } catch (e) { + reject(e); + } + }); +} diff --git a/app/lib/methods/logout.ts b/app/lib/methods/logout.ts index fefd1769b..0086fe102 100644 --- a/app/lib/methods/logout.ts +++ b/app/lib/methods/logout.ts @@ -12,24 +12,25 @@ import log from '../../utils/log'; import { E2E_PRIVATE_KEY, E2E_PUBLIC_KEY, E2E_RANDOM_PASSWORD_KEY } from '../encryption/constants'; import UserPreferences from '../userPreferences'; import { ICertificate, IRocketChat } from '../../definitions'; +import sdk from '../rocketchat/services/sdk'; -async function removeServerKeys({ server, userId }: { server: string; userId: string | null }) { - await UserPreferences.removeItem(`${RocketChat.TOKEN_KEY}-${server}`); +function removeServerKeys({ server, userId }: { server: string; userId?: string | null }) { + UserPreferences.removeItem(`${RocketChat.TOKEN_KEY}-${server}`); if (userId) { - await UserPreferences.removeItem(`${RocketChat.TOKEN_KEY}-${userId}`); + UserPreferences.removeItem(`${RocketChat.TOKEN_KEY}-${userId}`); } - await UserPreferences.removeItem(`${BASIC_AUTH_KEY}-${server}`); - await UserPreferences.removeItem(`${server}-${E2E_PUBLIC_KEY}`); - await UserPreferences.removeItem(`${server}-${E2E_PRIVATE_KEY}`); - await UserPreferences.removeItem(`${server}-${E2E_RANDOM_PASSWORD_KEY}`); + UserPreferences.removeItem(`${BASIC_AUTH_KEY}-${server}`); + UserPreferences.removeItem(`${server}-${E2E_PUBLIC_KEY}`); + UserPreferences.removeItem(`${server}-${E2E_PRIVATE_KEY}`); + UserPreferences.removeItem(`${server}-${E2E_RANDOM_PASSWORD_KEY}`); } async function removeSharedCredentials({ server }: { server: string }) { // clear certificate for server - SSL Pinning try { - const certificate = (await UserPreferences.getMapAsync(extractHostname(server))) as ICertificate | null; + const certificate = UserPreferences.getMap(extractHostname(server)) as ICertificate | null; if (certificate?.path) { - await UserPreferences.removeItem(extractHostname(server)); + UserPreferences.removeItem(extractHostname(server)); await FileSystem.deleteAsync(certificate.path); } } catch (e) { @@ -41,7 +42,7 @@ async function removeServerData({ server }: { server: string }) { try { const batch: Model[] = []; const serversDB = database.servers; - const userId = await UserPreferences.getStringAsync(`${RocketChat.TOKEN_KEY}-${server}`); + const userId = UserPreferences.getString(`${RocketChat.TOKEN_KEY}-${server}`); const usersCollection = serversDB.get('users'); if (userId) { @@ -54,14 +55,14 @@ async function removeServerData({ server }: { server: string }) { await serversDB.write(() => serversDB.batch(...batch)); await removeSharedCredentials({ server }); - await removeServerKeys({ server, userId }); + removeServerKeys({ server, userId }); } catch (e) { log(e); } } -async function removeCurrentServer() { - await UserPreferences.removeItem(RocketChat.CURRENT_SERVER); +function removeCurrentServer() { + UserPreferences.removeItem(RocketChat.CURRENT_SERVER); } async function removeServerDatabase({ server }: { server: string }) { @@ -75,9 +76,9 @@ async function removeServerDatabase({ server }: { server: string }) { export async function removeServer({ server }: { server: string }): Promise<void> { try { - const userId = await UserPreferences.getStringAsync(`${RocketChat.TOKEN_KEY}-${server}`); + const userId = UserPreferences.getString(`${RocketChat.TOKEN_KEY}-${server}`); if (userId) { - const resume = await UserPreferences.getStringAsync(`${RocketChat.TOKEN_KEY}-${userId}`); + const resume = UserPreferences.getString(`${RocketChat.TOKEN_KEY}-${userId}`); const sdk = new RocketchatClient({ host: server, protocol: 'ddp', useSsl: useSsl(server) }); await sdk.login({ resume }); @@ -116,13 +117,13 @@ export default async function logout(this: IRocketChat, { server }: { server: st try { // RC 0.60.0 - await this.sdk.logout(); + await sdk.current.logout(); } catch (e) { log(e); } - if (this.sdk) { - this.sdk = null; + if (sdk.current) { + sdk.disconnect(); } await removeServerData({ server }); diff --git a/app/lib/methods/readMessages.ts b/app/lib/methods/readMessages.ts index 344ce9ebb..339000a3a 100644 --- a/app/lib/methods/readMessages.ts +++ b/app/lib/methods/readMessages.ts @@ -1,15 +1,16 @@ import database from '../database'; import log from '../../utils/log'; import { TSubscriptionModel } from '../../definitions'; -import { IRocketChat } from '../../definitions/IRocketChat'; +import sdk from '../rocketchat/services/sdk'; -export default async function readMessages(this: IRocketChat, rid: string, ls: Date, updateLastOpen = false): Promise<void> { +export default async function readMessages(rid: string, ls: Date, updateLastOpen = false): Promise<void> { try { const db = database.active; const subscription = await db.get('subscriptions').find(rid); // RC 0.61.0 - await this.sdk.post('subscriptions.read', { rid }); + // @ts-ignore + await sdk.post('subscriptions.read', { rid }); await db.write(async () => { try { diff --git a/app/lib/methods/sendFileMessage.ts b/app/lib/methods/sendFileMessage.ts index cc11606b6..e282f5555 100644 --- a/app/lib/methods/sendFileMessage.ts +++ b/app/lib/methods/sendFileMessage.ts @@ -37,9 +37,9 @@ export async function cancelUpload(item: TUploadModel): Promise<void> { export function sendFileMessage( rid: string, fileInfo: IUpload, - tmid: string, + tmid: string | undefined, server: string, - user: IUser + user: Partial<Pick<IUser, 'id' | 'token'>> ): Promise<FetchBlobResponse | void> { return new Promise(async (resolve, reject) => { try { diff --git a/app/lib/methods/sendMessage.js b/app/lib/methods/sendMessage.ts similarity index 73% rename from app/lib/methods/sendMessage.js rename to app/lib/methods/sendMessage.ts index 1a1ff9934..d41d38612 100644 --- a/app/lib/methods/sendMessage.js +++ b/app/lib/methods/sendMessage.ts @@ -1,4 +1,5 @@ import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord'; +import { Model } from '@nozbe/watermelondb'; import messagesStatus from '../../constants/messagesStatus'; import database from '../database'; @@ -6,12 +7,14 @@ import log from '../../utils/log'; import random from '../../utils/random'; import { Encryption } from '../encryption'; import { E2E_MESSAGE_TYPE, E2E_STATUS } from '../encryption/constants'; +import { E2EType, IMessage, IUser, TMessageModel } from '../../definitions'; +import sdk from '../rocketchat/services/sdk'; -const changeMessageStatus = async (id, tmid, status, message) => { +const changeMessageStatus = async (id: string, status: number, tmid?: string, message?: IMessage) => { const db = database.active; const msgCollection = db.get('messages'); const threadMessagesCollection = db.get('thread_messages'); - const successBatch = []; + const successBatch: Model[] = []; const messageRecord = await msgCollection.find(id); successBatch.push( messageRecord.prepareUpdate(m => { @@ -37,7 +40,7 @@ const changeMessageStatus = async (id, tmid, status, message) => { } try { - await db.action(async () => { + await db.write(async () => { await db.batch(...successBatch); }); } catch (error) { @@ -45,48 +48,50 @@ const changeMessageStatus = async (id, tmid, status, message) => { } }; -export async function sendMessageCall(message) { +export async function sendMessageCall(message: any) { const { _id, tmid } = message; try { - const sdk = this.shareSDK || this.sdk; // RC 0.60.0 + // @ts-ignore const result = await sdk.post('chat.sendMessage', { message }); if (result.success) { - return changeMessageStatus(_id, tmid, messagesStatus.SENT, result.message); + // @ts-ignore + return changeMessageStatus(_id, messagesStatus.SENT, tmid, result.message); } } catch { // do nothing } - return changeMessageStatus(_id, tmid, messagesStatus.ERROR); + return changeMessageStatus(_id, messagesStatus.ERROR, tmid); } -export async function resendMessage(message, tmid) { +export async function resendMessage(message: TMessageModel, tmid?: string) { const db = database.active; try { - await db.action(async () => { + await db.write(async () => { await message.update(m => { m.status = messagesStatus.TEMP; }); }); - let m = { + const m = await Encryption.encryptMessage({ _id: message.id, - rid: message.subscription.id, - msg: message.msg - }; - if (tmid) { - m = { - ...m, - tmid - }; - } - m = await Encryption.encryptMessage(m); - await sendMessageCall.call(this, m); + rid: message.subscription ? message.subscription.id : '', + msg: message.msg, + ...(tmid && { tmid }) + } as IMessage); + + await sendMessageCall(m); } catch (e) { log(e); } } -export default async function (rid, msg, tmid, user, tshow) { +export default async function ( + rid: string, + msg: string, + tmid: string | undefined, + user: Partial<Pick<IUser, 'id' | 'username' | 'name'>>, + tshow?: boolean +): Promise<void> { try { const db = database.active; const subsCollection = db.get('subscriptions'); @@ -94,19 +99,18 @@ export default async function (rid, msg, tmid, user, tshow) { const threadCollection = db.get('threads'); const threadMessagesCollection = db.get('thread_messages'); const messageId = random(17); - const batch = []; + const batch: Model[] = []; - let message = { + const message = await Encryption.encryptMessage({ _id: messageId, rid, msg, tmid, tshow - }; - message = await Encryption.encryptMessage(message); + } as IMessage); const messageDate = new Date(); - let tMessageRecord; + let tMessageRecord: TMessageModel; // If it's replying to a thread if (tmid) { @@ -116,7 +120,9 @@ export default async function (rid, msg, tmid, user, tshow) { batch.push( tMessageRecord.prepareUpdate(m => { m.tlm = messageDate; - m.tcount += 1; + if (m.tcount) { + m.tcount += 1; + } }) ); @@ -128,7 +134,9 @@ export default async function (rid, msg, tmid, user, tshow) { batch.push( threadCollection.prepareCreate(tm => { tm._raw = sanitizedRaw({ id: tmid }, threadCollection.schema); - tm.subscription.id = rid; + if (tm.subscription) { + tm.subscription.id = rid; + } tm.tmid = tmid; tm.msg = tMessageRecord.msg; tm.ts = tMessageRecord.ts; @@ -137,7 +145,7 @@ export default async function (rid, msg, tmid, user, tshow) { tm.u = tMessageRecord.u; tm.t = message.t; if (message.t === E2E_MESSAGE_TYPE) { - tm.e2e = E2E_STATUS.DONE; + tm.e2e = E2E_STATUS.DONE as E2EType; } }) ); @@ -147,7 +155,9 @@ export default async function (rid, msg, tmid, user, tshow) { batch.push( threadMessagesCollection.prepareCreate(tm => { tm._raw = sanitizedRaw({ id: messageId }, threadMessagesCollection.schema); - tm.subscription.id = rid; + if (tm.subscription) { + tm.subscription.id = rid; + } tm.rid = tmid; tm.msg = msg; tm.ts = messageDate; @@ -160,7 +170,7 @@ export default async function (rid, msg, tmid, user, tshow) { }; tm.t = message.t; if (message.t === E2E_MESSAGE_TYPE) { - tm.e2e = E2E_STATUS.DONE; + tm.e2e = E2E_STATUS.DONE as E2EType; } }) ); @@ -173,7 +183,9 @@ export default async function (rid, msg, tmid, user, tshow) { batch.push( msgCollection.prepareCreate(m => { m._raw = sanitizedRaw({ id: messageId }, msgCollection.schema); - m.subscription.id = rid; + if (m.subscription) { + m.subscription.id = rid; + } m.msg = msg; m.ts = messageDate; m._updatedAt = messageDate; @@ -191,7 +203,7 @@ export default async function (rid, msg, tmid, user, tshow) { } m.t = message.t; if (message.t === E2E_MESSAGE_TYPE) { - m.e2e = E2E_STATUS.DONE; + m.e2e = E2E_STATUS.DONE as E2EType; } }) ); @@ -210,7 +222,7 @@ export default async function (rid, msg, tmid, user, tshow) { } try { - await db.action(async () => { + await db.write(async () => { await db.batch(...batch); }); } catch (e) { @@ -218,7 +230,7 @@ export default async function (rid, msg, tmid, user, tshow) { return; } - await sendMessageCall.call(this, message); + await sendMessageCall(message); } catch (e) { log(e); } diff --git a/app/lib/methods/subscriptions/room.js b/app/lib/methods/subscriptions/room.ts similarity index 76% rename from app/lib/methods/subscriptions/room.js rename to app/lib/methods/subscriptions/room.ts index 3aa0a206d..ce2bf766a 100644 --- a/app/lib/methods/subscriptions/room.js +++ b/app/lib/methods/subscriptions/room.ts @@ -15,11 +15,30 @@ import debounce from '../../../utils/debounce'; import RocketChat from '../../rocketchat'; import { subscribeRoom, unsubscribeRoom } from '../../../actions/room'; import { Encryption } from '../../encryption'; +import { IMessage, TMessageModel, TSubscriptionModel, TThreadMessageModel, TThreadModel } from '../../../definitions'; +import { IDDPMessage } from '../../../definitions/IDDPMessage'; const WINDOW_TIME = 1000; export default class RoomSubscription { - constructor(rid) { + private rid: string; + private isAlive: boolean; + private timer: null | number; + private queue: { [key: string]: IMessage }; + private messagesBatch: {}; + private _messagesBatch: { [key: string]: TMessageModel }; + private threadsBatch: {}; + private _threadsBatch: { [key: string]: TThreadModel }; + private threadMessagesBatch: {}; + private _threadMessagesBatch: { [key: string]: TThreadMessageModel }; + private promises?: Promise<TSubscriptionModel[]>; + private connectedListener?: Promise<any>; + private disconnectedListener?: Promise<any>; + private notifyRoomListener?: Promise<any>; + private messageReceivedListener?: Promise<any>; + private lastOpen?: Date; + + constructor(rid: string) { this.rid = rid; this.isAlive = true; this.timer = null; @@ -27,6 +46,10 @@ export default class RoomSubscription { this.messagesBatch = {}; this.threadsBatch = {}; this.threadMessagesBatch = {}; + + this._messagesBatch = {}; + this._threadsBatch = {}; + this._threadMessagesBatch = {}; } subscribe = async () => { @@ -41,7 +64,7 @@ export default class RoomSubscription { this.notifyRoomListener = RocketChat.onStreamData('stream-notify-room', this.handleNotifyRoomReceived); this.messageReceivedListener = RocketChat.onStreamData('stream-room-messages', this.handleMessageReceived); if (!this.isAlive) { - this.unsubscribe(); + await this.unsubscribe(); } reduxStore.dispatch(subscribeRoom(this.rid)); @@ -69,7 +92,7 @@ export default class RoomSubscription { } }; - removeListener = async promise => { + removeListener = async (promise?: Promise<any>): Promise<void> => { if (promise) { try { const listener = await promise; @@ -80,12 +103,19 @@ export default class RoomSubscription { } }; - handleConnection = () => { - reduxStore.dispatch(clearUserTyping()); - RocketChat.loadMissedMessages({ rid: this.rid }).catch(e => console.log(e)); + handleConnection = async () => { + try { + reduxStore.dispatch(clearUserTyping()); + await RocketChat.loadMissedMessages({ rid: this.rid }); + const _lastOpen = new Date(); + this.read(_lastOpen); + this.lastOpen = _lastOpen; + } catch (e) { + log(e); + } }; - handleNotifyRoomReceived = protectedFunction(ddpMessage => { + handleNotifyRoomReceived = protectedFunction((ddpMessage: IDDPMessage) => { const [_rid, ev] = ddpMessage.fields.eventName.split('/'); if (this.rid !== _rid) { return; @@ -115,9 +145,9 @@ export default class RoomSubscription { const msgCollection = db.get('messages'); const threadsCollection = db.get('threads'); const threadMessagesCollection = db.get('thread_messages'); - let deleteMessage; - let deleteThread; - let deleteThreadMessage; + let deleteMessage: TMessageModel; + let deleteThread: TThreadModel; + let deleteThreadMessage: TThreadMessageModel; // Delete message try { @@ -142,7 +172,7 @@ export default class RoomSubscription { } catch (e) { // Do nothing } - await db.action(async () => { + await db.write(async () => { await db.batch(deleteMessage, deleteThread, deleteThreadMessage); }); } catch (e) { @@ -153,11 +183,11 @@ export default class RoomSubscription { } }); - read = debounce(lastOpen => { + read = debounce((lastOpen: Date) => { RocketChat.readMessages(this.rid, lastOpen); }, 300); - updateMessage = message => + updateMessage = (message: IMessage): Promise<void> => new Promise(async resolve => { if (this.rid !== message.rid) { return resolve(); @@ -177,15 +207,15 @@ export default class RoomSubscription { const messageRecord = await getMessageById(message._id); if (messageRecord) { operation = messageRecord.prepareUpdate( - protectedFunction(m => { + protectedFunction((m: TMessageModel) => { Object.assign(m, message); }) ); } else { operation = msgCollection.prepareCreate( - protectedFunction(m => { + protectedFunction((m: TMessageModel) => { m._raw = sanitizedRaw({ id: message._id }, msgCollection.schema); - m.subscription.id = this.rid; + if (m.subscription) m.subscription.id = this.rid; Object.assign(m, message); }) ); @@ -202,15 +232,15 @@ export default class RoomSubscription { const threadRecord = await getThreadById(message._id); if (threadRecord) { operation = threadRecord.prepareUpdate( - protectedFunction(t => { + protectedFunction((t: TThreadModel) => { Object.assign(t, message); }) ); } else { operation = threadsCollection.prepareCreate( - protectedFunction(t => { + protectedFunction((t: TThreadModel) => { t._raw = sanitizedRaw({ id: message._id }, threadsCollection.schema); - t.subscription.id = this.rid; + if (t.subscription) t.subscription.id = this.rid; Object.assign(t, message); }) ); @@ -228,20 +258,26 @@ export default class RoomSubscription { const threadMessageRecord = await getThreadMessageById(message._id); if (threadMessageRecord) { operation = threadMessageRecord.prepareUpdate( - protectedFunction(tm => { + protectedFunction((tm: TThreadMessageModel) => { Object.assign(tm, message); - tm.rid = message.tmid; - delete tm.tmid; + if (message.tmid) { + tm.rid = message.tmid; + delete tm.tmid; + } }) ); } else { operation = threadMessagesCollection.prepareCreate( - protectedFunction(tm => { + protectedFunction((tm: TThreadMessageModel) => { tm._raw = sanitizedRaw({ id: message._id }, threadMessagesCollection.schema); Object.assign(tm, message); - tm.subscription.id = this.rid; - tm.rid = message.tmid; - delete tm.tmid; + if (tm.subscription) { + tm.subscription.id = this.rid; + } + if (message.tmid) { + tm.rid = message.tmid; + delete tm.tmid; + } }) ); } @@ -254,7 +290,7 @@ export default class RoomSubscription { return resolve(); }); - handleMessageReceived = ddpMessage => { + handleMessageReceived = (ddpMessage: IDDPMessage) => { if (!this.timer) { this.timer = setTimeout(async () => { // copy variables values to local and clean them @@ -280,7 +316,7 @@ export default class RoomSubscription { try { const db = database.active; - await db.action(async () => { + await db.write(async () => { await db.batch( ...Object.values(this._messagesBatch), ...Object.values(this._threadsBatch), @@ -300,7 +336,7 @@ export default class RoomSubscription { }, WINDOW_TIME); } this.lastOpen = new Date(); - const message = buildMessage(EJSON.fromJSONValue(ddpMessage.fields.args[0])); + const message = buildMessage(EJSON.fromJSONValue(ddpMessage.fields.args[0])) as IMessage; this.queue[message._id] = message; }; } diff --git a/app/lib/methods/subscriptions/rooms.js b/app/lib/methods/subscriptions/rooms.ts similarity index 75% rename from app/lib/methods/subscriptions/rooms.js rename to app/lib/methods/subscriptions/rooms.ts index 9e1cf8519..f6af324b9 100644 --- a/app/lib/methods/subscriptions/rooms.js +++ b/app/lib/methods/subscriptions/rooms.ts @@ -1,11 +1,11 @@ import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord'; import { InteractionManager } from 'react-native'; import EJSON from 'ejson'; +import Model from '@nozbe/watermelondb/Model'; import database from '../../database'; import { merge } from '../helpers/mergeSubscriptionsRooms'; import protectedFunction from '../helpers/protectedFunction'; -import messagesStatus from '../../../constants/messagesStatus'; import log from '../../../utils/log'; import random from '../../../utils/random'; import { store } from '../../auxStore'; @@ -19,16 +19,30 @@ import { INAPP_NOTIFICATION_EMITTER } from '../../../containers/InAppNotificatio import { Encryption } from '../../encryption'; import { E2E_MESSAGE_TYPE } from '../../encryption/constants'; import updateMessages from '../updateMessages'; +import { + IMessage, + IServerRoom, + IRoom, + ISubscription, + TMessageModel, + TRoomModel, + TThreadMessageModel, + TThreadModel +} from '../../../definitions'; +import sdk from '../../rocketchat/services/sdk'; +import { IDDPMessage } from '../../../definitions/IDDPMessage'; +import { getSubscriptionByRoomId } from '../../database/services/Subscription'; +import { getMessageById } from '../../database/services/Message'; -const removeListener = listener => listener.stop(); +const removeListener = (listener: { stop: () => void }) => listener.stop(); -let streamListener; -let subServer; -let queue = {}; -let subTimer = null; +let streamListener: Promise<any> | false; +let subServer: string; +let queue: { [key: string]: ISubscription | IRoom } = {}; +let subTimer: number | null | false = null; const WINDOW_TIME = 500; -const createOrUpdateSubscription = async (subscription, room) => { +const createOrUpdateSubscription = async (subscription: ISubscription, room: IServerRoom | IRoom) => { try { const db = database.active; const subCollection = db.get('subscriptions'); @@ -86,12 +100,12 @@ const createOrUpdateSubscription = async (subscription, room) => { e2eKeyId: s.e2eKeyId, E2EKey: s.E2EKey, avatarETag: s.avatarETag - }; + } as ISubscription; } catch (error) { try { - await db.action(async () => { + await db.write(async () => { await roomsCollection.create( - protectedFunction(r => { + protectedFunction((r: TRoomModel) => { r._raw = sanitizedRaw({ id: room._id }, roomsCollection.schema); Object.assign(r, room); }) @@ -121,20 +135,15 @@ const createOrUpdateSubscription = async (subscription, room) => { departmentId: r.departmentId, livechatData: r.livechatData, avatarETag: r.avatarETag - }; + } as IRoom; } catch (error) { // Do nothing } } let tmp = merge(subscription, room); - tmp = await Encryption.decryptSubscription(tmp); - let sub; - try { - sub = await subCollection.find(tmp.rid); - } catch (error) { - // Do nothing - } + tmp = (await Encryption.decryptSubscription(tmp)) as ISubscription; + const sub = await getSubscriptionByRoomId(tmp.rid); // If we're receiving a E2EKey of a room if (sub && !sub.E2EKey && subscription?.E2EKey) { @@ -148,12 +157,12 @@ const createOrUpdateSubscription = async (subscription, room) => { e2eKeyId: sub.e2eKeyId }); // Decrypt lastMessage using the received E2EKey - tmp = await Encryption.decryptSubscription(tmp); + tmp = (await Encryption.decryptSubscription(tmp)) as ISubscription; // Decrypt all pending messages of this room in parallel Encryption.decryptPendingMessages(tmp.rid); } - const batch = []; + const batch: Model[] = []; if (sub) { try { const update = sub.prepareUpdate(s => { @@ -187,11 +196,9 @@ const createOrUpdateSubscription = async (subscription, room) => { if (tmp.lastMessage && !rooms.includes(tmp.rid)) { const lastMessage = buildMessage(tmp.lastMessage); const messagesCollection = db.get('messages'); - let messageRecord; - try { - messageRecord = await messagesCollection.find(lastMessage._id); - } catch (error) { - // Do nothing + let messageRecord = {} as TMessageModel | null; + if (lastMessage) { + messageRecord = await getMessageById(lastMessage._id); } if (messageRecord) { @@ -203,15 +210,19 @@ const createOrUpdateSubscription = async (subscription, room) => { } else { batch.push( messagesCollection.prepareCreate(m => { - m._raw = sanitizedRaw({ id: lastMessage._id }, messagesCollection.schema); - m.subscription.id = lastMessage.rid; + if (lastMessage) { + m._raw = sanitizedRaw({ id: lastMessage._id }, messagesCollection.schema); + if (m.subscription) { + m.subscription.id = lastMessage.rid; + } + } return Object.assign(m, lastMessage); }) ); } } - await db.action(async () => { + await db.write(async () => { await db.batch(...batch); }); } catch (e) { @@ -219,11 +230,11 @@ const createOrUpdateSubscription = async (subscription, room) => { } }; -const getSubQueueId = rid => `SUB-${rid}`; +const getSubQueueId = (rid: string) => `SUB-${rid}`; -const getRoomQueueId = rid => `ROOM-${rid}`; +const getRoomQueueId = (rid: string) => `ROOM-${rid}`; -const debouncedUpdate = subscription => { +const debouncedUpdate = (subscription: ISubscription) => { if (!subTimer) { subTimer = setTimeout(() => { const batch = queue; @@ -233,15 +244,15 @@ const debouncedUpdate = subscription => { InteractionManager.runAfterInteractions(() => { if (batch[key]) { if (/SUB/.test(key)) { - const sub = batch[key]; + const sub = batch[key] as ISubscription; const roomQueueId = getRoomQueueId(sub.rid); - const room = batch[roomQueueId]; + const room = batch[roomQueueId] as IRoom; delete batch[roomQueueId]; createOrUpdateSubscription(sub, room); } else { - const room = batch[key]; + const room = batch[key] as IRoom; const subQueueId = getSubQueueId(room._id); - const sub = batch[subQueueId]; + const sub = batch[subQueueId] as ISubscription; delete batch[subQueueId]; createOrUpdateSubscription(sub, room); } @@ -254,11 +265,11 @@ const debouncedUpdate = subscription => { }; export default function subscribeRooms() { - const handleStreamMessageReceived = protectedFunction(async ddpMessage => { + const handleStreamMessageReceived = protectedFunction(async (ddpMessage: IDDPMessage) => { const db = database.active; // check if the server from variable is the same as the js sdk client - if (this.sdk && this.sdk.client && this.sdk.client.host !== subServer) { + if (sdk && sdk.current.client && sdk.current.client.host !== subServer) { return; } if (ddpMessage.msg === 'added') { @@ -271,7 +282,7 @@ export default function subscribeRooms() { if (diff?.statusLivechat) { store.dispatch(setUser({ statusLivechat: diff.statusLivechat })); } - if (['settings.preferences.showMessageInMainThread'] in diff) { + if ((['settings.preferences.showMessageInMainThread'] as any) in diff) { store.dispatch(setUser({ showMessageInMainThread: diff['settings.preferences.showMessageInMainThread'] })); } } @@ -280,13 +291,19 @@ export default function subscribeRooms() { try { const subCollection = db.get('subscriptions'); const sub = await subCollection.find(data.rid); - const messages = await sub.messages.fetch(); - const threads = await sub.threads.fetch(); - const threadMessages = await sub.threadMessages.fetch(); - const messagesToDelete = messages.map(m => m.prepareDestroyPermanently()); - const threadsToDelete = threads.map(m => m.prepareDestroyPermanently()); - const threadMessagesToDelete = threadMessages.map(m => m.prepareDestroyPermanently()); - await db.action(async () => { + // TODO - today the Relation type from watermelon just support one to one relations + // @ts-ignore + const messages = (await sub.messages.fetch()) as TMessageModel[]; + // @ts-ignore + const threads = (await sub.threads.fetch()) as TThreadModel[]; + // @ts-ignore + const threadMessages = (await sub.threadMessages.fetch()) as TThreadMessageModel[]; + + const messagesToDelete = messages?.map((m: TMessageModel) => m.prepareDestroyPermanently()); + const threadsToDelete = threads?.map((m: TThreadModel) => m.prepareDestroyPermanently()); + const threadMessagesToDelete = threadMessages?.map((m: TThreadMessageModel) => m.prepareDestroyPermanently()); + + await db.write(async () => { await db.batch(sub.prepareDestroyPermanently(), ...messagesToDelete, ...threadsToDelete, ...threadMessagesToDelete); }); @@ -315,13 +332,14 @@ export default function subscribeRooms() { const [args] = ddpMessage.fields.args; const _id = random(17); const message = { + // @ts-ignore u: { _id, username: 'rocket.cat', name: 'Rocket Cat' }, ...buildMessage(EJSON.fromJSONValue(args)) - }; + } as IMessage; await updateMessages({ rid: args.rid, update: [message] }); } catch (e) { log(e); @@ -380,12 +398,12 @@ export default function subscribeRooms() { } }; - streamListener = this.sdk.onStreamData('stream-notify-user', handleStreamMessageReceived); + streamListener = sdk.onStreamData('stream-notify-user', handleStreamMessageReceived); try { // set the server that started this task - subServer = this.sdk.client.host; - this.sdk.subscribeNotifyUser().catch(e => console.log(e)); + subServer = sdk.current.client.host; + sdk.current.subscribeNotifyUser().catch((e: unknown) => console.log(e)); return { stop: () => stop() diff --git a/app/lib/methods/updateMessages.ts b/app/lib/methods/updateMessages.ts index dd1f535cb..4a8c9bb58 100644 --- a/app/lib/methods/updateMessages.ts +++ b/app/lib/methods/updateMessages.ts @@ -1,19 +1,19 @@ -import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord'; import { Q } from '@nozbe/watermelondb'; +import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord'; -import database from '../database'; -import { Encryption } from '../encryption'; import { MESSAGE_TYPE_ANY_LOAD } from '../../constants/messageTypeLoad'; -import { generateLoadMoreId } from '../utils'; -import protectedFunction from './helpers/protectedFunction'; -import buildMessage from './helpers/buildMessage'; -import { IMessage, TMessageModel, TThreadMessageModel, TThreadModel } from '../../definitions'; +import { IMessage, TMessageModel, TSubscriptionModel, TThreadMessageModel, TThreadModel } from '../../definitions'; +import database from '../database'; import { getSubscriptionByRoomId } from '../database/services/Subscription'; +import { Encryption } from '../encryption'; +import { generateLoadMoreId } from '../utils'; +import buildMessage from './helpers/buildMessage'; +import protectedFunction from './helpers/protectedFunction'; interface IUpdateMessages { rid: string; - update: IMessage[]; - remove?: IMessage[]; + update: Partial<IMessage>[]; + remove?: Partial<IMessage>[]; loaderItem?: TMessageModel; } @@ -27,9 +27,11 @@ export default async function updateMessages({ return Promise.resolve(0); } - const sub = await getSubscriptionByRoomId(rid); + let sub = (await getSubscriptionByRoomId(rid)) as TSubscriptionModel; if (!sub) { - throw new Error('updateMessages: subscription not found'); + sub = { id: rid } as any; + // TODO: If I didn't join the room I obviously don't have a subscription, this error catch is imperfect. Think of a way to handle the error when I actually try to open a room without subscription. + console.log('updateMessages: subscription not found'); } const db = database.active; @@ -37,7 +39,7 @@ export default async function updateMessages({ // Decrypt these messages update = await Encryption.decryptMessages(update); - const messagesIds: string[] = [...update.map(m => m._id), ...remove.map(m => m._id)]; + const messagesIds: string[] = [...update.map(m => m._id as string), ...remove.map(m => m._id as string)]; const msgCollection = db.get('messages'); const threadCollection = db.get('threads'); const threadMessagesCollection = db.get('thread_messages'); @@ -49,11 +51,11 @@ export default async function updateMessages({ .query(Q.where('subscription_id', rid), Q.where('id', Q.oneOf(messagesIds))) .fetch(); - update = update.map(m => buildMessage(m)); + update = update.map(m => buildMessage(m)) as IMessage[]; // filter loaders to delete let loadersToDelete: TMessageModel[] = allMessagesRecords.filter(i1 => - update.find(i2 => i1.id === generateLoadMoreId(i2._id)) + update.find(i2 => i1.id === generateLoadMoreId(i2._id as string)) ); // Delete @@ -105,7 +107,9 @@ export default async function updateMessages({ threadCollection.prepareCreate( protectedFunction((t: TThreadModel) => { t._raw = sanitizedRaw({ id: thread._id }, threadCollection.schema); - t.subscription.id = sub.id; + if (t.subscription) { + t.subscription.id = sub.id; + } Object.assign(t, thread); }) ) diff --git a/app/lib/rocketchat/methods/roomTypeToApiType.ts b/app/lib/rocketchat/methods/roomTypeToApiType.ts index ecc0d16c2..4473c5d38 100644 --- a/app/lib/rocketchat/methods/roomTypeToApiType.ts +++ b/app/lib/rocketchat/methods/roomTypeToApiType.ts @@ -1,14 +1,28 @@ -const types = { - c: 'channels', - d: 'im', - p: 'groups', - l: 'channels' +enum ETypes { + Channels = 'channels', + Im = 'im', + Groups = 'groups' +} + +export type RoomTypes = 'c' | 'd' | 'p' | 'l'; + +type ApiTypes<T> = T extends 'c' + ? ETypes.Channels + : T extends 'd' + ? ETypes.Im + : T extends 'p' + ? ETypes.Groups + : T extends 'l' + ? ETypes.Channels + : never; + +export const types: { [K in RoomTypes]: ApiTypes<K> } = { + c: ETypes.Channels, + d: ETypes.Im, + p: ETypes.Groups, + l: ETypes.Channels }; -// TODO: refactor this -export type RoomTypes = keyof typeof types; -type ApiTypes = typeof types[RoomTypes]; - -const roomTypeToApiType = (t: RoomTypes): ApiTypes => types[t]; +const roomTypeToApiType = <T extends RoomTypes>(t: T) => types[t]; export default roomTypeToApiType; diff --git a/app/lib/rocketchat/methods/search.ts b/app/lib/rocketchat/methods/search.ts new file mode 100644 index 000000000..136dce0b6 --- /dev/null +++ b/app/lib/rocketchat/methods/search.ts @@ -0,0 +1,98 @@ +import { Q } from '@nozbe/watermelondb'; + +import { sanitizeLikeString } from '../../database/utils'; +import database from '../../database/index'; +import { spotlight } from '../services/restApi'; +import isGroupChat from './isGroupChat'; +import { ISearch, ISearchLocal, SubscriptionType } from '../../../definitions'; + +let debounce: null | ((reason: string) => void) = null; + +export const localSearch = async ({ text = '', filterUsers = true, filterRooms = true }): Promise<(ISearch | ISearchLocal)[]> => { + const searchText = text.trim(); + const db = database.active; + const likeString = sanitizeLikeString(searchText); + let subscriptions = await db + .get('subscriptions') + .query( + Q.or(Q.where('name', Q.like(`%${likeString}%`)), Q.where('fname', Q.like(`%${likeString}%`))), + Q.experimentalSortBy('room_updated_at', Q.desc) + ) + .fetch(); + + if (filterUsers && !filterRooms) { + subscriptions = subscriptions.filter(item => item.t === 'd' && !isGroupChat(item)); + } else if (!filterUsers && filterRooms) { + subscriptions = subscriptions.filter(item => item.t !== 'd' || isGroupChat(item)); + } + + const sliceSubscriptions = subscriptions.slice(0, 7); + + const search = sliceSubscriptions.map(sub => ({ + rid: sub.rid, + name: sub.name, + fname: sub?.fname || '', + avatarETag: sub?.avatarETag || '', + t: sub.t, + encrypted: sub?.encrypted || null, + lastMessage: sub.lastMessage, + ...(sub.teamId && { teamId: sub.teamId }) + })) as (ISearch | ISearchLocal)[]; + + return search; +}; + +export const search = async ({ text = '', filterUsers = true, filterRooms = true }): Promise<(ISearch | ISearchLocal)[]> => { + const searchText = text.trim(); + + if (debounce) { + debounce('cancel'); + } + + const localSearchData = await localSearch({ text, filterUsers, filterRooms }); + const usernames = localSearchData.map(sub => sub.name); + + const data = localSearchData as (ISearch | ISearchLocal)[]; + + try { + if (localSearchData.length < 7) { + const { users, rooms } = (await Promise.race([ + spotlight(searchText, usernames, { users: filterUsers, rooms: filterRooms }), + new Promise((resolve, reject) => (debounce = reject)) + ])) as { users: ISearch[]; rooms: ISearch[] }; + + if (filterUsers) { + users + .filter((item1, index) => users.findIndex(item2 => item2._id === item1._id) === index) // Remove duplicated data from response + .filter(user => !data.some(sub => user.username === sub.name)) // Make sure to remove users already on local database + .forEach(user => { + data.push({ + ...user, + rid: user.username, + name: user.username, + t: SubscriptionType.DIRECT, + search: true + }); + }); + } + if (filterRooms) { + rooms.forEach(room => { + // Check if it exists on local database + const index = data.findIndex(item => item.rid === room._id); + if (index === -1) { + data.push({ + ...room, + rid: room._id, + search: true + }); + } + }); + } + } + debounce = null; + return data; + } catch (e) { + console.warn(e); + return data; + } +}; diff --git a/app/lib/rocketchat/rocketchat.js b/app/lib/rocketchat/rocketchat.js index b2171eacd..155b5a545 100644 --- a/app/lib/rocketchat/rocketchat.js +++ b/app/lib/rocketchat/rocketchat.js @@ -1,30 +1,12 @@ import { Q } from '@nozbe/watermelondb'; -import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord'; import AsyncStorage from '@react-native-community/async-storage'; -import { Rocketchat as RocketchatClient, settings as RocketChatSettings } from '@rocket.chat/sdk'; import { InteractionManager } from 'react-native'; -import RNFetchBlob from 'rn-fetch-blob'; import { setActiveUsers } from '../../actions/activeUsers'; -import { connectRequest, connectSuccess, disconnect } from '../../actions/connect'; -import { encryptionInit } from '../../actions/encryption'; -import { loginRequest, setLoginServices, setUser } from '../../actions/login'; -import { updatePermission } from '../../actions/permissions'; -import { selectServerFailure } from '../../actions/server'; -import { updateSettings } from '../../actions/settings'; -import { shareSelectServer, shareSetSettings, shareSetUser } from '../../actions/share'; +import { setUser } from '../../actions/login'; import defaultSettings from '../../constants/settings'; -import I18n from '../../i18n'; import { getDeviceToken } from '../../notifications/push'; -import { getBundleId, isIOS } from '../../utils/deviceInfo'; -import EventEmitter from '../../utils/events'; -import fetch from '../../utils/fetch'; import log from '../../utils/log'; -import SSLPinning from '../../utils/sslPinning'; -import { twoFactor } from '../../utils/twoFactor'; -import { useSsl } from '../../utils/url'; import database from '../database'; -import { sanitizeLikeString } from '../database/utils'; -import { Encryption } from '../encryption'; import triggerBlockAction, { triggerCancel, triggerSubmitView } from '../methods/actions'; import callJitsi, { callJitsiWithoutServer } from '../methods/callJitsi'; import canOpenRoom from '../methods/canOpenRoom'; @@ -36,11 +18,10 @@ import { } from '../methods/enterpriseModules'; import { getCustomEmojis, setCustomEmojis } from '../methods/getCustomEmojis'; import { getPermissions, setPermissions } from '../methods/getPermissions'; -import { getRoles, onRolesChanged, setRoles } from '../methods/getRoles'; +import { getRoles, setRoles } from '../methods/getRoles'; import getRooms from '../methods/getRooms'; import getSettings, { getLoginSettings, setSettings, subscribeSettings } from '../methods/getSettings'; import getSlashCommands from '../methods/getSlashCommands'; -import protectedFunction from '../methods/helpers/protectedFunction'; import loadMessagesForRoom from '../methods/loadMessagesForRoom'; import loadMissedMessages from '../methods/loadMissedMessages'; import loadNextMessages from '../methods/loadNextMessages'; @@ -62,10 +43,27 @@ import getRoom from './methods/getRoom'; import isGroupChat from './methods/isGroupChat'; import roomTypeToApiType from './methods/roomTypeToApiType'; import getUserInfo from './services/getUserInfo'; +import * as search from './methods/search'; // Services import sdk from './services/sdk'; import toggleFavorite from './services/toggleFavorite'; -import * as restAPis from './services/restApi'; +import { + login, + loginTOTP, + loginWithPassword, + loginOAuthOrSso, + getLoginServices, + determineAuthType, + disconnect, + checkAndReopen, + abort, + getServerInfo, + getWebsocketInfo, + stopListener, + connect +} from './services/connect'; +import { shareExtensionInit, closeShareExtension } from './services/shareExtension'; +import * as restApis from './services/restApi'; const TOKEN_KEY = 'reactnativemeteor_usertoken'; const CURRENT_SERVER = 'currentServer'; @@ -74,15 +72,15 @@ const CERTIFICATE_KEY = 'RC_CERTIFICATE_KEY'; export const THEME_PREFERENCES_KEY = 'RC_THEME_PREFERENCES_KEY'; export const CRASH_REPORT_KEY = 'RC_CRASH_REPORT_KEY'; export const ANALYTICS_EVENTS_KEY = 'RC_ANALYTICS_EVENTS_KEY'; -const MIN_ROCKETCHAT_VERSION = '0.70.0'; - -const STATUSES = ['offline', 'online', 'away', 'busy']; +export const MIN_ROCKETCHAT_VERSION = '0.70.0'; +export const STATUSES = ['offline', 'online', 'away', 'busy']; const RocketChat = { TOKEN_KEY, CURRENT_SERVER, CERTIFICATE_KEY, - ...restAPis, + ...restApis, + ...search, callJitsi, callJitsiWithoutServer, async subscribeRooms() { @@ -101,489 +99,20 @@ const RocketChat = { } }, canOpenRoom, - async getWebsocketInfo({ server }) { - const sdk = new RocketchatClient({ host: server, protocol: 'ddp', useSsl: useSsl(server) }); - - try { - await sdk.connect(); - } catch (err) { - if (err.message && err.message.includes('400')) { - return { - success: false, - message: I18n.t('Websocket_disabled', { contact: I18n.t('Contact_your_server_admin') }) - }; - } - } - - sdk.disconnect(); - - return { - success: true - }; - }, - async getServerInfo(server) { - try { - const response = await RNFetchBlob.fetch('GET', `${server}/api/info`, { ...RocketChatSettings.customHeaders }); - try { - // Try to resolve as json - const jsonRes = response.json(); - if (!jsonRes?.success) { - return { - success: false, - message: I18n.t('Not_RC_Server', { contact: I18n.t('Contact_your_server_admin') }) - }; - } - if (compareServerVersion(jsonRes.version, 'lowerThan', MIN_ROCKETCHAT_VERSION)) { - return { - success: false, - message: I18n.t('Invalid_server_version', { - currentVersion: jsonRes.version, - minVersion: MIN_ROCKETCHAT_VERSION - }) - }; - } - return jsonRes; - } catch (error) { - // Request is successful, but response isn't a json - } - } catch (e) { - if (e?.message) { - if (e.message === 'Aborted') { - reduxStore.dispatch(selectServerFailure()); - throw e; - } - return { - success: false, - message: e.message - }; - } - } - - return { - success: false, - message: I18n.t('Not_RC_Server', { contact: I18n.t('Contact_your_server_admin') }) - }; - }, - stopListener(listener) { - return listener && listener.stop(); - }, + getWebsocketInfo, + getServerInfo, + stopListener, // Abort all requests and create a new AbortController - abort() { - if (this.controller) { - this.controller.abort(); - if (this.sdk) { - this.sdk.abort(); - } - } - this.controller = new AbortController(); - }, - checkAndReopen() { - return this?.sdk?.checkAndReopen(); - }, - disconnect() { - this.sdk = sdk.disconnect(); - }, - connect({ server, user, logoutOnError = false }) { - return new Promise(resolve => { - if (this?.sdk?.client?.host === server) { - return resolve(); - } else { - this.disconnect(); - database.setActiveDB(server); - } - reduxStore.dispatch(connectRequest()); - - if (this.connectTimeout) { - clearTimeout(this.connectTimeout); - } - - if (this.connectingListener) { - this.connectingListener.then(this.stopListener); - } - - if (this.connectedListener) { - this.connectedListener.then(this.stopListener); - } - - if (this.closeListener) { - this.closeListener.then(this.stopListener); - } - - if (this.usersListener) { - this.usersListener.then(this.stopListener); - } - - if (this.notifyAllListener) { - this.notifyAllListener.then(this.stopListener); - } - - if (this.rolesListener) { - this.rolesListener.then(this.stopListener); - } - - if (this.notifyLoggedListener) { - this.notifyLoggedListener.then(this.stopListener); - } - - this.unsubscribeRooms(); - - EventEmitter.emit('INQUIRY_UNSUBSCRIBE'); - - this.sdk = sdk.initialize(server); - this.getSettings(); - - this.sdk - .connect() - .then(() => { - console.log('connected'); - }) - .catch(err => { - console.log('connect error', err); - }); - - this.connectingListener = this.sdk.onStreamData('connecting', () => { - reduxStore.dispatch(connectRequest()); - }); - - this.connectedListener = this.sdk.onStreamData('connected', () => { - const { connected } = reduxStore.getState().meteor; - if (connected) { - return; - } - reduxStore.dispatch(connectSuccess()); - const { server: currentServer } = reduxStore.getState().server; - if (user?.token && server === currentServer) { - reduxStore.dispatch(loginRequest({ resume: user.token }, logoutOnError)); - } - }); - - this.closeListener = this.sdk.onStreamData('close', () => { - reduxStore.dispatch(disconnect()); - }); - - this.usersListener = this.sdk.onStreamData( - 'users', - protectedFunction(ddpMessage => RocketChat._setUser(ddpMessage)) - ); - - this.notifyAllListener = this.sdk.onStreamData( - 'stream-notify-all', - protectedFunction(async ddpMessage => { - const { eventName } = ddpMessage.fields; - if (/public-settings-changed/.test(eventName)) { - const { _id, value } = ddpMessage.fields.args[1]; - const db = database.active; - const settingsCollection = db.get('settings'); - try { - const settingsRecord = await settingsCollection.find(_id); - const { type } = defaultSettings[_id]; - if (type) { - await db.action(async () => { - await settingsRecord.update(u => { - u[type] = value; - }); - }); - } - reduxStore.dispatch(updateSettings(_id, value)); - } catch (e) { - log(e); - } - } - }) - ); - - this.rolesListener = this.sdk.onStreamData( - 'stream-roles', - protectedFunction(ddpMessage => onRolesChanged(ddpMessage)) - ); - - // RC 4.1 - this.sdk.onStreamData('stream-user-presence', ddpMessage => { - const userStatus = ddpMessage.fields.args[0]; - const { uid } = ddpMessage.fields; - const [, status, statusText] = userStatus; - const newStatus = { status: STATUSES[status], statusText }; - reduxStore.dispatch(setActiveUsers({ [uid]: newStatus })); - - const { user: loggedUser } = reduxStore.getState().login; - if (loggedUser && loggedUser.id === uid) { - reduxStore.dispatch(setUser(newStatus)); - } - }); - - this.notifyLoggedListener = this.sdk.onStreamData( - 'stream-notify-logged', - protectedFunction(async ddpMessage => { - const { eventName } = ddpMessage.fields; - - // `user-status` event is deprecated after RC 4.1 in favor of `stream-user-presence/${uid}` - if (/user-status/.test(eventName)) { - this.activeUsers = this.activeUsers || {}; - if (!this._setUserTimer) { - this._setUserTimer = setTimeout(() => { - const activeUsersBatch = this.activeUsers; - InteractionManager.runAfterInteractions(() => { - reduxStore.dispatch(setActiveUsers(activeUsersBatch)); - }); - this._setUserTimer = null; - return (this.activeUsers = {}); - }, 10000); - } - const userStatus = ddpMessage.fields.args[0]; - const [id, , status, statusText] = userStatus; - this.activeUsers[id] = { status: STATUSES[status], statusText }; - - const { user: loggedUser } = reduxStore.getState().login; - if (loggedUser && loggedUser.id === id) { - reduxStore.dispatch(setUser({ status: STATUSES[status], statusText })); - } - } else if (/updateAvatar/.test(eventName)) { - const { username, etag } = ddpMessage.fields.args[0]; - const db = database.active; - const userCollection = db.get('users'); - try { - const [userRecord] = await userCollection.query(Q.where('username', Q.eq(username))).fetch(); - await db.action(async () => { - await userRecord.update(u => { - u.avatarETag = etag; - }); - }); - } catch { - // We can't create a new record since we don't receive the user._id - } - } else if (/permissions-changed/.test(eventName)) { - const { _id, roles } = ddpMessage.fields.args[1]; - const db = database.active; - const permissionsCollection = db.get('permissions'); - try { - const permissionsRecord = await permissionsCollection.find(_id); - await db.action(async () => { - await permissionsRecord.update(u => { - u.roles = roles; - }); - }); - reduxStore.dispatch(updatePermission(_id, roles)); - } catch (err) { - // - } - } else if (/Users:NameChanged/.test(eventName)) { - const userNameChanged = ddpMessage.fields.args[0]; - const db = database.active; - const userCollection = db.get('users'); - try { - const userRecord = await userCollection.find(userNameChanged._id); - await db.action(async () => { - await userRecord.update(u => { - Object.assign(u, userNameChanged); - }); - }); - } catch { - // User not found - await db.action(async () => { - await userCollection.create(u => { - u._raw = sanitizedRaw({ id: userNameChanged._id }, userCollection.schema); - Object.assign(u, userNameChanged); - }); - }); - } - } - }) - ); - - resolve(); - }); - }, - - async shareExtensionInit(server) { - database.setShareDB(server); - - try { - const certificate = await UserPreferences.getStringAsync(`${RocketChat.CERTIFICATE_KEY}-${server}`); - await SSLPinning.setCertificate(certificate, server); - } catch { - // Do nothing - } - - this.shareSDK = sdk.disconnect(); - this.shareSDK = sdk.initialize(server); - - // set Server - const currentServer = { server }; - const serversDB = database.servers; - const serversCollection = serversDB.get('servers'); - try { - const serverRecord = await serversCollection.find(server); - currentServer.version = serverRecord.version; - } catch { - // Record not found - } - reduxStore.dispatch(shareSelectServer(currentServer)); - - RocketChat.setCustomEmojis(); - - try { - // set Settings - const settings = ['Accounts_AvatarBlockUnauthenticatedAccess']; - const db = database.active; - const settingsCollection = db.get('settings'); - const settingsRecords = await settingsCollection.query(Q.where('id', Q.oneOf(settings))).fetch(); - const parsed = Object.values(settingsRecords).map(item => ({ - _id: item.id, - valueAsString: item.valueAsString, - valueAsBoolean: item.valueAsBoolean, - valueAsNumber: item.valueAsNumber, - valueAsArray: item.valueAsArray, - _updatedAt: item._updatedAt - })); - reduxStore.dispatch(shareSetSettings(this.parseSettings(parsed))); - - // set User info - const userId = await UserPreferences.getStringAsync(`${RocketChat.TOKEN_KEY}-${server}`); - const userCollections = serversDB.get('users'); - let user = null; - if (userId) { - const userRecord = await userCollections.find(userId); - user = { - id: userRecord.id, - token: userRecord.token, - username: userRecord.username, - roles: userRecord.roles - }; - } - reduxStore.dispatch(shareSetUser(user)); - await RocketChat.login({ resume: user.token }); - reduxStore.dispatch(encryptionInit()); - } catch (e) { - log(e); - } - }, - closeShareExtension() { - this.shareSDK = sdk.disconnect(); - database.share = null; - - reduxStore.dispatch(shareSelectServer({})); - reduxStore.dispatch(shareSetUser({})); - reduxStore.dispatch(shareSetSettings({})); - }, - - async e2eFetchMyKeys() { - // RC 0.70.0 - const sdk = this.shareSDK || this.sdk; - const result = await sdk.get('e2e.fetchMyKeys'); - // snake_case -> camelCase - if (result.success) { - return { - success: result.success, - publicKey: result.public_key, - privateKey: result.private_key - }; - } - return result; - }, - e2eResetOwnKey() { - this.unsubscribeRooms(); - - // RC 0.72.0 - return this.methodCallWrapper('e2e.resetOwnE2EKey'); - }, - - loginTOTP(params, loginEmailPassword, isFromWebView = false) { - return new Promise(async (resolve, reject) => { - try { - const result = await this.login(params, isFromWebView); - return resolve(result); - } catch (e) { - if (e.data?.error && (e.data.error === 'totp-required' || e.data.error === 'totp-invalid')) { - const { details } = e.data; - try { - const code = await twoFactor({ method: details?.method || 'totp', invalid: details?.error === 'totp-invalid' }); - - if (loginEmailPassword) { - reduxStore.dispatch(setUser({ username: params.user || params.username })); - - // Force normalized params for 2FA starting RC 3.9.0. - const serverVersion = reduxStore.getState().server.version; - if (compareServerVersion(serverVersion, 'greaterThanOrEqualTo', '3.9.0')) { - const user = params.user ?? params.username; - const password = params.password ?? params.ldapPass ?? params.crowdPassword; - params = { user, password }; - } - - return resolve(this.loginTOTP({ ...params, code: code?.twoFactorCode }, loginEmailPassword)); - } - - return resolve( - this.loginTOTP({ - totp: { - login: { - ...params - }, - code: code?.twoFactorCode - } - }) - ); - } catch { - // twoFactor was canceled - return reject(); - } - } else { - reject(e); - } - } - }); - }, - - loginWithPassword({ user, password }) { - let params = { user, password }; - const state = reduxStore.getState(); - - if (state.settings.LDAP_Enable) { - params = { - username: user, - ldapPass: password, - ldap: true, - ldapOptions: {} - }; - } else if (state.settings.CROWD_Enable) { - params = { - username: user, - crowdPassword: password, - crowd: true - }; - } - - return this.loginTOTP(params, true); - }, - - async loginOAuthOrSso(params, isFromWebView = true) { - const result = await this.loginTOTP(params, false, isFromWebView); - reduxStore.dispatch(loginRequest({ resume: result.token }, false, isFromWebView)); - }, - - async login(credentials, isFromWebView = false) { - const sdk = this.shareSDK || this.sdk; - // RC 0.64.0 - await sdk.login(credentials); - const { result } = sdk.currentLogin; - const user = { - id: result.userId, - token: result.authToken, - username: result.me.username, - name: result.me.name, - language: result.me.language, - status: result.me.status, - statusText: result.me.statusText, - customFields: result.me.customFields, - statusLivechat: result.me.statusLivechat, - emails: result.me.emails, - roles: result.me.roles, - avatarETag: result.me.avatarETag, - isFromWebView, - showMessageInMainThread: result.me.settings?.preferences?.showMessageInMainThread ?? true, - enableMessageParserEarlyAdoption: result.me.settings?.preferences?.enableMessageParserEarlyAdoption ?? true - }; - return user; - }, + abort, + checkAndReopen, + disconnect, + connect, + shareExtensionInit, + closeShareExtension, + loginTOTP, + loginWithPassword, + loginOAuthOrSso, + login, logout, logoutOtherLocations() { const { id: userId } = reduxStore.getState().login.user; @@ -591,34 +120,6 @@ const RocketChat = { }, removeServer, clearCache, - registerPushToken() { - return new Promise(async resolve => { - const token = getDeviceToken(); - if (token) { - const type = isIOS ? 'apn' : 'gcm'; - const data = { - value: token, - type, - appName: getBundleId - }; - try { - // RC 0.60.0 - await this.post('push.token', data); - } catch (error) { - console.log(error); - } - } - return resolve(); - }); - }, - removePushToken() { - const token = getDeviceToken(); - if (token) { - // RC 0.60.0 - return this.sdk.del('push.token', { token }); - } - return Promise.resolve(); - }, loadMissedMessages, loadMessagesForRoom, loadSurroundingMessages, @@ -628,100 +129,6 @@ const RocketChat = { getRooms, readMessages, resendMessage, - - async localSearch({ text, filterUsers = true, filterRooms = true }) { - const searchText = text.trim(); - const db = database.active; - const likeString = sanitizeLikeString(searchText); - let data = await db - .get('subscriptions') - .query( - Q.or(Q.where('name', Q.like(`%${likeString}%`)), Q.where('fname', Q.like(`%${likeString}%`))), - Q.experimentalSortBy('room_updated_at', Q.desc) - ) - .fetch(); - - if (filterUsers && !filterRooms) { - data = data.filter(item => item.t === 'd' && !RocketChat.isGroupChat(item)); - } else if (!filterUsers && filterRooms) { - data = data.filter(item => item.t !== 'd' || RocketChat.isGroupChat(item)); - } - - data = data.slice(0, 7); - - data = data.map(sub => ({ - rid: sub.rid, - name: sub.name, - fname: sub.fname, - avatarETag: sub.avatarETag, - t: sub.t, - encrypted: sub.encrypted, - lastMessage: sub.lastMessage, - ...(sub.teamId && { teamId: sub.teamId }) - })); - - return data; - }, - - async search({ text, filterUsers = true, filterRooms = true }) { - const searchText = text.trim(); - - if (this.oldPromise) { - this.oldPromise('cancel'); - } - - const data = await this.localSearch({ text, filterUsers, filterRooms }); - - const usernames = data.map(sub => sub.name); - try { - if (data.length < 7) { - const { users, rooms } = await Promise.race([ - RocketChat.spotlight(searchText, usernames, { users: filterUsers, rooms: filterRooms }), - new Promise((resolve, reject) => (this.oldPromise = reject)) - ]); - if (filterUsers) { - users - .filter((item1, index) => users.findIndex(item2 => item2._id === item1._id) === index) // Remove duplicated data from response - .filter(user => !data.some(sub => user.username === sub.name)) // Make sure to remove users already on local database - .forEach(user => { - data.push({ - ...user, - rid: user.username, - name: user.username, - t: 'd', - search: true - }); - }); - } - if (filterRooms) { - rooms.forEach(room => { - // Check if it exists on local database - const index = data.findIndex(item => item.rid === room._id); - if (index === -1) { - data.push({ - rid: room._id, - ...room, - search: true - }); - } - }); - } - } - delete this.oldPromise; - return data; - } catch (e) { - console.warn(e); - return data; - // return []; - } - }, - createGroupChat() { - const { users } = reduxStore.getState().selectedUsers; - const usernames = users.map(u => u.name).join(','); - - // RC 3.1.0 - return this.post('im.create', { usernames }); - }, triggerBlockAction, triggerSubmitView, triggerCancel, @@ -760,11 +167,6 @@ const RocketChat = { return setting; }); }, - async editMessage(message) { - const { rid, msg } = await Encryption.encryptMessage(message); - // RC 0.49.0 - return this.post('chat.update', { roomId: rid, msgId: message.id, text: msg }); - }, getRoom, getPermalinkMessage, getPermalinkChannel(channel) { @@ -791,32 +193,7 @@ const RocketChat = { onStreamData(...args) { return sdk.onStreamData(...args); }, - emitTyping(room, typing = true) { - const { login, settings } = reduxStore.getState(); - const { UI_Use_Real_Name } = settings; - const { user } = login; - const name = UI_Use_Real_Name ? user.name : user.username; - return this.methodCall('stream-notify-room', `${room}/typing`, name, typing); - }, toggleFavorite, - async getRoomMembers({ rid, allUsers, roomType, type, filter, skip = 0, limit = 10 }) { - const serverVersion = reduxStore.getState().server.version; - if (compareServerVersion(serverVersion, 'greaterThanOrEqualTo', '3.16.0')) { - const params = { - roomId: rid, - offset: skip, - count: limit, - ...(type !== 'all' && { 'status[]': type }), - ...(filter && { filter }) - }; - // RC 3.16.0 - const result = await this.sdk.get(`${this.roomTypeToApiType(roomType)}.members`, params); - return result?.members; - } - // RC 0.42.0 - const result = await this.methodCallWrapper('getUsersOfRoom', rid, allUsers, { skip, limit }); - return result?.records; - }, methodCallWrapper(method, ...params) { return sdk.methodCallWrapper(method, ...params); }, @@ -855,17 +232,6 @@ const RocketChat = { methodCall(...args) { return sdk.methodCall(...args); }, - sendEmailCode() { - const { username } = reduxStore.getState().login.user; - // RC 3.1.0 - return this.post('users.2fa.sendEmailCode', { emailOrUsername: username }); - }, - addUsersToRoom(rid) { - let { users } = reduxStore.getState().selectedUsers; - users = users.map(u => u.name); - // RC 0.51.0 - return this.methodCallWrapper('addUsersToRoom', { rid, users }); - }, hasRole(role) { const shareUser = reduxStore.getState().share.user; const loginUser = reduxStore.getState().login.user; @@ -919,77 +285,17 @@ const RocketChat = { } return JSON.parse(allowAnalyticsEvents); }, - async getSortPreferences() { - const prefs = await UserPreferences.getMapAsync(SORT_PREFS_KEY); - return prefs; + getSortPreferences() { + return UserPreferences.getMap(SORT_PREFS_KEY); }, - async saveSortPreference(param) { - let prefs = await RocketChat.getSortPreferences(); + saveSortPreference(param) { + let prefs = RocketChat.getSortPreferences(); prefs = { ...prefs, ...param }; - return UserPreferences.setMapAsync(SORT_PREFS_KEY, prefs); - }, - async getLoginServices(server) { - try { - let loginServices = []; - const loginServicesResult = await fetch(`${server}/api/v1/settings.oauth`).then(response => response.json()); - - if (loginServicesResult.success && loginServicesResult.services) { - const { services } = loginServicesResult; - loginServices = services; - - const loginServicesReducer = loginServices.reduce((ret, item) => { - const name = item.name || item.buttonLabelText || item.service; - const authType = this._determineAuthType(item); - - if (authType !== 'not_supported') { - ret[name] = { ...item, name, authType }; - } - - return ret; - }, {}); - reduxStore.dispatch(setLoginServices(loginServicesReducer)); - } else { - reduxStore.dispatch(setLoginServices({})); - } - } catch (error) { - console.log(error); - reduxStore.dispatch(setLoginServices({})); - } - }, - _determineAuthType(services) { - const { name, custom, showButton = true, service } = services; - - const authName = name || service; - - if (custom && showButton) { - return 'oauth_custom'; - } - - if (service === 'saml') { - return 'saml'; - } - - if (service === 'cas') { - return 'cas'; - } - - if (authName === 'apple' && isIOS) { - return 'apple'; - } - - // TODO: remove this after other oauth providers are implemented. e.g. Drupal, github_enterprise - const availableOAuth = ['facebook', 'github', 'gitlab', 'google', 'linkedin', 'meteor-developer', 'twitter', 'wordpress']; - return availableOAuth.includes(authName) ? 'oauth' : 'not_supported'; + return UserPreferences.setMap(SORT_PREFS_KEY, prefs); }, + getLoginServices, + determineAuthType, roomTypeToApiType, - readThreads(tmid) { - const serverVersion = reduxStore.getState().server.version; - if (compareServerVersion(serverVersion, 'greaterThanOrEqualTo', '3.4.0')) { - // RC 3.4.0 - return this.methodCallWrapper('readThreads', tmid); - } - return Promise.resolve(); - }, _setUser(ddpMessage) { this.activeUsers = this.activeUsers || {}; const { user } = reduxStore.getState().login; @@ -1032,7 +338,7 @@ const RocketChat = { } const autoTranslatePermission = reduxStore.getState().permissions['auto-translate']; const userRoles = reduxStore.getState().login?.user?.roles ?? []; - return autoTranslatePermission?.some(role => userRoles.includes(role)); + return autoTranslatePermission?.some(role => userRoles.includes(role)) ?? false; } catch (e) { log(e); return false; diff --git a/app/lib/rocketchat/services/connect.ts b/app/lib/rocketchat/services/connect.ts new file mode 100644 index 000000000..07df5c3ed --- /dev/null +++ b/app/lib/rocketchat/services/connect.ts @@ -0,0 +1,511 @@ +import RNFetchBlob from 'rn-fetch-blob'; +import { settings as RocketChatSettings } from '@rocket.chat/sdk'; +import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord'; +import { InteractionManager } from 'react-native'; +import { Q } from '@nozbe/watermelondb'; + +import log from '../../../utils/log'; +import { onRolesChanged } from '../../methods/getRoles'; +import { UserStatus } from '../../../definitions/UserStatus'; +import { setActiveUsers } from '../../../actions/activeUsers'; +import protectedFunction from '../../methods/helpers/protectedFunction'; +import database from '../../database'; +import { selectServerFailure } from '../../../actions/server'; +import { twoFactor } from '../../../utils/twoFactor'; +import { compareServerVersion } from '../../utils'; +import { store } from '../../auxStore'; +import { loginRequest, setLoginServices, setUser } from '../../../actions/login'; +import sdk from './sdk'; +import I18n from '../../../i18n'; +import RocketChat, { MIN_ROCKETCHAT_VERSION, STATUSES } from '../rocketchat'; +import { ICredentials, ILoggedUser, IRocketChat } from '../../../definitions'; +import { isIOS } from '../../../utils/deviceInfo'; +import { connectRequest, connectSuccess, disconnect as disconnectAction } from '../../../actions/connect'; +import { updatePermission } from '../../../actions/permissions'; +import EventEmitter from '../../../utils/events'; +import { updateSettings } from '../../../actions/settings'; +import defaultSettings from '../../../constants/settings'; + +interface IServices { + [index: string]: string | boolean; + name: string; + custom: boolean; + showButton: boolean; + buttonLabelText: string; + service: string; +} + +// FIXME: Remove `this` context +function connect( + this: IRocketChat, + { server, logoutOnError = false }: { server: string; logoutOnError: boolean } +): Promise<void> { + return new Promise<void>(resolve => { + if (sdk.current?.client?.host === server) { + return resolve(); + } + disconnect(); + database.setActiveDB(server); + + store.dispatch(connectRequest()); + + if (this.connectTimeout) { + clearTimeout(this.connectTimeout); + } + + if (this.connectingListener) { + this.connectingListener.then(stopListener); + } + + if (this.connectedListener) { + this.connectedListener.then(stopListener); + } + + if (this.closeListener) { + this.closeListener.then(stopListener); + } + + if (this.usersListener) { + this.usersListener.then(stopListener); + } + + if (this.notifyAllListener) { + this.notifyAllListener.then(stopListener); + } + + if (this.rolesListener) { + this.rolesListener.then(stopListener); + } + + if (this.notifyLoggedListener) { + this.notifyLoggedListener.then(stopListener); + } + + this.unsubscribeRooms(); + + EventEmitter.emit('INQUIRY_UNSUBSCRIBE'); + + sdk.initialize(server); + this.getSettings(); + + sdk.current + .connect() + .then(() => { + console.log('connected'); + }) + .catch((err: unknown) => { + console.log('connect error', err); + }); + + this.connectingListener = sdk.current.onStreamData('connecting', () => { + store.dispatch(connectRequest()); + }); + + this.connectedListener = sdk.current.onStreamData('connected', () => { + const { connected } = store.getState().meteor; + if (connected) { + return; + } + store.dispatch(connectSuccess()); + const { user } = store.getState().login; + if (user?.token) { + store.dispatch(loginRequest({ resume: user.token }, logoutOnError)); + } + }); + + this.closeListener = sdk.current.onStreamData('close', () => { + store.dispatch(disconnectAction()); + }); + + this.usersListener = sdk.current.onStreamData( + 'users', + protectedFunction((ddpMessage: any) => RocketChat._setUser(ddpMessage)) + ); + + this.notifyAllListener = sdk.current.onStreamData( + 'stream-notify-all', + protectedFunction(async (ddpMessage: { fields: { args?: any; eventName: string } }) => { + const { eventName } = ddpMessage.fields; + if (/public-settings-changed/.test(eventName)) { + const { _id, value } = ddpMessage.fields.args[1]; + const db = database.active; + const settingsCollection = db.get('settings'); + try { + const settingsRecord = await settingsCollection.find(_id); + // @ts-ignore + const { type } = defaultSettings[_id]; + if (type) { + await db.write(async () => { + await settingsRecord.update(u => { + // @ts-ignore + u[type] = value; + }); + }); + } + store.dispatch(updateSettings(_id, value)); + } catch (e) { + log(e); + } + } + }) + ); + + this.rolesListener = sdk.current.onStreamData( + 'stream-roles', + protectedFunction((ddpMessage: any) => onRolesChanged(ddpMessage)) + ); + + // RC 4.1 + sdk.current.onStreamData('stream-user-presence', (ddpMessage: { fields: { args?: any; uid?: any } }) => { + const userStatus = ddpMessage.fields.args[0]; + const { uid } = ddpMessage.fields; + const [, status, statusText] = userStatus; + const newStatus = { status: STATUSES[status], statusText }; + // @ts-ignore + store.dispatch(setActiveUsers({ [uid]: newStatus })); + + const { user: loggedUser } = store.getState().login; + if (loggedUser && loggedUser.id === uid) { + // @ts-ignore + store.dispatch(setUser(newStatus)); + } + }); + + this.notifyLoggedListener = sdk.current.onStreamData( + 'stream-notify-logged', + protectedFunction(async (ddpMessage: { fields: { args?: any; eventName?: any } }) => { + const { eventName } = ddpMessage.fields; + + // `user-status` event is deprecated after RC 4.1 in favor of `stream-user-presence/${uid}` + if (/user-status/.test(eventName)) { + this.activeUsers = this.activeUsers || {}; + if (!this._setUserTimer) { + this._setUserTimer = setTimeout(() => { + const activeUsersBatch = this.activeUsers; + InteractionManager.runAfterInteractions(() => { + store.dispatch(setActiveUsers(activeUsersBatch)); + }); + this._setUserTimer = null; + return (this.activeUsers = {}); + }, 10000); + } + const userStatus = ddpMessage.fields.args[0]; + const [id, , status, statusText] = userStatus; + this.activeUsers[id] = { status: STATUSES[status], statusText }; + + const { user: loggedUser } = store.getState().login; + if (loggedUser && loggedUser.id === id) { + store.dispatch(setUser({ status: STATUSES[status] as UserStatus, statusText })); + } + } else if (/updateAvatar/.test(eventName)) { + const { username, etag } = ddpMessage.fields.args[0]; + const db = database.active; + const userCollection = db.get('users'); + try { + const [userRecord] = await userCollection.query(Q.where('username', Q.eq(username))).fetch(); + await db.write(async () => { + await userRecord.update(u => { + u.avatarETag = etag; + }); + }); + } catch { + // We can't create a new record since we don't receive the user._id + } + } else if (/permissions-changed/.test(eventName)) { + const { _id, roles } = ddpMessage.fields.args[1]; + const db = database.active; + const permissionsCollection = db.get('permissions'); + try { + const permissionsRecord = await permissionsCollection.find(_id); + await db.write(async () => { + await permissionsRecord.update(u => { + u.roles = roles; + }); + }); + store.dispatch(updatePermission(_id, roles)); + } catch (err) { + // + } + } else if (/Users:NameChanged/.test(eventName)) { + const userNameChanged = ddpMessage.fields.args[0]; + const db = database.active; + const userCollection = db.get('users'); + try { + const userRecord = await userCollection.find(userNameChanged._id); + await db.write(async () => { + await userRecord.update(u => { + Object.assign(u, userNameChanged); + }); + }); + } catch { + // User not found + await db.write(async () => { + await userCollection.create(u => { + u._raw = sanitizedRaw({ id: userNameChanged._id }, userCollection.schema); + Object.assign(u, userNameChanged); + }); + }); + } + } + }) + ); + + resolve(); + }); +} + +function stopListener(listener: any): boolean { + return listener && listener.stop(); +} + +async function login(credentials: ICredentials, isFromWebView = false): Promise<ILoggedUser | undefined> { + // RC 0.64.0 + await sdk.current.login(credentials); + const result = sdk.current.currentLogin?.result; + if (result) { + const user: ILoggedUser = { + id: result.userId, + token: result.authToken, + username: result.me.username, + name: result.me.name, + language: result.me.language, + status: result.me.status, + statusText: result.me.statusText, + customFields: result.me.customFields, + statusLivechat: result.me.statusLivechat, + emails: result.me.emails, + roles: result.me.roles, + avatarETag: result.me.avatarETag, + isFromWebView, + showMessageInMainThread: result.me.settings?.preferences?.showMessageInMainThread ?? true, + enableMessageParserEarlyAdoption: result.me.settings?.preferences?.enableMessageParserEarlyAdoption ?? true + }; + return user; + } +} + +function loginTOTP(params: ICredentials, loginEmailPassword?: boolean, isFromWebView = false): Promise<ILoggedUser> { + return new Promise(async (resolve, reject) => { + try { + const result = await login(params, isFromWebView); + if (result) { + return resolve(result); + } + } catch (e: any) { + if (e.data?.error && (e.data.error === 'totp-required' || e.data.error === 'totp-invalid')) { + const { details } = e.data; + try { + const code = await twoFactor({ method: details?.method || 'totp', invalid: details?.error === 'totp-invalid' }); + + if (loginEmailPassword) { + store.dispatch(setUser({ username: params.user || params.username })); + + // Force normalized params for 2FA starting RC 3.9.0. + const serverVersion = store.getState().server.version; + if (compareServerVersion(serverVersion as string, 'greaterThanOrEqualTo', '3.9.0')) { + const user = params.user ?? params.username; + const password = params.password ?? params.ldapPass ?? params.crowdPassword; + params = { user, password }; + } + + return resolve(loginTOTP({ ...params, code: code?.twoFactorCode }, loginEmailPassword)); + } + + return resolve( + loginTOTP({ + totp: { + login: { + ...params + }, + code: code?.twoFactorCode + } + }) + ); + } catch { + // twoFactor was canceled + return reject(); + } + } else { + reject(e); + } + } + }); +} + +function loginWithPassword({ user, password }: { user: string; password: string }): Promise<ILoggedUser> { + let params: ICredentials = { user, password }; + const state = store.getState(); + + if (state.settings.LDAP_Enable) { + params = { + username: user, + ldapPass: password, + ldap: true, + ldapOptions: {} + }; + } else if (state.settings.CROWD_Enable) { + params = { + username: user, + crowdPassword: password, + crowd: true + }; + } + + return loginTOTP(params, true); +} + +async function loginOAuthOrSso(params: ICredentials, isFromWebView = true) { + const result = await loginTOTP(params, false, isFromWebView); + store.dispatch(loginRequest({ resume: result.token }, false, isFromWebView)); +} + +function abort() { + if (sdk.current) { + return sdk.current.abort(); + } + return new AbortController(); +} + +function checkAndReopen() { + return sdk.current.checkAndReopen(); +} + +function disconnect() { + return sdk.disconnect(); +} + +async function getServerInfo(server: string) { + try { + const response = await RNFetchBlob.fetch('GET', `${server}/api/info`, { ...RocketChatSettings.customHeaders }); + try { + // Try to resolve as json + const jsonRes: { version?: string; success: boolean } = response.json(); + if (!jsonRes?.success) { + return { + success: false, + message: I18n.t('Not_RC_Server', { contact: I18n.t('Contact_your_server_admin') }) + }; + } + if (compareServerVersion(jsonRes.version, 'lowerThan', MIN_ROCKETCHAT_VERSION)) { + return { + success: false, + message: I18n.t('Invalid_server_version', { + currentVersion: jsonRes.version, + minVersion: MIN_ROCKETCHAT_VERSION + }) + }; + } + return jsonRes; + } catch (error) { + // Request is successful, but response isn't a json + } + } catch (e: any) { + if (e?.message) { + if (e.message === 'Aborted') { + store.dispatch(selectServerFailure()); + throw e; + } + return { + success: false, + message: e.message + }; + } + } + + return { + success: false, + message: I18n.t('Not_RC_Server', { contact: I18n.t('Contact_your_server_admin') }) + }; +} + +async function getWebsocketInfo({ server }: { server: string }) { + sdk.initialize(server); + + try { + await sdk.current.connect(); + } catch (err: any) { + if (err.message && err.message.includes('400')) { + return { + success: false, + message: I18n.t('Websocket_disabled', { contact: I18n.t('Contact_your_server_admin') }) + }; + } + } + + sdk.disconnect(); + + return { + success: true + }; +} + +async function getLoginServices(server: string) { + try { + let loginServices = []; + const loginServicesResult = await fetch(`${server}/api/v1/settings.oauth`).then(response => response.json()); + + if (loginServicesResult.success && loginServicesResult.services) { + const { services } = loginServicesResult; + loginServices = services; + + const loginServicesReducer = loginServices.reduce((ret: IServices[], item: IServices) => { + const name = item.name || item.buttonLabelText || item.service; + const authType = determineAuthType(item); + + if (authType !== 'not_supported') { + ret[name as unknown as number] = { ...item, name, authType }; + } + + return ret; + }, {}); + store.dispatch(setLoginServices(loginServicesReducer)); + } else { + store.dispatch(setLoginServices({})); + } + } catch (error) { + console.log(error); + store.dispatch(setLoginServices({})); + } +} + +function determineAuthType(services: IServices) { + const { name, custom, showButton = true, service } = services; + + const authName = name || service; + + if (custom && showButton) { + return 'oauth_custom'; + } + + if (service === 'saml') { + return 'saml'; + } + + if (service === 'cas') { + return 'cas'; + } + + if (authName === 'apple' && isIOS) { + return 'apple'; + } + + // TODO: remove this after other oauth providers are implemented. e.g. Drupal, github_enterprise + const availableOAuth = ['facebook', 'github', 'gitlab', 'google', 'linkedin', 'meteor-developer', 'twitter', 'wordpress']; + return availableOAuth.includes(authName) ? 'oauth' : 'not_supported'; +} + +export { + login, + loginTOTP, + loginWithPassword, + loginOAuthOrSso, + checkAndReopen, + abort, + connect, + disconnect, + getServerInfo, + getWebsocketInfo, + stopListener, + getLoginServices, + determineAuthType +}; diff --git a/app/lib/rocketchat/services/restApi.ts b/app/lib/rocketchat/services/restApi.ts index 3fc518123..0d7f766bc 100644 --- a/app/lib/rocketchat/services/restApi.ts +++ b/app/lib/rocketchat/services/restApi.ts @@ -1,6 +1,24 @@ -import sdk from './sdk'; +import { + IMessage, + INotificationPreferences, + IPreviewItem, + IRoom, + IRoomNotifications, + SubscriptionType, + IUser, + TRocketChat +} from '../../../definitions'; +import { IAvatarSuggestion, IParams } from '../../../definitions/IProfileViewInterfaces'; +import { ISpotlight } from '../../../definitions/ISpotlight'; import { TEAM_TYPE } from '../../../definitions/ITeam'; +import { Encryption } from '../../encryption'; +import { TParams } from '../../../definitions/ILivechatEditView'; +import { store as reduxStore } from '../../auxStore'; +import { getDeviceToken } from '../../../notifications/push'; +import { getBundleId, isIOS } from '../../../utils/deviceInfo'; +import { compareServerVersion } from '../../utils'; import roomTypeToApiType, { RoomTypes } from '../methods/roomTypeToApiType'; +import sdk from './sdk'; export const createChannel = ({ name, @@ -18,7 +36,7 @@ export const createChannel = ({ broadcast: boolean; encrypted: boolean; teamId: string; -}): any => { +}) => { const params = { name, members: users, @@ -29,64 +47,49 @@ export const createChannel = ({ ...(teamId && { teamId }) } }; - // TODO: missing definitions from server - // @ts-ignore return sdk.post(type ? 'groups.create' : 'channels.create', params); }; -export const e2eSetUserPublicAndPrivateKeys = (public_key: string, private_key: string): any => +export const e2eSetUserPublicAndPrivateKeys = (public_key: string, private_key: string) => // RC 2.2.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('e2e.setUserPublicAndPrivateKeys', { public_key, private_key }); -export const e2eRequestSubscriptionKeys = (): any => +export const e2eRequestSubscriptionKeys = (): Promise<boolean> => // RC 0.72.0 sdk.methodCallWrapper('e2e.requestSubscriptionKeys'); -export const e2eGetUsersOfRoomWithoutKey = (rid: string): any => +export const e2eGetUsersOfRoomWithoutKey = (rid: string) => // RC 0.70.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('e2e.getUsersOfRoomWithoutKey', { rid }); -export const e2eSetRoomKeyID = (rid: string, keyID: string): any => +export const e2eSetRoomKeyID = (rid: string, keyID: string) => // RC 0.70.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('e2e.setRoomKeyID', { rid, keyID }); export const e2eUpdateGroupKey = (uid: string, rid: string, key: string): any => // RC 0.70.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('e2e.updateGroupKey', { uid, rid, key }); -export const e2eRequestRoomKey = (rid: string, e2eKeyId: string) => +export const e2eRequestRoomKey = (rid: string, e2eKeyId: string): Promise<{ message: { msg?: string }; success: boolean }> => // RC 0.70.0 sdk.methodCallWrapper('stream-notify-room-users', `${rid}/e2ekeyRequest`, rid, e2eKeyId); -export const updateJitsiTimeout = (roomId: string): any => +export const updateJitsiTimeout = (roomId: string) => // RC 0.74.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('video-conference/jitsi.update-timeout', { roomId }); -export const register = (credentials: any): any => +export const register = (credentials: { name: string; email: string; pass: string; username: string }) => // RC 0.50.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('users.register', credentials); -export const forgotPassword = (email: string): any => +export const forgotPassword = (email: string) => // RC 0.64.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('users.forgotPassword', { email }); -export const sendConfirmationEmail = (email: string) => sdk.methodCallWrapper('sendConfirmationEmail', email); +export const sendConfirmationEmail = (email: string): Promise<{ message: string; success: boolean }> => + sdk.methodCallWrapper('sendConfirmationEmail', email); -export const spotlight = (search: string, usernames: string, type: { users: boolean; rooms: boolean }) => +export const spotlight = (search: string, usernames: string[], type: { users: boolean; rooms: boolean }): Promise<ISpotlight> => // RC 0.51.0 sdk.methodCallWrapper('spotlight', search, usernames, type); @@ -125,7 +128,7 @@ export const getDiscussions = ({ count, text }: { - roomId: string | undefined; + roomId: string; text?: string | undefined; offset: number; count: number; @@ -154,7 +157,7 @@ export const createTeam = ({ readOnly: boolean; broadcast: boolean; encrypted: boolean; -}): any => { +}) => { const params = { name, users, @@ -168,14 +171,10 @@ export const createTeam = ({ } }; // RC 3.13.0 - // TODO: missing definitions from server - // @ts-ignore return sdk.post('teams.create', params); }; -export const addRoomsToTeam = ({ teamId, rooms }: { teamId: string; rooms: string[] }): any => +export const addRoomsToTeam = ({ teamId, rooms }: { teamId: string; rooms: string[] }) => // RC 3.13.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('teams.addRooms', { teamId, rooms }); export const removeTeamRoom = ({ roomId, teamId }: { roomId: string; teamId: string }) => @@ -192,10 +191,8 @@ export const leaveTeam = ({ teamId, rooms }: { teamId: string; rooms: string[] } ...(rooms?.length && { rooms }) }); -export const removeTeamMember = ({ teamId, userId, rooms }: { teamId: string; userId: string; rooms: string[] }): any => +export const removeTeamMember = ({ teamId, userId, rooms }: { teamId: string; userId: string; rooms: string[] }) => // RC 3.13.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('teams.removeMember', { teamId, userId, @@ -203,10 +200,8 @@ export const removeTeamMember = ({ teamId, userId, rooms }: { teamId: string; us ...(rooms?.length && { rooms }) }); -export const updateTeamRoom = ({ roomId, isDefault }: { roomId: string; isDefault: boolean }): any => +export const updateTeamRoom = ({ roomId, isDefault }: { roomId: string; isDefault: boolean }) => // RC 3.13.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('teams.updateRoom', { roomId, isDefault }); export const deleteTeam = ({ teamId, roomsToRemove }: { teamId: string; roomsToRemove: string[] }): any => @@ -215,19 +210,11 @@ export const deleteTeam = ({ teamId, roomsToRemove }: { teamId: string; roomsToR // @ts-ignore sdk.post('teams.delete', { teamId, roomsToRemove }); -export const teamListRoomsOfUser = ({ teamId, userId }: { teamId: string; userId: string }): any => +export const teamListRoomsOfUser = ({ teamId, userId }: { teamId: string; userId: string }) => // RC 3.13.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('teams.listRoomsOfUser', { teamId, userId }); -export const getTeamInfo = ({ teamId }: { teamId: string }): any => - // RC 3.13.0 - // TODO: missing definitions from server - // @ts-ignore - sdk.get('teams.info', { teamId }); - -export const convertChannelToTeam = ({ rid, name, type }: { rid: string; name: string; type: 'c' | 'p' }): any => { +export const convertChannelToTeam = ({ rid, name, type }: { rid: string; name: string; type: 'c' | 'p' }) => { const params = { ...(type === 'c' ? { @@ -239,125 +226,87 @@ export const convertChannelToTeam = ({ rid, name, type }: { rid: string; name: s roomName: name }) }; - // TODO: missing definitions from server - // @ts-ignore return sdk.post(type === 'c' ? 'channels.convertToTeam' : 'groups.convertToTeam', params); }; -export const convertTeamToChannel = ({ teamId, selected }: { teamId: string; selected: string[] }): any => { +export const convertTeamToChannel = ({ teamId, selected }: { teamId: string; selected: string[] }) => { const params = { teamId, ...(selected.length && { roomsToRemove: selected }) }; - // TODO: missing definitions from server - // @ts-ignore return sdk.post('teams.convertToChannel', params); }; -export const joinRoom = (roomId: string, joinCode: string, type: 'c' | 'p'): any => { - // TODO: join code +export const joinRoom = (roomId: string, joinCode: string | null, type: 'c' | 'p') => { // RC 0.48.0 if (type === 'p') { - return sdk.methodCallWrapper('joinRoom', roomId); + return sdk.methodCallWrapper('joinRoom', roomId) as Promise<boolean>; } - // TODO: missing definitions from server - // @ts-ignore return sdk.post('channels.join', { roomId, joinCode }); }; -export const deleteMessage = (messageId: string, rid: string): any => +export const deleteMessage = (messageId: string, rid: string) => // RC 0.48.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('chat.delete', { msgId: messageId, roomId: rid }); -export const markAsUnread = ({ messageId }: { messageId: string }): any => +export const markAsUnread = ({ messageId }: { messageId: string }) => // RC 0.65.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('subscriptions.unread', { firstUnreadMessage: { _id: messageId } }); -export const toggleStarMessage = (messageId: string, starred: boolean): any => { +export const toggleStarMessage = (messageId: string, starred: boolean) => { if (starred) { // RC 0.59.0 - // TODO: missing definitions from server - // @ts-ignore return sdk.post('chat.unStarMessage', { messageId }); } // RC 0.59.0 - // TODO: missing definitions from server - // @ts-ignore return sdk.post('chat.starMessage', { messageId }); }; -export const togglePinMessage = (messageId: string, pinned: boolean): any => { +export const togglePinMessage = (messageId: string, pinned: boolean) => { if (pinned) { // RC 0.59.0 - // TODO: missing definitions from server - // @ts-ignore return sdk.post('chat.unPinMessage', { messageId }); } // RC 0.59.0 - // TODO: missing definitions from server - // @ts-ignore return sdk.post('chat.pinMessage', { messageId }); }; -export const reportMessage = (messageId: string): any => +export const reportMessage = (messageId: string) => // RC 0.64.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('chat.reportMessage', { messageId, description: 'Message reported by user' }); -export const setUserPreferences = (userId: string, data: any): any => +export const setUserPreferences = (userId: string, data: Partial<INotificationPreferences>) => // RC 0.62.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('users.setPreferences', { userId, data }); -export const setUserStatus = (status?: string, message?: string): any => +export const setUserStatus = (status: string, message: string) => // RC 1.2.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('users.setStatus', { status, message }); -export const setReaction = (emoji: string, messageId: string): any => +export const setReaction = (emoji: string, messageId: string) => // RC 0.62.2 - // TODO: missing definitions from server - // @ts-ignore sdk.post('chat.react', { emoji, messageId }); -export const toggleRead = (read: boolean, roomId: string): any => { +export const toggleRead = (read: boolean, roomId: string) => { if (read) { - // TODO: missing definitions from server - // @ts-ignore return sdk.post('subscriptions.unread', { roomId }); } - // TODO: missing definitions from server - // @ts-ignore return sdk.post('subscriptions.read', { rid: roomId }); }; -export const getUserRoles = () => - // RC 0.27.0 - sdk.methodCallWrapper('getUserRoles'); - -export const getRoomCounters = (roomId: string, t: RoomTypes): any => +export const getRoomCounters = ( + roomId: string, + t: SubscriptionType.CHANNEL | SubscriptionType.GROUP | SubscriptionType.OMNICHANNEL +) => // RC 0.65.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get(`${roomTypeToApiType(t)}.counters`, { roomId }); -export const getChannelInfo = (roomId: string): any => +export const getChannelInfo = (roomId: string) => // RC 0.48.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('channels.info', { roomId }); -export const getUserPreferences = (userId: string): any => +export const getUserPreferences = (userId: string) => // RC 0.62.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('users.getPreferences', { userId }); export const getRoomInfo = (roomId: string) => @@ -384,7 +333,7 @@ export const getTeamListRoom = ({ offset: number; type: string; filter: any; -}): any => { +}) => { const params: any = { teamId, count, @@ -396,8 +345,6 @@ export const getTeamListRoom = ({ params.filter = filter; } // RC 3.13.0 - // TODO: missing definitions from server - // @ts-ignore return sdk.get('teams.listRooms', params); }; @@ -405,11 +352,11 @@ export const closeLivechat = (rid: string, comment: string) => // RC 0.29.0 sdk.methodCallWrapper('livechat:closeRoom', rid, comment, { clientAction: true }); -export const editLivechat = (userData: any, roomData: any) => +export const editLivechat = (userData: TParams, roomData: TParams): Promise<{ error?: string }> => // RC 0.55.0 sdk.methodCallWrapper('livechat:saveInfo', userData, roomData); -export const returnLivechat = (rid: string) => +export const returnLivechat = (rid: string): Promise<boolean> => // RC 0.72.0 sdk.methodCallWrapper('livechat:returnAsInquiry', rid); @@ -417,7 +364,7 @@ export const forwardLivechat = (transferData: any) => // RC 0.36.0 sdk.methodCallWrapper('livechat:transfer', transferData); -export const getDepartmentInfo = (departmentId: string): any => +export const getDepartmentInfo = (departmentId: string) => // RC 2.2.0 sdk.get(`livechat/department/${departmentId}?includeAgents=false`); @@ -438,25 +385,37 @@ export const usersAutoComplete = (selector: any) => // RC 2.4.0 sdk.get('users.autocomplete', { selector }); -export const getRoutingConfig = () => +export const getRoutingConfig = (): Promise<{ + previewRoom: boolean; + showConnecting: boolean; + showQueue: boolean; + showQueueLink: boolean; + returnQueue: boolean; + enableTriggerAction: boolean; + autoAssignAgent: boolean; +}> => // RC 2.0.0 sdk.methodCallWrapper('livechat:getRoutingConfig'); -export const getTagsList = () => +export const getTagsList = (): Promise< + { + _id: string; + name: string; + departments: string[]; + }[] +> => // RC 2.0.0 sdk.methodCallWrapper('livechat:getTagsList'); -export const getAgentDepartments = (uid: string): any => +export const getAgentDepartments = (uid: string) => // RC 2.4.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get(`livechat/agents/${uid}/departments?enabledDepartmentsOnly=true`); export const getCustomFields = () => // RC 2.2.0 sdk.get('livechat/custom-fields'); -export const getListCannedResponse = ({ scope = '', departmentId = '', offset = 0, count = 25, text = '' }): any => { +export const getListCannedResponse = ({ scope = '', departmentId = '', offset = 0, count = 25, text = '' }) => { const params = { offset, count, @@ -466,12 +425,10 @@ export const getListCannedResponse = ({ scope = '', departmentId = '', offset = }; // RC 3.17.0 - // TODO: missing definitions from server - // @ts-ignore return sdk.get('canned-responses', params); }; -export const toggleBlockUser = (rid: string, blocked: string, block: boolean) => { +export const toggleBlockUser = (rid: string, blocked: string, block: boolean): Promise<boolean> => { if (block) { // RC 0.49.0 return sdk.methodCallWrapper('blockUser', { rid, blocked }); @@ -480,19 +437,19 @@ export const toggleBlockUser = (rid: string, blocked: string, block: boolean) => return sdk.methodCallWrapper('unblockUser', { rid, blocked }); }; -export const leaveRoom = (roomId: string, t: RoomTypes): any => +export const leaveRoom = (roomId: string, t: RoomTypes) => // RC 0.48.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post(`${roomTypeToApiType(t)}.leave`, { roomId }); -export const deleteRoom = (roomId: string, t: RoomTypes): any => +export const deleteRoom = (roomId: string, t: RoomTypes) => // RC 0.49.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post(`${roomTypeToApiType(t)}.delete`, { roomId }); -export const toggleMuteUserInRoom = (rid: string, username: string, mute: boolean) => { +export const toggleMuteUserInRoom = ( + rid: string, + username: string, + mute: boolean +): Promise<{ message: { msg: string; result: boolean }; success: boolean }> => { if (mute) { // RC 0.51.0 return sdk.methodCallWrapper('muteUserInRoom', { rid, username }); @@ -508,20 +465,17 @@ export const toggleRoomOwner = ({ isOwner }: { roomId: string; - t: RoomTypes; + t: SubscriptionType; userId: string; isOwner: boolean; -}): any => { +}) => { + const type = t as SubscriptionType.CHANNEL; if (isOwner) { // RC 0.49.4 - // TODO: missing definitions from server - // @ts-ignore - return sdk.post(`${roomTypeToApiType(t)}.addOwner`, { roomId, userId }); + return sdk.post(`${roomTypeToApiType(type)}.addOwner`, { roomId, userId }); } // RC 0.49.4 - // TODO: missing definitions from server - // @ts-ignore - return sdk.post(`${roomTypeToApiType(t)}.removeOwner`, { roomId, userId }); + return sdk.post(`${roomTypeToApiType(type)}.removeOwner`, { roomId, userId }); }; export const toggleRoomLeader = ({ @@ -531,20 +485,17 @@ export const toggleRoomLeader = ({ isLeader }: { roomId: string; - t: RoomTypes; + t: SubscriptionType; userId: string; isLeader: boolean; -}): any => { +}) => { + const type = t as SubscriptionType.CHANNEL; if (isLeader) { // RC 0.58.0 - // TODO: missing definitions from server - // @ts-ignore - return sdk.post(`${roomTypeToApiType(t)}.addLeader`, { roomId, userId }); + return sdk.post(`${roomTypeToApiType(type)}.addLeader`, { roomId, userId }); } // RC 0.58.0 - // TODO: missing definitions from server - // @ts-ignore - return sdk.post(`${roomTypeToApiType(t)}.removeLeader`, { roomId, userId }); + return sdk.post(`${roomTypeToApiType(type)}.removeLeader`, { roomId, userId }); }; export const toggleRoomModerator = ({ @@ -554,93 +505,89 @@ export const toggleRoomModerator = ({ isModerator }: { roomId: string; - t: RoomTypes; + t: SubscriptionType; userId: string; isModerator: boolean; -}): any => { +}) => { + const type = t as SubscriptionType.CHANNEL; if (isModerator) { // RC 0.49.4 - // TODO: missing definitions from server - // @ts-ignore - return sdk.post(`${roomTypeToApiType(t)}.addModerator`, { roomId, userId }); + return sdk.post(`${roomTypeToApiType(type)}.addModerator`, { roomId, userId }); } // RC 0.49.4 - // TODO: missing definitions from server - // @ts-ignore - return sdk.post(`${roomTypeToApiType(t)}.removeModerator`, { roomId, userId }); + return sdk.post(`${roomTypeToApiType(type)}.removeModerator`, { roomId, userId }); }; -export const removeUserFromRoom = ({ roomId, t, userId }: { roomId: string; t: RoomTypes; userId: string }): any => +export const removeUserFromRoom = ({ roomId, t, userId }: { roomId: string; t: RoomTypes; userId: string }) => // RC 0.48.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post(`${roomTypeToApiType(t)}.kick`, { roomId, userId }); -export const ignoreUser = ({ rid, userId, ignore }: { rid: string; userId: string; ignore: boolean }): any => +export const ignoreUser = ({ rid, userId, ignore }: { rid: string; userId: string; ignore: boolean }) => // RC 0.64.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('chat.ignoreUser', { rid, userId, ignore }); -export const toggleArchiveRoom = (roomId: string, t: RoomTypes, archive: boolean): any => { +export const toggleArchiveRoom = (roomId: string, t: SubscriptionType, archive: boolean) => { + const type = t as SubscriptionType.CHANNEL | SubscriptionType.GROUP; if (archive) { // RC 0.48.0 - // TODO: missing definitions from server - // @ts-ignore - return sdk.post(`${roomTypeToApiType(t)}.archive`, { roomId }); + return sdk.post(`${roomTypeToApiType(type)}.archive`, { roomId }); } // RC 0.48.0 - // TODO: missing definitions from server - // @ts-ignore - return sdk.post(`${roomTypeToApiType(t)}.unarchive`, { roomId }); + return sdk.post(`${roomTypeToApiType(type)}.unarchive`, { roomId }); }; -export const hideRoom = (roomId: string, t: RoomTypes): any => +export const hideRoom = (roomId: string, t: RoomTypes) => // RC 0.48.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post(`${roomTypeToApiType(t)}.close`, { roomId }); -export const saveRoomSettings = (rid: string, params: any) => +export const saveRoomSettings = ( + rid: string, + params: { + roomName?: string; + roomAvatar?: string; + roomDescription?: string; + roomTopic?: string; + roomAnnouncement?: string; + roomType?: SubscriptionType; + readOnly?: boolean; + reactWhenReadOnly?: boolean; + systemMessages?: string[]; + joinCode?: string; + encrypted?: boolean; + } +): Promise<{ result: boolean; rid: string }> => // RC 0.55.0 sdk.methodCallWrapper('saveRoomSettings', rid, params); -export const saveUserProfile = (data: any, customFields?: any): any => +export const saveUserProfile = (data: IParams | Pick<IParams, 'username'>, customFields?: { [key: string | number]: string }) => // RC 0.62.2 - // TODO: missing definitions from server - // @ts-ignore sdk.post('users.updateOwnBasicInfo', { data, customFields }); -export const saveUserPreferences = (data: any): any => +export const saveUserPreferences = (data: Partial<INotificationPreferences>) => // RC 0.62.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('users.setPreferences', { data }); -export const saveNotificationSettings = (roomId: string, notifications: any): any => +export const saveNotificationSettings = (roomId: string, notifications: IRoomNotifications) => // RC 0.63.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('rooms.saveNotification', { roomId, notifications }); export const getSingleMessage = (msgId: string) => // RC 0.47.0 sdk.get('chat.getMessage', { msgId }); -export const getRoomRoles = (roomId: string, type: RoomTypes): any => +export const getRoomRoles = ( + roomId: string, + type: SubscriptionType.CHANNEL | SubscriptionType.GROUP | SubscriptionType.OMNICHANNEL +) => // RC 0.65.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get(`${roomTypeToApiType(type)}.roles`, { roomId }); -export const getAvatarSuggestion = () => +export const getAvatarSuggestion = (): Promise<IAvatarSuggestion> => // RC 0.51.0 sdk.methodCallWrapper('getAvatarSuggestion'); -export const resetAvatar = (userId: string): any => +export const resetAvatar = (userId: string) => // RC 0.55.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('users.resetAvatar', { userId }); export const setAvatarFromService = ({ @@ -651,49 +598,48 @@ export const setAvatarFromService = ({ data: any; contentType?: string; service?: string | null; -}) => +}): Promise<void> => // RC 0.51.0 sdk.methodCallWrapper('setAvatarFromService', data, contentType, service); -export const getUsernameSuggestion = (): any => +export const getUsernameSuggestion = () => // RC 0.65.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('users.getUsernameSuggestion'); -export const getFiles = (roomId: string, type: RoomTypes, offset: number): any => +export const getFiles = (roomId: string, type: SubscriptionType, offset: number) => { + const t = type as SubscriptionType.DIRECT | SubscriptionType.CHANNEL | SubscriptionType.GROUP; // RC 0.59.0 - // TODO: missing definitions from server - // @ts-ignore - sdk.get(`${roomTypeToApiType(type)}.files`, { + return sdk.get(`${roomTypeToApiType(t)}.files`, { roomId, offset, sort: { uploadedAt: -1 } }); +}; -export const getMessages = (roomId: string, type: RoomTypes, query: any, offset: number): any => +export const getMessages = ( + roomId: string, + type: SubscriptionType, + query: { 'mentions._id': { $in: string[] } } | { 'starred._id': { $in: string[] } } | { pinned: boolean }, + offset: number +) => { + const t = type as SubscriptionType.DIRECT | SubscriptionType.CHANNEL | SubscriptionType.GROUP; // RC 0.59.0 - // TODO: missing definitions from server - // @ts-ignore - sdk.get(`${roomTypeToApiType(type)}.messages`, { + return sdk.get(`${roomTypeToApiType(t)}.messages`, { roomId, query, offset, sort: { ts: -1 } }); +}; -export const getReadReceipts = (messageId: string): any => +export const getReadReceipts = (messageId: string) => // RC 0.63.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('chat.getMessageReadReceipts', { messageId }); -export const searchMessages = (roomId: string, searchText: string, count: number, offset: number): any => +export const searchMessages = (roomId: string, searchText: string, count: number, offset: number) => // RC 0.60.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('chat.search', { roomId, searchText, @@ -710,12 +656,11 @@ export const toggleFollowMessage = (mid: string, follow: boolean) => { }; export const getThreadsList = ({ rid, count, offset, text }: { rid: string; count: number; offset: number; text?: string }) => { - const params: any = { + const params = { rid, count, - offset, - sort: { ts: -1 } - }; + offset + } as { rid: string; count: number; offset: number; text?: string }; if (text) { params.text = text; } @@ -724,19 +669,15 @@ export const getThreadsList = ({ rid, count, offset, text }: { rid: string; coun return sdk.get('chat.getThreadsList', params); }; -export const getSyncThreadsList = ({ rid, updatedSince }: { rid: string; updatedSince: string }): any => +export const getSyncThreadsList = ({ rid, updatedSince }: { rid: string; updatedSince: string }) => // RC 1.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('chat.syncThreadsList', { rid, updatedSince }); -export const runSlashCommand = (command: string, roomId: string, params: any, triggerId?: string, tmid?: string): any => +export const runSlashCommand = (command: string, roomId: string, params: string, triggerId?: string, tmid?: string) => // RC 0.60.2 - // TODO: missing definitions from server - // @ts-ignore sdk.post('commands.run', { command, roomId, @@ -745,10 +686,8 @@ export const runSlashCommand = (command: string, roomId: string, params: any, tr tmid }); -export const getCommandPreview = (command: string, roomId: string, params: any): any => +export const getCommandPreview = (command: string, roomId: string, params: string) => // RC 0.65.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('commands.preview', { command, roomId, @@ -757,15 +696,13 @@ export const getCommandPreview = (command: string, roomId: string, params: any): export const executeCommandPreview = ( command: string, - params: any, + params: string, roomId: string, - previewItem: any, + previewItem: IPreviewItem, triggerId: string, tmid?: string -): any => +) => // RC 0.65.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('commands.preview', { command, params, @@ -775,10 +712,18 @@ export const executeCommandPreview = ( tmid }); -export const getDirectory = ({ query, count, offset, sort }: { query: any; count: number; offset: number; sort: any }): any => +export const getDirectory = ({ + query, + count, + offset, + sort +}: { + query: { [key: string]: string }; + count: number; + offset: number; + sort: { [key: string]: number }; +}) => // RC 1.0 - // TODO: missing definitions from server - // @ts-ignore sdk.get('directory', { query, count, @@ -786,8 +731,17 @@ export const getDirectory = ({ query, count, offset, sort }: { query: any; count sort }); -export const saveAutoTranslate = ({ rid, field, value, options }: { rid: string; field: string; value: any; options: any }) => - sdk.methodCallWrapper('autoTranslate.saveSettings', rid, field, value, options); +export const saveAutoTranslate = ({ + rid, + field, + value, + options +}: { + rid: string; + field: string; + value: string; + options?: { defaultLanguage: string }; +}) => sdk.methodCallWrapper('autoTranslate.saveSettings', rid, field, value, options ?? null); export const getSupportedLanguagesAutoTranslate = () => sdk.methodCallWrapper('autoTranslate.getSupportedLanguages', 'en'); @@ -811,3 +765,139 @@ export const useInviteToken = (token: string): any => // TODO: missing definitions from server // @ts-ignore sdk.post('useInviteToken', { token }); + +export const readThreads = (tmid: string): Promise<void> => { + const serverVersion = reduxStore.getState().server.version; + if (compareServerVersion(serverVersion, 'greaterThanOrEqualTo', '3.4.0')) { + // RC 3.4.0 + return sdk.methodCallWrapper('readThreads', tmid); + } + return Promise.resolve(); +}; + +export const createGroupChat = () => { + const { users } = reduxStore.getState().selectedUsers; + const usernames = users.map(u => u.name).join(','); + + // RC 3.1.0 + return sdk.post('im.create', { usernames }); +}; + +export const addUsersToRoom = (rid: string): Promise<boolean> => { + const { users: selectedUsers } = reduxStore.getState().selectedUsers; + const users = selectedUsers.map(u => u.name); + // RC 0.51.0 + return sdk.methodCallWrapper('addUsersToRoom', { rid, users }); +}; + +export const emitTyping = (room: IRoom, typing = true) => { + const { login, settings } = reduxStore.getState(); + const { UI_Use_Real_Name } = settings; + const { user } = login; + const name = UI_Use_Real_Name ? user.name : user.username; + return sdk.methodCall('stream-notify-room', `${room}/typing`, name, typing); +}; + +export function e2eResetOwnKey(this: TRocketChat): Promise<boolean | {}> { + // {} when TOTP is enabled + // TODO: remove this + this.unsubscribeRooms(); + + // RC 0.72.0 + return sdk.methodCallWrapper('e2e.resetOwnE2EKey'); +} + +export const editMessage = async (message: IMessage) => { + const { rid, msg } = await Encryption.encryptMessage(message); + // RC 0.49.0 + return sdk.post('chat.update', { roomId: rid, msgId: message.id, text: msg }); +}; + +export const registerPushToken = () => + new Promise<void>(async resolve => { + const token = getDeviceToken(); + if (token) { + const type = isIOS ? 'apn' : 'gcm'; + const data = { + value: token, + type, + appName: getBundleId + }; + try { + // RC 0.60.0 + await sdk.post('push.token', data); + } catch (error) { + console.log(error); + } + } + return resolve(); + }); + +export const removePushToken = (): Promise<boolean | void> => { + const token = getDeviceToken(); + if (token) { + // RC 0.60.0 + return sdk.current.del('push.token', { token }); + } + return Promise.resolve(); +}; + +export const sendEmailCode = () => { + const { username } = reduxStore.getState().login.user as IUser; + // RC 3.1.0 + return sdk.post('users.2fa.sendEmailCode', { emailOrUsername: username }); +}; + +export const getRoomMembers = async ({ + rid, + allUsers, + roomType, + type, + filter, + skip = 0, + limit = 10 +}: { + rid: string; + allUsers: boolean; + type: 'all' | 'online'; + roomType: SubscriptionType; + filter: boolean; + skip: number; + limit: number; +}) => { + const t = roomType as SubscriptionType.CHANNEL | SubscriptionType.GROUP | SubscriptionType.DIRECT; + const serverVersion = reduxStore.getState().server.version; + if (compareServerVersion(serverVersion, 'greaterThanOrEqualTo', '3.16.0')) { + const params = { + roomId: rid, + offset: skip, + count: limit, + ...(type !== 'all' && { 'status[]': type }), + ...(filter && { filter }) + }; + // RC 3.16.0 + const result = await sdk.get(`${roomTypeToApiType(t)}.members`, params); + if (result.success) { + return result?.members; + } + } + // RC 0.42.0 + const result = await sdk.methodCallWrapper('getUsersOfRoom', rid, allUsers, { skip, limit }); + if (result.success) { + return result?.records; + } +}; + +export const e2eFetchMyKeys = async () => { + // RC 0.70.0 + const result = await sdk.get('e2e.fetchMyKeys'); + // snake_case -> camelCase + if (result.success) { + return { + success: result.success, + publicKey: result.public_key, + privateKey: result.private_key + }; + } + return result; +}; diff --git a/app/lib/rocketchat/services/sdk.ts b/app/lib/rocketchat/services/sdk.ts index 41c124b11..d5aa3cead 100644 --- a/app/lib/rocketchat/services/sdk.ts +++ b/app/lib/rocketchat/services/sdk.ts @@ -9,19 +9,27 @@ import { Serialized, MatchPathPattern, OperationParams, PathFor, ResultFor } fro class Sdk { private sdk: typeof Rocketchat; + private shareSdk?: typeof Rocketchat; private code: any; + private initializeSdk(server: string): typeof Rocketchat { + // The app can't reconnect if reopen interval is 5s while in development + return new Rocketchat({ host: server, protocol: 'ddp', useSsl: useSsl(server), reopen: __DEV__ ? 20000 : 5000 }); + } + // TODO: We need to stop returning the SDK after all methods are dehydrated initialize(server: string) { this.code = null; - - // The app can't reconnect if reopen interval is 5s while in development - this.sdk = new Rocketchat({ host: server, protocol: 'ddp', useSsl: useSsl(server), reopen: __DEV__ ? 20000 : 5000 }); + this.sdk = this.initializeSdk(server); return this.sdk; } + initializeShareExtension(server: string) { + this.shareSdk = this.initializeSdk(server); + } + get current() { - return this.sdk; + return this.shareSdk || this.sdk; } /** @@ -29,6 +37,11 @@ class Sdk { * I'm returning "null" because we need to remove both instances of this.sdk here and on rocketchat.js */ disconnect() { + if (this.shareSdk) { + this.shareSdk.disconnect(); + this.shareSdk = null; + return null; + } if (this.sdk) { this.sdk.disconnect(); this.sdk = null; @@ -47,7 +60,7 @@ class Sdk { ? void : Serialized<OperationParams<'GET', MatchPathPattern<TPath>>> ): Promise<Serialized<ResultFor<'GET', MatchPathPattern<TPath>>>> { - return this.sdk.get(endpoint, params); + return this.current.get(endpoint, params); } post<TPath extends PathFor<'POST'>>( @@ -64,7 +77,7 @@ class Sdk { return new Promise(async (resolve, reject) => { const isMethodCall = endpoint?.startsWith('method.call/'); try { - const result = await this.sdk.post(endpoint, params); + const result = await this.current.post(endpoint, params); /** * if API_Use_REST_For_DDP_Calls is enabled and it's a method call, @@ -101,7 +114,7 @@ class Sdk { methodCall(...args: any[]): Promise<any> { return new Promise(async (resolve, reject) => { try { - const result = await this.sdk?.methodCall(...args, this.code || ''); + const result = await this.current.methodCall(...args, this.code || ''); return resolve(result); } catch (e: any) { if (e.error && (e.error === 'totp-required' || e.error === 'totp-invalid')) { @@ -140,23 +153,23 @@ class Sdk { } subscribe(...args: any[]) { - return this.sdk.subscribe(...args); + return this.current.subscribe(...args); } subscribeRaw(...args: any[]) { - return this.sdk.subscribeRaw(...args); + return this.current.subscribeRaw(...args); } subscribeRoom(...args: any[]) { - return this.sdk.subscribeRoom(...args); + return this.current.subscribeRoom(...args); } unsubscribe(subscription: any[]) { - return this.sdk.unsubscribe(subscription); + return this.current.unsubscribe(subscription); } onStreamData(...args: any[]) { - return this.sdk.onStreamData(...args); + return this.current.onStreamData(...args); } } diff --git a/app/lib/rocketchat/services/shareExtension.ts b/app/lib/rocketchat/services/shareExtension.ts new file mode 100644 index 000000000..ad83eb989 --- /dev/null +++ b/app/lib/rocketchat/services/shareExtension.ts @@ -0,0 +1,92 @@ +import { Q } from '@nozbe/watermelondb'; + +import { shareSetSettings, shareSelectServer, shareSetUser } from '../../../actions/share'; +import SSLPinning from '../../../utils/sslPinning'; +import log from '../../../utils/log'; +import { IShareServer, IShareUser } from '../../../reducers/share'; +import UserPreferences from '../../userPreferences'; +import database from '../../database'; +import RocketChat from '../rocketchat'; +import { encryptionInit } from '../../../actions/encryption'; +import { store } from '../../auxStore'; +import sdk from './sdk'; + +export async function shareExtensionInit(server: string) { + database.setShareDB(server); + + try { + const certificate = UserPreferences.getString(`${RocketChat.CERTIFICATE_KEY}-${server}`); + if (SSLPinning && certificate) { + await SSLPinning.setCertificate(certificate, server); + } + } catch { + // Do nothing + } + + // sdk.current.disconnect(); + sdk.initializeShareExtension(server); + + // set Server + const currentServer: IShareServer = { + server, + version: '' + }; + const serversDB = database.servers; + const serversCollection = serversDB.get('servers'); + try { + const serverRecord = await serversCollection.find(server); + currentServer.version = serverRecord.version; + } catch { + // Record not found + } + store.dispatch(shareSelectServer(currentServer)); + + RocketChat.setCustomEmojis(); + + try { + // set Settings + const settings = ['Accounts_AvatarBlockUnauthenticatedAccess']; + const db = database.active; + const settingsCollection = db.get('settings'); + const settingsRecords = await settingsCollection.query(Q.where('id', Q.oneOf(settings))).fetch(); + const parsed = Object.values(settingsRecords).map(item => ({ + _id: item.id, + valueAsString: item.valueAsString, + valueAsBoolean: item.valueAsBoolean, + valueAsNumber: item.valueAsNumber, + valueAsArray: item.valueAsArray, + _updatedAt: item._updatedAt + })); + store.dispatch(shareSetSettings(RocketChat.parseSettings(parsed))); + + // set User info + const userId = UserPreferences.getString(`${RocketChat.TOKEN_KEY}-${server}`); + const userCollections = serversDB.get('users'); + let user = null; + if (userId) { + const userRecord = await userCollections.find(userId); + user = { + id: userRecord.id, + token: userRecord.token, + username: userRecord.username, + roles: userRecord.roles + }; + } + store.dispatch(shareSetUser(user as IShareUser)); + if (user) { + await RocketChat.login({ resume: user.token }); + } + store.dispatch(encryptionInit()); + } catch (e) { + log(e); + } +} + +export function closeShareExtension() { + sdk.disconnect(); + database.share = null; + + store.dispatch(shareSelectServer({})); + store.dispatch(shareSetUser({})); + store.dispatch(shareSetSettings({})); +} diff --git a/app/lib/userPreferences.ts b/app/lib/userPreferences.ts index 6f4818da6..a9720202a 100644 --- a/app/lib/userPreferences.ts +++ b/app/lib/userPreferences.ts @@ -1,4 +1,4 @@ -import MMKVStorage from 'react-native-mmkv-storage'; +import MMKVStorage, { create } from 'react-native-mmkv-storage'; const MMKV = new MMKVStorage.Loader() // MODES.MULTI_PROCESS = ACCESSIBLE BY APP GROUP (iOS) @@ -6,52 +6,51 @@ const MMKV = new MMKVStorage.Loader() .withEncryption() .initialize(); +export const useUserPreferences = create(MMKV); + class UserPreferences { private mmkv: MMKVStorage.API; constructor() { this.mmkv = MMKV; } - async getStringAsync(key: string) { + getString(key: string): string | null { try { - const value = await this.mmkv.getStringAsync(key); - return value; + return this.mmkv.getString(key) || null; } catch { return null; } } - setStringAsync(key: string, value: string) { - return this.mmkv.setStringAsync(key, value); + setString(key: string, value: string): boolean | undefined { + return this.mmkv.setString(key, value); } - async getBoolAsync(key: string) { + getBool(key: string): boolean | null { try { - const value = await this.mmkv.getBoolAsync(key); - return value; + return this.mmkv.getBool(key) || null; } catch { return null; } } - setBoolAsync(key: string, value: boolean) { - return this.mmkv.setBoolAsync(key, value); + setBool(key: string, value: boolean): boolean | undefined { + return this.mmkv.setBool(key, value); } - async getMapAsync(key: string) { + getMap(key: string): object | null { try { - const value = await this.mmkv.getMapAsync(key); - return value; + return this.mmkv.getMap(key) || null; } catch { return null; } } - setMapAsync(key: string, value: object) { - return this.mmkv.setMapAsync(key, value); + setMap(key: string, value: object): boolean | undefined { + return this.mmkv.setMap(key, value); } - removeItem(key: string) { + removeItem(key: string): boolean | undefined { return this.mmkv.removeItem(key); } } diff --git a/app/lib/utils.ts b/app/lib/utils.ts index bece818b2..32c36c60d 100644 --- a/app/lib/utils.ts +++ b/app/lib/utils.ts @@ -1,7 +1,7 @@ import { coerce, gt, gte, lt, lte, SemVer } from 'semver'; -export const formatAttachmentUrl = (attachmentUrl: string, userId: string, token: string, server: string): string => { - if (attachmentUrl.startsWith('http')) { +export const formatAttachmentUrl = (attachmentUrl: string | undefined, userId: string, token: string, server: string): string => { + if (attachmentUrl && attachmentUrl.startsWith('http')) { if (attachmentUrl.includes('rc_token')) { return encodeURI(attachmentUrl); } @@ -18,7 +18,7 @@ const methods = { }; export const compareServerVersion = ( - currentServerVersion: string, + currentServerVersion: string | null | undefined, method: keyof typeof methods, versionToCompare: string ): boolean => diff --git a/app/presentation/RoomItem/Wrapper.tsx b/app/presentation/RoomItem/Wrapper.tsx index 30c3283d3..d0d2b150e 100644 --- a/app/presentation/RoomItem/Wrapper.tsx +++ b/app/presentation/RoomItem/Wrapper.tsx @@ -33,8 +33,7 @@ const Wrapper = ({ accessibilityLabel, theme, children, displayMode, ...props }: styles.centerContainer, { borderColor: themes[theme].separatorColor - }, - displayMode === DisplayMode.Condensed && styles.condensedPaddingVertical + } ]}> {children} </View> diff --git a/app/presentation/RoomItem/styles.ts b/app/presentation/RoomItem/styles.ts index d3ce81413..9735484bd 100644 --- a/app/presentation/RoomItem/styles.ts +++ b/app/presentation/RoomItem/styles.ts @@ -21,9 +21,6 @@ export default StyleSheet.create<any>({ containerCondensed: { height: ROW_HEIGHT_CONDENSED }, - condensedPaddingVertical: { - paddingVertical: 20 - }, centerContainer: { flex: 1, paddingVertical: 10, @@ -33,7 +30,6 @@ export default StyleSheet.create<any>({ title: { flex: 1, fontSize: 17, - lineHeight: 20, ...sharedStyles.textMedium }, alert: { @@ -67,7 +63,6 @@ export default StyleSheet.create<any>({ markdownText: { flex: 1, fontSize: 14, - lineHeight: 17, ...sharedStyles.textRegular }, avatar: { diff --git a/app/presentation/ServerItem/index.tsx b/app/presentation/ServerItem/index.tsx index a9016753b..f46223a45 100644 --- a/app/presentation/ServerItem/index.tsx +++ b/app/presentation/ServerItem/index.tsx @@ -59,7 +59,7 @@ const ServerItem = React.memo(({ item, onPress, onLongPress, hasCheck, theme }: {item.id} </Text> </View> - {hasCheck ? <Check theme={theme!} /> : null} + {hasCheck ? <Check /> : null} </View> </Pressable> )); diff --git a/app/presentation/TextInput.tsx b/app/presentation/TextInput.tsx index 6b6e61a9e..6f1ac31b3 100644 --- a/app/presentation/TextInput.tsx +++ b/app/presentation/TextInput.tsx @@ -10,7 +10,7 @@ const styles = StyleSheet.create({ } }); -interface IThemedTextInput extends IRCTextInputProps { +export interface IThemedTextInput extends IRCTextInputProps { style: StyleProp<TextStyle>; theme: string; } diff --git a/app/reducers/enterpriseModules.ts b/app/reducers/enterpriseModules.ts index 78616e246..fbd9fd52f 100644 --- a/app/reducers/enterpriseModules.ts +++ b/app/reducers/enterpriseModules.ts @@ -1,7 +1,7 @@ import { TActionEnterpriseModules } from '../actions/enterpriseModules'; import { ENTERPRISE_MODULES } from '../actions/actionsTypes'; -export type IEnterpriseModules = 'omnichannel-mobile-enterprise' | 'livechat-enterprise'; +export type IEnterpriseModules = string; export const initialState: IEnterpriseModules[] = []; diff --git a/app/reducers/login.test.ts b/app/reducers/login.test.ts index abab2ebaf..2c92b8879 100644 --- a/app/reducers/login.test.ts +++ b/app/reducers/login.test.ts @@ -1,4 +1,5 @@ import { + clearUser, loginFailure, loginRequest, loginSuccess, @@ -81,6 +82,12 @@ describe('test selectedUsers reducer', () => { expect(state).toEqual(user.username); }); + it('should clear user after clearUser', () => { + mockedStore.dispatch(clearUser()); + const state = mockedStore.getState().login.user; + expect(state).toEqual({}); + }); + // TODO PREFERENCE REDUCER WITH EMPTY PREFERENCE - NON USED? // it('should return modified store after setPreference', () => { // mockedStore.dispatch(setPreference({ showAvatar: true })); diff --git a/app/reducers/login.ts b/app/reducers/login.ts index 2969d0c28..8d4026112 100644 --- a/app/reducers/login.ts +++ b/app/reducers/login.ts @@ -80,6 +80,13 @@ export default function login(state = initialState, action: TActionsLogin): ILog ...action.user } }; + case types.USER.CLEAR: + return { + ...state, + user: {}, + isAuthenticated: false, + isLocalAuthenticated: false + }; case types.LOGIN.SET_SERVICES: return { ...state, diff --git a/app/reducers/settings.test.ts b/app/reducers/settings.test.ts index da93ce3cc..046bdc40b 100644 --- a/app/reducers/settings.test.ts +++ b/app/reducers/settings.test.ts @@ -1,6 +1,6 @@ import { addSettings, clearSettings, updateSettings } from '../actions/settings'; import { mockedStore } from './mockedStore'; -import { initialState } from './settings'; +import { initialState, TSettingsState } from './settings'; describe('test settings reducer', () => { it('should return initial state', () => { @@ -8,7 +8,11 @@ describe('test settings reducer', () => { expect(state).toEqual(initialState); }); - const settings = { API_Use_REST_For_DDP_Calls: true, FileUpload_MaxFileSize: 600857600, Jitsi_URL_Room_Prefix: 'RocketChat' }; + const settings: TSettingsState = { + API_Use_REST_For_DDP_Calls: true, + FileUpload_MaxFileSize: 600857600, + Jitsi_URL_Room_Prefix: 'RocketChat' + }; it('should return modified store after call addSettings action', () => { mockedStore.dispatch(addSettings(settings)); diff --git a/app/reducers/settings.ts b/app/reducers/settings.ts index 028431ed0..090cf73a2 100644 --- a/app/reducers/settings.ts +++ b/app/reducers/settings.ts @@ -1,13 +1,17 @@ import { IActionSettings } from '../actions/settings'; import { SETTINGS } from '../actions/actionsTypes'; +import settings from '../constants/settings'; -export type TSettings = string | number | boolean; +export type TSupportedSettings = keyof typeof settings; +export type TSettingsValues = string | number | boolean | string[]; -export type ISettings = Record<string, TSettings>; +export type TSettingsState = { + [K in TSupportedSettings]?: TSettingsValues; +}; -export const initialState: ISettings = {}; +export const initialState: TSettingsState = {}; -export default (state = initialState, action: IActionSettings): ISettings => { +export default (state = initialState, action: IActionSettings): TSettingsState => { switch (action.type) { case SETTINGS.ADD: return { diff --git a/app/reducers/share.ts b/app/reducers/share.ts index 03904ec46..d62f9c584 100644 --- a/app/reducers/share.ts +++ b/app/reducers/share.ts @@ -2,17 +2,17 @@ import { TActionsShare } from '../actions/share'; import { SHARE } from '../actions/actionsTypes'; export interface IShareServer { - server: string; - version: string; + server?: string; + version?: string; } export type TShareSettings = Record<string, string | number | boolean>; export interface IShareUser { - id: string; - token: string; - username: string; - roles: string[]; + id?: string; + token?: string; + username?: string; + roles?: string[]; } export interface IShare { @@ -22,8 +22,8 @@ export interface IShare { } export const initialState: IShare = { - user: {} as IShareUser, - server: {} as IShareServer, + user: {}, + server: {}, settings: {} }; diff --git a/app/sagas/deepLinking.js b/app/sagas/deepLinking.js index 900e6a145..c10025394 100644 --- a/app/sagas/deepLinking.js +++ b/app/sagas/deepLinking.js @@ -158,8 +158,8 @@ const handleOpen = function* handleOpen({ params }) { } const [server, user] = yield all([ - UserPreferences.getStringAsync(RocketChat.CURRENT_SERVER), - UserPreferences.getStringAsync(`${RocketChat.TOKEN_KEY}-${host}`) + UserPreferences.getString(RocketChat.CURRENT_SERVER), + UserPreferences.getString(`${RocketChat.TOKEN_KEY}-${host}`) ]); // TODO: needs better test diff --git a/app/sagas/encryption.js b/app/sagas/encryption.js index cdf938bcd..e99f8b72b 100644 --- a/app/sagas/encryption.js +++ b/app/sagas/encryption.js @@ -39,7 +39,7 @@ const handleEncryptionInit = function* handleEncryptionInit() { } // Fetch stored private e2e key for this server - const storedPrivateKey = yield UserPreferences.getStringAsync(`${server}-${E2E_PRIVATE_KEY}`); + const storedPrivateKey = UserPreferences.getString(`${server}-${E2E_PRIVATE_KEY}`); // Fetch server stored e2e keys const keys = yield RocketChat.e2eFetchMyKeys(); @@ -52,13 +52,15 @@ const handleEncryptionInit = function* handleEncryptionInit() { } // If the user has a private key stored, but never entered the password - const storedRandomPassword = yield UserPreferences.getStringAsync(`${server}-${E2E_RANDOM_PASSWORD_KEY}`); + const storedRandomPassword = UserPreferences.getString(`${server}-${E2E_RANDOM_PASSWORD_KEY}`); + if (storedRandomPassword) { yield put(encryptionSet(true, E2E_BANNER_TYPE.SAVE_PASSWORD)); } // Fetch stored public e2e key for this server - let storedPublicKey = yield UserPreferences.getStringAsync(`${server}-${E2E_PUBLIC_KEY}`); + let storedPublicKey = UserPreferences.getString(`${server}-${E2E_PUBLIC_KEY}`); + // Prevent parse undefined if (storedPublicKey) { storedPublicKey = EJSON.parse(storedPublicKey); diff --git a/app/sagas/init.js b/app/sagas/init.js index 3671e83f4..a7efced62 100644 --- a/app/sagas/init.js +++ b/app/sagas/init.js @@ -14,7 +14,7 @@ import { appReady, appStart } from '../actions/app'; import { RootEnum } from '../definitions'; export const initLocalSettings = function* initLocalSettings() { - const sortPreferences = yield RocketChat.getSortPreferences(); + const sortPreferences = RocketChat.getSortPreferences(); yield put(setAllPreferences(sortPreferences)); }; @@ -22,19 +22,19 @@ const BIOMETRY_MIGRATION_KEY = 'kBiometryMigration'; const restore = function* restore() { try { - const server = yield UserPreferences.getStringAsync(RocketChat.CURRENT_SERVER); - let userId = yield UserPreferences.getStringAsync(`${RocketChat.TOKEN_KEY}-${server}`); + const server = UserPreferences.getString(RocketChat.CURRENT_SERVER); + let userId = UserPreferences.getString(`${RocketChat.TOKEN_KEY}-${server}`); // Migration biometry setting from WatermelonDB to MMKV // TODO: remove it after a few versions - const hasMigratedBiometry = yield UserPreferences.getBoolAsync(BIOMETRY_MIGRATION_KEY); + const hasMigratedBiometry = UserPreferences.getBool(BIOMETRY_MIGRATION_KEY); if (!hasMigratedBiometry) { const serversDB = database.servers; const serversCollection = serversDB.get('servers'); const servers = yield serversCollection.query().fetch(); const isBiometryEnabled = servers.some(server => !!server.biometry); - yield UserPreferences.setBoolAsync(BIOMETRY_ENABLED_KEY, isBiometryEnabled); - yield UserPreferences.setBoolAsync(BIOMETRY_MIGRATION_KEY, true); + UserPreferences.setBool(BIOMETRY_ENABLED_KEY, isBiometryEnabled); + UserPreferences.setBool(BIOMETRY_MIGRATION_KEY, true); } if (!server) { @@ -48,7 +48,7 @@ const restore = function* restore() { if (servers.length > 0) { for (let i = 0; i < servers.length; i += 1) { const newServer = servers[i].id; - userId = yield UserPreferences.getStringAsync(`${RocketChat.TOKEN_KEY}-${newServer}`); + userId = UserPreferences.getString(`${RocketChat.TOKEN_KEY}-${newServer}`); if (userId) { return yield put(selectServerRequest(newServer)); } diff --git a/app/sagas/login.js b/app/sagas/login.js index 346e3be15..adde0dad3 100644 --- a/app/sagas/login.js +++ b/app/sagas/login.js @@ -161,8 +161,8 @@ const handleLoginSuccess = function* handleLoginSuccess({ user }) { } }); - yield UserPreferences.setStringAsync(`${RocketChat.TOKEN_KEY}-${server}`, user.id); - yield UserPreferences.setStringAsync(`${RocketChat.TOKEN_KEY}-${user.id}`, user.token); + UserPreferences.setString(`${RocketChat.TOKEN_KEY}-${server}`, user.id); + UserPreferences.setString(`${RocketChat.TOKEN_KEY}-${user.id}`, user.token); yield put(setUser(user)); EventEmitter.emit('connected'); @@ -200,7 +200,7 @@ const handleLogout = function* handleLogout({ forcedByServer }) { if (servers.length > 0) { for (let i = 0; i < servers.length; i += 1) { const newServer = servers[i].id; - const token = yield UserPreferences.getStringAsync(`${RocketChat.TOKEN_KEY}-${newServer}`); + const token = UserPreferences.getString(`${RocketChat.TOKEN_KEY}-${newServer}`); if (token) { yield put(selectServerRequest(newServer)); return; diff --git a/app/sagas/rooms.js b/app/sagas/rooms.js index 56d6c6c42..4787c2714 100644 --- a/app/sagas/rooms.js +++ b/app/sagas/rooms.js @@ -9,8 +9,6 @@ import log from '../utils/log'; import mergeSubscriptionsRooms from '../lib/methods/helpers/mergeSubscriptionsRooms'; import RocketChat from '../lib/rocketchat'; import buildMessage from '../lib/methods/helpers/buildMessage'; -import protectedFunction from '../lib/methods/helpers/protectedFunction'; -import UserPreferences from '../lib/userPreferences'; const updateRooms = function* updateRooms({ server, newRoomsUpdatedAt }) { const serversDB = database.servers; @@ -47,25 +45,15 @@ const handleRoomsRequest = function* handleRoomsRequest({ params }) { } } - // Force fetch all subscriptions to update columns related to Teams feature - // TODO: remove it a couple of releases - const teamsMigrationKey = `${server}_TEAMS_MIGRATION`; - const teamsMigration = yield UserPreferences.getBoolAsync(teamsMigrationKey); - if (!teamsMigration) { - roomsUpdatedAt = null; - UserPreferences.setBoolAsync(teamsMigrationKey, true); - } - const [subscriptionsResult, roomsResult] = yield RocketChat.getRooms(roomsUpdatedAt); - const { subscriptions } = yield mergeSubscriptionsRooms(subscriptionsResult, roomsResult); - + const subscriptions = yield mergeSubscriptionsRooms(subscriptionsResult, roomsResult); const db = database.active; const subCollection = db.get('subscriptions'); const messagesCollection = db.get('messages'); - const subsIds = subscriptions.map(sub => sub.rid).concat(roomsResult.remove.map(room => room._id)); + const subsIds = subscriptions.map(sub => sub._id).concat(subscriptionsResult.remove.map(sub => sub._id)); if (subsIds.length) { - const existingSubs = yield subCollection.query(Q.where('id', Q.oneOf(subsIds))).fetch(); + const existingSubs = yield subCollection.query(Q.where('_id', Q.oneOf(subsIds))).fetch(); const subsToUpdate = existingSubs.filter(i1 => subscriptions.find(i2 => i1._id === i2._id)); const subsToCreate = subscriptions.filter(i1 => !existingSubs.find(i2 => i1._id === i2._id)); const subsToDelete = existingSubs.filter(i1 => !subscriptions.find(i2 => i1._id === i2._id)); @@ -92,33 +80,46 @@ const handleRoomsRequest = function* handleRoomsRequest({ params }) { }) ), ...subsToUpdate.map(subscription => { - const newSub = subscriptions.find(s => s._id === subscription._id); - return subscription.prepareUpdate(() => { - if (newSub.announcement) { - if (newSub.announcement !== subscription.announcement) { - subscription.bannerClosed = false; + try { + const newSub = subscriptions.find(s => s._id === subscription._id); + return subscription.prepareUpdate(() => { + if (newSub.announcement) { + if (newSub.announcement !== subscription.announcement) { + subscription.bannerClosed = false; + } } - } - Object.assign(subscription, newSub); - }); + Object.assign(subscription, newSub); + }); + } catch (e) { + log(e); + return null; + } + }), + ...subsToDelete.map(subscription => { + try { + return subscription.prepareDestroyPermanently(); + } catch (e) { + log(e); + return null; + } }), - ...subsToDelete.map(subscription => subscription.prepareDestroyPermanently()), ...messagesToCreate.map(message => - messagesCollection.prepareCreate( - protectedFunction(m => { - m._raw = sanitizedRaw({ id: message._id }, messagesCollection.schema); - m.subscription.id = message.rid; - return Object.assign(m, message); - }) - ) + messagesCollection.prepareCreate(m => { + m._raw = sanitizedRaw({ id: message._id }, messagesCollection.schema); + m.subscription.id = message.rid; + return Object.assign(m, message); + }) ), ...messagesToUpdate.map(message => { const newMessage = lastMessages.find(m => m._id === message.id); - return message.prepareUpdate( - protectedFunction(() => { - Object.assign(message, newMessage); - }) - ); + return message.prepareUpdate(() => { + try { + return Object.assign(message, newMessage); + } catch (e) { + log(e); + return null; + } + }); }) ]; diff --git a/app/sagas/selectServer.js b/app/sagas/selectServer.js index c67af42d1..0d0adcda4 100644 --- a/app/sagas/selectServer.js +++ b/app/sagas/selectServer.js @@ -9,7 +9,7 @@ import Navigation from '../lib/Navigation'; import { SERVER } from '../actions/actionsTypes'; import { selectServerFailure, selectServerRequest, selectServerSuccess, serverFailure } from '../actions/server'; import { clearSettings } from '../actions/settings'; -import { setUser } from '../actions/login'; +import { clearUser, setUser } from '../actions/login'; import { clearActiveUsers } from '../actions/activeUsers'; import RocketChat from '../lib/rocketchat'; import database from '../lib/database'; @@ -69,15 +69,14 @@ const getServerInfo = function* getServerInfo({ server, raiseError = true }) { const handleSelectServer = function* handleSelectServer({ server, version, fetchVersion }) { try { // SSL Pinning - Read certificate alias and set it to be used by network requests - const certificate = yield UserPreferences.getStringAsync(`${RocketChat.CERTIFICATE_KEY}-${server}`); - yield SSLPinning.setCertificate(certificate, server); - + const certificate = UserPreferences.getString(`${RocketChat.CERTIFICATE_KEY}-${server}`); + SSLPinning.setCertificate(certificate, server); yield put(inquiryReset()); yield put(encryptionStop()); yield put(clearActiveUsers()); const serversDB = database.servers; - yield UserPreferences.setStringAsync(RocketChat.CURRENT_SERVER, server); - const userId = yield UserPreferences.getStringAsync(`${RocketChat.TOKEN_KEY}-${server}`); + UserPreferences.setString(RocketChat.CURRENT_SERVER, server); + const userId = UserPreferences.getString(`${RocketChat.TOKEN_KEY}-${server}`); const userCollections = serversDB.get('users'); let user = null; if (userId) { @@ -97,14 +96,14 @@ const handleSelectServer = function* handleSelectServer({ server, version, fetch }; } catch { // search credentials on shared credentials (Experimental/Official) - const token = yield UserPreferences.getStringAsync(`${RocketChat.TOKEN_KEY}-${userId}`); + const token = UserPreferences.getString(`${RocketChat.TOKEN_KEY}-${userId}`); if (token) { user = { token }; } } } - const basicAuth = yield UserPreferences.getStringAsync(`${BASIC_AUTH_KEY}-${server}`); + const basicAuth = UserPreferences.getString(`${BASIC_AUTH_KEY}-${server}`); setBasicAuth(basicAuth); // Check for running requests and abort them before connecting to the server @@ -112,10 +111,11 @@ const handleSelectServer = function* handleSelectServer({ server, version, fetch if (user) { yield put(clearSettings()); - yield RocketChat.connect({ server, user, logoutOnError: true }); yield put(setUser(user)); + yield RocketChat.connect({ server, logoutOnError: true }); yield put(appStart({ root: RootEnum.ROOT_INSIDE })); } else { + yield put(clearUser()); yield RocketChat.connect({ server }); yield put(appStart({ root: RootEnum.ROOT_OUTSIDE })); } @@ -148,8 +148,8 @@ const handleSelectServer = function* handleSelectServer({ server, version, fetch const handleServerRequest = function* handleServerRequest({ server, username, fromServerHistory }) { try { // SSL Pinning - Read certificate alias and set it to be used by network requests - const certificate = yield UserPreferences.getStringAsync(`${RocketChat.CERTIFICATE_KEY}-${server}`); - yield SSLPinning.setCertificate(certificate, server); + const certificate = UserPreferences.getString(`${RocketChat.CERTIFICATE_KEY}-${server}`); + SSLPinning.setCertificate(certificate, server); const serverInfo = yield getServerInfo({ server }); const serversDB = database.servers; diff --git a/app/selectors/login.ts b/app/selectors/login.ts index 2b634d6ab..b4f483fb7 100644 --- a/app/selectors/login.ts +++ b/app/selectors/login.ts @@ -3,7 +3,7 @@ import isEmpty from 'lodash/isEmpty'; import { IApplicationState, IUser } from '../definitions'; -interface IServices { +export interface IServices { facebook: { clientId: string }; github: { clientId: string }; gitlab: { clientId: string }; diff --git a/app/share.tsx b/app/share.tsx index 8a756d91a..a518a1eba 100644 --- a/app/share.tsx +++ b/app/share.tsx @@ -5,14 +5,14 @@ import { AppearanceProvider } from 'react-native-appearance'; import { createStackNavigator } from '@react-navigation/stack'; import { Provider } from 'react-redux'; -import { defaultTheme, newThemeState, subscribeTheme, unsubscribeTheme } from './utils/theme'; +import { getTheme, initialTheme, newThemeState, subscribeTheme, unsubscribeTheme } from './utils/theme'; import UserPreferences from './lib/userPreferences'; import Navigation from './lib/ShareNavigation'; import store from './lib/createStore'; import { initStore } from './lib/auxStore'; -import { supportSystemTheme } from './utils/deviceInfo'; +import { closeShareExtension, shareExtensionInit } from './lib/rocketchat/services/shareExtension'; import { defaultHeader, getActiveRouteName, navigationTheme, themedHeader } from './utils/navigation'; -import RocketChat, { THEME_PREFERENCES_KEY } from './lib/rocketchat'; +import RocketChat from './lib/rocketchat'; import { ThemeContext } from './theme'; import { localAuthenticate } from './utils/localAuthentication'; import { IThemePreference } from './definitions/ITheme'; @@ -94,12 +94,10 @@ class Root extends React.Component<{}, IState> { constructor(props: any) { super(props); const { width, height, scale, fontScale } = Dimensions.get('screen'); + const theme = initialTheme(); this.state = { - theme: defaultTheme(), - themePreferences: { - currentTheme: supportSystemTheme() ? 'automatic' : 'light', - darkLevel: 'black' - }, + theme: getTheme(theme), + themePreferences: theme, root: '', width, height, @@ -110,19 +108,17 @@ class Root extends React.Component<{}, IState> { } componentWillUnmount(): void { - RocketChat.closeShareExtension(); + closeShareExtension(); unsubscribeTheme(); } init = async () => { - UserPreferences.getMapAsync(THEME_PREFERENCES_KEY).then((theme: any) => this.setTheme(theme)); - - const currentServer = await UserPreferences.getStringAsync(RocketChat.CURRENT_SERVER); + const currentServer = UserPreferences.getString(RocketChat.CURRENT_SERVER); if (currentServer) { await localAuthenticate(currentServer); this.setState({ root: 'inside' }); - await RocketChat.shareExtensionInit(currentServer); + await shareExtensionInit(currentServer); } else { this.setState({ root: 'outside' }); } diff --git a/app/stacks/MasterDetailStack/types.ts b/app/stacks/MasterDetailStack/types.ts index 50240de7d..00fa276a2 100644 --- a/app/stacks/MasterDetailStack/types.ts +++ b/app/stacks/MasterDetailStack/types.ts @@ -4,6 +4,7 @@ import { NavigatorScreenParams } from '@react-navigation/core'; import { IAttachment } from '../../definitions/IAttachment'; import { IMessage } from '../../definitions/IMessage'; import { ISubscription, SubscriptionType } from '../../definitions/ISubscription'; +import { TRoomModel } from '../../definitions'; export type MasterDetailChatsStackParamList = { RoomView: { @@ -38,15 +39,16 @@ export type ModalStackParamList = { member: any; rid: string; t: SubscriptionType; + showCloseModal?: boolean; }; SelectListView: { data: any; title: string; infoText: string; nextAction: Function; - showAlert: boolean; - isSearch: boolean; - onSearch: Function; + showAlert?: () => void | boolean; + isSearch?: boolean; + onSearch?: Function; isRadio?: boolean; }; RoomInfoEditView: { @@ -54,7 +56,7 @@ export type ModalStackParamList = { }; RoomMembersView: { rid: string; - room: ISubscription; + room: TRoomModel; }; DiscussionsView: { rid: string; diff --git a/app/stacks/types.ts b/app/stacks/types.ts index 7e5e571b5..ed4f161dd 100644 --- a/app/stacks/types.ts +++ b/app/stacks/types.ts @@ -9,44 +9,55 @@ import { IAttachment } from '../definitions/IAttachment'; import { IMessage } from '../definitions/IMessage'; import { ISubscription, SubscriptionType, TSubscriptionModel } from '../definitions/ISubscription'; import { ICannedResponse } from '../definitions/ICannedResponse'; +import { ModalStackParamList } from './MasterDetailStack/types'; export type ChatsStackParamList = { + ModalStackNavigator: NavigatorScreenParams<ModalStackParamList>; + E2ESaveYourPasswordStackNavigator: NavigatorScreenParams<E2ESaveYourPasswordStackParamList>; + E2EEnterYourPasswordStackNavigator: NavigatorScreenParams<E2EEnterYourPasswordStackParamList>; + SettingsView: any; + NewMessageStackNavigator: any; + NewMessageStack: undefined; RoomsListView: undefined; - RoomView: { - rid: string; - t: SubscriptionType; - tmid?: string; - message?: string; - name?: string; - fname?: string; - prid?: string; - room?: ISubscription; - jumpToMessageId?: string; - jumpToThreadId?: string; - roomUserId?: string; - }; + RoomView: + | { + rid: string; + t: SubscriptionType; + tmid?: string; + message?: object; // TODO: TMessageModel? + name?: string; + fname?: string; + prid?: string; + room?: TSubscriptionModel | { rid: string; t: string; name?: string; fname?: string; prid?: string }; + jumpToMessageId?: string; + jumpToThreadId?: string; + roomUserId?: string | null; + usedCannedResponse?: string; + } + | undefined; // Navigates back to RoomView already on stack RoomActionsView: { - room: ISubscription; + room: TSubscriptionModel; member: any; rid: string; t: SubscriptionType; joined: boolean; }; SelectListView: { - data: IRoom[]; + data?: IRoom[]; title: string; - infoText: string; + infoText?: string; nextAction: (selected: string[]) => void; - showAlert: () => void; - isSearch: boolean; - onSearch: (text: string) => Partial<IRoom[]>; + showAlert?: () => void; + isSearch?: boolean; + onSearch?: (text: string) => Promise<Partial<IRoom[]> | any>; isRadio?: boolean; }; RoomInfoView: { - room: ISubscription; + room?: ISubscription; member: any; rid: string; t: SubscriptionType; + showCloseModal?: boolean; }; RoomInfoEditView: { rid: string; @@ -233,7 +244,7 @@ export type InsideStackParamList = { isShareExtension: boolean; serverInfo: IServer; text: string; - room: ISubscription; + room: TSubscriptionModel; thread: any; // TODO: Change }; ModalBlockView: { @@ -261,8 +272,14 @@ export type OutsideParamList = { }; RegisterView: { title: string; + username?: string; }; LegalView: undefined; + AuthenticationWebView: { + authType: string; + url: string; + ssoToken?: string; + }; }; export type OutsideModalParamList = { diff --git a/app/utils/debounce.ts b/app/utils/debounce.ts index e0c28b239..dd41e6ed0 100644 --- a/app/utils/debounce.ts +++ b/app/utils/debounce.ts @@ -1,5 +1,5 @@ export default function debounce(func: Function, wait?: number, immediate?: boolean) { - let timeout: number | null; + let timeout: ReturnType<typeof setTimeout> | null; function _debounce(...args: any[]) { // @ts-ignore // eslint-disable-next-line @typescript-eslint/no-this-alias diff --git a/app/utils/events.ts b/app/utils/events.ts index fc0b975ad..0364cab96 100644 --- a/app/utils/events.ts +++ b/app/utils/events.ts @@ -1,8 +1,10 @@ +import { IEmitUserInteraction } from '../containers/UIKit/interfaces'; import { ICommand } from '../definitions/ICommand'; import log from './log'; type TEventEmitterEmmitArgs = | { rid: string } + | { server: string } | { message: string } | { method: string } | { invalid: boolean } @@ -10,7 +12,8 @@ type TEventEmitterEmmitArgs = | { hasBiometry: boolean } | { event: string | ICommand } | { cancel: () => void } - | { submit: (param: string) => void }; + | { submit: (param: string) => void } + | IEmitUserInteraction; class EventEmitter { private events: { [key: string]: any }; diff --git a/app/utils/fetch.ts b/app/utils/fetch.ts index c8758da8b..51a7c7173 100644 --- a/app/utils/fetch.ts +++ b/app/utils/fetch.ts @@ -4,9 +4,21 @@ import { settings as RocketChatSettings } from '@rocket.chat/sdk'; import RocketChat from '../lib/rocketchat'; +export type TMethods = 'POST' | 'GET' | 'DELETE' | 'PUT' | 'post' | 'get' | 'delete' | 'put'; + interface CustomHeaders { - 'User-Agent': string; + 'User-Agent'?: string; Authorization?: string; + 'Content-Type'?: string; + 'X-Auth-Token'?: string; + 'X-User-Id'?: string; +} + +interface IOptions { + headers?: CustomHeaders; + signal?: AbortSignal; + method?: TMethods; + body?: any; } // this form is required by Rocket.Chat's parser in "app/statistics/server/lib/UAParserCustom.js" @@ -29,7 +41,7 @@ export const BASIC_AUTH_KEY = 'BASIC_AUTH_KEY'; RocketChatSettings.customHeaders = headers; -export default (url: string, options: { headers?: Headers; signal?: AbortSignal } = {}): Promise<Response> => { +export default (url: string, options: IOptions = {}): Promise<Response> => { let customOptions = { ...options, headers: RocketChatSettings.customHeaders }; if (options && options.headers) { customOptions = { ...customOptions, headers: { ...options.headers, ...customOptions.headers } }; diff --git a/app/utils/fileUpload/index.ts b/app/utils/fileUpload/index.ts index 1d2bdb312..bf23212c4 100644 --- a/app/utils/fileUpload/index.ts +++ b/app/utils/fileUpload/index.ts @@ -1,9 +1,8 @@ import RNFetchBlob from 'rn-fetch-blob'; +import { TMethods } from '../fetch'; import { IFileUpload } from './interfaces'; -type TMethods = 'POST' | 'GET' | 'DELETE' | 'PUT' | 'post' | 'get' | 'delete' | 'put'; - class FileUpload { fetch = (method: TMethods, url: string, headers: { [key: string]: string }, data: IFileUpload[]) => { const formData = data.map(item => { diff --git a/app/utils/goRoom.ts b/app/utils/goRoom.ts index 0a49bb215..64881abc1 100644 --- a/app/utils/goRoom.ts +++ b/app/utils/goRoom.ts @@ -1,14 +1,26 @@ import { ChatsStackParamList } from '../stacks/types'; import Navigation from '../lib/Navigation'; import RocketChat from '../lib/rocketchat'; -import { ISubscription, SubscriptionType } from '../definitions/ISubscription'; +import { IOmnichannelRoom, SubscriptionType, IVisitor, TSubscriptionModel, ISubscription } from '../definitions'; + +interface IGoRoomItem { + search?: boolean; // comes from spotlight + username?: string; + t?: SubscriptionType; + rid?: string; + name?: string; + prid?: string; + visitor?: IVisitor; +} + +export type TGoRoomItem = IGoRoomItem | TSubscriptionModel | ISubscription | IOmnichannelRoomVisitor; const navigate = ({ item, isMasterDetail, ...props }: { - item: IItem; + item: TGoRoomItem; isMasterDetail: boolean; navigationMethod?: () => ChatsStackParamList; }) => { @@ -30,9 +42,9 @@ const navigate = ({ }); }; -interface IItem extends Partial<ISubscription> { - search?: boolean; // comes from spotlight - username?: string; +interface IOmnichannelRoomVisitor extends IOmnichannelRoom { + // this visitor came from ee/omnichannel/views/QueueListView + visitor: IVisitor; } export const goRoom = async ({ @@ -40,19 +52,18 @@ export const goRoom = async ({ isMasterDetail = false, ...props }: { - item: IItem; + item: TGoRoomItem; isMasterDetail: boolean; navigationMethod?: any; jumpToMessageId?: string; usedCannedResponse?: string; }): Promise<void> => { - if (item.t === SubscriptionType.DIRECT && item?.search) { + if (!('id' in item) && item.t === SubscriptionType.DIRECT && item?.search) { // if user is using the search we need first to join/create room try { const { username } = item; - // @ts-ignore - const result = await RocketChat.createDirectMessage(username); - if (result.success) { + const result = await RocketChat.createDirectMessage(username as string); + if (result.success && result?.room?._id) { return navigate({ item: { rid: result.room._id, diff --git a/app/utils/isReadOnly.ts b/app/utils/isReadOnly.ts index 6afc2d962..deee17d83 100644 --- a/app/utils/isReadOnly.ts +++ b/app/utils/isReadOnly.ts @@ -9,21 +9,18 @@ const canPostReadOnly = async ({ rid }: { rid: string }) => { return permission[0]; }; -const isMuted = (room: ISubscription, user: { username: string }) => - room && room.muted && room.muted.find && !!room.muted.find(m => m === user.username); +const isMuted = (room: Partial<ISubscription>, username: string) => + room && room.muted && room.muted.find && !!room.muted.find(m => m === username); -export const isReadOnly = async ( - room: ISubscription, - user: { id?: string; username: string; token?: string } -): Promise<boolean> => { +export const isReadOnly = async (room: Partial<ISubscription>, username: string): Promise<boolean> => { if (room.archived) { return true; } - if (isMuted(room, user)) { + if (isMuted(room, username)) { return true; } if (room?.ro) { - const allowPost = await canPostReadOnly(room); + const allowPost = await canPostReadOnly({ rid: room.rid as string }); if (allowPost) { return false; } diff --git a/app/utils/localAuthentication.ts b/app/utils/localAuthentication.ts index 141268b4d..9a2255f7d 100644 --- a/app/utils/localAuthentication.ts +++ b/app/utils/localAuthentication.ts @@ -69,7 +69,7 @@ const openChangePasscodeModal = ({ force }: { force: boolean }) => export const changePasscode = async ({ force = false }: { force: boolean }): Promise<void> => { const passcode = await openChangePasscodeModal({ force }); - await UserPreferences.setStringAsync(PASSCODE_KEY, sha256(passcode)); + UserPreferences.setString(PASSCODE_KEY, sha256(passcode)); }; export const biometryAuth = (force?: boolean): Promise<LocalAuthentication.LocalAuthenticationResult> => @@ -86,12 +86,12 @@ export const biometryAuth = (force?: boolean): Promise<LocalAuthentication.Local const checkBiometry = async () => { const result = await biometryAuth(true); const isBiometryEnabled = !!result?.success; - await UserPreferences.setBoolAsync(BIOMETRY_ENABLED_KEY, isBiometryEnabled); + UserPreferences.setBool(BIOMETRY_ENABLED_KEY, isBiometryEnabled); return isBiometryEnabled; }; export const checkHasPasscode = async ({ force = true }: { force?: boolean }): Promise<{ newPasscode?: boolean } | void> => { - const storedPasscode = await UserPreferences.getStringAsync(PASSCODE_KEY); + const storedPasscode = UserPreferences.getString(PASSCODE_KEY); if (!storedPasscode) { await changePasscode({ force }); await checkBiometry(); @@ -137,7 +137,7 @@ export const localAuthenticate = async (server: string): Promise<void> => { store.dispatch(setLocalAuthenticated(false)); // let hasBiometry = false; - let hasBiometry = (await UserPreferences.getBoolAsync(BIOMETRY_ENABLED_KEY)) ?? false; + let hasBiometry = UserPreferences.getBool(BIOMETRY_ENABLED_KEY) ?? false; // if biometry is enabled on the app if (hasBiometry) { diff --git a/app/utils/openLink.ts b/app/utils/openLink.ts index 4048b3add..70abcec72 100644 --- a/app/utils/openLink.ts +++ b/app/utils/openLink.ts @@ -37,7 +37,7 @@ const appSchemeURL = (url: string, browser: string): string => { const openLink = async (url: string, theme = 'light'): Promise<void> => { try { - const browser = await UserPreferences.getStringAsync(DEFAULT_BROWSER_KEY); + const browser = UserPreferences.getString(DEFAULT_BROWSER_KEY); if (browser === 'inApp') { await WebBrowser.openBrowserAsync(url, { diff --git a/app/utils/room.ts b/app/utils/room.ts index d39e40490..bf6cd0804 100644 --- a/app/utils/room.ts +++ b/app/utils/room.ts @@ -3,9 +3,9 @@ import moment from 'moment'; import { themes } from '../constants/colors'; import I18n from '../i18n'; import { IAttachment } from '../definitions/IAttachment'; -import { ISubscription, SubscriptionType } from '../definitions/ISubscription'; +import { SubscriptionType, TSubscriptionModel } from '../definitions/ISubscription'; -export const isBlocked = (room: ISubscription): boolean => { +export const isBlocked = (room: TSubscriptionModel): boolean => { if (room) { const { t, blocked, blocker } = room; if (t === SubscriptionType.DIRECT && (blocked || blocker)) { @@ -22,7 +22,7 @@ export const capitalize = (s: string): string => { return s.charAt(0).toUpperCase() + s.slice(1); }; -export const formatDate = (date: Date): string => +export const formatDate = (date: string | Date): string => moment(date).calendar(null, { lastDay: `[${I18n.t('Yesterday')}]`, sameDay: 'LT', @@ -30,7 +30,7 @@ export const formatDate = (date: Date): string => sameElse: 'L' }); -export const formatDateThreads = (date: Date): string => +export const formatDateThreads = (date: string | Date): string => moment(date).calendar(null, { sameDay: 'LT', lastDay: `[${I18n.t('Yesterday')}] LT`, @@ -62,4 +62,4 @@ export const getBadgeColor = ({ export const makeThreadName = (messageRecord: { id?: string; msg?: string; attachments?: IAttachment[] }): string | undefined => messageRecord.msg || messageRecord?.attachments?.[0]?.title; -export const isTeamRoom = ({ teamId, joined }: { teamId: string; joined: boolean }): boolean => !!teamId && joined; +export const isTeamRoom = ({ teamId, joined }: { teamId?: string; joined?: boolean }): boolean => (!!teamId && joined) ?? false; diff --git a/app/utils/sslPinning.ts b/app/utils/sslPinning.ts index 27b100228..76ccc9a5b 100644 --- a/app/utils/sslPinning.ts +++ b/app/utils/sslPinning.ts @@ -14,13 +14,13 @@ const extractFileScheme = (path: string) => path.replace('file://', ''); // file const getPath = (name: string) => `${documentDirectory}/${name}`; -const persistCertificate = async (name: string, password: string) => { +const persistCertificate = (name: string, password: string) => { const certificatePath = getPath(name); const certificate: ICertificate = { path: extractFileScheme(certificatePath), password }; - await UserPreferences.setMapAsync(name, certificate); + UserPreferences.setMap(name, certificate); return certificate; }; @@ -44,7 +44,7 @@ const RCSSLPinning = Platform.select({ try { const certificatePath = getPath(name); await FileSystem.copyAsync({ from: uri, to: certificatePath }); - await persistCertificate(name, password!); + persistCertificate(name, password!); resolve(name); } catch (e) { reject(e); @@ -58,13 +58,13 @@ const RCSSLPinning = Platform.select({ reject(e); } }), - setCertificate: async (name: string, server: string) => { + setCertificate: (name: string, server: string) => { if (name) { - let certificate = (await UserPreferences.getMapAsync(name)) as ICertificate; + let certificate = UserPreferences.getMap(name) as ICertificate; if (!certificate.path.match(extractFileScheme(documentDirectory!))) { - certificate = await persistCertificate(name, certificate.password); + certificate = persistCertificate(name, certificate.password); } - await UserPreferences.setMapAsync(extractHostname(server), certificate); + UserPreferences.setMap(extractHostname(server), certificate); } } }, diff --git a/app/utils/theme.ts b/app/utils/theme.ts index 0e9d8e058..1f2e848c8 100644 --- a/app/utils/theme.ts +++ b/app/utils/theme.ts @@ -5,9 +5,20 @@ import setRootViewColor from 'rn-root-view'; import { IThemePreference, TThemeMode } from '../definitions/ITheme'; import { themes } from '../constants/colors'; import { isAndroid } from './deviceInfo'; +import UserPreferences from '../lib/userPreferences'; +import { THEME_PREFERENCES_KEY } from '../lib/rocketchat'; let themeListener: { remove: () => void } | null; +export const initialTheme = (): IThemePreference => { + const theme = UserPreferences.getMap(THEME_PREFERENCES_KEY) as IThemePreference; + const initialTheme: IThemePreference = { + currentTheme: defaultTheme(), + darkLevel: 'black' + }; + return theme || initialTheme; +}; + export const defaultTheme = (): TThemeMode => { const systemTheme = Appearance.getColorScheme(); if (systemTheme && systemTheme !== 'no-preference') { diff --git a/app/views/AttachmentView.tsx b/app/views/AttachmentView.tsx index b4054bd2e..1aef32b07 100644 --- a/app/views/AttachmentView.tsx +++ b/app/views/AttachmentView.tsx @@ -192,7 +192,7 @@ class AttachmentView extends React.Component<IAttachmentViewProps, IAttachmentVi <View style={[styles.container, { backgroundColor: themes[theme].backgroundColor }]}> <StatusBar barStyle='light-content' backgroundColor={themes[theme].previewBackground} /> {content} - {loading ? <RCActivityIndicator absolute size='large' theme={theme} /> : null} + {loading ? <RCActivityIndicator absolute size='large' /> : null} </View> ); } diff --git a/app/views/AuthenticationWebView.tsx b/app/views/AuthenticationWebView.tsx index ac304fbfb..9a1381089 100644 --- a/app/views/AuthenticationWebView.tsx +++ b/app/views/AuthenticationWebView.tsx @@ -175,7 +175,7 @@ class AuthenticationWebView extends React.PureComponent<IAuthenticationWebView, render() { const { loading } = this.state; - const { route, theme } = this.props; + const { route } = this.props; const { url, authType } = route.params; const isIframe = authType === 'iframe'; @@ -196,7 +196,7 @@ class AuthenticationWebView extends React.PureComponent<IAuthenticationWebView, this.setState({ loading: false }); }} /> - {loading ? <ActivityIndicator size='large' theme={theme} absolute /> : null} + {loading ? <ActivityIndicator size='large' absolute /> : null} </> ); } diff --git a/app/views/AutoTranslateView/index.tsx b/app/views/AutoTranslateView/index.tsx index 90aec8816..07acef800 100644 --- a/app/views/AutoTranslateView/index.tsx +++ b/app/views/AutoTranslateView/index.tsx @@ -97,12 +97,10 @@ class AutoTranslateView extends React.Component<IAutoTranslateViewProps, any> { saveAutoTranslateLanguage = async (language: string) => { logEvent(events.AT_SET_LANG); try { - // TODO: remove the parameter options, after migrate the RocketChat await RocketChat.saveAutoTranslate({ rid: this.rid, field: 'autoTranslateLanguage', - value: language, - options: null + value: language }); this.setState({ selectedLanguage: language }); } catch (error) { diff --git a/app/views/CannedResponseDetail.tsx b/app/views/CannedResponseDetail.tsx index 8c42b7aff..1bb0ae646 100644 --- a/app/views/CannedResponseDetail.tsx +++ b/app/views/CannedResponseDetail.tsx @@ -115,7 +115,7 @@ const CannedResponseDetail = ({ navigation, route }: ICannedResponseDetailProps) t: room.t, fname: name }), - t: room.t, + t: room.t as any, roomUserId: RocketChat.getUidDirectMessage(room), usedCannedResponse: item.text }; diff --git a/app/views/CannedResponsesListView/index.tsx b/app/views/CannedResponsesListView/index.tsx index 47ec73c65..e9dec1475 100644 --- a/app/views/CannedResponsesListView/index.tsx +++ b/app/views/CannedResponsesListView/index.tsx @@ -118,7 +118,7 @@ const CannedResponsesListView = ({ navigation, route }: ICannedResponsesListView t: room.t, fname: name }), - t: room.t, + t: room.t as any, roomUserId: RocketChat.getUidDirectMessage(room), usedCannedResponse: item.text }; @@ -353,7 +353,7 @@ const CannedResponsesListView = ({ navigation, route }: ICannedResponsesListView onEndReached={onEndReached} onEndReachedThreshold={0.5} ItemSeparatorComponent={List.Separator} - ListFooterComponent={loading ? <ActivityIndicator theme={theme} /> : null} + ListFooterComponent={loading ? <ActivityIndicator /> : null} /> ); }; diff --git a/app/views/ChangePasscodeView.tsx b/app/views/ChangePasscodeView.tsx index 5ed58a27d..a69d8f557 100644 --- a/app/views/ChangePasscodeView.tsx +++ b/app/views/ChangePasscodeView.tsx @@ -80,7 +80,7 @@ const ChangePasscodeView = React.memo(() => { return ( <Modal useNativeDriver isVisible={visible} hideModalContentWhileAnimating style={styles.modal}> - <PasscodeChoose theme={theme} finishProcess={onSubmit} force={data?.force} /> + <PasscodeChoose finishProcess={onSubmit} force={data?.force} /> {!data?.force ? ( <Touchable onPress={onCancel} style={styles.close}> <CustomIcon name='close' color={themes[theme].passcodePrimary} size={30} /> diff --git a/app/views/CreateDiscussionView/SelectChannel.tsx b/app/views/CreateDiscussionView/SelectChannel.tsx index d779dc3af..f74c7d973 100644 --- a/app/views/CreateDiscussionView/SelectChannel.tsx +++ b/app/views/CreateDiscussionView/SelectChannel.tsx @@ -1,15 +1,15 @@ import React, { useState } from 'react'; import { Text } from 'react-native'; -import debounce from '../../utils/debounce'; -import { avatarURL } from '../../utils/avatar'; -import RocketChat from '../../lib/rocketchat'; -import I18n from '../../i18n'; -import { MultiSelect } from '../../containers/UIKit/MultiSelect'; import { themes } from '../../constants/colors'; -import { TSubscriptionModel } from '../../definitions/ISubscription'; -import styles from './styles'; +import { MultiSelect } from '../../containers/UIKit/MultiSelect'; +import { ISearchLocal } from '../../definitions'; +import I18n from '../../i18n'; +import RocketChat from '../../lib/rocketchat'; +import { avatarURL } from '../../utils/avatar'; +import debounce from '../../utils/debounce'; import { ICreateDiscussionViewSelectChannel } from './interfaces'; +import styles from './styles'; const SelectChannel = ({ server, @@ -21,7 +21,7 @@ const SelectChannel = ({ serverVersion, theme }: ICreateDiscussionViewSelectChannel): JSX.Element => { - const [channels, setChannels] = useState<TSubscriptionModel[]>([]); + const [channels, setChannels] = useState<ISearchLocal[]>([]); const getChannels = debounce(async (keyword = '') => { try { diff --git a/app/views/CreateDiscussionView/index.tsx b/app/views/CreateDiscussionView/index.tsx index 34cebd894..e57095b80 100644 --- a/app/views/CreateDiscussionView/index.tsx +++ b/app/views/CreateDiscussionView/index.tsx @@ -175,7 +175,6 @@ class CreateChannelView extends React.Component<ICreateChannelViewProps, any> { testID='multi-select-discussion-name' placeholder={I18n.t('A_meaningful_name_for_the_discussion_room')} containerStyle={styles.inputStyle} - /* @ts-ignore*/ defaultValue={name} onChangeText={(text: string) => this.setState({ name: text })} theme={theme} diff --git a/app/views/DefaultBrowserView.tsx b/app/views/DefaultBrowserView.tsx index 895f70860..6e726c75c 100644 --- a/app/views/DefaultBrowserView.tsx +++ b/app/views/DefaultBrowserView.tsx @@ -73,9 +73,9 @@ class DefaultBrowserView extends React.Component<IDefaultBrowserViewProps, IDefa } } - async componentDidMount() { + componentDidMount() { this.mounted = true; - const browser = await UserPreferences.getStringAsync(DEFAULT_BROWSER_KEY); + const browser = UserPreferences.getString(DEFAULT_BROWSER_KEY); this.setState({ browser }); } @@ -104,11 +104,11 @@ class DefaultBrowserView extends React.Component<IDefaultBrowserViewProps, IDefa return browser === value; }; - changeDefaultBrowser = async (newBrowser: TValue) => { + changeDefaultBrowser = (newBrowser: TValue) => { logEvent(events.DB_CHANGE_DEFAULT_BROWSER, { browser: newBrowser }); try { const browser = newBrowser || 'systemDefault:'; - await UserPreferences.setStringAsync(DEFAULT_BROWSER_KEY, browser); + UserPreferences.setString(DEFAULT_BROWSER_KEY, browser); this.setState({ browser }); } catch { logEvent(events.DB_CHANGE_DEFAULT_BROWSER_F); diff --git a/app/views/DirectoryView/Options.tsx b/app/views/DirectoryView/Options.tsx index 112068061..ed7a6526e 100644 --- a/app/views/DirectoryView/Options.tsx +++ b/app/views/DirectoryView/Options.tsx @@ -71,7 +71,7 @@ export default class DirectoryOptions extends PureComponent<IDirectoryOptionsPro <View style={styles.dropdownItemContainer}> <CustomIcon style={[styles.dropdownItemIcon, { color: themes[theme].bodyText }]} size={22} name={icon} /> <Text style={[styles.dropdownItemText, { color: themes[theme].bodyText }]}>{I18n.t(text)}</Text> - {propType === itemType ? <Check theme={theme} /> : null} + {propType === itemType ? <Check /> : null} </View> </Touch> ); diff --git a/app/views/DirectoryView/index.tsx b/app/views/DirectoryView/index.tsx index b4b0689bd..7e7efafca 100644 --- a/app/views/DirectoryView/index.tsx +++ b/app/views/DirectoryView/index.tsx @@ -157,14 +157,16 @@ class DirectoryView extends React.Component<IDirectoryViewProps, any> { this.goRoom({ rid: result.room._id, name: item.username, t: 'd' }); } } else if (['p', 'c'].includes(item.t) && !item.teamMain) { - const { room }: any = await RocketChat.getRoomInfo(item._id); - this.goRoom({ - rid: item._id, - name: item.name, - joinCodeRequired: room.joinCodeRequired, - t: item.t, - search: true - }); + const result = await RocketChat.getRoomInfo(item._id); + if (result.success) { + this.goRoom({ + rid: item._id, + name: item.name, + joinCodeRequired: result.room.joinCodeRequired, + t: item.t, + search: true + }); + } } else { this.goRoom({ rid: item._id, @@ -290,7 +292,7 @@ class DirectoryView extends React.Component<IDirectoryViewProps, any> { renderItem={this.renderItem} ItemSeparatorComponent={List.Separator} keyboardShouldPersistTaps='always' - ListFooterComponent={loading ? <ActivityIndicator theme={theme} /> : null} + ListFooterComponent={loading ? <ActivityIndicator /> : null} onEndReached={() => this.load({})} /> {showOptionsDropdown ? ( diff --git a/app/views/DiscussionsView/DiscussionDetails.tsx b/app/views/DiscussionsView/DiscussionDetails.tsx index 45635558f..9ef19bbe9 100644 --- a/app/views/DiscussionsView/DiscussionDetails.tsx +++ b/app/views/DiscussionsView/DiscussionDetails.tsx @@ -1,11 +1,11 @@ import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; -import { TThreadModel } from '../../definitions/IThread'; import { CustomIcon } from '../../lib/Icons'; import { themes } from '../../constants/colors'; import sharedStyles from '../Styles'; import { useTheme } from '../../theme'; +import { IMessageFromServer } from '../../definitions'; const styles = StyleSheet.create({ container: { @@ -31,16 +31,15 @@ const styles = StyleSheet.create({ }); interface IDiscussionDetails { - item: TThreadModel; + item: IMessageFromServer; date: string; } const DiscussionDetails = ({ item, date }: IDiscussionDetails): JSX.Element => { const { theme } = useTheme(); - let { dcount } = item; - - if (dcount && dcount >= 1000) { - dcount = '+999'; + let count: string | number | undefined = item.dcount; + if (count && count >= 1000) { + count = '+999'; } return ( @@ -49,7 +48,7 @@ const DiscussionDetails = ({ item, date }: IDiscussionDetails): JSX.Element => { <View style={styles.detailContainer}> <CustomIcon name={'discussions'} size={24} color={themes[theme!].auxiliaryText} /> <Text style={[styles.detailText, { color: themes[theme!].auxiliaryText }]} numberOfLines={1}> - {dcount} + {count} </Text> </View> diff --git a/app/views/DiscussionsView/Item.tsx b/app/views/DiscussionsView/Item.tsx index 578b92be4..2fa90d185 100644 --- a/app/views/DiscussionsView/Item.tsx +++ b/app/views/DiscussionsView/Item.tsx @@ -10,7 +10,7 @@ import { themes } from '../../constants/colors'; import { MarkdownPreview } from '../../containers/markdown'; import { formatDateThreads, makeThreadName } from '../../utils/room'; import DiscussionDetails from './DiscussionDetails'; -import { TThreadModel } from '../../definitions/IThread'; +import { IMessageFromServer } from '../../definitions'; const styles = StyleSheet.create({ container: { @@ -48,7 +48,7 @@ const styles = StyleSheet.create({ }); interface IItem { - item: TThreadModel; + item: IMessageFromServer; onPress: { (...args: any[]): void; stop(): void; @@ -63,6 +63,7 @@ const Item = ({ item, onPress }: IItem): JSX.Element => { if (item?.ts) { messageTime = moment(item.ts).format('LT'); + // @ts-ignore TODO: Unify IMessage messageDate = formatDateThreads(item.ts); } diff --git a/app/views/DiscussionsView/index.tsx b/app/views/DiscussionsView/index.tsx index 015701006..93963b0c5 100644 --- a/app/views/DiscussionsView/index.tsx +++ b/app/views/DiscussionsView/index.tsx @@ -5,7 +5,7 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { HeaderBackButton, StackNavigationOptions, StackNavigationProp } from '@react-navigation/stack'; import { RouteProp } from '@react-navigation/core'; -import { IApplicationState } from '../../definitions'; +import { IApplicationState, IMessageFromServer } from '../../definitions'; import { ChatsStackParamList } from '../../stacks/types'; import ActivityIndicator from '../../containers/ActivityIndicator'; import I18n from '../../i18n'; @@ -47,8 +47,8 @@ const DiscussionsView = ({ navigation, route }: IDiscussionsViewProps): JSX.Elem const isMasterDetail = useSelector((state: IApplicationState) => state.app?.isMasterDetail); const [loading, setLoading] = useState(false); - const [discussions, setDiscussions] = useState([]); - const [search, setSearch] = useState([]); + const [discussions, setDiscussions] = useState<IMessageFromServer[]>([]); + const [search, setSearch] = useState<IMessageFromServer[]>([]); const [isSearching, setIsSearching] = useState(false); const [total, setTotal] = useState(0); const [searchTotal, setSearchTotal] = useState(0); @@ -63,7 +63,7 @@ const DiscussionsView = ({ navigation, route }: IDiscussionsViewProps): JSX.Elem setLoading(true); try { - const result: any = await RocketChat.getDiscussions({ + const result = await RocketChat.getDiscussions({ roomId: rid, offset: isSearching ? search.length : discussions.length, count: API_FETCH_COUNT, @@ -171,7 +171,7 @@ const DiscussionsView = ({ navigation, route }: IDiscussionsViewProps): JSX.Elem true ); - const renderItem = ({ item }: { item: TThreadModel }) => ( + const renderItem = ({ item }: { item: IMessageFromServer }) => ( <Item {...{ item, @@ -198,7 +198,7 @@ const DiscussionsView = ({ navigation, route }: IDiscussionsViewProps): JSX.Elem removeClippedSubviews={isIOS} onEndReached={() => (isSearching ? searchTotal : total) > API_FETCH_COUNT ?? load()} ItemSeparatorComponent={List.Separator} - ListFooterComponent={loading ? <ActivityIndicator theme={theme} /> : null} + ListFooterComponent={loading ? <ActivityIndicator /> : null} scrollIndicatorInsets={{ right: 1 }} /> </SafeAreaView> diff --git a/app/views/DisplayPrefsView.tsx b/app/views/DisplayPrefsView.tsx index f793eb920..4405cd0a7 100644 --- a/app/views/DisplayPrefsView.tsx +++ b/app/views/DisplayPrefsView.tsx @@ -17,7 +17,7 @@ import I18n from '../i18n'; import RocketChat from '../lib/rocketchat'; import { SettingsStackParamList } from '../stacks/types'; import { useTheme } from '../theme'; -import log, { events, logEvent } from '../utils/log'; +import { events, logEvent } from '../utils/log'; interface IDisplayPrefsView { navigation: StackNavigationProp<SettingsStackParamList, 'DisplayPrefsView'>; @@ -45,53 +45,49 @@ const DisplayPrefsView = (props: IDisplayPrefsView): JSX.Element => { } }, []); - const setSortPreference = async (param: Partial<IPreferences>) => { - try { - dispatch(setPreference(param)); - await RocketChat.saveSortPreference(param); - } catch (e) { - log(e); - } + const setSortPreference = (param: Partial<IPreferences>) => { + dispatch(setPreference(param)); + RocketChat.saveSortPreference(param); }; - const sortByName = async () => { + const sortByName = () => { logEvent(events.DP_SORT_CHANNELS_BY_NAME); - await setSortPreference({ sortBy: SortBy.Alphabetical }); + setSortPreference({ sortBy: SortBy.Alphabetical }); }; - const sortByActivity = async () => { + const sortByActivity = () => { logEvent(events.DP_SORT_CHANNELS_BY_ACTIVITY); - await setSortPreference({ sortBy: SortBy.Activity }); + setSortPreference({ sortBy: SortBy.Activity }); }; - const toggleGroupByType = async () => { + const toggleGroupByType = () => { logEvent(events.DP_GROUP_CHANNELS_BY_TYPE); - await setSortPreference({ groupByType: !groupByType }); + setSortPreference({ groupByType: !groupByType }); }; - const toggleGroupByFavorites = async () => { + const toggleGroupByFavorites = () => { logEvent(events.DP_GROUP_CHANNELS_BY_FAVORITE); - await setSortPreference({ showFavorites: !showFavorites }); + setSortPreference({ showFavorites: !showFavorites }); }; - const toggleUnread = async () => { + const toggleUnread = () => { logEvent(events.DP_GROUP_CHANNELS_BY_UNREAD); - await setSortPreference({ showUnread: !showUnread }); + setSortPreference({ showUnread: !showUnread }); }; - const toggleAvatar = async () => { + const toggleAvatar = () => { logEvent(events.DP_TOGGLE_AVATAR); - await setSortPreference({ showAvatar: !showAvatar }); + setSortPreference({ showAvatar: !showAvatar }); }; - const displayExpanded = async () => { + const displayExpanded = () => { logEvent(events.DP_DISPLAY_EXPANDED); - await setSortPreference({ displayMode: DisplayMode.Expanded }); + setSortPreference({ displayMode: DisplayMode.Expanded }); }; - const displayCondensed = async () => { + const displayCondensed = () => { logEvent(events.DP_DISPLAY_CONDENSED); - await setSortPreference({ displayMode: DisplayMode.Condensed }); + setSortPreference({ displayMode: DisplayMode.Condensed }); }; const renderCheckBox = (value: boolean) => ( diff --git a/app/views/E2EEncryptionSecurityView.tsx b/app/views/E2EEncryptionSecurityView.tsx index 347590430..5c7cbac09 100644 --- a/app/views/E2EEncryptionSecurityView.tsx +++ b/app/views/E2EEncryptionSecurityView.tsx @@ -164,7 +164,7 @@ class E2EEncryptionSecurityView extends React.Component<IE2EEncryptionSecurityVi const { theme } = this.props; return ( <SafeAreaView testID='e2e-encryption-security-view' style={{ backgroundColor: themes[theme].backgroundColor }}> - <StatusBar theme={theme} /> + <StatusBar /> <List.Container> <View style={styles.container}> {this.renderChangePassword()} diff --git a/app/views/E2ESaveYourPasswordView.tsx b/app/views/E2ESaveYourPasswordView.tsx index cc7bac83f..72be28097 100644 --- a/app/views/E2ESaveYourPasswordView.tsx +++ b/app/views/E2ESaveYourPasswordView.tsx @@ -81,11 +81,11 @@ class E2ESaveYourPasswordView extends React.Component<IE2ESaveYourPasswordViewPr this.mounted = true; } - init = async () => { + init = () => { const { server } = this.props; try { // Set stored password on local state - const password = await UserPreferences.getStringAsync(`${server}-${E2E_RANDOM_PASSWORD_KEY}`); + const password = UserPreferences.getString(`${server}-${E2E_RANDOM_PASSWORD_KEY}`); if (this.mounted) { this.setState({ password: password! }); } else { @@ -97,11 +97,11 @@ class E2ESaveYourPasswordView extends React.Component<IE2ESaveYourPasswordViewPr } }; - onSaved = async () => { + onSaved = () => { logEvent(events.E2E_SAVE_PW_SAVED); const { navigation, server, dispatch } = this.props; // Remove stored password - await UserPreferences.removeItem(`${server}-${E2E_RANDOM_PASSWORD_KEY}`); + UserPreferences.removeItem(`${server}-${E2E_RANDOM_PASSWORD_KEY}`); // Hide encryption banner dispatch(encryptionSetBanner()); navigation.pop(); diff --git a/app/views/ForwardLivechatView.tsx b/app/views/ForwardLivechatView.tsx index 21c99a0f6..9361e45f5 100644 --- a/app/views/ForwardLivechatView.tsx +++ b/app/views/ForwardLivechatView.tsx @@ -7,7 +7,7 @@ import { forwardRoom, ITransferData } from '../actions/room'; import { themes } from '../constants/colors'; import OrSeparator from '../containers/OrSeparator'; import Input from '../containers/UIKit/MultiSelect/Input'; -import { IBaseScreen, IRoom } from '../definitions'; +import { IBaseScreen, IServerRoom } from '../definitions'; import I18n from '../i18n'; import RocketChat from '../lib/rocketchat'; import { ChatsStackParamList } from '../stacks/types'; @@ -20,10 +20,6 @@ const styles = StyleSheet.create({ padding: 16 } }); -interface IUser { - username: string; - _id: string; -} interface IParsedData { label: string; @@ -38,7 +34,7 @@ const ForwardLivechatView = ({ navigation, route, theme }: IBaseScreen<ChatsStac const [departmentTotal, setDepartmentTotal] = useState(0); const [users, setUsers] = useState<IOptionsField[]>([]); const [userId, setUser] = useState(); - const [room, setRoom] = useState<IRoom>({} as IRoom); + const [room, setRoom] = useState<IServerRoom>({} as IServerRoom); const dispatch = useDispatch(); const rid = route.params?.rid; @@ -47,7 +43,7 @@ const ForwardLivechatView = ({ navigation, route, theme }: IBaseScreen<ChatsStac try { const result = await RocketChat.getDepartments({ count: COUNT_DEPARTMENT, text, offset }); if (result.success) { - const parsedDepartments: IParsedData[] = result.departments.map(department => ({ + const parsedDepartments = result.departments.map(department => ({ label: department.name, value: department._id })); @@ -71,7 +67,7 @@ const ForwardLivechatView = ({ navigation, route, theme }: IBaseScreen<ChatsStac term }); if (result.success) { - const parsedUsers = result.items.map((user: IUser) => ({ label: user.username, value: user._id })); + const parsedUsers = result.items.map(user => ({ label: user.username, value: user._id })); if (!term) { setUsers(parsedUsers); } @@ -86,7 +82,7 @@ const ForwardLivechatView = ({ navigation, route, theme }: IBaseScreen<ChatsStac try { const result = await RocketChat.getRoomInfo(rid); if (result.success) { - setRoom(result.room as IRoom); + setRoom(result.room as IServerRoom); } } catch { // do nothing diff --git a/app/views/JitsiMeetView.tsx b/app/views/JitsiMeetView.tsx index aa6658d20..9145f2e3c 100644 --- a/app/views/JitsiMeetView.tsx +++ b/app/views/JitsiMeetView.tsx @@ -117,7 +117,7 @@ class JitsiMeetView extends React.Component<IJitsiMeetViewProps, IJitsiMeetViewS render() { const { userInfo, loading } = this.state; - const { route, theme } = this.props; + const { route } = this.props; const onlyAudio = route.params?.onlyAudio ?? false; const options = isAndroid ? { url: this.url, userInfo, audioOnly: onlyAudio } : null; return ( @@ -129,7 +129,7 @@ class JitsiMeetView extends React.Component<IJitsiMeetViewProps, IJitsiMeetViewS style={StyleSheet.absoluteFill} options={options} /> - {loading ? <ActivityIndicator theme={theme} /> : null} + {loading ? <ActivityIndicator /> : null} </> ); } diff --git a/app/views/LivechatEditView.tsx b/app/views/LivechatEditView.tsx index 426ae7fb7..f709245fd 100644 --- a/app/views/LivechatEditView.tsx +++ b/app/views/LivechatEditView.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useState } from 'react'; import { StackNavigationProp } from '@react-navigation/stack'; import { RouteProp } from '@react-navigation/native'; -import { ScrollView, StyleSheet, Text, TextInput as RNTextInput } from 'react-native'; +import { ScrollView, StyleSheet, Text } from 'react-native'; import { connect } from 'react-redux'; import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit'; @@ -18,9 +18,8 @@ import { getUserSelector } from '../selectors/login'; import Button from '../containers/Button'; import SafeAreaView from '../containers/SafeAreaView'; import { MultiSelect } from '../containers/UIKit/MultiSelect'; -import { IVisitor } from '../definitions/IVisitor'; -import { ITagsOmnichannel } from '../definitions/ITagsOmnichannel'; -import { IApplicationState, ISubscription } from '../definitions'; +import { ICustomFields, IInputsRefs, TParams, ITitle, ILivechat } from '../definitions/ILivechatEditView'; +import { IApplicationState } from '../definitions'; import { ChatsStackParamList } from '../stacks/types'; import sharedStyles from './Styles'; @@ -43,44 +42,6 @@ const styles = StyleSheet.create({ } }); -interface ITitle { - title: string; - theme: string; -} - -interface IField { - _id: string; - visibility: string; - scope: string; -} - -interface IInputs { - [key: string]: string | string[] | undefined; - name: string; - email: string; - phone?: string; - topic: string; - tag: string[]; -} - -type TParams = IVisitor & IInputs; - -interface ILivechat extends ISubscription { - // Param dynamic depends on server - sms?: string; -} - -interface IInputsRefs { - [index: string]: RNTextInput | null; - name: RNTextInput | null; - phone: RNTextInput | null; - topic: RNTextInput | null; -} - -interface ICustomFields { - visitor?: { [key: string]: string }; - livechat?: { [key: string]: string }; -} interface ILivechatEditViewProps { // TODO: Refactor when migrate models user: any; @@ -113,17 +74,17 @@ const LivechatEditView = ({ const visitor = route.params?.roomUser ?? {}; const getCustomFields = async () => { - const result: any = await RocketChat.getCustomFields(); + const result = await RocketChat.getCustomFields(); if (result.success && result.customFields?.length) { const visitorCustomFields = result.customFields - .filter((field: IField) => field.visibility !== 'hidden' && field.scope === 'visitor') - .map((field: IField) => ({ [field._id]: (visitor.livechatData && visitor.livechatData[field._id]) || '' })) - .reduce((ret: IField, field: IField) => ({ ...field, ...ret })); + .filter(field => field.visibility !== 'hidden' && field.scope === 'visitor') + .map(field => ({ [field._id]: (visitor.livechatData && visitor.livechatData[field._id]) || '' })) + .reduce((ret, field) => ({ ...field, ...ret }), {}); const livechatCustomFields = result.customFields - .filter((field: IField) => field.visibility !== 'hidden' && field.scope === 'room') - .map((field: IField) => ({ [field._id]: (livechat.livechatData && livechat.livechatData[field._id]) || '' })) - .reduce((ret: IField, field: IField) => ({ ...field, ...ret })); + .filter(field => field.visibility !== 'hidden' && field.scope === 'room') + .map(field => ({ [field._id]: (livechat.livechatData && livechat.livechatData[field._id]) || '' })) + .reduce((ret, field) => ({ ...field, ...ret }), {}); return setCustomFields({ visitor: visitorCustomFields, livechat: livechatCustomFields }); } @@ -139,7 +100,7 @@ const LivechatEditView = ({ }, [availableUserTags]); const getTagsList = async (agentDepartments: string[]) => { - const tags: ITagsOmnichannel[] = await RocketChat.getTagsList(); + const tags = await RocketChat.getTagsList(); const isAdmin = ['admin', 'livechat-manager'].find(role => user.roles.includes(role)); const availableTags = tags .filter(({ departments }) => isAdmin || departments.length === 0 || departments.some(i => agentDepartments.indexOf(i) > -1)) @@ -150,7 +111,7 @@ const LivechatEditView = ({ const getAgentDepartments = async () => { const result = await RocketChat.getAgentDepartments(visitor?._id); if (result.success) { - const agentDepartments = result.departments.map((dept: { departmentId: string }) => dept.departmentId); + const agentDepartments = result.departments.map(dept => dept.departmentId); getTagsList(agentDepartments); } }; diff --git a/app/views/LoginView.tsx b/app/views/LoginView.tsx index a8bcba275..d5b136dd5 100644 --- a/app/views/LoginView.tsx +++ b/app/views/LoginView.tsx @@ -231,7 +231,7 @@ class LoginView extends React.Component<ILoginViewProps, any> { return ( <FormContainer theme={theme} testID='login-view'> <FormContainerInner> - <LoginServices separator={Accounts_ShowFormLogin} navigation={navigation} /> + <LoginServices separator={Accounts_ShowFormLogin} navigation={navigation} theme={theme} /> {this.renderUserForm()} </FormContainerInner> </FormContainer> diff --git a/app/views/MessagesView/index.tsx b/app/views/MessagesView/index.tsx index 0912ccf67..67ddffdd6 100644 --- a/app/views/MessagesView/index.tsx +++ b/app/views/MessagesView/index.tsx @@ -79,7 +79,7 @@ interface IParams { rid: string; t: SubscriptionType; tmid?: string; - message?: string; + message?: object; name?: string; fname?: string; prid?: string; @@ -196,13 +196,14 @@ class MessagesView extends React.Component<IMessagesViewProps, any> { name: I18n.t('Files'), fetchFunc: async () => { const { messages } = this.state; - // @ts-ignore const result = await RocketChat.getFiles(this.rid, this.t, messages.length); - return { ...result, messages: result.files }; + if (result.success) { + return { ...result, messages: result.files }; + } }, noDataMsg: I18n.t('No_files'), testID: 'room-files-view', - renderItem: (item: IMessageItem) => ( + renderItem: (item: any) => ( <Message {...renderItemCommonProps(item)} item={{ @@ -226,11 +227,11 @@ class MessagesView extends React.Component<IMessagesViewProps, any> { name: I18n.t('Mentions'), fetchFunc: () => { const { messages } = this.state; - // @ts-ignore return RocketChat.getMessages(this.rid, this.t, { 'mentions._id': { $in: [user.id] } }, messages.length); }, noDataMsg: I18n.t('No_mentioned_messages'), testID: 'mentioned-messages-view', + // @ts-ignore TODO: unify IMessage renderItem: (item: IMessageItem) => <Message {...renderItemCommonProps(item)} msg={item.msg} theme={theme} /> }, // Starred Messages Screen @@ -238,12 +239,12 @@ class MessagesView extends React.Component<IMessagesViewProps, any> { name: I18n.t('Starred'), fetchFunc: () => { const { messages } = this.state; - // @ts-ignore return RocketChat.getMessages(this.rid, this.t, { 'starred._id': { $in: [user.id] } }, messages.length); }, noDataMsg: I18n.t('No_starred_messages'), testID: 'starred-messages-view', renderItem: (item: IMessageItem) => ( + // @ts-ignore TODO: unify IMessage <Message {...renderItemCommonProps(item)} msg={item.msg} onLongPress={() => this.onLongPress(item)} theme={theme} /> ), action: (message: IMessageItem) => ({ @@ -258,12 +259,12 @@ class MessagesView extends React.Component<IMessagesViewProps, any> { name: I18n.t('Pinned'), fetchFunc: () => { const { messages } = this.state; - // @ts-ignore return RocketChat.getMessages(this.rid, this.t, { pinned: true }, messages.length); }, noDataMsg: I18n.t('No_pinned_messages'), testID: 'pinned-messages-view', renderItem: (item: IMessageItem) => ( + // @ts-ignore TODO: unify IMessage <Message {...renderItemCommonProps(item)} msg={item.msg} onLongPress={() => this.onLongPress(item)} theme={theme} /> ), action: () => ({ title: I18n.t('Unpin'), icon: 'pin', onPress: this.handleActionPress }), @@ -368,7 +369,7 @@ class MessagesView extends React.Component<IMessagesViewProps, any> { style={[styles.list, { backgroundColor: themes[theme].backgroundColor }]} keyExtractor={item => item._id} onEndReached={this.load} - ListFooterComponent={loading ? <ActivityIndicator theme={theme} /> : null} + ListFooterComponent={loading ? <ActivityIndicator /> : null} /> </SafeAreaView> ); diff --git a/app/views/ModalBlockView.tsx b/app/views/ModalBlockView.tsx index cfb6d7a4b..c87a3fd9c 100644 --- a/app/views/ModalBlockView.tsx +++ b/app/views/ModalBlockView.tsx @@ -12,10 +12,10 @@ import * as HeaderButton from '../containers/HeaderButton'; import { modalBlockWithContext } from '../containers/UIKit/MessageBlock'; import RocketChat from '../lib/rocketchat'; import ActivityIndicator from '../containers/ActivityIndicator'; -import { CONTAINER_TYPES, MODAL_ACTIONS } from '../lib/methods/actions'; import { textParser } from '../containers/UIKit/utils'; import Navigation from '../lib/Navigation'; import { MasterDetailInsideStackParamList } from '../stacks/MasterDetailStack/types'; +import { ContainerTypes, ModalActions } from '../containers/UIKit/interfaces'; const styles = StyleSheet.create({ container: { @@ -161,8 +161,8 @@ class ModalBlockView extends React.Component<IModalBlockViewProps, IModalBlockVi }); }; - handleUpdate = ({ type, ...data }: { type: string }) => { - if ([MODAL_ACTIONS.ERRORS].includes(type)) { + handleUpdate = ({ type, ...data }: { type: ModalActions }) => { + if ([ModalActions.ERRORS].includes(type)) { const { errors }: any = data; this.setState({ errors }); } else { @@ -232,7 +232,7 @@ class ModalBlockView extends React.Component<IModalBlockViewProps, IModalBlockVi const { mid, appId, viewId } = data; await RocketChat.triggerBlockAction({ container: { - type: CONTAINER_TYPES.VIEW, + type: ContainerTypes.VIEW, id: viewId }, actionId, @@ -277,7 +277,7 @@ class ModalBlockView extends React.Component<IModalBlockViewProps, IModalBlockVi } )} </View> - {loading ? <ActivityIndicator absolute size='large' theme={theme} /> : null} + {loading ? <ActivityIndicator absolute size='large' /> : null} </KeyboardAwareScrollView> ); } diff --git a/app/views/NewMessageView.tsx b/app/views/NewMessageView.tsx index 1cc84a21e..c135e1b98 100644 --- a/app/views/NewMessageView.tsx +++ b/app/views/NewMessageView.tsx @@ -12,7 +12,7 @@ import * as List from '../containers/List'; import SafeAreaView from '../containers/SafeAreaView'; import SearchBox from '../containers/SearchBox'; import StatusBar from '../containers/StatusBar'; -import { IApplicationState, IBaseScreen, TSubscriptionModel } from '../definitions'; +import { IApplicationState, IBaseScreen, ISearch, TSubscriptionModel } from '../definitions'; import I18n from '../i18n'; import database from '../lib/database'; import { CustomIcon } from '../lib/Icons'; @@ -55,18 +55,6 @@ interface IButton { first?: boolean; } -interface ISearch { - _id: string; - status: string; - username: string; - avatarETag: string; - outside: boolean; - rid: string; - name: string; - t: string; - search: boolean; -} - interface INewMessageViewState { search: (ISearch | TSubscriptionModel)[]; chats: TSubscriptionModel[]; @@ -149,7 +137,7 @@ class NewMessageView extends React.Component<INewMessageViewProps, INewMessageVi }; search = async (text: string) => { - const result: ISearch[] | TSubscriptionModel[] = await RocketChat.search({ text, filterRooms: false }); + const result = (await RocketChat.search({ text, filterRooms: false })) as ISearch[]; this.setState({ search: result }); @@ -313,7 +301,7 @@ class NewMessageView extends React.Component<INewMessageViewProps, INewMessageVi <FlatList data={search.length > 0 ? search : chats} extraData={this.state} - keyExtractor={item => item._id} + keyExtractor={item => item._id || item.rid} ListHeaderComponent={this.renderHeader} renderItem={this.renderItem} ItemSeparatorComponent={List.Separator} diff --git a/app/views/NewServerView/index.tsx b/app/views/NewServerView/index.tsx index 06d562803..51f20a980 100644 --- a/app/views/NewServerView/index.tsx +++ b/app/views/NewServerView/index.tsx @@ -181,7 +181,7 @@ class NewServerView extends React.Component<INewServerViewProps, INewServerViewS this.setState({ text: serverHistory.url }, () => this.submit({ fromServerHistory: true, username: serverHistory?.username })); }; - submit = async ({ fromServerHistory = false, username }: ISubmitParams = {}) => { + submit = ({ fromServerHistory = false, username }: ISubmitParams = {}) => { logEvent(events.NS_CONNECT_TO_WORKSPACE); const { text, certificate } = this.state; const { dispatch } = this.props; @@ -193,10 +193,12 @@ class NewServerView extends React.Component<INewServerViewProps, INewServerViewS const server = this.completeUrl(text); // Save info - SSL Pinning - await UserPreferences.setStringAsync(`${RocketChat.CERTIFICATE_KEY}-${server}`, certificate); + if (certificate) { + UserPreferences.setString(`${RocketChat.CERTIFICATE_KEY}-${server}`, certificate); + } // Save info - HTTP Basic Authentication - await this.basicAuth(server, text); + this.basicAuth(server, text); if (fromServerHistory) { dispatch(serverRequest(server, username, true)); @@ -213,12 +215,12 @@ class NewServerView extends React.Component<INewServerViewProps, INewServerViewS dispatch(serverRequest('https://open.rocket.chat')); }; - basicAuth = async (server: string, text: string) => { + basicAuth = (server: string, text: string) => { try { const parsedUrl = parse(text, true); if (parsedUrl.auth.length) { const credentials = Base64.encode(parsedUrl.auth); - await UserPreferences.setStringAsync(`${BASIC_AUTH_KEY}-${server}`, credentials); + UserPreferences.setString(`${BASIC_AUTH_KEY}-${server}`, credentials); setBasicAuth(credentials); } } catch { diff --git a/app/views/NotificationPreferencesView/index.tsx b/app/views/NotificationPreferencesView/index.tsx index 71edd8d05..bf76d9e38 100644 --- a/app/views/NotificationPreferencesView/index.tsx +++ b/app/views/NotificationPreferencesView/index.tsx @@ -18,6 +18,7 @@ import log, { events, logEvent } from '../../utils/log'; import sharedStyles from '../Styles'; import { OPTIONS } from './options'; import { ChatsStackParamList } from '../../stacks/types'; +import { IRoomNotifications } from '../../definitions'; const styles = StyleSheet.create({ pickerText: { @@ -73,7 +74,7 @@ class NotificationPreferencesView extends React.Component<INotificationPreferenc } } - saveNotificationSettings = async (key: string, value: string | boolean, params: any) => { + saveNotificationSettings = async (key: string, value: string | boolean, params: IRoomNotifications) => { // @ts-ignore logEvent(events[`NP_${key.toUpperCase()}`]); const { room } = this.state; diff --git a/app/views/ProfileView/index.tsx b/app/views/ProfileView/index.tsx index fc409002d..d7ecbc399 100644 --- a/app/views/ProfileView/index.tsx +++ b/app/views/ProfileView/index.tsx @@ -31,7 +31,15 @@ import { withTheme } from '../../theme'; import { getUserSelector } from '../../selectors/login'; import SafeAreaView from '../../containers/SafeAreaView'; import styles from './styles'; -import { IAvatar, IAvatarButton, INavigationOptions, IParams, IProfileViewProps, IProfileViewState, IUser } from './interfaces'; +import { + IAvatar, + IAvatarButton, + INavigationOptions, + IParams, + IProfileViewProps, + IProfileViewState, + IUser +} from '../../definitions/IProfileViewInterfaces'; class ProfileView extends React.Component<IProfileViewProps, IProfileViewState> { private name: any; diff --git a/app/views/ReadReceiptView/index.tsx b/app/views/ReadReceiptView/index.tsx index a40327b21..01e628302 100644 --- a/app/views/ReadReceiptView/index.tsx +++ b/app/views/ReadReceiptView/index.tsx @@ -17,23 +17,11 @@ import { themes } from '../../constants/colors'; import SafeAreaView from '../../containers/SafeAreaView'; import styles from './styles'; import { ChatsStackParamList } from '../../stacks/types'; - -interface IReceipts { - _id: string; - roomId: string; - userId: string; - messageId: string; - ts: string; - user?: { - _id: string; - name: string; - username: string; - }; -} +import { IReadReceipts } from '../../definitions'; interface IReadReceiptViewState { loading: boolean; - receipts: IReceipts[]; + receipts: IReadReceipts[]; } interface INavigationOption { @@ -125,7 +113,7 @@ class ReadReceiptView extends React.Component<IReadReceiptViewProps, IReadReceip ); }; - renderItem = ({ item }: { item: IReceipts }) => { + renderItem = ({ item }: { item: IReadReceipts }) => { const { theme, Message_TimeAndDateFormat } = this.props; const time = moment(item.ts).format(Message_TimeAndDateFormat); if (!item?.user?.username) { diff --git a/app/views/RegisterView.tsx b/app/views/RegisterView.tsx index a4f1d025d..478198a1b 100644 --- a/app/views/RegisterView.tsx +++ b/app/views/RegisterView.tsx @@ -186,7 +186,7 @@ class RegisterView extends React.Component<IProps, any> { }} value={customFields[key]}> <TextInput - inputRef={(e: any) => { + inputRef={e => { // @ts-ignore this[key] = e; }} @@ -237,7 +237,7 @@ class RegisterView extends React.Component<IProps, any> { return ( <FormContainer theme={theme} testID='register-view'> <FormContainerInner> - <LoginServices navigation={navigation} /> + <LoginServices navigation={navigation} theme={theme} separator /> <Text style={[styles.title, sharedStyles.textBold, { color: themes[theme].titleText }]}>{I18n.t('Sign_Up')}</Text> <TextInput label={I18n.t('Name')} diff --git a/app/views/RoomActionsView/index.js b/app/views/RoomActionsView/index.tsx similarity index 84% rename from app/views/RoomActionsView/index.js rename to app/views/RoomActionsView/index.tsx index a9ede0ca3..ed56fc72f 100644 --- a/app/views/RoomActionsView/index.js +++ b/app/views/RoomActionsView/index.tsx @@ -1,38 +1,94 @@ +import { Q } from '@nozbe/watermelondb'; +import { StackNavigationOptions } from '@react-navigation/stack'; +import isEmpty from 'lodash/isEmpty'; import React from 'react'; -import PropTypes from 'prop-types'; import { Share, Switch, Text, View } from 'react-native'; import { connect } from 'react-redux'; -import isEmpty from 'lodash/isEmpty'; -import { Q } from '@nozbe/watermelondb'; +import { Observable, Subscription } from 'rxjs'; -import { compareServerVersion } from '../../lib/utils'; -import Touch from '../../utils/touch'; -import { setLoading } from '../../actions/selectedUsers'; import { closeRoom, leaveRoom } from '../../actions/room'; -import sharedStyles from '../Styles'; -import Avatar from '../../containers/Avatar'; -import Status from '../../containers/Status'; -import * as List from '../../containers/List'; -import RocketChat from '../../lib/rocketchat'; -import log, { events, logEvent } from '../../utils/log'; -import RoomTypeIcon from '../../containers/RoomTypeIcon'; -import I18n from '../../i18n'; -import StatusBar from '../../containers/StatusBar'; +import { setLoading } from '../../actions/selectedUsers'; import { SWITCH_TRACK_COLOR, themes } from '../../constants/colors'; -import { withTheme } from '../../theme'; +import Avatar from '../../containers/Avatar'; import * as HeaderButton from '../../containers/HeaderButton'; +import * as List from '../../containers/List'; import { MarkdownPreview } from '../../containers/markdown'; -import { showConfirmationAlert, showErrorAlert } from '../../utils/info'; +import RoomTypeIcon from '../../containers/RoomTypeIcon'; import SafeAreaView from '../../containers/SafeAreaView'; +import Status from '../../containers/Status'; +import StatusBar from '../../containers/StatusBar'; +import { IApplicationState, IBaseScreen, IRoom, ISubscription, IUser, TSubscriptionModel } from '../../definitions'; +import { withDimensions } from '../../dimensions'; +import I18n from '../../i18n'; +import database from '../../lib/database'; import { E2E_ROOM_TYPES } from '../../lib/encryption/constants'; import protectedFunction from '../../lib/methods/helpers/protectedFunction'; -import database from '../../lib/database'; -import { withDimensions } from '../../dimensions'; +import RocketChat from '../../lib/rocketchat'; +import { compareServerVersion } from '../../lib/utils'; +import { getUserSelector } from '../../selectors/login'; +import { ChatsStackParamList } from '../../stacks/types'; +import { withTheme } from '../../theme'; +import { showConfirmationAlert, showErrorAlert } from '../../utils/info'; +import log, { events, logEvent } from '../../utils/log'; +import Touch from '../../utils/touch'; +import sharedStyles from '../Styles'; import styles from './styles'; +import { ERoomType } from '../../definitions/ERoomType'; -class RoomActionsView extends React.Component { - static navigationOptions = ({ navigation, isMasterDetail }) => { - const options = { +interface IRoomActionsViewProps extends IBaseScreen<ChatsStackParamList, 'RoomActionsView'> { + userId: string; + jitsiEnabled: boolean; + jitsiEnableTeams: boolean; + jitsiEnableChannels: boolean; + encryptionEnabled: boolean; + fontScale: number; + serverVersion: string | null; + addUserToJoinedRoomPermission?: string[]; + addUserToAnyCRoomPermission?: string[]; + addUserToAnyPRoomPermission?: string[]; + createInviteLinksPermission?: string[]; + editRoomPermission?: string[]; + toggleRoomE2EEncryptionPermission?: string[]; + viewBroadcastMemberListPermission?: string[]; + transferLivechatGuestPermission?: string[]; + createTeamPermission?: string[]; + addTeamChannelPermission?: string[]; + convertTeamPermission?: string[]; + viewCannedResponsesPermission?: string[]; +} + +interface IRoomActionsViewState { + room: TSubscriptionModel; + membersCount: number; + member: Partial<IUser>; + joined: boolean; + canViewMembers: boolean; + canAutoTranslate: boolean; + canAddUser: boolean; + canInviteUser: boolean; + canForwardGuest: boolean; + canReturnQueue: boolean; + canEdit: boolean; + canToggleEncryption: boolean; + canCreateTeam: boolean; + canAddChannelToTeam: boolean; + canConvertTeam: boolean; + canViewCannedResponse: boolean; +} + +class RoomActionsView extends React.Component<IRoomActionsViewProps, IRoomActionsViewState> { + private mounted: boolean; + private rid: string; + private t: string; + private joined: boolean; + private roomObservable?: Observable<TSubscriptionModel>; + private subscription?: Subscription; + + static navigationOptions = ({ + navigation, + isMasterDetail + }: Pick<IRoomActionsViewProps, 'navigation' | 'isMasterDetail'>): StackNavigationOptions => { + const options: StackNavigationOptions = { title: I18n.t('Actions') }; if (isMasterDetail) { @@ -41,34 +97,7 @@ class RoomActionsView extends React.Component { return options; }; - static propTypes = { - navigation: PropTypes.object, - route: PropTypes.object, - leaveRoom: PropTypes.func, - jitsiEnabled: PropTypes.bool, - jitsiEnableTeams: PropTypes.bool, - jitsiEnableChannels: PropTypes.bool, - encryptionEnabled: PropTypes.bool, - setLoadingInvite: PropTypes.func, - closeRoom: PropTypes.func, - theme: PropTypes.string, - fontScale: PropTypes.number, - serverVersion: PropTypes.string, - addUserToJoinedRoomPermission: PropTypes.array, - addUserToAnyCRoomPermission: PropTypes.array, - addUserToAnyPRoomPermission: PropTypes.array, - createInviteLinksPermission: PropTypes.array, - editRoomPermission: PropTypes.array, - toggleRoomE2EEncryptionPermission: PropTypes.array, - viewBroadcastMemberListPermission: PropTypes.array, - transferLivechatGuestPermission: PropTypes.array, - createTeamPermission: PropTypes.array, - addTeamChannelPermission: PropTypes.array, - convertTeamPermission: PropTypes.array, - viewCannedResponsesPermission: PropTypes.array - }; - - constructor(props) { + constructor(props: IRoomActionsViewProps) { super(props); this.mounted = false; const room = props.route.params?.room; @@ -100,6 +129,7 @@ class RoomActionsView extends React.Component { if (this.mounted) { this.setState({ room: changes }); } else { + // @ts-ignore this.state.room = changes; } }); @@ -114,6 +144,7 @@ class RoomActionsView extends React.Component { try { const result = await RocketChat.getChannelInfo(room.rid); if (result.success) { + // @ts-ignore this.setState({ room: { ...result.channel, rid: result.channel._id } }); } } catch (e) { @@ -123,7 +154,7 @@ class RoomActionsView extends React.Component { if (room && room.t !== 'd' && this.canViewMembers()) { try { - const counters = await RocketChat.getRoomCounters(room.rid, room.t); + const counters = await RocketChat.getRoomCounters(room.rid, room.t as any); if (counters.success) { this.setState({ membersCount: counters.members, joined: counters.joined }); } @@ -177,9 +208,15 @@ class RoomActionsView extends React.Component { return room.t === 'l' && room.status === 'queued' && !this.joined; } - onPressTouchable = item => { + // TODO: assert params required for navigation + onPressTouchable = (item: { route?: keyof ChatsStackParamList; params?: object; event?: Function }) => { const { route, event, params } = item; if (route) { + /** + * TODO: params can vary too much and ts is going to be happy + * Instead of playing with this, we should think on a better `logEvent` function + */ + // @ts-ignore logEvent(events[`RA_GO_${route.replace('View', '').toUpperCase()}${params.name ? params.name.toUpperCase() : ''}`]); const { navigation } = this.props; navigation.navigate(route, params); @@ -311,7 +348,7 @@ class RoomActionsView extends React.Component { const { returnQueue } = await RocketChat.getRoutingConfig(); return returnQueue; } catch { - // do nothing + return false; } }; @@ -349,7 +386,7 @@ class RoomActionsView extends React.Component { onPress: async () => { try { await RocketChat.returnLivechat(rid); - } catch (e) { + } catch (e: any) { showErrorAlert(e.reason, I18n.t('Oops')); } } @@ -364,7 +401,7 @@ class RoomActionsView extends React.Component { const roomUserId = RocketChat.getUidDirectMessage(room); const result = await RocketChat.getUserInfo(roomUserId); if (result.success) { - this.setState({ member: result.user }); + this.setState({ member: result.user as any }); } } } catch (e) { @@ -394,7 +431,7 @@ class RoomActionsView extends React.Component { const { rid, blocker } = room; const { member } = this.state; try { - await RocketChat.toggleBlockUser(rid, member._id, !blocker); + await RocketChat.toggleBlockUser(rid, member._id as string, !blocker); } catch (e) { logEvent(events.RA_TOGGLE_BLOCK_USER_F); log(e); @@ -411,9 +448,9 @@ class RoomActionsView extends React.Component { const encrypted = !room.encrypted; try { // Instantly feedback to the user - await db.action(async () => { + await db.write(async () => { await room.update( - protectedFunction(r => { + protectedFunction((r: TSubscriptionModel) => { r.encrypted = encrypted; }) ); @@ -431,9 +468,9 @@ class RoomActionsView extends React.Component { } // If something goes wrong we go back to the previous value - await db.action(async () => { + await db.write(async () => { await room.update( - protectedFunction(r => { + protectedFunction((r: TSubscriptionModel) => { r.encrypted = room.encrypted; }) ); @@ -463,43 +500,51 @@ class RoomActionsView extends React.Component { showConfirmationAlert({ message: I18n.t('Are_you_sure_you_want_to_leave_the_room', { room: RocketChat.getRoomTitle(room) }), confirmationText: I18n.t('Yes_action_it', { action: I18n.t('leave') }), - onPress: () => dispatch(leaveRoom('channel', room)) + onPress: () => dispatch(leaveRoom(ERoomType.c, room)) }); }; convertTeamToChannel = async () => { const { room } = this.state; - const { navigation } = this.props; + const { navigation, userId } = this.props; try { - const result = await RocketChat.teamListRoomsOfUser({ teamId: room.teamId, userId: room.u._id }); + if (!room.teamId) { + return; + } + const result = await RocketChat.teamListRoomsOfUser({ teamId: room.teamId, userId }); - if (result.rooms?.length) { - const teamChannels = result.rooms.map(r => ({ - rid: r._id, - name: r.name, - teamId: r.teamId - })); - navigation.navigate('SelectListView', { - title: 'Converting_Team_To_Channel', - data: teamChannels, - infoText: 'Select_Team_Channels_To_Delete', - nextAction: data => this.convertTeamToChannelConfirmation(data) - }); - } else { - this.convertTeamToChannelConfirmation(); + if (result.success) { + if (result.rooms?.length) { + const teamChannels = result.rooms.map((r: any) => ({ + rid: r._id, + name: r.name, + teamId: r.teamId + })); + navigation.navigate('SelectListView', { + title: 'Converting_Team_To_Channel', + data: teamChannels as any, + infoText: 'Select_Team_Channels_To_Delete', + nextAction: (data: string[]) => this.convertTeamToChannelConfirmation(data) + }); + } else { + this.convertTeamToChannelConfirmation(); + } } } catch (e) { this.convertTeamToChannelConfirmation(); } }; - handleConvertTeamToChannel = async selected => { + handleConvertTeamToChannel = async (selected: string[]) => { logEvent(events.RA_CONVERT_TEAM_TO_CHANNEL); try { const { room } = this.state; const { navigation } = this.props; + if (!room.teamId) { + return; + } const result = await RocketChat.convertTeamToChannel({ teamId: room.teamId, selected }); if (result.success) { @@ -511,7 +556,7 @@ class RoomActionsView extends React.Component { } }; - convertTeamToChannelConfirmation = (selected = []) => { + convertTeamToChannelConfirmation = (selected: string[] = []) => { showConfirmationAlert({ title: I18n.t('Confirmation'), message: I18n.t('You_are_converting_the_team'), @@ -522,37 +567,42 @@ class RoomActionsView extends React.Component { leaveTeam = async () => { const { room } = this.state; - const { navigation, dispatch } = this.props; + const { navigation, dispatch, userId } = this.props; try { - const result = await RocketChat.teamListRoomsOfUser({ teamId: room.teamId, userId: room.u._id }); + if (!room.teamId) { + return; + } + const result = await RocketChat.teamListRoomsOfUser({ teamId: room.teamId, userId }); - if (result.rooms?.length) { - const teamChannels = result.rooms.map(r => ({ - rid: r._id, - name: r.name, - teamId: r.teamId, - alert: r.isLastOwner - })); - navigation.navigate('SelectListView', { - title: 'Leave_Team', - data: teamChannels, - infoText: 'Select_Team_Channels', - nextAction: data => dispatch(leaveRoom('team', room, data)), - showAlert: () => showErrorAlert(I18n.t('Last_owner_team_room'), I18n.t('Cannot_leave')) - }); - } else { - showConfirmationAlert({ - message: I18n.t('You_are_leaving_the_team', { team: RocketChat.getRoomTitle(room) }), - confirmationText: I18n.t('Yes_action_it', { action: I18n.t('leave') }), - onPress: () => dispatch(leaveRoom('team', room)) - }); + if (result.success) { + if (result.rooms?.length) { + const teamChannels = result.rooms.map((r: any) => ({ + rid: r._id, + name: r.name, + teamId: r.teamId, + alert: r.isLastOwner + })); + navigation.navigate('SelectListView', { + title: 'Leave_Team', + data: teamChannels as any, + infoText: 'Select_Team_Channels', + nextAction: data => dispatch(leaveRoom(ERoomType.t, room, data)), + showAlert: () => showErrorAlert(I18n.t('Last_owner_team_room'), I18n.t('Cannot_leave')) + }); + } else { + showConfirmationAlert({ + message: I18n.t('You_are_leaving_the_team', { team: RocketChat.getRoomTitle(room) }), + confirmationText: I18n.t('Yes_action_it', { action: I18n.t('leave') }), + onPress: () => dispatch(leaveRoom(ERoomType.t, room)) + }); + } } } catch (e) { showConfirmationAlert({ message: I18n.t('You_are_leaving_the_team', { team: RocketChat.getRoomTitle(room) }), confirmationText: I18n.t('Yes_action_it', { action: I18n.t('leave') }), - onPress: () => dispatch(leaveRoom('team', room)) + onPress: () => dispatch(leaveRoom(ERoomType.t, room)) }); } }; @@ -562,7 +612,7 @@ class RoomActionsView extends React.Component { try { const { room } = this.state; const { navigation } = this.props; - const result = await RocketChat.convertChannelToTeam({ rid: room.rid, name: room.name, type: room.t }); + const result = await RocketChat.convertChannelToTeam({ rid: room.rid, name: room.name, type: room.t as any }); if (result.success) { navigation.navigate('RoomView'); @@ -582,7 +632,7 @@ class RoomActionsView extends React.Component { }); }; - handleMoveToTeam = async selected => { + handleMoveToTeam = async (selected: string[]) => { logEvent(events.RA_MOVE_TO_TEAM); try { const { room } = this.state; @@ -603,14 +653,14 @@ class RoomActionsView extends React.Component { const { navigation } = this.props; const db = database.active; const subCollection = db.get('subscriptions'); - const teamRooms = await subCollection.query(Q.where('team_main', true)); + const teamRooms = await subCollection.query(Q.where('team_main', true)).fetch(); if (teamRooms.length) { const data = teamRooms.map(team => ({ rid: team.teamId, t: team.t, name: team.name - })); + })) as IRoom[]; // TODO: review this usage later navigation.navigate('SelectListView', { title: 'Move_to_Team', infoText: 'Move_Channel_Paragraph', @@ -637,7 +687,7 @@ class RoomActionsView extends React.Component { } }; - searchTeam = async onChangeText => { + searchTeam = async (onChangeText: string) => { logEvent(events.RA_SEARCH_TEAM); try { const { addTeamChannelPermission, createTeamPermission } = this.props; @@ -650,9 +700,10 @@ class RoomActionsView extends React.Component { Q.where('name', Q.like(`%${onChangeText}%`)), Q.experimentalTake(QUERY_SIZE), Q.experimentalSortBy('room_updated_at', Q.desc) - ); + ) + .fetch(); - const asyncFilter = async teamArray => { + const asyncFilter = async (teamArray: TSubscriptionModel[]) => { const results = await Promise.all( teamArray.map(async team => { const permissions = await RocketChat.hasPermission([addTeamChannelPermission, createTeamPermission], team.rid); @@ -698,7 +749,6 @@ class RoomActionsView extends React.Component { } style={{ backgroundColor: themes[theme].backgroundColor }} accessibilityLabel={I18n.t('Room_Info')} - accessibilityTraits='button' enabled={!isGroupChat} testID='room-actions-info' theme={theme}> @@ -708,7 +758,7 @@ class RoomActionsView extends React.Component { <View style={[sharedStyles.status, { backgroundColor: themes[theme].backgroundColor }]}> <Status size={16} id={member._id} /> </View> - ) : null} + ) : undefined} </Avatar> <View style={styles.roomTitleContainer}> {room.t === 'd' ? ( @@ -782,7 +832,7 @@ class RoomActionsView extends React.Component { // If this room type can be encrypted // If e2e is enabled - if (E2E_ROOM_TYPES[room?.t] && encryptionEnabled) { + if (E2E_ROOM_TYPES[room.t] && encryptionEnabled) { return ( <List.Section> <List.Separator /> @@ -853,7 +903,7 @@ class RoomActionsView extends React.Component { return null; }; - teamChannelActions = (t, room) => { + teamChannelActions = (t: string, room: ISubscription) => { const { canEdit, canCreateTeam, canAddChannelToTeam } = this.state; const canConvertToTeam = canEdit && canCreateTeam && !room.teamMain; const canMoveToTeam = canEdit && canAddChannelToTeam && !room.teamId; @@ -897,7 +947,7 @@ class RoomActionsView extends React.Component { ); }; - teamToChannelActions = (t, room) => { + teamToChannelActions = (t: string, room: ISubscription) => { const { canEdit, canConvertTeam } = this.state; const canConvertTeamToChannel = canEdit && canConvertTeam && !!room?.teamMain; @@ -952,7 +1002,7 @@ class RoomActionsView extends React.Component { <> <List.Item title='Members' - subtitle={membersCount > 0 ? `${membersCount} ${I18n.t('members')}` : null} + subtitle={membersCount > 0 ? `${membersCount} ${I18n.t('members')}` : undefined} onPress={() => this.onPressTouchable({ route: 'RoomMembersView', params: { rid, room } })} testID='room-actions-members' left={() => <List.Icon name='team' />} @@ -1221,10 +1271,11 @@ class RoomActionsView extends React.Component { } } -const mapStateToProps = state => ({ - jitsiEnabled: state.settings.Jitsi_Enabled || false, - jitsiEnableTeams: state.settings.Jitsi_Enable_Teams || false, - jitsiEnableChannels: state.settings.Jitsi_Enable_Channels || false, +const mapStateToProps = (state: IApplicationState) => ({ + userId: getUserSelector(state).id, + jitsiEnabled: (state.settings.Jitsi_Enabled || false) as boolean, + jitsiEnableTeams: (state.settings.Jitsi_Enable_Teams || false) as boolean, + jitsiEnableChannels: (state.settings.Jitsi_Enable_Channels || false) as boolean, encryptionEnabled: state.encryption.enabled, serverVersion: state.server.version, isMasterDetail: state.app.isMasterDetail, diff --git a/app/views/RoomActionsView/styles.js b/app/views/RoomActionsView/styles.ts similarity index 100% rename from app/views/RoomActionsView/styles.js rename to app/views/RoomActionsView/styles.ts diff --git a/app/views/RoomInfoEditView/SwitchContainer.js b/app/views/RoomInfoEditView/SwitchContainer.tsx similarity index 73% rename from app/views/RoomInfoEditView/SwitchContainer.js rename to app/views/RoomInfoEditView/SwitchContainer.tsx index c57f092e4..0ae854e7e 100644 --- a/app/views/RoomInfoEditView/SwitchContainer.js +++ b/app/views/RoomInfoEditView/SwitchContainer.tsx @@ -1,11 +1,24 @@ import React from 'react'; -import { Switch, Text, View } from 'react-native'; -import PropTypes from 'prop-types'; +import { Switch, Text, TextStyle, View, ViewStyle } from 'react-native'; import { SWITCH_TRACK_COLOR, themes } from '../../constants/colors'; import styles from './styles'; -const SwitchContainer = React.memo( +interface ISwitchContainer { + value: boolean; + disabled?: boolean; + leftLabelPrimary: string; + leftLabelSecondary: string; + rightLabelPrimary?: string; + rightLabelSecondary?: string; + onValueChange: (value: any) => void; + theme: string; + testID: string; + labelContainerStyle?: ViewStyle; + leftLabelStyle?: TextStyle; +} + +const SwitchContainer: React.FC<ISwitchContainer> = React.memo( ({ children, value, @@ -21,7 +34,7 @@ const SwitchContainer = React.memo( leftLabelStyle }) => ( <> - <View key='switch-container' style={[styles.switchContainer, children && styles.switchMargin]}> + <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]}> @@ -57,19 +70,4 @@ const SwitchContainer = React.memo( ) ); -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; diff --git a/app/views/RoomInfoEditView/index.js b/app/views/RoomInfoEditView/index.tsx similarity index 76% rename from app/views/RoomInfoEditView/index.js rename to app/views/RoomInfoEditView/index.tsx index 251629187..615453be6 100644 --- a/app/views/RoomInfoEditView/index.js +++ b/app/views/RoomInfoEditView/index.tsx @@ -1,75 +1,98 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { Alert, Keyboard, ScrollView, Text, TouchableOpacity, View } from 'react-native'; -import { connect } from 'react-redux'; +import { Q } from '@nozbe/watermelondb'; import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit'; -import ImagePicker from 'react-native-image-crop-picker'; import { dequal } from 'dequal'; import isEmpty from 'lodash/isEmpty'; -import { Q } from '@nozbe/watermelondb'; +import React from 'react'; +import { Alert, Keyboard, ScrollView, Text, TextInput, TouchableOpacity, View } from 'react-native'; +import ImagePicker, { Image } from 'react-native-image-crop-picker'; +import { connect } from 'react-redux'; -import { compareServerVersion } from '../../lib/utils'; -import database from '../../lib/database'; -import { deleteRoom as deleteRoomAction } from '../../actions/room'; -import KeyboardView from '../../presentation/KeyboardView'; -import sharedStyles from '../Styles'; -import scrollPersistTaps from '../../utils/scrollPersistTaps'; -import { showConfirmationAlert, showErrorAlert } from '../../utils/info'; -import { LISTENER } from '../../containers/Toast'; -import EventEmitter from '../../utils/events'; -import RocketChat from '../../lib/rocketchat'; -import RCTextInput from '../../containers/TextInput'; -import Loading from '../../containers/Loading'; -import random from '../../utils/random'; -import log, { events, logEvent } from '../../utils/log'; -import I18n from '../../i18n'; -import StatusBar from '../../containers/StatusBar'; +import { deleteRoom } from '../../actions/room'; import { themes } from '../../constants/colors'; -import { withTheme } from '../../theme'; -import { MultiSelect } from '../../containers/UIKit/MultiSelect'; -import { MessageTypeValues } from '../../utils/messageTypes'; -import SafeAreaView from '../../containers/SafeAreaView'; import Avatar from '../../containers/Avatar'; +import Loading from '../../containers/Loading'; +import SafeAreaView from '../../containers/SafeAreaView'; +import StatusBar from '../../containers/StatusBar'; +import RCTextInput from '../../containers/TextInput'; +import { LISTENER } from '../../containers/Toast'; +import { MultiSelect } from '../../containers/UIKit/MultiSelect'; +import { IApplicationState, IBaseScreen, ISubscription, SubscriptionType, TSubscriptionModel } from '../../definitions'; +import { ERoomType } from '../../definitions/ERoomType'; +import I18n from '../../i18n'; +import database from '../../lib/database'; import { CustomIcon } from '../../lib/Icons'; -import SwitchContainer from './SwitchContainer'; +import RocketChat from '../../lib/rocketchat'; +import { compareServerVersion } from '../../lib/utils'; +import KeyboardView from '../../presentation/KeyboardView'; +import { TSupportedPermissions } from '../../reducers/permissions'; +import { ModalStackParamList } from '../../stacks/MasterDetailStack/types'; +import { ChatsStackParamList } from '../../stacks/types'; +import { withTheme } from '../../theme'; +import EventEmitter from '../../utils/events'; +import { showConfirmationAlert, showErrorAlert } from '../../utils/info'; +import log, { events, logEvent } from '../../utils/log'; +import { MessageTypeValues } from '../../utils/messageTypes'; +import random from '../../utils/random'; +import scrollPersistTaps from '../../utils/scrollPersistTaps'; +import { IAvatar } from '../../definitions/IProfileViewInterfaces'; +import sharedStyles from '../Styles'; import styles from './styles'; +import SwitchContainer from './SwitchContainer'; -const PERMISSION_SET_READONLY = 'set-readonly'; -const PERMISSION_SET_REACT_WHEN_READONLY = 'set-react-when-readonly'; -const PERMISSION_ARCHIVE = 'archive-room'; -const PERMISSION_UNARCHIVE = 'unarchive-room'; -const PERMISSION_DELETE_C = 'delete-c'; -const PERMISSION_DELETE_P = 'delete-p'; -const PERMISSION_DELETE_TEAM = 'delete-team'; +interface IRoomInfoEditViewState { + room: ISubscription; + avatar: IAvatar; + permissions: Record<TSupportedPermissions, string>; + name: string; + description?: string; + topic?: string; + announcement?: string; + joinCode: string; + nameError: any; + saving: boolean; + t: boolean; + ro: boolean; + reactWhenReadOnly?: boolean; + archived: boolean; + systemMessages?: boolean | string[]; + enableSysMes?: boolean | string[]; + encrypted?: boolean; +} + +interface IRoomInfoEditViewProps extends IBaseScreen<ChatsStackParamList | ModalStackParamList, 'RoomInfoEditView'> { + serverVersion?: string; + encryptionEnabled: boolean; + theme: string; + setReadOnlyPermission: string[]; + setReactWhenReadOnlyPermission: string[]; + archiveRoomPermission: string[]; + unarchiveRoomPermission: string[]; + deleteCPermission: string[]; + deletePPermission: string[]; + deleteTeamPermission: string[]; + isMasterDetail: boolean; +} + +class RoomInfoEditView extends React.Component<IRoomInfoEditViewProps, IRoomInfoEditViewState> { + randomValue = random(15); + private querySubscription: any; // Observable dont have unsubscribe prop + private room!: TSubscriptionModel; + private name!: TextInput | null; + private description!: TextInput | null; + private topic!: TextInput | null; + private announcement!: TextInput | null; + private joinCode!: TextInput | null; -class RoomInfoEditView extends React.Component { static navigationOptions = () => ({ title: I18n.t('Room_Info_Edit') }); - static propTypes = { - navigation: PropTypes.object, - route: PropTypes.object, - deleteRoom: PropTypes.func, - serverVersion: PropTypes.string, - encryptionEnabled: PropTypes.bool, - theme: PropTypes.string, - setReadOnlyPermission: PropTypes.array, - setReactWhenReadOnlyPermission: PropTypes.array, - archiveRoomPermission: PropTypes.array, - unarchiveRoomPermission: PropTypes.array, - deleteCPermission: PropTypes.array, - deletePPermission: PropTypes.array, - deleteTeamPermission: PropTypes.array, - isMasterDetail: PropTypes.bool - }; - - constructor(props) { + constructor(props: IRoomInfoEditViewProps) { super(props); this.state = { - room: {}, - avatar: {}, - permissions: {}, + room: {} as ISubscription, + avatar: {} as IAvatar, + permissions: {} as Record<TSupportedPermissions, string>, name: '', description: '', topic: '', @@ -134,14 +157,15 @@ class RoomInfoEditView extends React.Component { ); this.setState({ + // @ts-ignore - Solved by migrating the hasPermission function permissions: { - [PERMISSION_SET_READONLY]: result[0], - [PERMISSION_SET_REACT_WHEN_READONLY]: result[1], - [PERMISSION_ARCHIVE]: result[2], - [PERMISSION_UNARCHIVE]: result[3], - [PERMISSION_DELETE_C]: result[4], - [PERMISSION_DELETE_P]: result[5], - ...(this.room.teamMain && { [PERMISSION_DELETE_TEAM]: result[6] }) + 'set-readonly': result[0], + 'set-react-when-readonly': result[1], + 'archive-room': result[2], + 'unarchive-room': result[3], + 'delete-c': result[4], + 'delete-p': result[5], + ...(this.room.teamMain && { 'delete-team': result[6] }) } }); } catch (e) { @@ -149,10 +173,10 @@ class RoomInfoEditView extends React.Component { } }; - init = room => { - const { description, topic, announcement, t, ro, reactWhenReadOnly, joinCodeRequired, sysMes, encrypted } = room; + init = (room: ISubscription) => { + const { description, topic, announcement, t, ro, reactWhenReadOnly, joinCodeRequired, encrypted } = room; + const sysMes = room.sysMes as string[]; // fake password just to user knows about it - this.randomValue = random(15); this.setState({ room, name: RocketChat.getRoomTitle(room), @@ -160,7 +184,7 @@ class RoomInfoEditView extends React.Component { topic, announcement, t: t === 'p', - avatar: {}, + avatar: {} as IAvatar, ro, reactWhenReadOnly, joinCode: joinCodeRequired ? this.randomValue : '', @@ -200,6 +224,7 @@ class RoomInfoEditView extends React.Component { avatar } = this.state; const { joinCodeRequired } = room; + const sysMes = room.sysMes as string[]; return !( room.name === name && room.description === description && @@ -209,8 +234,8 @@ class RoomInfoEditView extends React.Component { (room.t === 'p') === t && room.ro === ro && room.reactWhenReadOnly === reactWhenReadOnly && - dequal(room.sysMes, systemMessages) && - enableSysMes === (room.sysMes && room.sysMes.length > 0) && + dequal(sysMes, systemMessages) && + enableSysMes === (sysMes && sysMes.length > 0) && room.encrypted === encrypted && isEmpty(avatar) ); @@ -245,7 +270,7 @@ class RoomInfoEditView extends React.Component { // Clear error objects await this.clearErrors(); - const params = {}; + const params = {} as any; // Name if (room.name !== name) { @@ -268,7 +293,7 @@ class RoomInfoEditView extends React.Component { params.roomAnnouncement = announcement; } // Room Type - if (room.t !== t) { + if ((room.t === SubscriptionType.GROUP) !== t) { params.roomType = t ? 'p' : 'c'; } // Read Only @@ -296,7 +321,7 @@ class RoomInfoEditView extends React.Component { try { await RocketChat.saveRoomSettings(room.rid, params); - } catch (e) { + } catch (e: any) { if (e.error === 'error-invalid-room-name') { this.setState({ nameError: e }); } @@ -317,20 +342,26 @@ class RoomInfoEditView extends React.Component { deleteTeam = async () => { const { room } = this.state; - const { navigation, deleteCPermission, deletePPermission, deleteRoom } = this.props; + const { navigation, deleteCPermission, deletePPermission, dispatch } = this.props; try { const db = database.active; const subCollection = db.get('subscriptions'); - const teamChannels = await subCollection.query(Q.where('team_id', room.teamId), Q.where('team_main', Q.notEq(true))); + const teamChannels = await subCollection.query( + Q.where('team_id', room.teamId as string), + Q.where('team_main', Q.notEq(true)) + ); const teamChannelOwner = []; + // @ts-ignore - wm schema type error dont including array for (let i = 0; i < teamChannels.length; i += 1) { + // @ts-ignore - wm schema type error dont including array const permissionType = teamChannels[i].t === 'c' ? deleteCPermission : deletePPermission; + // @ts-ignore - wm schema type error dont including array // eslint-disable-next-line no-await-in-loop const permissions = await RocketChat.hasPermission([permissionType], teamChannels[i].rid); - if (permissions[0]) { + // @ts-ignore - wm schema type error dont including array teamChannelOwner.push(teamChannels[i]); } } @@ -340,11 +371,11 @@ class RoomInfoEditView extends React.Component { title: 'Delete_Team', data: teamChannelOwner, infoText: 'Select_channels_to_delete', - nextAction: selected => { + nextAction: (selected: string[]) => { showConfirmationAlert({ message: I18n.t('You_are_deleting_the_team', { team: RocketChat.getRoomTitle(room) }), confirmationText: I18n.t('Yes_action_it', { action: I18n.t('delete') }), - onPress: () => deleteRoom('team', room, selected) + onPress: () => deleteRoom(ERoomType.t, room, selected) }); } }); @@ -352,10 +383,10 @@ class RoomInfoEditView extends React.Component { showConfirmationAlert({ message: I18n.t('You_are_deleting_the_team', { team: RocketChat.getRoomTitle(room) }), confirmationText: I18n.t('Yes_action_it', { action: I18n.t('delete') }), - onPress: () => deleteRoom('team', room) + onPress: () => dispatch(deleteRoom(ERoomType.t, room)) }); } - } catch (e) { + } catch (e: any) { log(e); showErrorAlert( e.data.error ? I18n.t(e.data.error) : I18n.t('There_was_an_error_while_action', { action: I18n.t('deleting_team') }), @@ -366,7 +397,7 @@ class RoomInfoEditView extends React.Component { delete = () => { const { room } = this.state; - const { deleteRoom } = this.props; + const { dispatch } = this.props; Alert.alert( I18n.t('Are_you_sure_question_mark'), @@ -379,7 +410,7 @@ class RoomInfoEditView extends React.Component { { text: I18n.t('Yes_action_it', { action: I18n.t('delete') }), style: 'destructive', - onPress: () => deleteRoom('channel', room) + onPress: () => dispatch(deleteRoom(ERoomType.c, room)) } ], { cancelable: false } @@ -405,7 +436,7 @@ class RoomInfoEditView extends React.Component { onPress: async () => { try { logEvent(events.RI_EDIT_TOGGLE_ARCHIVE); - await RocketChat.toggleArchiveRoom(rid, t, !archived); + await RocketChat.toggleArchiveRoom(rid, t as SubscriptionType, !archived); } catch (e) { logEvent(events.RI_EDIT_TOGGLE_ARCHIVE_F); log(e); @@ -421,14 +452,14 @@ class RoomInfoEditView extends React.Component { const { room, permissions } = this.state; if (room.teamMain) { - return permissions[PERMISSION_DELETE_TEAM]; + return permissions['delete-team']; } if (room.t === 'p') { - return permissions[PERMISSION_DELETE_P]; + return permissions['delete-p']; } - return permissions[PERMISSION_DELETE_C]; + return permissions['delete-c']; }; renderSystemMessages = () => { @@ -445,9 +476,9 @@ class RoomInfoEditView extends React.Component { value: m.value, text: { text: I18n.t('Hide_type_messages', { type: I18n.t(m.text) }) } }))} - onChange={({ value }) => this.setState({ systemMessages: value })} + onChange={({ value }: { value: boolean }) => this.setState({ systemMessages: value })} placeholder={{ text: I18n.t('Hide_System_Messages') }} - value={systemMessages} + value={systemMessages as string[]} context={BLOCK_CONTEXT.FORM} multiselect theme={theme} @@ -466,7 +497,7 @@ class RoomInfoEditView extends React.Component { }; try { - const response = await ImagePicker.openPicker(options); + const response: Image = await ImagePicker.openPicker(options); this.setState({ avatar: { url: response.path, data: `data:image/jpeg;base64,${response.data}`, service: 'upload' } }); } catch (e) { console.log(e); @@ -477,27 +508,27 @@ class RoomInfoEditView extends React.Component { this.setState({ avatar: { data: null } }); }; - toggleRoomType = value => { + toggleRoomType = (value: boolean) => { logEvent(events.RI_EDIT_TOGGLE_ROOM_TYPE); this.setState(({ encrypted }) => ({ t: value, encrypted: value && encrypted })); }; - toggleReadOnly = value => { + toggleReadOnly = (value: boolean) => { logEvent(events.RI_EDIT_TOGGLE_READ_ONLY); this.setState({ ro: value }); }; - toggleReactions = value => { + toggleReactions = (value: boolean) => { logEvent(events.RI_EDIT_TOGGLE_REACTIONS); this.setState({ reactWhenReadOnly: value }); }; - toggleHideSystemMessages = value => { + toggleHideSystemMessages = (value: boolean) => { logEvent(events.RI_EDIT_TOGGLE_SYSTEM_MSG); this.setState(({ systemMessages }) => ({ enableSysMes: value, systemMessages: value ? systemMessages : [] })); }; - toggleEncrypted = value => { + toggleEncrypted = (value: boolean) => { logEvent(events.RI_EDIT_TOGGLE_ENCRYPTED); this.setState({ encrypted: value }); }; @@ -538,15 +569,15 @@ class RoomInfoEditView extends React.Component { <TouchableOpacity style={styles.avatarContainer} onPress={this.changeAvatar} - disabled={compareServerVersion(serverVersion, 'lowerThan', '3.6.0')}> + disabled={compareServerVersion(serverVersion || '', 'lowerThan', '3.6.0')}> <Avatar type={room.t} text={room.name} avatar={avatar?.url} isStatic={avatar?.url} - rid={isEmpty(avatar) && room.rid} + rid={isEmpty(avatar) ? room.rid : undefined} size={100}> - {compareServerVersion(serverVersion, 'lowerThan', '3.6.0') ? null : ( + {serverVersion && compareServerVersion(serverVersion, 'lowerThan', '3.6.0') ? undefined : ( <TouchableOpacity style={[styles.resetButton, { backgroundColor: themes[theme].dangerColor }]} onPress={this.resetAvatar}> @@ -563,7 +594,7 @@ class RoomInfoEditView extends React.Component { value={name} onChangeText={value => this.setState({ name: value })} onSubmitEditing={() => { - this.description.focus(); + this.description?.focus(); }} error={nameError} theme={theme} @@ -577,7 +608,7 @@ class RoomInfoEditView extends React.Component { value={description} onChangeText={value => this.setState({ description: value })} onSubmitEditing={() => { - this.topic.focus(); + this.topic?.focus(); }} theme={theme} testID='room-info-edit-view-description' @@ -590,7 +621,7 @@ class RoomInfoEditView extends React.Component { value={topic} onChangeText={value => this.setState({ topic: value })} onSubmitEditing={() => { - this.announcement.focus(); + this.announcement?.focus(); }} theme={theme} testID='room-info-edit-view-topic' @@ -603,7 +634,7 @@ class RoomInfoEditView extends React.Component { value={announcement} onChangeText={value => this.setState({ announcement: value })} onSubmitEditing={() => { - this.joinCode.focus(); + this.joinCode?.focus(); }} theme={theme} testID='room-info-edit-view-announcement' @@ -647,19 +678,19 @@ class RoomInfoEditView extends React.Component { rightLabelPrimary={I18n.t('Read_Only')} rightLabelSecondary={I18n.t('Only_authorized_users_can_write_new_messages')} onValueChange={this.toggleReadOnly} - disabled={!permissions[PERMISSION_SET_READONLY] || room.broadcast} + disabled={!permissions['set-readonly'] || room.broadcast} theme={theme} testID='room-info-edit-view-ro' /> {ro && !room.broadcast ? ( <SwitchContainer - value={reactWhenReadOnly} + value={reactWhenReadOnly as boolean} leftLabelPrimary={I18n.t('No_Reactions')} leftLabelSecondary={I18n.t('Reactions_are_disabled')} rightLabelPrimary={I18n.t('Allow_Reactions')} rightLabelSecondary={I18n.t('Reactions_are_enabled')} onValueChange={this.toggleReactions} - disabled={!permissions[PERMISSION_SET_REACT_WHEN_READONLY]} + disabled={!permissions['set-react-when-readonly']} theme={theme} testID='room-info-edit-view-react-when-ro' /> @@ -670,9 +701,9 @@ class RoomInfoEditView extends React.Component { <View style={[styles.divider, { borderColor: themes[theme].separatorColor }]} /> ] : null} - {!compareServerVersion(serverVersion, 'lowerThan', '3.0.0') ? ( + {serverVersion && !compareServerVersion(serverVersion, 'lowerThan', '3.0.0') ? ( <SwitchContainer - value={enableSysMes} + value={enableSysMes as boolean} leftLabelPrimary={I18n.t('Hide_System_Messages')} leftLabelSecondary={ enableSysMes @@ -689,7 +720,7 @@ class RoomInfoEditView extends React.Component { ) : null} {encryptionEnabled ? ( <SwitchContainer - value={encrypted} + value={encrypted as boolean} disabled={!t} leftLabelPrimary={I18n.t('Encrypted')} leftLabelSecondary={I18n.t('End_to_end_encrypted_room')} @@ -735,12 +766,12 @@ class RoomInfoEditView extends React.Component { styles.buttonInverted, styles.buttonContainer_inverted, archived - ? !permissions[PERMISSION_UNARCHIVE] && sharedStyles.opacity5 - : !permissions[PERMISSION_ARCHIVE] && sharedStyles.opacity5, + ? !permissions['unarchive-room'] && sharedStyles.opacity5 + : !permissions['archive-room'] && sharedStyles.opacity5, { flex: 1, marginLeft: 10, borderColor: dangerColor } ]} onPress={this.toggleArchive} - disabled={archived ? !permissions[PERMISSION_UNARCHIVE] : !permissions[PERMISSION_ARCHIVE]} + disabled={archived ? !permissions['unarchive-room'] : !permissions['archive-room']} testID={archived ? 'room-info-edit-view-unarchive' : 'room-info-edit-view-archive'}> <Text style={[styles.button, styles.button_inverted, { color: dangerColor }]}> {archived ? I18n.t('UNARCHIVE') : I18n.t('ARCHIVE')} @@ -771,21 +802,17 @@ class RoomInfoEditView extends React.Component { } } -const mapStateToProps = state => ({ - serverVersion: state.server.version, +const mapStateToProps = (state: IApplicationState) => ({ + serverVersion: state.server.version as string, encryptionEnabled: state.encryption.enabled, - setReadOnlyPermission: state.permissions[PERMISSION_SET_READONLY], - setReactWhenReadOnlyPermission: state.permissions[PERMISSION_SET_REACT_WHEN_READONLY], - archiveRoomPermission: state.permissions[PERMISSION_ARCHIVE], - unarchiveRoomPermission: state.permissions[PERMISSION_UNARCHIVE], - deleteCPermission: state.permissions[PERMISSION_DELETE_C], - deletePPermission: state.permissions[PERMISSION_DELETE_P], - deleteTeamPermission: state.permissions[PERMISSION_DELETE_TEAM], + setReadOnlyPermission: state.permissions['set-readonly'] as string[], + setReactWhenReadOnlyPermission: state.permissions['set-react-when-readonly'] as string[], + archiveRoomPermission: state.permissions['archive-room'] as string[], + unarchiveRoomPermission: state.permissions['unarchive-room'] as string[], + deleteCPermission: state.permissions['delete-c'] as string[], + deletePPermission: state.permissions['delete-p'] as string[], + deleteTeamPermission: state.permissions['delete-team'] as string[], isMasterDetail: state.app.isMasterDetail }); -const mapDispatchToProps = dispatch => ({ - deleteRoom: (roomType, room, selected) => dispatch(deleteRoomAction(roomType, room, selected)) -}); - -export default connect(mapStateToProps, mapDispatchToProps)(withTheme(RoomInfoEditView)); +export default connect(mapStateToProps)(withTheme(RoomInfoEditView)); diff --git a/app/views/RoomInfoEditView/styles.js b/app/views/RoomInfoEditView/styles.ts similarity index 100% rename from app/views/RoomInfoEditView/styles.js rename to app/views/RoomInfoEditView/styles.ts diff --git a/app/views/RoomInfoView/Channel.js b/app/views/RoomInfoView/Channel.tsx similarity index 79% rename from app/views/RoomInfoView/Channel.js rename to app/views/RoomInfoView/Channel.tsx index ea4a584c7..3a1a03442 100644 --- a/app/views/RoomInfoView/Channel.js +++ b/app/views/RoomInfoView/Channel.tsx @@ -1,43 +1,35 @@ import React from 'react'; -import PropTypes from 'prop-types'; import I18n from '../../i18n'; +import { ISubscription } from '../../definitions'; import Item from './Item'; -const Channel = ({ room, theme }) => { +const Channel = ({ room }: { room: ISubscription }) => { const { description, topic, announcement } = room; return ( <> <Item label={I18n.t('Description')} content={description || `__${I18n.t('No_label_provided', { label: 'description' })}__`} - theme={theme} testID='room-info-view-description' /> <Item label={I18n.t('Topic')} content={topic || `__${I18n.t('No_label_provided', { label: 'topic' })}__`} - theme={theme} testID='room-info-view-topic' /> <Item label={I18n.t('Announcement')} content={announcement || `__${I18n.t('No_label_provided', { label: 'announcement' })}__`} - theme={theme} testID='room-info-view-announcement' /> <Item label={I18n.t('Broadcast_Channel')} content={room.broadcast && I18n.t('Broadcast_channel_Description')} - theme={theme} testID='room-info-view-broadcast' /> </> ); }; -Channel.propTypes = { - room: PropTypes.object, - theme: PropTypes.string -}; export default Channel; diff --git a/app/views/RoomInfoView/CustomFields.js b/app/views/RoomInfoView/CustomFields.js deleted file mode 100644 index 777cfdf80..000000000 --- a/app/views/RoomInfoView/CustomFields.js +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; - -import Item from './Item'; - -const CustomFields = ({ customFields, theme }) => { - if (customFields) { - return Object.keys(customFields).map(title => { - if (!customFields[title]) { - return; - } - return <Item label={title} content={customFields[title]} theme={theme} />; - }); - } - - return null; -}; -CustomFields.propTypes = { - customFields: PropTypes.object, - theme: PropTypes.string -}; - -export default CustomFields; diff --git a/app/views/RoomInfoView/CustomFields.tsx b/app/views/RoomInfoView/CustomFields.tsx new file mode 100644 index 000000000..0034261bd --- /dev/null +++ b/app/views/RoomInfoView/CustomFields.tsx @@ -0,0 +1,22 @@ +import React from 'react'; + +import Item from './Item'; + +const CustomFields = ({ customFields }: { customFields: { [key: string]: string } }) => { + if (customFields) { + return ( + <> + {Object.keys(customFields).map((title: string) => { + if (!customFields[title]) { + return null; + } + return <Item label={title} content={customFields[title]} />; + })} + </> + ); + } + + return null; +}; + +export default CustomFields; diff --git a/app/views/RoomInfoView/Direct.js b/app/views/RoomInfoView/Direct.tsx similarity index 60% rename from app/views/RoomInfoView/Direct.js rename to app/views/RoomInfoView/Direct.tsx index cc6d8f393..b9e9e0da7 100644 --- a/app/views/RoomInfoView/Direct.js +++ b/app/views/RoomInfoView/Direct.tsx @@ -1,15 +1,17 @@ import React from 'react'; import { Text, View } from 'react-native'; -import PropTypes from 'prop-types'; import { themes } from '../../constants/colors'; import I18n from '../../i18n'; +import { useTheme } from '../../theme'; import Timezone from './Timezone'; import CustomFields from './CustomFields'; import styles from './styles'; -const Roles = ({ roles, theme }) => - roles && roles.length ? ( +const Roles = ({ roles }: { roles: string[] }) => { + const { theme } = useTheme(); + + if (roles && roles.length) { <View style={styles.item}> <Text style={[styles.itemLabel, { color: themes[theme].titleText }]}>{I18n.t('Roles')}</Text> <View style={styles.rolesContainer}> @@ -21,23 +23,18 @@ const Roles = ({ roles, theme }) => ) : null )} </View> - </View> - ) : null; -Roles.propTypes = { - roles: PropTypes.array, - theme: PropTypes.string + </View>; + } + + return null; }; -const Direct = ({ roomUser, theme }) => ( +const Direct = ({ roomUser }: { roomUser: any }) => ( <> - <Roles roles={roomUser.parsedRoles} theme={theme} /> - <Timezone utcOffset={roomUser.utcOffset} theme={theme} /> - <CustomFields customFields={roomUser.customFields} theme={theme} /> + <Roles roles={roomUser.parsedRoles} /> + <Timezone utcOffset={roomUser.utcOffset} /> + <CustomFields customFields={roomUser.customFields} /> </> ); -Direct.propTypes = { - roomUser: PropTypes.object, - theme: PropTypes.string -}; export default Direct; diff --git a/app/views/RoomInfoView/Item.js b/app/views/RoomInfoView/Item.tsx similarity index 67% rename from app/views/RoomInfoView/Item.js rename to app/views/RoomInfoView/Item.tsx index 2b8d19f9d..7296f6542 100644 --- a/app/views/RoomInfoView/Item.js +++ b/app/views/RoomInfoView/Item.tsx @@ -1,25 +1,32 @@ import React from 'react'; import { Text, View } from 'react-native'; -import PropTypes from 'prop-types'; import Markdown from '../../containers/markdown'; import { themes } from '../../constants/colors'; +import { useTheme } from '../../theme'; import styles from './styles'; -const Item = ({ label, content, theme, testID }) => - content ? ( +interface IItem { + label?: string; + content?: string; + testID?: string; +} + +const Item = ({ label, content, testID }: IItem) => { + const { theme } = useTheme(); + + if (!content) { + return null; + } + + return ( <View style={styles.item} testID={testID}> <Text accessibilityLabel={label} style={[styles.itemLabel, { color: themes[theme].titleText }]}> {label} </Text> <Markdown style={[styles.itemContent, { color: themes[theme].auxiliaryText }]} msg={content} theme={theme} /> </View> - ) : null; -Item.propTypes = { - label: PropTypes.string, - content: PropTypes.string, - theme: PropTypes.string, - testID: PropTypes.string + ); }; export default Item; diff --git a/app/views/RoomInfoView/Livechat.js b/app/views/RoomInfoView/Livechat.tsx similarity index 55% rename from app/views/RoomInfoView/Livechat.js rename to app/views/RoomInfoView/Livechat.tsx index 8635bdddd..ddc630979 100644 --- a/app/views/RoomInfoView/Livechat.js +++ b/app/views/RoomInfoView/Livechat.tsx @@ -1,15 +1,17 @@ import React, { useEffect, useState } from 'react'; import { StyleSheet, Text } from 'react-native'; -import PropTypes from 'prop-types'; import RocketChat from '../../lib/rocketchat'; -import { withTheme } from '../../theme'; +import { useTheme } from '../../theme'; import sharedStyles from '../Styles'; import { themes } from '../../constants/colors'; import I18n from '../../i18n'; +import { ISubscription } from '../../definitions'; +import { ILivechatVisitorModified } from './index'; import CustomFields from './CustomFields'; import Item from './Item'; import Timezone from './Timezone'; +import { ILivechatDepartment } from '../../definitions/ILivechatDepartment'; const styles = StyleSheet.create({ title: { @@ -19,20 +21,19 @@ const styles = StyleSheet.create({ } }); -const Title = ({ title, theme }) => <Text style={[styles.title, { color: themes[theme].titleText }]}>{title}</Text>; -Title.propTypes = { - title: PropTypes.string, - theme: PropTypes.string -}; +const Title = ({ title, theme }: { title: string; theme: string }) => ( + <Text style={[styles.title, { color: themes[theme].titleText }]}>{title}</Text> +); -const Livechat = ({ room, roomUser, theme }) => { - const [department, setDepartment] = useState({}); +const Livechat = ({ room, roomUser }: { room: ISubscription; roomUser: ILivechatVisitorModified }) => { + const [department, setDepartment] = useState<ILivechatDepartment>({} as ILivechatDepartment); + const { theme } = useTheme(); - const getDepartment = async id => { + const getDepartment = async (id: string) => { if (id) { const result = await RocketChat.getDepartmentInfo(id); if (result.success) { - setDepartment(result.department); + setDepartment(result.department as ILivechatDepartment); } } }; @@ -50,37 +51,34 @@ const Livechat = ({ room, roomUser, theme }) => { return ( <> <Title title={I18n.t('User')} theme={theme} /> - <Timezone utcOffset={roomUser.utc} theme={theme} /> - <Item label={I18n.t('Username')} content={roomUser.username} theme={theme} /> + <Timezone utcOffset={roomUser.utc} /> + <Item label={I18n.t('Username')} content={roomUser.username} /> <Item label={I18n.t('Email')} content={roomUser.visitorEmails?.map(email => email.address).reduce((ret, item) => `${ret}${item}\n`)} - theme={theme} /> <Item label={I18n.t('Phone')} content={roomUser.phone?.map(phone => phone.phoneNumber).reduce((ret, item) => `${ret}${item}\n`)} - theme={theme} /> - <Item label={I18n.t('IP')} content={roomUser.ip} theme={theme} /> - <Item label={I18n.t('OS')} content={roomUser.os} theme={theme} /> - <Item label={I18n.t('Browser')} content={roomUser.browser} theme={theme} /> - <CustomFields customFields={roomUser.livechatData} theme={theme} /> + <Item label={I18n.t('IP')} content={roomUser.ip} /> + <Item label={I18n.t('OS')} content={roomUser.os} /> + <Item label={I18n.t('Browser')} content={roomUser.browser} /> + <CustomFields customFields={roomUser.livechatData} /> <Title title={I18n.t('Conversation')} theme={theme} /> - <Item label={I18n.t('Agent')} content={room.servedBy?.username} theme={theme} /> - <Item label={I18n.t('Facebook')} content={room.facebook?.page.name} theme={theme} /> - <Item label={I18n.t('SMS')} content={room.sms && 'SMS Enabled'} theme={theme} /> - <Item label={I18n.t('Topic')} content={room.topic} theme={theme} /> - <Item label={I18n.t('Tags')} content={room.tags?.join(', ')} theme={theme} /> - <Item label={I18n.t('Department')} content={department.name} theme={theme} /> - <CustomFields customFields={room.livechatData} theme={theme} /> + <Item label={I18n.t('Agent')} content={room.servedBy?.username} /> + {/* TODO: Will be deprecated */} + {/* @ts-ignore */} + <Item label={I18n.t('Facebook')} content={room.facebook?.page.name} /> + {/* TODO: Will be deprecated */} + {/* @ts-ignore */} + <Item label={I18n.t('SMS')} content={room.sms && 'SMS Enabled'} /> + <Item label={I18n.t('Topic')} content={room.topic} /> + <Item label={I18n.t('Tags')} content={room.tags?.join(', ')} /> + <Item label={I18n.t('Department')} content={department.name} /> + <CustomFields customFields={room.livechatData} /> </> ); }; -Livechat.propTypes = { - room: PropTypes.object, - roomUser: PropTypes.object, - theme: PropTypes.string -}; -export default withTheme(Livechat); +export default Livechat; diff --git a/app/views/RoomInfoView/Timezone.js b/app/views/RoomInfoView/Timezone.js deleted file mode 100644 index e40c4c23b..000000000 --- a/app/views/RoomInfoView/Timezone.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { connect } from 'react-redux'; -import moment from 'moment'; - -import I18n from '../../i18n'; -import Item from './Item'; - -const Timezone = ({ utcOffset, Message_TimeFormat, theme }) => - utcOffset ? ( - <Item - label={I18n.t('Timezone')} - content={`${moment().utcOffset(utcOffset).format(Message_TimeFormat)} (UTC ${utcOffset})`} - theme={theme} - /> - ) : null; -Timezone.propTypes = { - utcOffset: PropTypes.number, - Message_TimeFormat: PropTypes.string, - theme: PropTypes.string -}; - -const mapStateToProps = state => ({ - Message_TimeFormat: state.settings.Message_TimeFormat -}); - -export default connect(mapStateToProps)(Timezone); diff --git a/app/views/RoomInfoView/Timezone.tsx b/app/views/RoomInfoView/Timezone.tsx new file mode 100644 index 000000000..cf2e68f9c --- /dev/null +++ b/app/views/RoomInfoView/Timezone.tsx @@ -0,0 +1,34 @@ +import React from 'react'; +import { connect } from 'react-redux'; +import moment from 'moment'; + +import { IApplicationState } from '../../definitions'; +import I18n from '../../i18n'; +import Item from './Item'; +import { TSettingsValues } from '../../reducers/settings'; + +interface ITimezone { + utcOffset?: number; + Message_TimeFormat?: TSettingsValues; +} + +const Timezone = ({ utcOffset, Message_TimeFormat }: ITimezone) => { + if (!utcOffset) { + return null; + } + + return ( + <Item + label={I18n.t('Timezone')} + content={`${moment() + .utcOffset(utcOffset) + .format(Message_TimeFormat as string)} (UTC ${utcOffset})`} + /> + ); +}; + +const mapStateToProps = (state: IApplicationState) => ({ + Message_TimeFormat: state.settings.Message_TimeFormat +}); + +export default connect(mapStateToProps)(Timezone); diff --git a/app/views/RoomInfoView/index.js b/app/views/RoomInfoView/index.tsx similarity index 70% rename from app/views/RoomInfoView/index.js rename to app/views/RoomInfoView/index.tsx index 6c677e3cb..1266e5741 100644 --- a/app/views/RoomInfoView/index.js +++ b/app/views/RoomInfoView/index.tsx @@ -1,10 +1,12 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { ScrollView, Text, View } from 'react-native'; import { BorderlessButton } from 'react-native-gesture-handler'; import { connect } from 'react-redux'; import UAParser from 'ua-parser-js'; import isEmpty from 'lodash/isEmpty'; +import { StackNavigationProp } from '@react-navigation/stack'; +import { CompositeNavigationProp, RouteProp } from '@react-navigation/native'; +import { Observable, Subscription } from 'rxjs'; import { CustomIcon } from '../../lib/Icons'; import Status from '../../containers/Status'; @@ -28,9 +30,22 @@ import Livechat from './Livechat'; import Channel from './Channel'; import Direct from './Direct'; import styles from './styles'; +import { ChatsStackParamList } from '../../stacks/types'; +import { MasterDetailInsideStackParamList } from '../../stacks/MasterDetailStack/types'; +import { SubscriptionType, TSubscriptionModel, ISubscription, IUser, IApplicationState } from '../../definitions'; +import { ILivechatVisitor } from '../../definitions/ILivechatVisitor'; -const getRoomTitle = (room, type, name, username, statusText, theme) => - type === 'd' ? ( +interface IGetRoomTitle { + room: ISubscription; + type: SubscriptionType; + name?: string; + username: string; + statusText?: string; + theme: string; +} + +const getRoomTitle = ({ room, type, name, username, statusText, theme }: IGetRoomTitle) => + type === SubscriptionType.DIRECT ? ( <> <Text testID='room-info-view-name' style={[styles.roomTitle, { color: themes[theme].titleText }]}> {name} @@ -60,28 +75,57 @@ const getRoomTitle = (room, type, name, username, statusText, theme) => </View> ); -class RoomInfoView extends React.Component { - static propTypes = { - navigation: PropTypes.object, - route: PropTypes.object, - rooms: PropTypes.array, - theme: PropTypes.string, - isMasterDetail: PropTypes.bool, - jitsiEnabled: PropTypes.bool, - editRoomPermission: PropTypes.array, - editOmnichannelContact: PropTypes.array, - editLivechatRoomCustomfields: PropTypes.array, - roles: PropTypes.array - }; +interface IRoomInfoViewProps { + navigation: CompositeNavigationProp< + StackNavigationProp<ChatsStackParamList, 'RoomInfoView'>, + StackNavigationProp<MasterDetailInsideStackParamList> + >; + route: RouteProp<ChatsStackParamList, 'RoomInfoView'>; + rooms: string[]; + theme: string; + isMasterDetail: boolean; + jitsiEnabled: boolean; + editRoomPermission?: string[]; + editOmnichannelContact?: string[]; + editLivechatRoomCustomfields?: string[]; + roles: { [key: string]: string }; +} - constructor(props) { +interface IUserParsed extends IUser { + parsedRoles?: string[]; +} + +export interface ILivechatVisitorModified extends ILivechatVisitor { + os?: string; + browser?: string; +} + +interface IRoomInfoViewState { + room: ISubscription; + // TODO: Could be IUserParsed or ILivechatVisitorModified + roomUser: any; + showEdit: boolean; +} + +class RoomInfoView extends React.Component<IRoomInfoViewProps, IRoomInfoViewState> { + private rid: string; + + private t: SubscriptionType; + + private unsubscribeFocus?: () => void; + + private subscription?: Subscription; + + private roomObservable?: Observable<TSubscriptionModel>; + + constructor(props: IRoomInfoViewProps) { super(props); const room = props.route.params?.room; const roomUser = props.route.params?.member; this.rid = props.route.params?.rid; this.t = props.route.params?.t; this.state = { - room: room || { rid: this.rid, t: this.t }, + room: (room || { rid: this.rid, t: this.t }) as any, roomUser: roomUser || {}, showEdit: false }; @@ -120,14 +164,14 @@ class RoomInfoView extends React.Component { const showCloseModal = route.params?.showCloseModal; navigation.setOptions({ headerLeft: showCloseModal ? () => <HeaderButton.CloseModal navigation={navigation} /> : undefined, - title: t === 'd' ? I18n.t('User_Info') : I18n.t('Room_Info'), + title: t === SubscriptionType.DIRECT ? I18n.t('User_Info') : I18n.t('Room_Info'), headerRight: showEdit ? () => ( <HeaderButton.Container> <HeaderButton.Item iconName='edit' onPress={() => { - const isLivechat = t === 'l'; + const isLivechat = t === SubscriptionType.OMNICHANNEL; logEvent(events[`RI_GO_${isLivechat ? 'LIVECHAT' : 'RI'}_EDIT`]); navigation.navigate(isLivechat ? 'LivechatEditView' : 'RoomInfoEditView', { rid, room, roomUser }); }} @@ -135,21 +179,21 @@ class RoomInfoView extends React.Component { /> </HeaderButton.Container> ) - : null + : undefined }); }; get isDirect() { const { room } = this.state; - return room.t === 'd'; + return room.t === SubscriptionType.DIRECT; } get isLivechat() { const { room } = this.state; - return room.t === 'l'; + return room.t === SubscriptionType.OMNICHANNEL; } - getRoleDescription = id => { + getRoleDescription = (id: string) => { const { roles } = this.props; return roles[id]; }; @@ -157,23 +201,26 @@ class RoomInfoView extends React.Component { loadVisitor = async () => { const { room } = this.state; try { - const result = await RocketChat.getVisitorInfo(room?.visitor?._id); - if (result.success) { - const { visitor } = result; - if (visitor.userAgent) { - const ua = new UAParser(); - ua.setUA(visitor.userAgent); - visitor.os = `${ua.getOS().name} ${ua.getOS().version}`; - visitor.browser = `${ua.getBrowser().name} ${ua.getBrowser().version}`; + if (room.visitor?._id) { + const result = await RocketChat.getVisitorInfo(room.visitor._id); + if (result.success) { + const { visitor } = result; + const params: { os?: string; browser?: string } = {}; + if (visitor.userAgent) { + const ua = new UAParser(); + ua.setUA(visitor.userAgent); + params.os = `${ua.getOS().name} ${ua.getOS().version}`; + params.browser = `${ua.getBrowser().name} ${ua.getBrowser().version}`; + } + this.setState({ roomUser: { ...visitor, ...params } }, () => this.setHeader()); } - this.setState({ roomUser: visitor }, () => this.setHeader()); } } catch (error) { // Do nothing } }; - parseRoles = roleArray => + parseRoles = (roleArray: string[]) => Promise.all( roleArray.map(async role => { const description = await this.getRoleDescription(role); @@ -191,11 +238,12 @@ class RoomInfoView extends React.Component { if (result.success) { const { user } = result; const { roles } = user; + const parsedRoles: { parsedRoles?: string[] } = {}; if (roles && roles.length) { - user.parsedRoles = await this.parseRoles(roles); + parsedRoles.parsedRoles = await this.parseRoles(roles); } - this.setState({ roomUser: user }); + this.setState({ roomUser: { ...user, ...parsedRoles } }); } } catch { // do nothing @@ -218,9 +266,10 @@ class RoomInfoView extends React.Component { loadRoom = async () => { const { room: roomState } = this.state; const { route, editRoomPermission, editOmnichannelContact, editLivechatRoomCustomfields } = this.props; - let room = route.params?.room; - if (room && room.observe) { - this.roomObservable = room.observe(); + let room = route.params?.room as any; + const roomModel = room as TSubscriptionModel; + if (roomModel && roomModel.observe) { + this.roomObservable = roomModel.observe(); this.subscription = this.roomObservable.subscribe(changes => { this.setState({ room: changes }, () => this.setHeader()); }); @@ -245,7 +294,7 @@ class RoomInfoView extends React.Component { }; createDirect = () => - new Promise(async (resolve, reject) => { + new Promise<void>(async (resolve, reject) => { const { route } = this.props; // We don't need to create a direct @@ -309,12 +358,12 @@ class RoomInfoView extends React.Component { RocketChat.callJitsi(room); }; - renderAvatar = (room, roomUser) => { + renderAvatar = (room: ISubscription, roomUser: IUserParsed) => { const { theme } = this.props; return ( <Avatar text={room.name || roomUser.username} style={styles.avatar} type={this.t} size={100} rid={room?.rid}> - {this.t === 'd' && roomUser._id ? ( + {this.t === SubscriptionType.DIRECT && roomUser._id ? ( <View style={[sharedStyles.status, { backgroundColor: themes[theme].auxiliaryBackground }]}> <Status size={20} id={roomUser._id} /> </View> @@ -323,7 +372,7 @@ class RoomInfoView extends React.Component { ); }; - renderButton = (onPress, iconName, text) => { + renderButton = (onPress: () => void, iconName: string, text: string) => { const { theme } = this.props; const onActionPress = async () => { @@ -359,14 +408,15 @@ class RoomInfoView extends React.Component { renderContent = () => { const { room, roomUser } = this.state; - const { theme } = this.props; if (this.isDirect) { - return <Direct roomUser={roomUser} theme={theme} />; - } else if (this.t === 'l') { - return <Livechat room={room} roomUser={roomUser} theme={theme} />; + return <Direct roomUser={roomUser} />; } - return <Channel room={room} theme={theme} />; + + if (this.t === SubscriptionType.OMNICHANNEL) { + return <Livechat room={room} roomUser={roomUser} />; + } + return <Channel room={room} />; }; render() { @@ -379,7 +429,14 @@ class RoomInfoView extends React.Component { <View style={[styles.avatarContainer, { backgroundColor: themes[theme].auxiliaryBackground }]}> {this.renderAvatar(room, roomUser)} <View style={styles.roomTitleContainer}> - {getRoomTitle(room, this.t, roomUser?.name, roomUser?.username, roomUser?.statusText, theme)} + {getRoomTitle({ + room, + type: this.t, + name: roomUser?.name, + username: roomUser?.username, + statusText: roomUser?.statusText, + theme + })} </View> {this.renderButtons()} </View> @@ -390,10 +447,10 @@ class RoomInfoView extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: IApplicationState) => ({ rooms: state.room.rooms, isMasterDetail: state.app.isMasterDetail, - jitsiEnabled: state.settings.Jitsi_Enabled || false, + jitsiEnabled: (state.settings.Jitsi_Enabled as boolean) || false, editRoomPermission: state.permissions['edit-room'], editOmnichannelContact: state.permissions['edit-omnichannel-contact'], editLivechatRoomCustomfields: state.permissions['edit-livechat-room-customfields'], diff --git a/app/views/RoomInfoView/styles.js b/app/views/RoomInfoView/styles.ts similarity index 100% rename from app/views/RoomInfoView/styles.js rename to app/views/RoomInfoView/styles.ts diff --git a/app/views/RoomMembersView/index.js b/app/views/RoomMembersView/index.tsx similarity index 74% rename from app/views/RoomMembersView/index.js rename to app/views/RoomMembersView/index.tsx index 3f936fba6..43395d912 100644 --- a/app/views/RoomMembersView/index.js +++ b/app/views/RoomMembersView/index.tsx @@ -1,75 +1,83 @@ +import { Q } from '@nozbe/watermelondb'; import React from 'react'; -import PropTypes from 'prop-types'; import { FlatList } from 'react-native'; import { connect } from 'react-redux'; -import { Q } from '@nozbe/watermelondb'; +import { Observable, Subscription } from 'rxjs'; -import * as List from '../../containers/List'; -import UserItem from '../../presentation/UserItem'; -import scrollPersistTaps from '../../utils/scrollPersistTaps'; -import RocketChat from '../../lib/rocketchat'; -import database from '../../lib/database'; -import { LISTENER } from '../../containers/Toast'; -import EventEmitter from '../../utils/events'; -import log from '../../utils/log'; -import I18n from '../../i18n'; -import SearchBox from '../../containers/SearchBox'; -import protectedFunction from '../../lib/methods/helpers/protectedFunction'; -import * as HeaderButton from '../../containers/HeaderButton'; -import StatusBar from '../../containers/StatusBar'; -import ActivityIndicator from '../../containers/ActivityIndicator'; -import { withTheme } from '../../theme'; import { themes } from '../../constants/colors'; -import { getUserSelector } from '../../selectors/login'; import { withActionSheet } from '../../containers/ActionSheet'; -import { showConfirmationAlert, showErrorAlert } from '../../utils/info'; +import ActivityIndicator from '../../containers/ActivityIndicator'; +import * as HeaderButton from '../../containers/HeaderButton'; +import * as List from '../../containers/List'; import SafeAreaView from '../../containers/SafeAreaView'; -import { goRoom } from '../../utils/goRoom'; +import SearchBox from '../../containers/SearchBox'; +import StatusBar from '../../containers/StatusBar'; +import { LISTENER } from '../../containers/Toast'; +import { IApplicationState, IBaseScreen, IUser, SubscriptionType, TRoomModel, TUserModel } from '../../definitions'; +import I18n from '../../i18n'; +import database from '../../lib/database'; import { CustomIcon } from '../../lib/Icons'; +import protectedFunction from '../../lib/methods/helpers/protectedFunction'; +import RocketChat from '../../lib/rocketchat'; +import UserItem from '../../presentation/UserItem'; +import { getUserSelector } from '../../selectors/login'; +import { ModalStackParamList } from '../../stacks/MasterDetailStack/types'; +import { withTheme } from '../../theme'; +import EventEmitter from '../../utils/events'; +import { goRoom, TGoRoomItem } from '../../utils/goRoom'; +import { showConfirmationAlert, showErrorAlert } from '../../utils/info'; +import log from '../../utils/log'; +import scrollPersistTaps from '../../utils/scrollPersistTaps'; +import { RoomTypes } from '../../lib/rocketchat/methods/roomTypeToApiType'; import styles from './styles'; const PAGE_SIZE = 25; -const PERMISSION_MUTE_USER = 'mute-user'; -const PERMISSION_SET_LEADER = 'set-leader'; -const PERMISSION_SET_OWNER = 'set-owner'; -const PERMISSION_SET_MODERATOR = 'set-moderator'; -const PERMISSION_REMOVE_USER = 'remove-user'; -const PERMISSION_EDIT_TEAM_MEMBER = 'edit-team-member'; -const PERMISION_VIEW_ALL_TEAMS = 'view-all-teams'; -const PERMISSION_VIEW_ALL_TEAM_CHANNELS = 'view-all-team-channels'; - -class RoomMembersView extends React.Component { - static propTypes = { - navigation: PropTypes.object, - route: PropTypes.object, - rid: PropTypes.string, - members: PropTypes.array, - baseUrl: PropTypes.string, - room: PropTypes.object, - user: PropTypes.shape({ - id: PropTypes.string, - token: PropTypes.string, - roles: PropTypes.array - }), - showActionSheet: PropTypes.func, - theme: PropTypes.string, - isMasterDetail: PropTypes.bool, - useRealName: PropTypes.bool, - muteUserPermission: PropTypes.array, - setLeaderPermission: PropTypes.array, - setOwnerPermission: PropTypes.array, - setModeratorPermission: PropTypes.array, - removeUserPermission: PropTypes.array, - editTeamMemberPermission: PropTypes.array, - viewAllTeamChannelsPermission: PropTypes.array, - viewAllTeamsPermission: PropTypes.array +interface IRoomMembersViewProps extends IBaseScreen<ModalStackParamList, 'RoomMembersView'> { + rid: string; + members: string[]; + baseUrl: string; + room: TRoomModel; + user: { + id: string; + token: string; + roles: string[]; }; + showActionSheet: (params: any) => {}; // TODO: this work? + theme: string; + isMasterDetail: boolean; + useRealName: boolean; + muteUserPermission: string[]; + setLeaderPermission: string[]; + setOwnerPermission: string[]; + setModeratorPermission: string[]; + removeUserPermission: string[]; + editTeamMemberPermission: string[]; + viewAllTeamChannelsPermission: string[]; + viewAllTeamsPermission: string[]; +} - constructor(props) { +interface IRoomMembersViewState { + isLoading: boolean; + allUsers: boolean; + filtering: boolean; + rid: string; + members: TUserModel[]; + membersFiltered: TUserModel[]; + room: TRoomModel; + end: boolean; +} + +class RoomMembersView extends React.Component<IRoomMembersViewProps, IRoomMembersViewState> { + private mounted: boolean; + private permissions: any; // TODO: fix when get props from api + private roomObservable!: Observable<TRoomModel>; + private subscription!: Subscription; + private roomRoles: any; + + constructor(props: IRoomMembersViewProps) { super(props); this.mounted = false; - this.MUTE_INDEX = 0; this.permissions = {}; const rid = props.route.params?.rid; const room = props.route.params?.room; @@ -80,7 +88,7 @@ class RoomMembersView extends React.Component { rid, members: [], membersFiltered: [], - room: room || {}, + room: room || ({} as TRoomModel), end: false }; if (room && room.observe) { @@ -89,7 +97,7 @@ class RoomMembersView extends React.Component { if (this.mounted) { this.setState({ room: changes }); } else { - this.state.room = changes; + this.setState({ room: changes }); } }); } @@ -101,6 +109,7 @@ class RoomMembersView extends React.Component { this.mounted = true; this.fetchMembers(); + // @ts-ignore - TODO: room param is wrong if (RocketChat.isGroupChat(room)) { return; } @@ -129,16 +138,16 @@ class RoomMembersView extends React.Component { ); this.permissions = { - [PERMISSION_MUTE_USER]: result[0], - [PERMISSION_SET_LEADER]: result[1], - [PERMISSION_SET_OWNER]: result[2], - [PERMISSION_SET_MODERATOR]: result[3], - [PERMISSION_REMOVE_USER]: result[4], + 'mute-user': result[0], + 'set-leader': result[1], + 'set-owner': result[2], + 'set-moderator': result[3], + 'remove-user': result[4], ...(room.teamMain ? { - [PERMISSION_EDIT_TEAM_MEMBER]: result[5], - [PERMISSION_VIEW_ALL_TEAM_CHANNELS]: result[6], - [PERMISION_VIEW_ALL_TEAMS]: result[7] + 'edit-team-member': result[5], + 'view-all-team-channels': result[6], + 'view-all-teams': result[7] } : {}) }; @@ -169,20 +178,20 @@ class RoomMembersView extends React.Component { }); }; - onSearchChangeText = protectedFunction(text => { + onSearchChangeText = protectedFunction((text: string) => { const { members } = this.state; - let membersFiltered = []; + let membersFiltered: TUserModel[] = []; text = text.trim(); if (members && members.length > 0 && text) { membersFiltered = members.filter( - m => m.username.toLowerCase().match(text.toLowerCase()) || m.name.toLowerCase().match(text.toLowerCase()) + m => m.username.toLowerCase().match(text.toLowerCase()) || m.name?.toLowerCase().match(text.toLowerCase()) ); } this.setState({ filtering: !!text, membersFiltered }); }); - navToDirectMessage = async item => { + navToDirectMessage = async (item: IUser) => { try { const db = database.active; const subsCollection = db.get('subscriptions'); @@ -193,7 +202,7 @@ class RoomMembersView extends React.Component { } else { const result = await RocketChat.createDirectMessage(item.username); if (result.success) { - this.goRoom({ rid: result.room?._id, name: item.username, t: 'd' }); + this.goRoom({ rid: result.room?._id as string, name: item.username, t: SubscriptionType.DIRECT }); } } } catch (e) { @@ -201,33 +210,35 @@ class RoomMembersView extends React.Component { } }; - handleRemoveFromTeam = async selectedUser => { + handleRemoveFromTeam = async (selectedUser: TUserModel) => { try { const { navigation } = this.props; const { room } = this.state; - const result = await RocketChat.teamListRoomsOfUser({ teamId: room.teamId, userId: selectedUser._id }); + const result = await RocketChat.teamListRoomsOfUser({ teamId: room.teamId as string, userId: selectedUser._id }); - if (result.rooms?.length) { - const teamChannels = result.rooms.map(r => ({ - rid: r._id, - name: r.name, - teamId: r.teamId, - alert: r.isLastOwner - })); - navigation.navigate('SelectListView', { - title: 'Remove_Member', - infoText: 'Remove_User_Team_Channels', - data: teamChannels, - nextAction: selected => this.removeFromTeam(selectedUser, selected), - showAlert: () => showErrorAlert(I18n.t('Last_owner_team_room'), I18n.t('Cannot_remove')) - }); - } else { - showConfirmationAlert({ - message: I18n.t('Removing_user_from_this_team', { user: selectedUser.username }), - confirmationText: I18n.t('Yes_action_it', { action: I18n.t('remove') }), - onPress: () => this.removeFromTeam(selectedUser) - }); + if (result.success) { + if (result.rooms?.length) { + const teamChannels = result.rooms.map((r: any) => ({ + rid: r._id, + name: r.name, + teamId: r.teamId, + alert: r.isLastOwner + })); + navigation.navigate('SelectListView', { + title: 'Remove_Member', + infoText: 'Remove_User_Team_Channels', + data: teamChannels, + nextAction: (selected: any) => this.removeFromTeam(selectedUser, selected), + showAlert: () => showErrorAlert(I18n.t('Last_owner_team_room'), I18n.t('Cannot_remove')) + }); + } else { + showConfirmationAlert({ + message: I18n.t('Removing_user_from_this_team', { user: selectedUser.username }), + confirmationText: I18n.t('Yes_action_it', { action: I18n.t('remove') }), + onPress: () => this.removeFromTeam(selectedUser) + }); + } } } catch (e) { showConfirmationAlert({ @@ -238,7 +249,7 @@ class RoomMembersView extends React.Component { } }; - removeFromTeam = async (selectedUser, selected) => { + removeFromTeam = async (selectedUser: IUser, selected?: any) => { try { const { members, membersFiltered, room } = this.state; const { navigation } = this.props; @@ -258,9 +269,10 @@ class RoomMembersView extends React.Component { members: newMembers, membersFiltered: newMembersFiltered }); + // @ts-ignore - This is just to force a reload navigation.navigate('RoomMembersView'); } - } catch (e) { + } catch (e: any) { log(e); showErrorAlert( e.data.error ? I18n.t(e.data.error) : I18n.t('There_was_an_error_while_action', { action: I18n.t('removing_team') }), @@ -269,11 +281,11 @@ class RoomMembersView extends React.Component { } }; - onPressUser = selectedUser => { + onPressUser = (selectedUser: TUserModel) => { const { room } = this.state; const { showActionSheet, user, theme } = this.props; - const options = [ + const options: {}[] = [ { icon: 'message', title: I18n.t('Direct_message'), @@ -315,7 +327,7 @@ class RoomMembersView extends React.Component { // Owner if (this.permissions['set-owner']) { - const userRoleResult = this.roomRoles.find(r => r.u._id === selectedUser._id); + const userRoleResult = this.roomRoles.find((r: any) => r.u._id === selectedUser._id); const isOwner = userRoleResult?.roles.includes('owner'); options.push({ icon: 'shield-check', @@ -335,7 +347,7 @@ class RoomMembersView extends React.Component { // Leader if (this.permissions['set-leader']) { - const userRoleResult = this.roomRoles.find(r => r.u._id === selectedUser._id); + const userRoleResult = this.roomRoles.find((r: any) => r.u._id === selectedUser._id); const isLeader = userRoleResult?.roles.includes('leader'); options.push({ icon: 'shield-alt', @@ -355,7 +367,7 @@ class RoomMembersView extends React.Component { // Moderator if (this.permissions['set-moderator']) { - const userRoleResult = this.roomRoles.find(r => r.u._id === selectedUser._id); + const userRoleResult = this.roomRoles.find((r: any) => r.u._id === selectedUser._id); const isModerator = userRoleResult?.roles.includes('moderator'); options.push({ icon: 'shield', @@ -421,7 +433,8 @@ class RoomMembersView extends React.Component { fetchRoomMembersRoles = async () => { try { const { room } = this.state; - const result = await RocketChat.getRoomRoles(room.rid, room.t); + const type = room.t as SubscriptionType.CHANNEL | SubscriptionType.GROUP | SubscriptionType.OMNICHANNEL; + const result = await RocketChat.getRoomRoles(room.rid, type); if (result?.success) { this.roomRoles = result.roles; } @@ -460,9 +473,10 @@ class RoomMembersView extends React.Component { } }; - goRoom = item => { + goRoom = (item: TGoRoomItem) => { const { navigation, isMasterDetail } = this.props; if (isMasterDetail) { + // @ts-ignore navigation.navigate('DrawerNavigator'); } else { navigation.popToTop(); @@ -470,12 +484,12 @@ class RoomMembersView extends React.Component { goRoom({ item, isMasterDetail }); }; - getUserDisplayName = user => { + getUserDisplayName = (user: TUserModel) => { const { useRealName } = this.props; return (useRealName ? user.name : user.username) || user.username; }; - handleMute = async user => { + handleMute = async (user: TUserModel) => { const { rid } = this.state; try { await RocketChat.toggleMuteUserInRoom(rid, user?.username, !user?.muted); @@ -487,7 +501,7 @@ class RoomMembersView extends React.Component { } }; - handleOwner = async (selectedUser, isOwner) => { + handleOwner = async (selectedUser: TUserModel, isOwner: boolean) => { try { const { room } = this.state; await RocketChat.toggleRoomOwner({ @@ -511,7 +525,7 @@ class RoomMembersView extends React.Component { this.fetchRoomMembersRoles(); }; - handleLeader = async (selectedUser, isLeader) => { + handleLeader = async (selectedUser: TUserModel, isLeader: boolean) => { try { const { room } = this.state; await RocketChat.toggleRoomLeader({ @@ -535,7 +549,7 @@ class RoomMembersView extends React.Component { this.fetchRoomMembersRoles(); }; - handleModerator = async (selectedUser, isModerator) => { + handleModerator = async (selectedUser: TUserModel, isModerator: boolean) => { try { const { room } = this.state; await RocketChat.toggleRoomModerator({ @@ -559,7 +573,7 @@ class RoomMembersView extends React.Component { this.fetchRoomMembersRoles(); }; - handleIgnore = async (selectedUser, ignore) => { + handleIgnore = async (selectedUser: TUserModel, ignore: boolean) => { try { const { room } = this.state; await RocketChat.ignoreUser({ @@ -574,11 +588,12 @@ class RoomMembersView extends React.Component { } }; - handleRemoveUserFromRoom = async selectedUser => { + handleRemoveUserFromRoom = async (selectedUser: TUserModel) => { try { const { room, members, membersFiltered } = this.state; const userId = selectedUser._id; - await RocketChat.removeUserFromRoom({ roomId: room.rid, t: room.t, userId }); + // TODO: interface SubscriptionType on IRoom is wrong + await RocketChat.removeUserFromRoom({ roomId: room.rid, t: room.t as RoomTypes, userId }); const message = I18n.t('User_has_been_removed_from_s', { s: RocketChat.getRoomTitle(room) }); EventEmitter.emit(LISTENER, { message }); this.setState({ @@ -592,17 +607,15 @@ class RoomMembersView extends React.Component { renderSearchBar = () => <SearchBox onChangeText={text => this.onSearchChangeText(text)} testID='room-members-view-search' />; - renderItem = ({ item }) => { - const { baseUrl, user, theme } = this.props; + renderItem = ({ item }: { item: TUserModel }) => { + const { theme } = this.props; return ( <UserItem - name={item.name} + name={item.name as string} username={item.username} onPress={() => this.onPressUser(item)} - baseUrl={baseUrl} testID={`room-members-view-item-${item.username}`} - user={user} theme={theme} /> ); @@ -623,7 +636,7 @@ class RoomMembersView extends React.Component { ListHeaderComponent={this.renderSearchBar} ListFooterComponent={() => { if (isLoading) { - return <ActivityIndicator theme={theme} />; + return <ActivityIndicator />; } return null; }} @@ -638,19 +651,19 @@ class RoomMembersView extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: IApplicationState) => ({ baseUrl: state.server.server, user: getUserSelector(state), isMasterDetail: state.app.isMasterDetail, useRealName: state.settings.UI_Use_Real_Name, - muteUserPermission: state.permissions[PERMISSION_MUTE_USER], - setLeaderPermission: state.permissions[PERMISSION_SET_LEADER], - setOwnerPermission: state.permissions[PERMISSION_SET_OWNER], - setModeratorPermission: state.permissions[PERMISSION_SET_MODERATOR], - removeUserPermission: state.permissions[PERMISSION_REMOVE_USER], - editTeamMemberPermission: state.permissions[PERMISSION_EDIT_TEAM_MEMBER], - viewAllTeamChannelsPermission: state.permissions[PERMISSION_VIEW_ALL_TEAM_CHANNELS], - viewAllTeamsPermission: state.permissions[PERMISION_VIEW_ALL_TEAMS] + muteUserPermission: state.permissions['mute-user'], + setLeaderPermission: state.permissions['set-leader'], + setOwnerPermission: state.permissions['set-owner'], + setModeratorPermission: state.permissions['set-moderator'], + removeUserPermission: state.permissions['remove-user'], + editTeamMemberPermission: state.permissions['edit-team-member'], + viewAllTeamChannelsPermission: state.permissions['view-all-team-channels'], + viewAllTeamsPermission: state.permissions['view-all-teams'] }); -export default connect(mapStateToProps)(withActionSheet(withTheme(RoomMembersView))); +export default connect(mapStateToProps)(withTheme(withActionSheet(RoomMembersView))); diff --git a/app/views/RoomMembersView/styles.js b/app/views/RoomMembersView/styles.ts similarity index 100% rename from app/views/RoomMembersView/styles.js rename to app/views/RoomMembersView/styles.ts diff --git a/app/views/RoomView/Banner.js b/app/views/RoomView/Banner.tsx similarity index 79% rename from app/views/RoomView/Banner.js rename to app/views/RoomView/Banner.tsx index 568e5f26f..e88cfe7e2 100644 --- a/app/views/RoomView/Banner.js +++ b/app/views/RoomView/Banner.tsx @@ -1,6 +1,5 @@ import React, { useState } from 'react'; import { Text, View } from 'react-native'; -import PropTypes from 'prop-types'; import { BorderlessButton, ScrollView } from 'react-native-gesture-handler'; import Modal from 'react-native-modal'; @@ -8,10 +7,19 @@ import Markdown, { MarkdownPreview } from '../../containers/markdown'; import { CustomIcon } from '../../lib/Icons'; import { themes } from '../../constants/colors'; import styles from './styles'; +import { useTheme } from '../../theme'; + +interface IBannerProps { + text?: string; + title?: string; + bannerClosed?: boolean; + closeBanner: () => void; +} const Banner = React.memo( - ({ text, title, theme, bannerClosed, closeBanner }) => { + ({ text, title, bannerClosed, closeBanner }: IBannerProps) => { const [showModal, openModal] = useState(false); + const { theme } = useTheme(); const toggleModal = () => openModal(prevState => !prevState); @@ -47,16 +55,7 @@ const Banner = React.memo( return null; }, - (prevProps, nextProps) => - prevProps.text === nextProps.text && prevProps.theme === nextProps.theme && prevProps.bannerClosed === nextProps.bannerClosed + (prevProps, nextProps) => prevProps.text === nextProps.text && prevProps.bannerClosed === nextProps.bannerClosed ); -Banner.propTypes = { - text: PropTypes.string, - title: PropTypes.string, - theme: PropTypes.string, - bannerClosed: PropTypes.bool, - closeBanner: PropTypes.func -}; - export default Banner; diff --git a/app/views/RoomView/EmptyRoom.js b/app/views/RoomView/EmptyRoom.tsx similarity index 61% rename from app/views/RoomView/EmptyRoom.js rename to app/views/RoomView/EmptyRoom.tsx index 1a9a248f2..99ac35e45 100644 --- a/app/views/RoomView/EmptyRoom.js +++ b/app/views/RoomView/EmptyRoom.tsx @@ -1,6 +1,7 @@ import React from 'react'; import { ImageBackground, StyleSheet } from 'react-native'; -import PropTypes from 'prop-types'; + +import { useTheme } from '../../theme'; const styles = StyleSheet.create({ image: { @@ -10,17 +11,12 @@ const styles = StyleSheet.create({ } }); -const EmptyRoom = React.memo(({ length, mounted, theme, rid }) => { +const EmptyRoom = React.memo(({ length, mounted, rid }: { length: number; mounted: boolean; rid: string }) => { + const { theme } = useTheme(); if ((length === 0 && mounted) || !rid) { return <ImageBackground source={{ uri: `message_empty_${theme}` }} style={styles.image} />; } return null; }); -EmptyRoom.propTypes = { - length: PropTypes.number.isRequired, - mounted: PropTypes.bool, - theme: PropTypes.string, - rid: PropTypes.string -}; export default EmptyRoom; diff --git a/app/views/RoomView/JoinCode.js b/app/views/RoomView/JoinCode.tsx similarity index 78% rename from app/views/RoomView/JoinCode.js rename to app/views/RoomView/JoinCode.tsx index ceccc1ae7..741de6218 100644 --- a/app/views/RoomView/JoinCode.js +++ b/app/views/RoomView/JoinCode.tsx @@ -1,5 +1,4 @@ import React, { forwardRef, useImperativeHandle, useState } from 'react'; -import PropTypes from 'prop-types'; import { InteractionManager, StyleSheet, Text, View } from 'react-native'; import Modal from 'react-native-modal'; import { connect } from 'react-redux'; @@ -10,6 +9,7 @@ import TextInput from '../../containers/TextInput'; import RocketChat from '../../lib/rocketchat'; import sharedStyles from '../Styles'; import { themes } from '../../constants/colors'; +import { IApplicationState } from '../../definitions'; const styles = StyleSheet.create({ container: { @@ -41,8 +41,16 @@ const styles = StyleSheet.create({ } }); +export interface IJoinCodeProps { + rid: string; + t: string; + onJoin: Function; + isMasterDetail: boolean; + theme: string; +} + const JoinCode = React.memo( - forwardRef(({ rid, t, onJoin, isMasterDetail, theme }, ref) => { + forwardRef(({ rid, t, onJoin, isMasterDetail, theme }: IJoinCodeProps, ref) => { const [visible, setVisible] = useState(false); const [error, setError] = useState(false); const [code, setCode] = useState(''); @@ -53,7 +61,7 @@ const JoinCode = React.memo( const joinRoom = async () => { try { - await RocketChat.joinRoom(rid, code, t); + await RocketChat.joinRoom(rid, code, t as any); onJoin(); hide(); } catch (e) { @@ -64,7 +72,7 @@ const JoinCode = React.memo( useImperativeHandle(ref, () => ({ show })); return ( - <Modal transparent avoidKeyboard useNativeDriver isVisible={visible} hideModalContentWhileAnimating> + <Modal avoidKeyboard useNativeDriver isVisible={visible} hideModalContentWhileAnimating> <View style={styles.container} testID='join-code'> <View style={[ @@ -76,14 +84,15 @@ const JoinCode = React.memo( <TextInput value={code} theme={theme} - inputRef={e => InteractionManager.runAfterInteractions(() => e?.getNativeRef()?.focus())} + // TODO: find a way to type this ref + inputRef={(e: any) => InteractionManager.runAfterInteractions(() => e?.getNativeRef()?.focus())} returnKeyType='send' autoCapitalize='none' onChangeText={setCode} onSubmitEditing={joinRoom} placeholder={I18n.t('Join_Code')} secureTextEntry - error={error && { error: 'error-code-invalid', reason: I18n.t('Code_or_password_invalid') }} + error={error ? { error: 'error-code-invalid', reason: I18n.t('Code_or_password_invalid') } : undefined} testID='join-code-input' /> <View style={styles.buttonContainer}> @@ -111,15 +120,8 @@ const JoinCode = React.memo( ); }) ); -JoinCode.propTypes = { - rid: PropTypes.string, - t: PropTypes.string, - onJoin: PropTypes.func, - isMasterDetail: PropTypes.bool, - theme: PropTypes.string -}; -const mapStateToProps = state => ({ +const mapStateToProps = (state: IApplicationState) => ({ isMasterDetail: state.app.isMasterDetail }); export default connect(mapStateToProps, null, null, { forwardRef: true })(JoinCode); diff --git a/app/views/RoomView/LeftButtons.js b/app/views/RoomView/LeftButtons.js deleted file mode 100644 index aa41b2f36..000000000 --- a/app/views/RoomView/LeftButtons.js +++ /dev/null @@ -1,56 +0,0 @@ -import React, { useCallback } from 'react'; -import PropTypes from 'prop-types'; -import { StyleSheet } from 'react-native'; -import { HeaderBackButton } from '@react-navigation/stack'; - -import { themes } from '../../constants/colors'; -import Avatar from '../../containers/Avatar'; - -const styles = StyleSheet.create({ - avatar: { - borderRadius: 10, - marginHorizontal: 16 - } -}); - -const LeftButtons = React.memo( - ({ tmid, unreadsCount, navigation, baseUrl, userId, token, title, t, theme, goRoomActionsView, isMasterDetail }) => { - if (!isMasterDetail || tmid) { - const onPress = useCallback(() => navigation.goBack()); - const label = unreadsCount > 99 ? '+99' : unreadsCount || ' '; - const labelLength = label.length ? label.length : 1; - const marginLeft = -2 * labelLength; - const fontSize = labelLength > 1 ? 14 : 17; - return ( - <HeaderBackButton - label={label} - onPress={onPress} - tintColor={themes[theme].headerTintColor} - labelStyle={{ fontSize, marginLeft }} - /> - ); - } - const onPress = useCallback(() => goRoomActionsView(), []); - - if (baseUrl && userId && token) { - return <Avatar text={title} size={30} type={t} style={styles.avatar} onPress={onPress} />; - } - return null; - } -); - -LeftButtons.propTypes = { - tmid: PropTypes.string, - unreadsCount: PropTypes.number, - navigation: PropTypes.object, - baseUrl: PropTypes.string, - userId: PropTypes.string, - token: PropTypes.string, - title: PropTypes.string, - t: PropTypes.string, - theme: PropTypes.string, - goRoomActionsView: PropTypes.func, - isMasterDetail: PropTypes.bool -}; - -export default LeftButtons; diff --git a/app/views/RoomView/LeftButtons.tsx b/app/views/RoomView/LeftButtons.tsx new file mode 100644 index 000000000..b57409c10 --- /dev/null +++ b/app/views/RoomView/LeftButtons.tsx @@ -0,0 +1,72 @@ +import React, { useCallback } from 'react'; +import { StyleSheet } from 'react-native'; +import { HeaderBackButton, StackNavigationProp } from '@react-navigation/stack'; + +import { themes } from '../../constants/colors'; +import Avatar from '../../containers/Avatar'; +import { ChatsStackParamList } from '../../stacks/types'; + +const styles = StyleSheet.create({ + avatar: { + borderRadius: 10, + marginHorizontal: 16 + } +}); + +interface ILeftButtonsProps { + tmid?: string; + unreadsCount: number | null; + navigation: StackNavigationProp<ChatsStackParamList, 'RoomView'>; + baseUrl: string; + userId?: string; + token?: string; + title?: string; + t: string; + theme: string; + goRoomActionsView: Function; + isMasterDetail: boolean; +} + +const LeftButtons = ({ + tmid, + unreadsCount, + navigation, + baseUrl, + userId, + token, + title, + t, + theme, + goRoomActionsView, + isMasterDetail +}: ILeftButtonsProps): React.ReactElement | null => { + if (!isMasterDetail || tmid) { + const onPress = () => navigation.goBack(); + let label = ' '; + let labelLength = 1; + let marginLeft = 0; + let fontSize = 0; + if (unreadsCount) { + label = unreadsCount > 99 ? '+99' : unreadsCount.toString() || ' '; + labelLength = label.length ? label.length : 1; + marginLeft = -2 * labelLength; + fontSize = labelLength > 1 ? 14 : 17; + } + return ( + <HeaderBackButton + label={label} + onPress={onPress} + tintColor={themes[theme].headerTintColor} + labelStyle={{ fontSize, marginLeft }} + /> + ); + } + const onPress = useCallback(() => goRoomActionsView(), []); + + if (baseUrl && userId && token) { + return <Avatar text={title} size={30} type={t} style={styles.avatar} onPress={onPress} />; + } + return null; +}; + +export default LeftButtons; diff --git a/app/views/RoomView/List/List.js b/app/views/RoomView/List/List.tsx similarity index 77% rename from app/views/RoomView/List/List.js rename to app/views/RoomView/List/List.tsx index 407dcbf10..f28f2836f 100644 --- a/app/views/RoomView/List/List.js +++ b/app/views/RoomView/List/List.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { FlatList, StyleSheet } from 'react-native'; +import { FlatList, FlatListProps, StyleSheet } from 'react-native'; import Animated from 'react-native-reanimated'; import PropTypes from 'prop-types'; @@ -17,11 +17,15 @@ const styles = StyleSheet.create({ } }); -const List = ({ listRef, ...props }) => ( +export interface IListProps extends FlatListProps<any> { + listRef: any; +} + +const List = ({ listRef, ...props }: IListProps) => ( <AnimatedFlatList testID='room-view-messages' ref={listRef} - keyExtractor={item => item.id} + keyExtractor={(item: any) => item.id} contentContainerStyle={styles.contentContainer} style={styles.list} inverted diff --git a/app/views/RoomView/List/NavBottomFAB.js b/app/views/RoomView/List/NavBottomFAB.tsx similarity index 82% rename from app/views/RoomView/List/NavBottomFAB.js rename to app/views/RoomView/List/NavBottomFAB.tsx index e3456c122..0fb3c7f19 100644 --- a/app/views/RoomView/List/NavBottomFAB.js +++ b/app/views/RoomView/List/NavBottomFAB.tsx @@ -1,6 +1,5 @@ -import React, { useCallback, useState } from 'react'; +import React, { useState } from 'react'; import { StyleSheet, View } from 'react-native'; -import PropTypes from 'prop-types'; import Animated, { call, cond, greaterOrEq, useCode } from 'react-native-reanimated'; import { themes } from '../../../constants/colors'; @@ -30,11 +29,19 @@ const styles = StyleSheet.create({ } }); -const NavBottomFAB = ({ y, onPress, isThread }) => { +const NavBottomFAB = ({ + y, + onPress, + isThread +}: { + y: Animated.Value<number>; + onPress: Function; + isThread: boolean; +}): React.ReactElement | null => { const { theme } = useTheme(); const [show, setShow] = useState(false); - const handleOnPress = useCallback(() => onPress()); - const toggle = v => setShow(v); + const handleOnPress = () => onPress(); + const toggle = (v: boolean) => setShow(v); useCode( () => @@ -65,10 +72,4 @@ const NavBottomFAB = ({ y, onPress, isThread }) => { ); }; -NavBottomFAB.propTypes = { - y: Animated.Value, - onPress: PropTypes.func, - isThread: PropTypes.bool -}; - export default NavBottomFAB; diff --git a/app/views/RoomView/List/index.js b/app/views/RoomView/List/index.tsx similarity index 76% rename from app/views/RoomView/List/index.js rename to app/views/RoomView/List/index.tsx index f7dc0372a..eb3e7c4e6 100644 --- a/app/views/RoomView/List/index.js +++ b/app/views/RoomView/List/index.tsx @@ -1,26 +1,27 @@ -import React from 'react'; -import { RefreshControl } from 'react-native'; -import PropTypes from 'prop-types'; import { Q } from '@nozbe/watermelondb'; -import moment from 'moment'; import { dequal } from 'dequal'; -import { Value, event } from 'react-native-reanimated'; +import moment from 'moment'; +import React from 'react'; +import { FlatListProps, RefreshControl, ViewToken } from 'react-native'; +import { event, Value } from 'react-native-reanimated'; +import { Observable, Subscription } from 'rxjs'; +import { themes } from '../../../constants/colors'; +import ActivityIndicator from '../../../containers/ActivityIndicator'; +import { TAnyMessageModel, TMessageModel, TThreadMessageModel, TThreadModel } from '../../../definitions'; import database from '../../../lib/database'; import RocketChat from '../../../lib/rocketchat'; +import { compareServerVersion } from '../../../lib/utils'; +import debounce from '../../../utils/debounce'; +import { animateNextTransition } from '../../../utils/layoutAnimation'; import log from '../../../utils/log'; import EmptyRoom from '../EmptyRoom'; -import { animateNextTransition } from '../../../utils/layoutAnimation'; -import ActivityIndicator from '../../../containers/ActivityIndicator'; -import { themes } from '../../../constants/colors'; -import debounce from '../../../utils/debounce'; -import { compareServerVersion } from '../../../lib/utils'; -import List from './List'; +import List, { IListProps } from './List'; import NavBottomFAB from './NavBottomFAB'; const QUERY_SIZE = 50; -const onScroll = ({ y }) => +const onScroll = ({ y }: { y: Value<number> }) => event( [ { @@ -32,44 +33,59 @@ const onScroll = ({ y }) => { useNativeDriver: true } ); -class ListContainer extends React.Component { - static propTypes = { - renderRow: PropTypes.func, - rid: PropTypes.string, - tmid: PropTypes.string, - theme: PropTypes.string, - loading: PropTypes.bool, - listRef: PropTypes.func, - hideSystemMessages: PropTypes.array, - tunread: PropTypes.array, - ignored: PropTypes.array, - navigation: PropTypes.object, - showMessageInMainThread: PropTypes.bool, - serverVersion: PropTypes.string - }; +export { IListProps }; - constructor(props) { +export interface IListContainerProps { + renderRow: Function; + rid: string; + tmid?: string; + theme: string; + loading: boolean; + listRef: React.RefObject<IListProps>; + hideSystemMessages?: string[]; + tunread?: string[]; + ignored?: string[]; + navigation: any; // TODO: type me + showMessageInMainThread: boolean; + serverVersion: string | null; +} + +interface IListContainerState { + messages: TAnyMessageModel[]; + refreshing: boolean; + highlightedMessage: string | null; +} + +class ListContainer extends React.Component<IListContainerProps, IListContainerState> { + private count = 0; + private mounted = false; + private animated = false; + private jumping = false; + private y = new Value(0); + private onScroll = onScroll({ y: this.y }); + private unsubscribeFocus: () => void; + private viewabilityConfig = { + itemVisiblePercentThreshold: 10 + }; + private highlightedMessageTimeout: number | undefined | false; + private thread?: TThreadModel; + private messagesObservable?: Observable<TMessageModel[] | TThreadMessageModel[]>; + private messagesSubscription?: Subscription; + private viewableItems?: ViewToken[]; + + constructor(props: IListContainerProps) { super(props); console.time(`${this.constructor.name} init`); console.time(`${this.constructor.name} mount`); - this.count = 0; - this.mounted = false; - this.animated = false; - this.jumping = false; this.state = { messages: [], refreshing: false, highlightedMessage: null }; - this.y = new Value(0); - this.onScroll = onScroll({ y: this.y }); this.query(); this.unsubscribeFocus = props.navigation.addListener('focus', () => { this.animated = true; }); - this.viewabilityConfig = { - itemVisiblePercentThreshold: 10 - }; console.timeEnd(`${this.constructor.name} init`); } @@ -78,7 +94,7 @@ class ListContainer extends React.Component { console.timeEnd(`${this.constructor.name} mount`); } - shouldComponentUpdate(nextProps, nextState) { + shouldComponentUpdate(nextProps: IListContainerProps, nextState: IListContainerState) { const { refreshing, highlightedMessage } = this.state; const { hideSystemMessages, theme, tunread, ignored, loading } = this.props; if (theme !== nextProps.theme) { @@ -105,7 +121,7 @@ class ListContainer extends React.Component { return false; } - componentDidUpdate(prevProps) { + componentDidUpdate(prevProps: IListContainerProps) { const { hideSystemMessages } = this.props; if (!dequal(hideSystemMessages, prevProps.hideSystemMessages)) { this.reload(); @@ -114,9 +130,6 @@ class ListContainer extends React.Component { componentWillUnmount() { this.unsubscribeMessages(); - if (this.onEndReached && this.onEndReached.stop) { - this.onEndReached.stop(); - } if (this.unsubscribeFocus) { this.unsubscribeFocus(); } @@ -158,7 +171,7 @@ class ListContainer extends React.Component { Q.experimentalSortBy('ts', Q.desc), Q.experimentalSkip(0), Q.experimentalTake(this.count) - ]; + ] as (Q.WhereDescription | Q.Or)[]; if (!showMessageInMainThread) { whereClause.push(Q.or(Q.where('tmid', null), Q.where('tshow', Q.eq(true)))); } @@ -170,7 +183,7 @@ class ListContainer extends React.Component { if (rid) { this.unsubscribeMessages(); - this.messagesSubscription = this.messagesObservable.subscribe(messages => { + this.messagesSubscription = this.messagesObservable?.subscribe(messages => { if (tmid && this.thread) { messages = [...messages, this.thread]; } @@ -186,6 +199,7 @@ class ListContainer extends React.Component { if (this.mounted) { this.setState({ messages }, () => this.update()); } else { + // @ts-ignore this.state.messages = messages; } // TODO: move it away from here @@ -246,7 +260,7 @@ class ListContainer extends React.Component { } }; - getLastMessage = () => { + getLastMessage = (): TMessageModel | TThreadMessageModel | null => { const { messages } = this.state; if (messages.length > 0) { return messages[0]; @@ -254,21 +268,23 @@ class ListContainer extends React.Component { return null; }; - handleScrollToIndexFailed = params => { + handleScrollToIndexFailed: FlatListProps<any>['onScrollToIndexFailed'] = params => { const { listRef } = this.props; + // @ts-ignore listRef.current.getNode().scrollToIndex({ index: params.highestMeasuredFrameIndex, animated: false }); }; - jumpToMessage = messageId => - new Promise(async resolve => { + jumpToMessage = (messageId: string) => + new Promise<void>(async resolve => { this.jumping = true; const { messages } = this.state; const { listRef } = this.props; const index = messages.findIndex(item => item.id === messageId); if (index > -1) { + // @ts-ignore listRef.current.getNode().scrollToIndex({ index, viewPosition: 0.5, viewOffset: 100 }); await new Promise(res => setTimeout(res, 300)); - if (!this.viewableItems.map(vi => vi.key).includes(messageId)) { + if (!this.viewableItems?.map(vi => vi.key).includes(messageId)) { if (!this.jumping) { return resolve(); } @@ -282,6 +298,7 @@ class ListContainer extends React.Component { }, 10000); await setTimeout(() => resolve(), 300); } else { + // @ts-ignore listRef.current.getNode().scrollToIndex({ index: messages.length - 1, animated: false }); if (!this.jumping) { return resolve(); @@ -297,24 +314,25 @@ class ListContainer extends React.Component { jumpToBottom = () => { const { listRef } = this.props; + // @ts-ignore listRef.current.getNode().scrollToOffset({ offset: -100 }); }; renderFooter = () => { - const { rid, theme, loading } = this.props; + const { rid, loading } = this.props; if (loading && rid) { - return <ActivityIndicator theme={theme} />; + return <ActivityIndicator />; } return null; }; - renderItem = ({ item, index }) => { + renderItem: FlatListProps<any>['renderItem'] = ({ item, index }) => { const { messages, highlightedMessage } = this.state; const { renderRow } = this.props; return renderRow(item, messages[index + 1], highlightedMessage); }; - onViewableItemsChanged = ({ viewableItems }) => { + onViewableItemsChanged: FlatListProps<any>['onViewableItemsChanged'] = ({ viewableItems }) => { this.viewableItems = viewableItems; }; @@ -325,7 +343,7 @@ class ListContainer extends React.Component { const { theme } = this.props; return ( <> - <EmptyRoom rid={rid} length={messages.length} mounted={this.mounted} theme={theme} /> + <EmptyRoom rid={rid} length={messages.length} mounted={this.mounted} /> <List onScroll={this.onScroll} scrollEventThrottle={16} diff --git a/app/views/RoomView/LoadMore/LoadMore.stories.js b/app/views/RoomView/LoadMore/LoadMore.stories.js index eb719646b..7f8137d1c 100644 --- a/app/views/RoomView/LoadMore/LoadMore.stories.js +++ b/app/views/RoomView/LoadMore/LoadMore.stories.js @@ -7,11 +7,7 @@ import { longText } from '../../../../storybook/utils'; import { ThemeContext } from '../../../theme'; import { Message, MessageDecorator, StoryProvider } from '../../../../storybook/stories/Message'; import { themes } from '../../../constants/colors'; -import { - MESSAGE_TYPE_LOAD_MORE, - MESSAGE_TYPE_LOAD_NEXT_CHUNK, - MESSAGE_TYPE_LOAD_PREVIOUS_CHUNK -} from '../../../constants/messageTypeLoad'; +import { MessageTypeLoad } from '../../../constants/messageTypeLoad'; import LoadMore from './index'; const stories = storiesOf('LoadMore', module); @@ -23,20 +19,20 @@ stories.add('basic', () => ( <> <LoadMore load={load} /> <LoadMore load={load} runOnRender /> - <LoadMore load={load} type={MESSAGE_TYPE_LOAD_PREVIOUS_CHUNK} /> - <LoadMore load={load} type={MESSAGE_TYPE_LOAD_NEXT_CHUNK} /> + <LoadMore load={load} type={MessageTypeLoad.PREVIOUS_CHUNK} /> + <LoadMore load={load} type={MessageTypeLoad.NEXT_CHUNK} /> </> )); const ThemeStory = ({ theme }) => ( <ThemeContext.Provider value={{ theme }}> <ScrollView style={{ backgroundColor: themes[theme].backgroundColor }}> - <LoadMore load={load} type={MESSAGE_TYPE_LOAD_PREVIOUS_CHUNK} /> + <LoadMore load={load} type={MessageTypeLoad.PREVIOUS_CHUNK} /> <Message msg='Hey!' theme={theme} /> <Message msg={longText} theme={theme} isHeader={false} /> <Message msg='Older message' theme={theme} isHeader={false} /> - <LoadMore load={load} type={MESSAGE_TYPE_LOAD_NEXT_CHUNK} /> - <LoadMore load={load} type={MESSAGE_TYPE_LOAD_MORE} /> + <LoadMore load={load} type={MessageTypeLoad.NEXT_CHUNK} /> + <LoadMore load={load} type={MessageTypeLoad.MORE} /> <Message msg={longText} theme={theme} /> <Message msg='This is the third message' isHeader={false} theme={theme} /> <Message msg='This is the second message' isHeader={false} theme={theme} /> diff --git a/app/views/RoomView/LoadMore/__snapshots__/LoadMore.stories.storyshot b/app/views/RoomView/LoadMore/__snapshots__/LoadMore.stories.storyshot index fcb2e2854..3553e44a0 100644 --- a/app/views/RoomView/LoadMore/__snapshots__/LoadMore.stories.storyshot +++ b/app/views/RoomView/LoadMore/__snapshots__/LoadMore.stories.storyshot @@ -2,8 +2,8 @@ exports[`Storyshots LoadMore basic 1`] = `"[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Load More\\"]},{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"animating\\":true,\\"color\\":\\"#9ca2a8\\",\\"hidesWhenStopped\\":true,\\"size\\":\\"small\\"},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Load Older\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Load Newer\\"]}]"`; -exports[`Storyshots LoadMore black theme 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#000000\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load Older\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#b2b8c6\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Hey!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Hey!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Older message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Older message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load Newer\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load More\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#b2b8c6\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the third message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the third message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#b2b8c6\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the first message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the first message\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots LoadMore black theme 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#000000\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load Older\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Hey!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Hey!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Older message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Older message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load Newer\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load More\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the third message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the third message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the first message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the first message\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots LoadMore dark theme 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#030b1b\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load Older\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9297a2\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Hey!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Hey!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Older message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Older message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load Newer\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load More\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9297a2\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the third message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the third message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9297a2\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the first message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the first message\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots LoadMore dark theme 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#030b1b\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load Older\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Hey!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Hey!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Older message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Older message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load Newer\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Load More\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the third message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the third message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f9f9f9\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#cbced1\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the first message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the first message\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots LoadMore light theme 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Load Older\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Hey!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Hey!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Older message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Older message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Load Newer\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Load More\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the third message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the third message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the first message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the first message\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots LoadMore light theme 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Load Older\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Hey!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Hey!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Older message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Older message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Load Newer\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Load More\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the third message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the third message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the first message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the first message\\"]}]}]}]}]}]}]}]}]}]}"`; diff --git a/app/views/RoomView/LoadMore/index.js b/app/views/RoomView/LoadMore/index.tsx similarity index 75% rename from app/views/RoomView/LoadMore/index.js rename to app/views/RoomView/LoadMore/index.tsx index 3c87461d5..7dcd85ea6 100644 --- a/app/views/RoomView/LoadMore/index.js +++ b/app/views/RoomView/LoadMore/index.tsx @@ -1,9 +1,9 @@ import React, { useCallback, useEffect, useState } from 'react'; import { ActivityIndicator, StyleSheet, Text } from 'react-native'; -import PropTypes from 'prop-types'; import { themes } from '../../../constants/colors'; -import { MESSAGE_TYPE_LOAD_NEXT_CHUNK, MESSAGE_TYPE_LOAD_PREVIOUS_CHUNK } from '../../../constants/messageTypeLoad'; +import { MessageTypeLoad } from '../../../constants/messageTypeLoad'; +import { MessageType } from '../../../definitions'; import { useTheme } from '../../../theme'; import Touch from '../../../utils/touch'; import sharedStyles from '../../Styles'; @@ -21,7 +21,15 @@ const styles = StyleSheet.create({ } }); -const LoadMore = ({ load, type, runOnRender }) => { +const LoadMore = ({ + load, + type, + runOnRender +}: { + load: Function; + type: MessageType; + runOnRender: boolean; +}): React.ReactElement => { const { theme } = useTheme(); const [loading, setLoading] = useState(false); @@ -44,10 +52,10 @@ const LoadMore = ({ load, type, runOnRender }) => { }, []); let text = 'Load_More'; - if (type === MESSAGE_TYPE_LOAD_NEXT_CHUNK) { + if (type === MessageTypeLoad.NEXT_CHUNK) { text = 'Load_Newer'; } - if (type === MESSAGE_TYPE_LOAD_PREVIOUS_CHUNK) { + if (type === MessageTypeLoad.PREVIOUS_CHUNK) { text = 'Load_Older'; } @@ -62,10 +70,4 @@ const LoadMore = ({ load, type, runOnRender }) => { ); }; -LoadMore.propTypes = { - load: PropTypes.func, - type: PropTypes.string, - runOnRender: PropTypes.bool -}; - export default LoadMore; diff --git a/app/views/RoomView/ReactionPicker.js b/app/views/RoomView/ReactionPicker.tsx similarity index 75% rename from app/views/RoomView/ReactionPicker.js rename to app/views/RoomView/ReactionPicker.tsx index 892b2e43a..b47711b6e 100644 --- a/app/views/RoomView/ReactionPicker.js +++ b/app/views/RoomView/ReactionPicker.tsx @@ -1,5 +1,4 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { View } from 'react-native'; import { connect } from 'react-redux'; import Modal from 'react-native-modal'; @@ -9,34 +8,37 @@ import { isAndroid } from '../../utils/deviceInfo'; import { themes } from '../../constants/colors'; import { withTheme } from '../../theme'; import styles from './styles'; +import { IApplicationState } from '../../definitions'; const margin = isAndroid ? 40 : 20; const maxSize = 400; -class ReactionPicker extends React.Component { - static propTypes = { - baseUrl: PropTypes.string.isRequired, - message: PropTypes.object, - show: PropTypes.bool, - isMasterDetail: PropTypes.bool, - reactionClose: PropTypes.func, - onEmojiSelected: PropTypes.func, - width: PropTypes.number, - height: PropTypes.number, - theme: PropTypes.string - }; +interface IReactionPickerProps { + baseUrl: string; + message?: any; + show: boolean; + isMasterDetail: boolean; + reactionClose: () => void; + onEmojiSelected: Function; // TODO: properly type this + width: number; + height: number; + theme: string; +} - shouldComponentUpdate(nextProps) { +class ReactionPicker extends React.Component<IReactionPickerProps> { + shouldComponentUpdate(nextProps: IReactionPickerProps) { const { show, width, height } = this.props; return nextProps.show !== show || width !== nextProps.width || height !== nextProps.height; } - onEmojiSelected = (emoji, shortname) => { + onEmojiSelected = (emoji: string, shortname: string) => { // standard emojis: `emoji` is unicode and `shortname` is :joy: // custom emojis: only `emoji` is returned with shortname type (:joy:) // to set reactions, we need shortname type const { onEmojiSelected, message } = this.props; - onEmojiSelected(shortname || emoji, message.id); + if (message) { + onEmojiSelected(shortname || emoji, message.id); + } }; render() { @@ -79,7 +81,7 @@ class ReactionPicker extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: IApplicationState) => ({ baseUrl: state.server.server, isMasterDetail: state.app.isMasterDetail }); diff --git a/app/views/RoomView/RightButtons.js b/app/views/RoomView/RightButtons.tsx similarity index 69% rename from app/views/RoomView/RightButtons.js rename to app/views/RoomView/RightButtons.tsx index 9bbf717fd..079e46682 100644 --- a/app/views/RoomView/RightButtons.js +++ b/app/views/RoomView/RightButtons.tsx @@ -1,30 +1,43 @@ import React, { Component } from 'react'; -import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import { dequal } from 'dequal'; +import { Observable, Subscription } from 'rxjs'; +import { StackNavigationProp } from '@react-navigation/stack'; import * as HeaderButton from '../../containers/HeaderButton'; import database from '../../lib/database'; import { getUserSelector } from '../../selectors/login'; import { events, logEvent } from '../../utils/log'; import { isTeamRoom } from '../../utils/room'; +import { IApplicationState, SubscriptionType, TMessageModel, TSubscriptionModel } from '../../definitions'; +import { ChatsStackParamList } from '../../stacks/types'; -class RightButtonsContainer extends Component { - static propTypes = { - userId: PropTypes.string, - threadsEnabled: PropTypes.bool, - rid: PropTypes.string, - t: PropTypes.string, - tmid: PropTypes.string, - teamId: PropTypes.string, - navigation: PropTypes.object, - isMasterDetail: PropTypes.bool, - toggleFollowThread: PropTypes.func, - joined: PropTypes.bool, - encrypted: PropTypes.bool - }; +interface IRightButtonsProps { + userId?: string; + threadsEnabled: boolean; + rid?: string; + t: string; + tmid?: string; + teamId?: string; + isMasterDetail: boolean; + toggleFollowThread: Function; + joined: boolean; + encrypted?: boolean; + navigation: StackNavigationProp<ChatsStackParamList, 'RoomView'>; +} - constructor(props) { +interface IRigthButtonsState { + isFollowingThread: boolean; + tunread: string[]; + tunreadUser: string[]; + tunreadGroup: string[]; +} + +class RightButtonsContainer extends Component<IRightButtonsProps, IRigthButtonsState> { + private threadSubscription?: Subscription; + private subSubscription?: Subscription; + + constructor(props: IRightButtonsProps) { super(props); this.state = { isFollowingThread: true, @@ -56,7 +69,7 @@ class RightButtonsContainer extends Component { } } - shouldComponentUpdate(nextProps, nextState) { + shouldComponentUpdate(nextProps: IRightButtonsProps, nextState: IRigthButtonsState) { const { isFollowingThread, tunread, tunreadUser, tunreadGroup } = this.state; const { teamId } = this.props; if (nextProps.teamId !== teamId) { @@ -86,37 +99,41 @@ class RightButtonsContainer extends Component { } } - observeThread = threadRecord => { - const threadObservable = threadRecord.observe(); + observeThread = (threadRecord: TMessageModel) => { + const threadObservable: Observable<TMessageModel> = threadRecord.observe(); this.threadSubscription = threadObservable.subscribe(thread => this.updateThread(thread)); }; - updateThread = thread => { + updateThread = (thread: TMessageModel) => { const { userId } = this.props; this.setState({ - isFollowingThread: thread.replies && !!thread.replies.find(t => t === userId) + isFollowingThread: (thread.replies && !!thread.replies.find(t => t === userId)) ?? false }); }; - observeSubscription = subRecord => { + observeSubscription = (subRecord: TSubscriptionModel) => { const subObservable = subRecord.observe(); this.subSubscription = subObservable.subscribe(sub => { this.updateSubscription(sub); }); }; - updateSubscription = sub => { + updateSubscription = (sub: TSubscriptionModel) => { this.setState({ - tunread: sub?.tunread, - tunreadUser: sub?.tunreadUser, - tunreadGroup: sub?.tunreadGroup + tunread: sub?.tunread ?? [], + tunreadUser: sub?.tunreadUser ?? [], + tunreadGroup: sub?.tunreadGroup ?? [] }); }; goTeamChannels = () => { logEvent(events.ROOM_GO_TEAM_CHANNELS); const { navigation, isMasterDetail, teamId } = this.props; + if (!teamId) { + return; + } if (isMasterDetail) { + // @ts-ignore TODO: find a way to make this work navigation.navigate('ModalStackNavigator', { screen: 'TeamChannelsView', params: { teamId } @@ -129,23 +146,31 @@ class RightButtonsContainer extends Component { goThreadsView = () => { logEvent(events.ROOM_GO_THREADS); const { rid, t, navigation, isMasterDetail } = this.props; + if (!rid) { + return; + } if (isMasterDetail) { + // @ts-ignore TODO: find a way to make this work navigation.navigate('ModalStackNavigator', { screen: 'ThreadMessagesView', params: { rid, t } }); } else { - navigation.navigate('ThreadMessagesView', { rid, t }); + navigation.navigate('ThreadMessagesView', { rid, t: t as SubscriptionType }); } }; goSearchView = () => { logEvent(events.ROOM_GO_SEARCH); const { rid, t, navigation, isMasterDetail, encrypted } = this.props; + if (!rid) { + return; + } if (isMasterDetail) { + // @ts-ignore TODO: find a way to make this work navigation.navigate('ModalStackNavigator', { screen: 'SearchMessagesView', params: { rid, showCloseModal: true, encrypted } }); } else { - navigation.navigate('SearchMessagesView', { rid, t, encrypted }); + navigation.navigate('SearchMessagesView', { rid, t: t as SubscriptionType, encrypted }); } }; @@ -194,9 +219,9 @@ class RightButtonsContainer extends Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: IApplicationState) => ({ userId: getUserSelector(state).id, - threadsEnabled: state.settings.Threads_enabled, + threadsEnabled: state.settings.Threads_enabled as boolean, isMasterDetail: state.app.isMasterDetail }); diff --git a/app/views/RoomView/Separator.js b/app/views/RoomView/Separator.tsx similarity index 88% rename from app/views/RoomView/Separator.js rename to app/views/RoomView/Separator.tsx index b992f2560..8a125cf7d 100644 --- a/app/views/RoomView/Separator.js +++ b/app/views/RoomView/Separator.tsx @@ -1,11 +1,11 @@ import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; -import PropTypes from 'prop-types'; import moment from 'moment'; import I18n from '../../i18n'; import sharedStyles from '../Styles'; import { themes } from '../../constants/colors'; +import { useTheme } from '../../theme'; const styles = StyleSheet.create({ container: { @@ -34,7 +34,8 @@ const styles = StyleSheet.create({ } }); -const DateSeparator = React.memo(({ ts, unread, theme }) => { +const DateSeparator = ({ ts, unread }: { ts: Date | string | null; unread: boolean }): React.ReactElement => { + const { theme } = useTheme(); const date = ts ? moment(ts).format('LL') : null; const unreadLine = { backgroundColor: themes[theme].dangerColor }; const unreadText = { color: themes[theme].dangerColor }; @@ -61,12 +62,6 @@ const DateSeparator = React.memo(({ ts, unread, theme }) => { <View style={[styles.line, unreadLine]} /> </View> ); -}); - -DateSeparator.propTypes = { - ts: PropTypes.instanceOf(Date), - unread: PropTypes.bool, - theme: PropTypes.string }; export default DateSeparator; diff --git a/app/views/RoomView/UploadProgress.js b/app/views/RoomView/UploadProgress.tsx similarity index 69% rename from app/views/RoomView/UploadProgress.js rename to app/views/RoomView/UploadProgress.tsx index 1b61c0ac1..fba6e9358 100644 --- a/app/views/RoomView/UploadProgress.js +++ b/app/views/RoomView/UploadProgress.tsx @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import { ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; -import PropTypes from 'prop-types'; import { Q } from '@nozbe/watermelondb'; +import { Observable, Subscription } from 'rxjs'; import database from '../../lib/database'; import RocketChat from '../../lib/rocketchat'; @@ -11,6 +11,7 @@ import { CustomIcon } from '../../lib/Icons'; import { themes } from '../../constants/colors'; import sharedStyles from '../Styles'; import { withTheme } from '../../theme'; +import { IUser, TUploadModel } from '../../definitions'; const styles = StyleSheet.create({ container: { @@ -51,23 +52,26 @@ const styles = StyleSheet.create({ } }); -class UploadProgress extends Component { - static propTypes = { - width: PropTypes.number, - rid: PropTypes.string, - theme: PropTypes.string, - user: PropTypes.shape({ - id: PropTypes.string.isRequired, - username: PropTypes.string.isRequired, - token: PropTypes.string.isRequired - }), - baseUrl: PropTypes.string.isRequired - }; +interface IUploadProgressProps { + width: number; + rid: string; + user: Pick<IUser, 'id' | 'username' | 'token'>; + baseUrl: string; + theme?: string; +} - constructor(props) { +interface IUploadProgressState { + uploads: TUploadModel[]; +} + +class UploadProgress extends Component<IUploadProgressProps, IUploadProgressState> { + private mounted = false; + private ranInitialUploadCheck = false; + private uploadsObservable?: Observable<TUploadModel[]>; + private uploadsSubscription?: Subscription; + + constructor(props: IUploadProgressProps) { super(props); - this.mounted = false; - this.ranInitialUploadCheck = false; this.state = { uploads: [] }; @@ -97,6 +101,7 @@ class UploadProgress extends Component { if (this.mounted) { this.setState({ uploads }); } else { + // @ts-ignore this.state.uploads = uploads; } if (!this.ranInitialUploadCheck) { @@ -112,7 +117,7 @@ class UploadProgress extends Component { if (!RocketChat.isUploadActive(u.path)) { try { const db = database.active; - await db.action(async () => { + await db.write(async () => { await u.update(() => { u.error = true; }); @@ -124,10 +129,10 @@ class UploadProgress extends Component { }); }; - deleteUpload = async item => { + deleteUpload = async (item: TUploadModel) => { try { const db = database.active; - await db.action(async () => { + await db.write(async () => { await item.destroyPermanently(); }); } catch (e) { @@ -135,7 +140,7 @@ class UploadProgress extends Component { } }; - cancelUpload = async item => { + cancelUpload = async (item: TUploadModel) => { try { await RocketChat.cancelUpload(item); } catch (e) { @@ -143,12 +148,12 @@ class UploadProgress extends Component { } }; - tryAgain = async item => { + tryAgain = async (item: TUploadModel) => { const { rid, baseUrl: server, user } = this.props; try { const db = database.active; - await db.action(async () => { + await db.write(async () => { await item.update(() => { item.error = false; }); @@ -159,44 +164,44 @@ class UploadProgress extends Component { } }; - renderItemContent = item => { + renderItemContent = (item: TUploadModel) => { const { width, theme } = this.props; if (!item.error) { return [ <View key='row' style={styles.row}> - <CustomIcon name='attach' size={20} color={themes[theme].auxiliaryText} /> + <CustomIcon name='attach' size={20} color={themes[theme!].auxiliaryText} /> <Text - style={[styles.descriptionContainer, styles.descriptionText, { color: themes[theme].auxiliaryText }]} + style={[styles.descriptionContainer, styles.descriptionText, { color: themes[theme!].auxiliaryText }]} numberOfLines={1}> {I18n.t('Uploading')} {item.name} </Text> - <CustomIcon name='close' size={20} color={themes[theme].auxiliaryText} onPress={() => this.cancelUpload(item)} /> + <CustomIcon name='close' size={20} color={themes[theme!].auxiliaryText} onPress={() => this.cancelUpload(item)} /> </View>, <View key='progress' - style={[styles.progress, { width: (width * item.progress) / 100, backgroundColor: themes[theme].tintColor }]} + style={[styles.progress, { width: (width * (item.progress ?? 0)) / 100, backgroundColor: themes[theme!].tintColor }]} /> ]; } return ( <View style={styles.row}> - <CustomIcon name='warning' size={20} color={themes[theme].dangerColor} /> + <CustomIcon name='warning' size={20} color={themes[theme!].dangerColor} /> <View style={styles.descriptionContainer}> - <Text style={[styles.descriptionText, { color: themes[theme].auxiliaryText }]} numberOfLines={1}> + <Text style={[styles.descriptionText, { color: themes[theme!].auxiliaryText }]} numberOfLines={1}> {I18n.t('Error_uploading')} {item.name} </Text> <TouchableOpacity onPress={() => this.tryAgain(item)}> - <Text style={[styles.tryAgainButtonText, { color: themes[theme].tintColor }]}>{I18n.t('Try_again')}</Text> + <Text style={[styles.tryAgainButtonText, { color: themes[theme!].tintColor }]}>{I18n.t('Try_again')}</Text> </TouchableOpacity> </View> - <CustomIcon name='close' size={20} color={themes[theme].auxiliaryText} onPress={() => this.deleteUpload(item)} /> + <CustomIcon name='close' size={20} color={themes[theme!].auxiliaryText} onPress={() => this.deleteUpload(item)} /> </View> ); }; // TODO: transform into stateless and update based on its own observable changes - renderItem = (item, index) => { + renderItem = (item: TUploadModel, index: number) => { const { theme } = this.props; return ( @@ -206,8 +211,8 @@ class UploadProgress extends Component { styles.item, index !== 0 ? { marginTop: 10 } : {}, { - backgroundColor: themes[theme].chatComponentBackground, - borderColor: themes[theme].borderColor + backgroundColor: themes[theme!].chatComponentBackground, + borderColor: themes[theme!].borderColor } ]}> {this.renderItemContent(item)} diff --git a/app/views/RoomView/index.js b/app/views/RoomView/index.tsx similarity index 68% rename from app/views/RoomView/index.js rename to app/views/RoomView/index.tsx index 2517cc175..b8800783d 100644 --- a/app/views/RoomView/index.js +++ b/app/views/RoomView/index.tsx @@ -1,5 +1,4 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { InteractionManager, Text, View } from 'react-native'; import { connect } from 'react-redux'; import parse from 'url-parse'; @@ -7,23 +6,25 @@ import moment from 'moment'; import * as Haptics from 'expo-haptics'; import { Q } from '@nozbe/watermelondb'; import { dequal } from 'dequal'; -import { withSafeAreaInsets } from 'react-native-safe-area-context'; +import { EdgeInsets, withSafeAreaInsets } from 'react-native-safe-area-context'; +import { Subscription } from 'rxjs'; +import { IReduxEmoji } from '../../definitions/IEmoji'; import Touch from '../../utils/touch'; -import { replyBroadcast as replyBroadcastAction } from '../../actions/messages'; +import { replyBroadcast } from '../../actions/messages'; import database from '../../lib/database'; import RocketChat from '../../lib/rocketchat'; import Message from '../../containers/message'; -import MessageActions from '../../containers/MessageActions'; +import MessageActions, { IMessageActions } from '../../containers/MessageActions'; import MessageErrorActions from '../../containers/MessageErrorActions'; -import MessageBox from '../../containers/MessageBox'; +import MessageBox, { IMessageBoxProps } from '../../containers/MessageBox'; import log, { events, logEvent } from '../../utils/log'; import EventEmitter from '../../utils/events'; import I18n from '../../i18n'; import RoomHeader from '../../containers/RoomHeader'; import StatusBar from '../../containers/StatusBar'; import { themes } from '../../constants/colors'; -import { MESSAGE_TYPE_ANY_LOAD, MESSAGE_TYPE_LOAD_MORE } from '../../constants/messageTypeLoad'; +import { MESSAGE_TYPE_ANY_LOAD, MessageTypeLoad } from '../../constants/messageTypeLoad'; import debounce from '../../utils/debounce'; import ReactionsModal from '../../containers/ReactionsModal'; import { LISTENER } from '../../containers/Toast'; @@ -37,12 +38,12 @@ import { handleCommandReplyLatest, handleCommandRoomActions, handleCommandScroll, - handleCommandSearchMessages + handleCommandSearchMessages, + IKeyCommandEvent } from '../../commands'; import { Review } from '../../utils/review'; import RoomClass from '../../lib/methods/subscriptions/room'; import { getUserSelector } from '../../selectors/login'; -import { CONTAINER_TYPES } from '../../lib/methods/actions'; import Navigation from '../../lib/Navigation'; import SafeAreaView from '../../containers/SafeAreaView'; import { withDimensions } from '../../dimensions'; @@ -50,9 +51,10 @@ import { getHeaderTitlePosition } from '../../containers/Header'; import { E2E_MESSAGE_TYPE, E2E_STATUS } from '../../lib/encryption/constants'; import { takeInquiry } from '../../ee/omnichannel/lib'; import Loading from '../../containers/Loading'; -import { goRoom } from '../../utils/goRoom'; +import { goRoom, TGoRoomItem } from '../../utils/goRoom'; import getThreadName from '../../lib/methods/getThreadName'; import getRoomInfo from '../../lib/methods/getRoomInfo'; +import { ContainerTypes } from '../../containers/UIKit/interfaces'; import RoomServices from './services'; import LoadMore from './LoadMore'; import Banner from './Banner'; @@ -60,10 +62,25 @@ import Separator from './Separator'; import RightButtons from './RightButtons'; import LeftButtons from './LeftButtons'; import styles from './styles'; -import JoinCode from './JoinCode'; +import JoinCode, { IJoinCodeProps } from './JoinCode'; import UploadProgress from './UploadProgress'; import ReactionPicker from './ReactionPicker'; -import List from './List'; +import List, { IListContainerProps, IListProps } from './List'; +import { ChatsStackParamList } from '../../stacks/types'; +import { + IApplicationState, + IAttachment, + IBaseScreen, + ILoggedUser, + IMessage, + ISubscription, + IVisitor, + SubscriptionType, + TAnyMessageModel, + TSubscriptionModel, + TThreadModel +} from '../../definitions'; +import { ICustomEmojis } from '../../reducers/customEmojis'; const stateAttrsUpdate = [ 'joined', @@ -100,50 +117,95 @@ const roomAttrsUpdate = [ 'joinCodeRequired', 'teamMain', 'teamId' -]; +] as const; -class RoomView extends React.Component { - static propTypes = { - navigation: PropTypes.object, - route: PropTypes.object, - user: PropTypes.shape({ - id: PropTypes.string.isRequired, - username: PropTypes.string.isRequired, - token: PropTypes.string.isRequired, - showMessageInMainThread: PropTypes.bool - }), - appState: PropTypes.string, - useRealName: PropTypes.bool, - isAuthenticated: PropTypes.bool, - Message_GroupingPeriod: PropTypes.number, - Message_TimeFormat: PropTypes.string, - Message_Read_Receipt_Enabled: PropTypes.bool, - Hide_System_Messages: PropTypes.array, - baseUrl: PropTypes.string, - serverVersion: PropTypes.string, - customEmojis: PropTypes.object, - isMasterDetail: PropTypes.bool, - theme: PropTypes.string, - replyBroadcast: PropTypes.func, - width: PropTypes.number, - height: PropTypes.number, - insets: PropTypes.object +interface IRoomViewProps extends IBaseScreen<ChatsStackParamList, 'RoomView'> { + user: Pick<ILoggedUser, 'id' | 'username' | 'token' | 'showMessageInMainThread'>; + appState: string; + useRealName?: boolean; + isAuthenticated: boolean; + Message_GroupingPeriod?: number; + Message_TimeFormat?: string; + Message_Read_Receipt_Enabled?: boolean; + Hide_System_Messages?: string[]; + baseUrl: string; + serverVersion: string | null; + customEmojis: ICustomEmojis; + isMasterDetail: boolean; + replyBroadcast: Function; + width: number; + height: number; + insets: EdgeInsets; +} + +type TRoomUpdate = typeof roomAttrsUpdate[number]; + +interface IRoomViewState { + [key: string]: any; + joined: boolean; + room: TSubscriptionModel | { rid: string; t: string; name?: string; fname?: string; prid?: string; joinCodeRequired?: boolean }; + roomUpdate: { + [K in TRoomUpdate]?: any; // TODO: get type from TSubscriptionModel }; + member: any; + lastOpen: Date | null; + reactionsModalVisible: boolean; + selectedMessage?: Object; + canAutoTranslate: boolean; + loading: boolean; + showingBlockingLoader: boolean; + editing: boolean; + replying: boolean; + replyWithMention: boolean; + reacting: boolean; + readOnly: boolean; + unreadsCount: number | null; + roomUserId?: string | null; +} - constructor(props) { +class RoomView extends React.Component<IRoomViewProps, IRoomViewState> { + private rid?: string; + private t?: string; + private tmid?: string; + private jumpToMessageId?: string; + private jumpToThreadId?: string; + // TODO: review these refs + private messagebox: React.RefObject<IMessageBoxProps>; + private list: React.RefObject<IListContainerProps>; + private joinCode: React.RefObject<IJoinCodeProps>; + private flatList: React.RefObject<IListProps>; + private mounted: boolean; + private sub?: any; + private offset = 0; + private didMountInteraction: any; + private subSubscription?: Subscription; + private queryUnreads?: Subscription; + private retryInit = 0; + private retryInitTimeout?: number; + private retryFindCount = 0; + private retryFindTimeout?: number; + private messageErrorActions?: React.RefObject<any>; // TODO: type me + private messageActions?: React.RefObject<IMessageActions>; + + constructor(props: IRoomViewProps) { super(props); console.time(`${this.constructor.name} init`); console.time(`${this.constructor.name} mount`); this.rid = props.route.params?.rid; this.t = props.route.params?.t; + /** + * On threads, we don't have a subscription. + * `this.state.room` is going to have only a few properties sent during navigation. + * Use `this.tmid` as thread id. + */ this.tmid = props.route.params?.tmid; const selectedMessage = props.route.params?.message; const name = props.route.params?.name; const fname = props.route.params?.fname; const prid = props.route.params?.prid; const room = props.route.params?.room ?? { - rid: this.rid, - t: this.t, + rid: this.rid as string, + t: this.t as string, name, fname, prid @@ -158,7 +220,7 @@ class RoomView extends React.Component { member: {}, lastOpen: null, reactionsModalVisible: false, - selectedMessage: selectedMessage || {}, + selectedMessage, canAutoTranslate: false, loading: true, showingBlockingLoader: false, @@ -172,7 +234,8 @@ class RoomView extends React.Component { }; this.setHeader(); - if (room && room.observe) { + if ('id' in room) { + // @ts-ignore TODO: type guard isn't helping here :( this.observeRoom(room); } else if (this.rid) { this.findAndObserveRoom(this.rid); @@ -195,7 +258,6 @@ class RoomView extends React.Component { componentDidMount() { this.mounted = true; - this.offset = 0; this.didMountInteraction = InteractionManager.runAfterInteractions(() => { const { isAuthenticated } = this.props; this.setHeader(); @@ -224,7 +286,7 @@ class RoomView extends React.Component { console.timeEnd(`${this.constructor.name} mount`); } - shouldComponentUpdate(nextProps, nextState) { + shouldComponentUpdate(nextProps: IRoomViewProps, nextState: IRoomViewState) { const { state } = this; const { roomUpdate, member } = state; const { appState, theme, insets, route } = this.props; @@ -250,21 +312,22 @@ class RoomView extends React.Component { return roomAttrsUpdate.some(key => !dequal(nextState.roomUpdate[key], roomUpdate[key])); } - componentDidUpdate(prevProps, prevState) { + componentDidUpdate(prevProps: IRoomViewProps, prevState: IRoomViewState) { const { roomUpdate } = this.state; const { appState, insets, route } = this.props; - if (route?.params?.jumpToMessageId !== prevProps.route?.params?.jumpToMessageId) { + if (route?.params?.jumpToMessageId && route?.params?.jumpToMessageId !== prevProps.route?.params?.jumpToMessageId) { this.jumpToMessage(route?.params?.jumpToMessageId); } - if (route?.params?.jumpToThreadId !== prevProps.route?.params?.jumpToThreadId) { + if (route?.params?.jumpToThreadId && route?.params?.jumpToThreadId !== prevProps.route?.params?.jumpToThreadId) { this.navToThread({ tmid: route?.params?.jumpToThreadId }); } if (appState === 'foreground' && appState !== prevProps.appState && this.rid) { // Fire List.query() just to keep observables working if (this.list && this.list.current) { + // @ts-ignore TODO: is this working? this.list.current?.query?.(); } } @@ -303,8 +366,9 @@ class RoomView extends React.Component { const db = database.active; this.mounted = false; if (!editing && this.messagebox && this.messagebox.current) { + // @ts-ignore const { text } = this.messagebox.current; - let obj; + let obj: TSubscriptionModel | TThreadModel | null = null; if (this.tmid) { try { const threadsCollection = db.get('threads'); @@ -313,12 +377,13 @@ class RoomView extends React.Component { // Do nothing } } else { - obj = room; + obj = room as TSubscriptionModel; } if (obj) { try { - await db.action(async () => { - await obj.update(r => { + await db.write(async () => { + // FIXME: why do I need to tell ts this is non null if we have that if condition above? + await obj!.update(r => { r.draftMessage = text; }); }); @@ -331,15 +396,18 @@ class RoomView extends React.Component { if (this.didMountInteraction && this.didMountInteraction.cancel) { this.didMountInteraction.cancel(); } - if (this.willBlurListener && this.willBlurListener.remove) { - this.willBlurListener.remove(); - } if (this.subSubscription && this.subSubscription.unsubscribe) { this.subSubscription.unsubscribe(); } if (this.queryUnreads && this.queryUnreads.unsubscribe) { this.queryUnreads.unsubscribe(); } + if (this.retryInitTimeout) { + clearTimeout(this.retryInitTimeout); + } + if (this.retryFindTimeout) { + clearTimeout(this.retryFindTimeout); + } EventEmitter.removeListener('connected', this.handleConnected); if (isTablet) { EventEmitter.removeListener(KEY_COMMAND, this.handleCommands); @@ -357,32 +425,45 @@ class RoomView extends React.Component { const { room, unreadsCount, roomUserId, joined } = this.state; const { navigation, isMasterDetail, theme, baseUrl, user, insets, route } = this.props; const { rid, tmid } = this; + if (!room.rid) { + return; + } + const prid = room?.prid; - const isGroupChat = RocketChat.isGroupChat(room); + const isGroupChat = RocketChat.isGroupChat(room as ISubscription); let title = route.params?.name; - let parentTitle; - if ((room.id || room.rid) && !tmid) { + let parentTitle = ''; + // TODO: I think it's safe to remove this, but we need to test tablet without rooms + if (!tmid) { title = RocketChat.getRoomTitle(room); } if (tmid) { parentTitle = RocketChat.getRoomTitle(room); } - const subtitle = room?.topic; - const t = room?.t; - const teamMain = room?.teamMain; - const teamId = room?.teamId; - const encrypted = room?.encrypted; - const { id: userId, token } = user; - const avatar = room?.name; - const visitor = room?.visitor; - if (!room?.rid) { - return; + let subtitle: string | undefined; + let t: string; + let teamMain: boolean | undefined; + let teamId: string | undefined; + let encrypted: boolean | undefined; + let userId: string | undefined; + let token: string | undefined; + let avatar: string | undefined; + let visitor: IVisitor | undefined; + if ('id' in room) { + subtitle = room.topic; + t = room.t; + teamMain = room.teamMain; + teamId = room.teamId; + encrypted = room.encrypted; + ({ id: userId, token } = user); + avatar = room.name; + visitor = room.visitor; } let numIconsRight = 2; if (tmid) { numIconsRight = 1; - } else if (isTeamRoom({ teamId, joined })) { + } else if (teamId && isTeamRoom({ teamId, joined })) { numIconsRight = 3; } const headerTitlePosition = getHeaderTitlePosition({ insets, numIconsRight }); @@ -431,7 +512,6 @@ class RoomView extends React.Component { rid={rid} tmid={tmid} teamId={teamId} - teamMain={teamMain} joined={joined} t={t} encrypted={encrypted} @@ -442,27 +522,30 @@ class RoomView extends React.Component { }); }; - goRoomActionsView = screen => { + goRoomActionsView = (screen?: string) => { logEvent(events.ROOM_GO_RA); const { room, member, joined } = this.state; const { navigation, isMasterDetail } = this.props; if (isMasterDetail) { + // @ts-ignore TODO: find a way to make it work navigation.navigate('ModalStackNavigator', { + // @ts-ignore screen: screen ?? 'RoomActionsView', params: { - rid: this.rid, - t: this.t, + rid: this.rid as string, + t: this.t as SubscriptionType, + // @ts-ignore room, member, showCloseModal: !!screen, joined } }); - } else { + } else if (this.rid && this.t) { navigation.push('RoomActionsView', { rid: this.rid, - t: this.t, - room, + t: this.t as SubscriptionType, + room: room as TSubscriptionModel, member, joined }); @@ -472,7 +555,7 @@ class RoomView extends React.Component { setReadOnly = async () => { const { room } = this.state; const { user } = this.props; - const readOnly = await isReadOnly(room, user); + const readOnly = await isReadOnly(room as ISubscription, user.username as string); this.setState({ readOnly }); }; @@ -480,6 +563,9 @@ class RoomView extends React.Component { try { this.setState({ loading: true }); const { room, joined } = this.state; + if (!this.rid) { + return; + } if (this.tmid) { await RoomServices.getThreadMessages(this.tmid, this.rid); } else { @@ -487,13 +573,13 @@ class RoomView extends React.Component { await RoomServices.getMessages(room); // if room is joined - if (joined) { + if (joined && 'id' in room) { if (room.alert || room.unread || room.userMentions) { this.setLastOpen(room.ls); } else { this.setLastOpen(null); } - RoomServices.readMessages(room.rid, newLastOpen, true).catch(e => console.log(e)); + RoomServices.readMessages(room.rid, newLastOpen).catch(e => console.log(e)); } } @@ -503,7 +589,7 @@ class RoomView extends React.Component { this.setState({ canAutoTranslate, member, loading: false }); } catch (e) { this.setState({ loading: false }); - this.retryInit = this.retryInit + 1 || 1; + this.retryInit += 1; if (this.retryInit <= 1) { this.retryInitTimeout = setTimeout(() => { this.init(); @@ -516,7 +602,7 @@ class RoomView extends React.Component { const { room } = this.state; const { t } = room; - if (t === 'd' && !RocketChat.isGroupChat(room)) { + if ('id' in room && t === 'd' && !RocketChat.isGroupChat(room)) { try { const roomUserId = RocketChat.getUidDirectMessage(room); this.setState({ roomUserId }, () => this.setHeader()); @@ -533,7 +619,7 @@ class RoomView extends React.Component { return {}; }; - findAndObserveRoom = async rid => { + findAndObserveRoom = async (rid: string) => { try { const db = database.active; const subCollection = await db.get('subscriptions'); @@ -569,30 +655,34 @@ class RoomView extends React.Component { delete this.sub; }; - observeRoom = room => { + observeRoom = (room: TSubscriptionModel) => { const observable = room.observe(); this.subSubscription = observable.subscribe(changes => { - const roomUpdate = roomAttrsUpdate.reduce((ret, attr) => { + const roomUpdate = roomAttrsUpdate.reduce((ret: any, attr) => { ret[attr] = changes[attr]; return ret; }, {}); if (this.mounted) { this.internalSetState({ room: changes, roomUpdate }); } else { + // @ts-ignore this.state.room = changes; + // @ts-ignore this.state.roomUpdate = roomUpdate; } }); }; - errorActionsShow = message => { + errorActionsShow = (message: TAnyMessageModel) => { + // @ts-ignore this.messageErrorActions?.showMessageErrorActions(message); }; - onEditInit = message => { + onEditInit = (message: TAnyMessageModel) => { const newMessage = { id: message.id, subscription: { + // @ts-ignore TODO: we can remove this after we merge a PR separating IMessage vs IMessageFromServer id: message.subscription.id }, msg: message?.attachments?.[0]?.description || message.msg @@ -601,11 +691,11 @@ class RoomView extends React.Component { }; onEditCancel = () => { - this.setState({ selectedMessage: {}, editing: false }); + this.setState({ selectedMessage: undefined, editing: false }); }; - onEditRequest = async message => { - this.setState({ selectedMessage: {}, editing: false }); + onEditRequest = async (message: TAnyMessageModel) => { + this.setState({ selectedMessage: undefined, editing: false }); try { await RocketChat.editMessage(message); } catch (e) { @@ -613,7 +703,7 @@ class RoomView extends React.Component { } }; - onReplyInit = (message, mention) => { + onReplyInit = (message: TAnyMessageModel, mention: boolean) => { this.setState({ selectedMessage: message, replying: true, @@ -622,27 +712,29 @@ class RoomView extends React.Component { }; onReplyCancel = () => { - this.setState({ selectedMessage: {}, replying: false, replyWithMention: false }); + this.setState({ selectedMessage: undefined, replying: false, replyWithMention: false }); }; - onReactionInit = message => { + onReactionInit = (message: TAnyMessageModel) => { this.setState({ selectedMessage: message, reacting: true }); }; onReactionClose = () => { - this.setState({ selectedMessage: {}, reacting: false }); + this.setState({ selectedMessage: undefined, reacting: false }); }; - onMessageLongPress = message => { + onMessageLongPress = (message: TAnyMessageModel) => { + // @ts-ignore this.messageActions?.showMessageActions(message); }; - showAttachment = attachment => { + showAttachment = (attachment: IAttachment) => { const { navigation } = this.props; + // @ts-ignore navigation.navigate('AttachmentView', { attachment }); }; - onReactionPress = async (shortname, messageId) => { + onReactionPress = async (shortname: string, messageId: string) => { try { await RocketChat.setReaction(shortname, messageId); this.onReactionClose(); @@ -652,13 +744,13 @@ class RoomView extends React.Component { } }; - onReactionLongPress = message => { + onReactionLongPress = (message: TAnyMessageModel) => { this.setState({ selectedMessage: message, reactionsModalVisible: true }); Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); }; onCloseReactionsModal = () => { - this.setState({ selectedMessage: {}, reactionsModalVisible: false }); + this.setState({ selectedMessage: undefined, reactionsModalVisible: false }); }; onEncryptedPress = () => { @@ -668,19 +760,21 @@ class RoomView extends React.Component { const screen = { screen: 'E2EHowItWorksView', params: { showCloseModal: true } }; if (isMasterDetail) { + // @ts-ignore return navigation.navigate('ModalStackNavigator', screen); } + // @ts-ignore navigation.navigate('E2ESaveYourPasswordStackNavigator', screen); }; onDiscussionPress = debounce( - item => { + (item: TAnyMessageModel) => { const { navigation } = this.props; navigation.push('RoomView', { - rid: item.drid, + rid: item.drid as string, prid: item.rid, name: item.msg, - t: 'p' + t: 'p' as SubscriptionType }); }, 1000, @@ -689,6 +783,9 @@ class RoomView extends React.Component { // eslint-disable-next-line react/sort-comp updateUnreadCount = async () => { + if (!this.rid) { + return; + } const db = database.active; const observable = await db .get('subscriptions') @@ -704,9 +801,9 @@ class RoomView extends React.Component { }); }; - onThreadPress = debounce(item => this.navToThread(item), 1000, true); + onThreadPress = debounce((item: TAnyMessageModel) => this.navToThread(item), 1000, true); - shouldNavigateToRoom = message => { + shouldNavigateToRoom = (message: IMessage) => { if (message.tmid && message.tmid === this.tmid) { return false; } @@ -716,7 +813,7 @@ class RoomView extends React.Component { return true; }; - jumpToMessageByUrl = async messageUrl => { + jumpToMessageByUrl = async (messageUrl?: string) => { if (!messageUrl) { return; } @@ -724,7 +821,9 @@ class RoomView extends React.Component { this.setState({ showingBlockingLoader: true }); const parsedUrl = parse(messageUrl, true); const messageId = parsedUrl.query.msg; - await this.jumpToMessage(messageId); + if (messageId) { + await this.jumpToMessage(messageId); + } this.setState({ showingBlockingLoader: false }); } catch (e) { this.setState({ showingBlockingLoader: false }); @@ -732,7 +831,7 @@ class RoomView extends React.Component { } }; - jumpToMessage = async messageId => { + jumpToMessage = async (messageId: string) => { try { this.setState({ showingBlockingLoader: true }); const message = await RoomServices.getMessageInfo(messageId); @@ -752,10 +851,12 @@ class RoomView extends React.Component { * if it's from server, we don't have it saved locally and so we fetch surroundings * we test if it's not from threads because we're fetching from threads currently with `getThreadMessages` */ - if (message.fromServer && !message.tmid) { + if (message.fromServer && !message.tmid && this.rid) { await RocketChat.loadSurroundingMessages({ messageId, rid: this.rid }); } + // @ts-ignore await Promise.race([this.list.current.jumpToMessage(message.id), new Promise(res => setTimeout(res, 5000))]); + // @ts-ignore this.list.current.cancelJumpToMessage(); } } catch (e) { @@ -765,9 +866,9 @@ class RoomView extends React.Component { } }; - replyBroadcast = message => { - const { replyBroadcast } = this.props; - replyBroadcast(message); + replyBroadcast = (message: Record<string, string>) => { + const { dispatch } = this.props; + dispatch(replyBroadcast(message)); }; handleConnected = () => { @@ -775,7 +876,7 @@ class RoomView extends React.Component { EventEmitter.removeListener('connected', this.handleConnected); }; - handleRoomRemoved = ({ rid }) => { + handleRoomRemoved = ({ rid }: { rid: string }) => { const { room } = this.state; if (rid === this.rid) { Navigation.navigate('RoomsListView'); @@ -784,18 +885,21 @@ class RoomView extends React.Component { } }; - internalSetState = (...args) => { + internalSetState = (...args: any[]) => { if (!this.mounted) { return; } + // @ts-ignore TODO: TS is complaining about this, but I don't feel like changing rn since it should be working this.setState(...args); }; - sendMessage = (message, tmid, tshow) => { + sendMessage = (message: string, tmid?: string, tshow?: boolean) => { logEvent(events.ROOM_SEND_MESSAGE); + const { rid } = this.state.room; const { user } = this.props; - RocketChat.sendMessage(this.rid, message, this.tmid || tmid, user, tshow).then(() => { + RocketChat.sendMessage(rid, message, this.tmid || tmid, user, tshow).then(() => { if (this.list && this.list.current) { + // @ts-ignore this.list.current.update(); } this.setLastOpen(null); @@ -803,7 +907,8 @@ class RoomView extends React.Component { }); }; - getCustomEmoji = name => { + // TODO: We need to unify + getCustomEmoji = (name: string): IReduxEmoji | null => { const { customEmojis } = this.props; const emoji = customEmojis[name]; if (emoji) { @@ -812,7 +917,7 @@ class RoomView extends React.Component { return null; }; - setLastOpen = lastOpen => this.setState({ lastOpen }); + setLastOpen = (lastOpen: Date | null) => this.setState({ lastOpen }); onJoin = () => { this.internalSetState({ @@ -826,14 +931,17 @@ class RoomView extends React.Component { const { room } = this.state; if (this.isOmnichannel) { - await takeInquiry(room._id); + if ('_id' in room) { + await takeInquiry(room._id); + } this.onJoin(); } else { - const { joinCodeRequired } = room; + const { joinCodeRequired, rid } = room; if (joinCodeRequired) { + // @ts-ignore this.joinCode.current?.show(); } else { - await RocketChat.joinRoom(this.rid, null, this.t); + await RocketChat.joinRoom(rid, null, this.t as any); this.onJoin(); } } @@ -842,24 +950,31 @@ class RoomView extends React.Component { } }; - getThreadName = (tmid, messageId) => getThreadName(this.rid, tmid, messageId); + getThreadName = (tmid: string, messageId: string) => { + const { rid } = this.state.room; + return getThreadName(rid, tmid, messageId); + }; - toggleFollowThread = async (isFollowingThread, tmid) => { + toggleFollowThread = async (isFollowingThread: boolean, tmid?: string) => { try { - await RocketChat.toggleFollowMessage(tmid ?? this.tmid, !isFollowingThread); + const threadMessageId = tmid ?? this.tmid; + if (!threadMessageId) { + return; + } + await RocketChat.toggleFollowMessage(threadMessageId, !isFollowingThread); EventEmitter.emit(LISTENER, { message: isFollowingThread ? I18n.t('Unfollowed_thread') : I18n.t('Following_thread') }); } catch (e) { log(e); } }; - getBadgeColor = messageId => { + getBadgeColor = (messageId: string) => { const { room } = this.state; const { theme } = this.props; return getBadgeColor({ subscription: room, theme, messageId }); }; - navToRoomInfo = navParam => { + navToRoomInfo = (navParam: any) => { const { navigation, user, isMasterDetail } = this.props; logEvent(events[`ROOM_GO_${navParam.t === 'd' ? 'USER' : 'ROOM'}_INFO`]); if (navParam.rid === user.id) { @@ -867,55 +982,65 @@ class RoomView extends React.Component { } if (isMasterDetail) { navParam.showCloseModal = true; + // @ts-ignore navigation.navigate('ModalStackNavigator', { screen: 'RoomInfoView', params: navParam }); } else { navigation.navigate('RoomInfoView', navParam); } }; - navToThread = async item => { + navToThread = async (item: TAnyMessageModel | { tmid: string }) => { const { roomUserId } = this.state; const { navigation } = this.props; + if (!this.rid) { + return; + } + if (item.tmid) { - let name = item.tmsg; + let name = ''; + let jumpToMessageId = ''; + if ('id' in item) { + name = item.tmsg ?? ''; + jumpToMessageId = item.id; + } if (!name) { - const result = await this.getThreadName(item.tmid, item.id); + const result = await this.getThreadName(item.tmid, jumpToMessageId); // test if there isn't a thread if (!result) { return; } name = result; } - if (item.t === E2E_MESSAGE_TYPE && item.e2e !== E2E_STATUS.DONE) { + if ('id' in item && item.t === E2E_MESSAGE_TYPE && item.e2e !== E2E_STATUS.DONE) { name = I18n.t('Encrypted_message'); } return navigation.push('RoomView', { rid: this.rid, tmid: item.tmid, name, - t: 'thread', + t: SubscriptionType.THREAD, roomUserId, - jumpToMessageId: item.id + jumpToMessageId }); } - if (item.tlm) { + if ('tlm' in item) { return navigation.push('RoomView', { rid: this.rid, tmid: item.id, name: makeThreadName(item), - t: 'thread', + t: SubscriptionType.THREAD, roomUserId }); } }; - navToRoom = async message => { + navToRoom = async (message: TAnyMessageModel) => { const { navigation, isMasterDetail } = this.props; const roomInfo = await getRoomInfo(message.rid); return goRoom({ - item: roomInfo, + item: roomInfo as TGoRoomItem, isMasterDetail, navigationMethod: navigation.push, jumpToMessageId: message.id @@ -924,20 +1049,23 @@ class RoomView extends React.Component { callJitsi = () => { const { room } = this.state; - const { jitsiTimeout } = room; - if (jitsiTimeout < Date.now()) { - showErrorAlert(I18n.t('Call_already_ended')); - } else { - RocketChat.callJitsi(room); + if ('id' in room) { + const { jitsiTimeout } = room; + if (jitsiTimeout && jitsiTimeout < new Date()) { + showErrorAlert(I18n.t('Call_already_ended')); + } else { + RocketChat.callJitsi(room); + } } }; - handleCommands = ({ event }) => { + handleCommands = ({ event }: { event: IKeyCommandEvent }) => { if (this.rid) { const { input } = event; if (handleCommandScroll(event)) { const offset = input === 'UIKeyInputUpArrow' ? 100 : -100; this.offset += offset; + // @ts-ignore this.flatList?.scrollToOffset({ offset: this.offset }); } else if (handleCommandRoomActions(event)) { this.goRoomActionsView(); @@ -945,6 +1073,7 @@ class RoomView extends React.Component { this.goRoomActionsView('SearchMessagesView'); } else if (handleCommandReplyLatest(event)) { if (this.list && this.list.current) { + // @ts-ignore const message = this.list.current.getLastMessage(); this.onReplyInit(message, false); } @@ -952,7 +1081,21 @@ class RoomView extends React.Component { } }; - blockAction = ({ actionId, appId, value, blockId, rid, mid }) => + blockAction = ({ + actionId, + appId, + value, + blockId, + rid, + mid + }: { + actionId: string; + appId: string; + value: any; + blockId: string; + rid: string; + mid: string; + }) => RocketChat.triggerBlockAction({ blockId, actionId, @@ -961,42 +1104,48 @@ class RoomView extends React.Component { rid, appId, container: { - type: CONTAINER_TYPES.MESSAGE, + type: ContainerTypes.MESSAGE, id: mid } }); closeBanner = async () => { const { room } = this.state; - try { - const db = database.active; - await db.action(async () => { - await room.update(r => { - r.bannerClosed = true; + if ('id' in room) { + try { + const db = database.active; + await db.write(async () => { + await room.update(r => { + r.bannerClosed = true; + }); }); - }); - } catch { - // do nothing + } catch { + // do nothing + } } }; - isIgnored = message => { + isIgnored = (message: TAnyMessageModel): boolean => { const { room } = this.state; - return room?.ignored?.includes?.(message?.u?._id) ?? false; + if ('id' in room) { + return room?.ignored?.includes?.(message?.u?._id) ?? false; + } + return false; }; - onLoadMoreMessages = loaderItem => - RoomServices.getMoreMessages({ - rid: this.rid, + onLoadMoreMessages = (loaderItem: TAnyMessageModel) => { + const { room } = this.state; + return RoomServices.getMoreMessages({ + rid: room.rid, tmid: this.tmid, - t: this.t, + t: room.t as any, loaderItem }); + }; - renderItem = (item, previousItem, highlightedMessage) => { + renderItem = (item: TAnyMessageModel, previousItem: TAnyMessageModel, highlightedMessage?: string) => { const { room, lastOpen, canAutoTranslate } = this.state; - const { user, Message_GroupingPeriod, Message_TimeFormat, useRealName, baseUrl, Message_Read_Receipt_Enabled, theme } = - this.props; + const { user, Message_GroupingPeriod, Message_TimeFormat, useRealName, baseUrl, Message_Read_Receipt_Enabled } = this.props; let dateSeparator = null; let showUnreadSeparator = false; @@ -1004,29 +1153,30 @@ class RoomView extends React.Component { dateSeparator = item.ts; showUnreadSeparator = moment(item.ts).isAfter(lastOpen); } else { - showUnreadSeparator = lastOpen && moment(item.ts).isSameOrAfter(lastOpen) && moment(previousItem.ts).isBefore(lastOpen); + showUnreadSeparator = + (lastOpen && moment(item.ts).isSameOrAfter(lastOpen) && moment(previousItem.ts).isBefore(lastOpen)) ?? false; if (!moment(item.ts).isSame(previousItem.ts, 'day')) { dateSeparator = item.ts; } } let content = null; - if (MESSAGE_TYPE_ANY_LOAD.includes(item.t)) { + if (item.t && MESSAGE_TYPE_ANY_LOAD.includes(item.t as MessageTypeLoad)) { content = ( <LoadMore load={() => this.onLoadMoreMessages(item)} type={item.t} - runOnRender={item.t === MESSAGE_TYPE_LOAD_MORE && !previousItem} + runOnRender={item.t === MessageTypeLoad.MORE && !previousItem} /> ); } else { content = ( <Message item={item} - user={user} + user={user as any} rid={room.rid} - archived={room.archived} - broadcast={room.broadcast} + archived={'id' in room && room.archived} + broadcast={'id' in room && room.broadcast} status={item.status} isThreadRoom={!!this.tmid} isIgnored={this.isIgnored(item)} @@ -1048,8 +1198,8 @@ class RoomView extends React.Component { timeFormat={Message_TimeFormat} useRealName={useRealName} isReadReceiptEnabled={Message_Read_Receipt_Enabled} - autoTranslateRoom={canAutoTranslate && room.autoTranslate} - autoTranslateLanguage={room.autoTranslateLanguage} + autoTranslateRoom={canAutoTranslate && 'id' in room && room.autoTranslate} + autoTranslateLanguage={'id' in room ? room.autoTranslateLanguage : undefined} navToRoomInfo={this.navToRoomInfo} getCustomEmoji={this.getCustomEmoji} callJitsi={this.callJitsi} @@ -1066,7 +1216,7 @@ class RoomView extends React.Component { return ( <> {content} - <Separator ts={dateSeparator} unread={showUnreadSeparator} theme={theme} /> + <Separator ts={dateSeparator} unread={showUnreadSeparator} /> </> ); } @@ -1114,7 +1264,7 @@ class RoomView extends React.Component { </View> ); } - if (isBlocked(room)) { + if ('id' in room && isBlocked(room)) { return ( <View style={styles.readOnly}> <Text style={[styles.previewMode, { color: themes[theme].titleText }]}>{I18n.t('This_room_is_blocked')}</Text> @@ -1147,9 +1297,13 @@ class RoomView extends React.Component { renderActions = () => { const { room, readOnly } = this.state; const { user } = this.props; + if (!('id' in room)) { + return null; + } return ( <> <MessageActions + // @ts-ignore ref={ref => (this.messageActions = ref)} tmid={this.tmid} room={room} @@ -1160,6 +1314,7 @@ class RoomView extends React.Component { onReactionPress={this.onReactionPress} isReadOnly={readOnly} /> + {/* @ts-ignore TODO: missing interface on MessageErrorActions */} <MessageErrorActions ref={ref => (this.messageErrorActions = ref)} tmid={this.tmid} /> </> ); @@ -1169,33 +1324,35 @@ class RoomView extends React.Component { console.count(`${this.constructor.name}.render calls`); const { room, reactionsModalVisible, selectedMessage, loading, reacting, showingBlockingLoader } = this.state; const { user, baseUrl, theme, navigation, Hide_System_Messages, width, height, serverVersion } = this.props; - const { rid, t, sysMes, bannerClosed, announcement } = room; + const { rid, t } = room; + let sysMes; + let bannerClosed; + let announcement; + let tunread; + let ignored; + if ('id' in room) { + ({ sysMes, bannerClosed, announcement, tunread, ignored } = room); + } return ( <SafeAreaView style={{ backgroundColor: themes[theme].backgroundColor }} testID='room-view'> <StatusBar /> - <Banner - rid={rid} - title={I18n.t('Announcement')} - text={announcement} - bannerClosed={bannerClosed} - closeBanner={this.closeBanner} - theme={theme} - /> + <Banner title={I18n.t('Announcement')} text={announcement} bannerClosed={bannerClosed} closeBanner={this.closeBanner} /> <List + // @ts-ignore ref={this.list} listRef={this.flatList} rid={rid} t={t} tmid={this.tmid} theme={theme} - tunread={room?.tunread} - ignored={room?.ignored} + tunread={tunread} + ignored={ignored} renderRow={this.renderItem} loading={loading} navigation={navigation} hideSystemMessages={Array.isArray(sysMes) ? sysMes : Hide_System_Messages} - showMessageInMainThread={user.showMessageInMainThread} + showMessageInMainThread={user.showMessageInMainThread ?? false} serverVersion={serverVersion} /> {this.renderFooter()} @@ -1209,7 +1366,7 @@ class RoomView extends React.Component { height={height} theme={theme} /> - <UploadProgress rid={this.rid} user={user} baseUrl={baseUrl} width={width} /> + <UploadProgress rid={rid} user={user} baseUrl={baseUrl} width={width} /> <ReactionsModal message={selectedMessage} isVisible={reactionsModalVisible} @@ -1217,6 +1374,7 @@ class RoomView extends React.Component { baseUrl={baseUrl} onClose={this.onCloseReactionsModal} getCustomEmoji={this.getCustomEmoji} + theme={theme} /> <JoinCode ref={this.joinCode} onJoin={this.onJoin} rid={rid} t={t} theme={theme} /> <Loading visible={showingBlockingLoader} /> @@ -1225,23 +1383,19 @@ class RoomView extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: IApplicationState) => ({ user: getUserSelector(state), isMasterDetail: state.app.isMasterDetail, appState: state.app.ready && state.app.foreground ? 'foreground' : 'background', - useRealName: state.settings.UI_Use_Real_Name, + useRealName: state.settings.UI_Use_Real_Name as boolean, isAuthenticated: state.login.isAuthenticated, - Message_GroupingPeriod: state.settings.Message_GroupingPeriod, - Message_TimeFormat: state.settings.Message_TimeFormat, + Message_GroupingPeriod: state.settings.Message_GroupingPeriod as number, + Message_TimeFormat: state.settings.Message_TimeFormat as string, customEmojis: state.customEmojis, baseUrl: state.server.server, serverVersion: state.server.version, - Message_Read_Receipt_Enabled: state.settings.Message_Read_Receipt_Enabled, - Hide_System_Messages: state.settings.Hide_System_Messages + Message_Read_Receipt_Enabled: state.settings.Message_Read_Receipt_Enabled as boolean, + Hide_System_Messages: state.settings.Hide_System_Messages as string[] }); -const mapDispatchToProps = dispatch => ({ - replyBroadcast: message => dispatch(replyBroadcastAction(message)) -}); - -export default connect(mapStateToProps, mapDispatchToProps)(withDimensions(withTheme(withSafeAreaInsets(RoomView)))); +export default connect(mapStateToProps)(withDimensions(withTheme(withSafeAreaInsets(RoomView)))); diff --git a/app/views/RoomView/services/getMessageInfo.js b/app/views/RoomView/services/getMessageInfo.js deleted file mode 100644 index e922f4e10..000000000 --- a/app/views/RoomView/services/getMessageInfo.js +++ /dev/null @@ -1,41 +0,0 @@ -import { getMessageById } from '../../../lib/database/services/Message'; -import { getThreadMessageById } from '../../../lib/database/services/ThreadMessage'; -import getSingleMessage from '../../../lib/methods/getSingleMessage'; - -const getMessageInfo = async messageId => { - let result; - result = await getMessageById(messageId); - if (result) { - return { - id: result.id, - rid: result.subscription.id, - tmid: result.tmid, - msg: result.msg - }; - } - - result = await getThreadMessageById(messageId); - if (result) { - return { - id: result.id, - rid: result.subscription.id, - tmid: result.rid, - msg: result.msg - }; - } - - result = await getSingleMessage(messageId); - if (result) { - return { - id: result._id, - rid: result.rid, - tmid: result.tmid, - msg: result.msg, - fromServer: true - }; - } - - return null; -}; - -export default getMessageInfo; diff --git a/app/views/RoomView/services/getMessageInfo.ts b/app/views/RoomView/services/getMessageInfo.ts new file mode 100644 index 000000000..66d85c63a --- /dev/null +++ b/app/views/RoomView/services/getMessageInfo.ts @@ -0,0 +1,41 @@ +import { TMessageModel, TThreadMessageModel } from '../../../definitions'; +import { getMessageById } from '../../../lib/database/services/Message'; +import { getThreadMessageById } from '../../../lib/database/services/ThreadMessage'; +import getSingleMessage from '../../../lib/methods/getSingleMessage'; + +const getMessageInfo = async (messageId: string): Promise<TMessageModel | TThreadMessageModel | any | null> => { + const message = await getMessageById(messageId); + if (message) { + return { + id: message.id, + rid: message?.subscription?.id, + tmid: message.tmid, + msg: message.msg + }; + } + + const threadMessage = await getThreadMessageById(messageId); + if (threadMessage) { + return { + id: threadMessage.id, + rid: threadMessage?.subscription?.id, + tmid: threadMessage.rid, + msg: threadMessage.msg + }; + } + + const singleMessage: any = await getSingleMessage(messageId); + if (singleMessage) { + return { + id: singleMessage._id, + rid: singleMessage.rid, + tmid: singleMessage.tmid, + msg: singleMessage.msg, + fromServer: true + }; + } + + return null; +}; + +export default getMessageInfo; diff --git a/app/views/RoomView/services/getMessages.js b/app/views/RoomView/services/getMessages.js deleted file mode 100644 index 516f68845..000000000 --- a/app/views/RoomView/services/getMessages.js +++ /dev/null @@ -1,10 +0,0 @@ -import RocketChat from '../../../lib/rocketchat'; - -const getMessages = room => { - if (room.lastOpen) { - return RocketChat.loadMissedMessages(room); - } else { - return RocketChat.loadMessagesForRoom(room); - } -}; -export default getMessages; diff --git a/app/views/RoomView/services/getMessages.ts b/app/views/RoomView/services/getMessages.ts new file mode 100644 index 000000000..a50cc2d9c --- /dev/null +++ b/app/views/RoomView/services/getMessages.ts @@ -0,0 +1,23 @@ +import loadMessagesForRoom from '../../../lib/methods/loadMessagesForRoom'; +import loadMissedMessages from '../../../lib/methods/loadMissedMessages'; + +// TODO: clarify latest vs lastOpen +const getMessages = ({ + rid, + t, + latest, + lastOpen, + loaderItem +}: { + rid: string; + t?: string; + latest?: Date; + lastOpen?: Date; + loaderItem?: any; // TODO: type this +}): Promise<void> => { + if (lastOpen) { + return loadMissedMessages({ rid, lastOpen }); + } + return loadMessagesForRoom({ rid, t: t as any, latest, loaderItem }); +}; +export default getMessages; diff --git a/app/views/RoomView/services/getMoreMessages.js b/app/views/RoomView/services/getMoreMessages.js deleted file mode 100644 index eaa1d3d90..000000000 --- a/app/views/RoomView/services/getMoreMessages.js +++ /dev/null @@ -1,27 +0,0 @@ -import { - MESSAGE_TYPE_LOAD_MORE, - MESSAGE_TYPE_LOAD_NEXT_CHUNK, - MESSAGE_TYPE_LOAD_PREVIOUS_CHUNK -} from '../../../constants/messageTypeLoad'; -import RocketChat from '../../../lib/rocketchat'; - -const getMoreMessages = ({ rid, t, tmid, loaderItem }) => { - if ([MESSAGE_TYPE_LOAD_MORE, MESSAGE_TYPE_LOAD_PREVIOUS_CHUNK].includes(loaderItem.t)) { - return RocketChat.loadMessagesForRoom({ - rid, - t, - latest: loaderItem.ts, - loaderItem - }); - } - - if (loaderItem.t === MESSAGE_TYPE_LOAD_NEXT_CHUNK) { - return RocketChat.loadNextMessages({ - rid, - tmid, - ts: loaderItem.ts, - loaderItem - }); - } -}; -export default getMoreMessages; diff --git a/app/views/RoomView/services/getMoreMessages.ts b/app/views/RoomView/services/getMoreMessages.ts new file mode 100644 index 000000000..99e22bbc4 --- /dev/null +++ b/app/views/RoomView/services/getMoreMessages.ts @@ -0,0 +1,36 @@ +import { SubscriptionType, TAnyMessageModel } from '../../../definitions'; +import loadMessagesForRoom from '../../../lib/methods/loadMessagesForRoom'; +import loadNextMessages from '../../../lib/methods/loadNextMessages'; +import { MessageTypeLoad } from '../../../constants/messageTypeLoad'; + +const getMoreMessages = ({ + rid, + t, + tmid, + loaderItem +}: { + rid: string; + t: SubscriptionType; + tmid?: string; + loaderItem: TAnyMessageModel; +}): Promise<void> => { + if ([MessageTypeLoad.MORE, MessageTypeLoad.PREVIOUS_CHUNK].includes(loaderItem.t as MessageTypeLoad)) { + return loadMessagesForRoom({ + rid, + t: t as any, + latest: loaderItem.ts as Date, + loaderItem + }); + } + + if (loaderItem.t === MessageTypeLoad.NEXT_CHUNK) { + return loadNextMessages({ + rid, + tmid, + ts: loaderItem.ts as Date, + loaderItem + }); + } + return Promise.resolve(); +}; +export default getMoreMessages; diff --git a/app/views/RoomView/services/getThreadMessages.js b/app/views/RoomView/services/getThreadMessages.ts similarity index 61% rename from app/views/RoomView/services/getThreadMessages.js rename to app/views/RoomView/services/getThreadMessages.ts index 0f9529cfc..fd4aa20b4 100644 --- a/app/views/RoomView/services/getThreadMessages.js +++ b/app/views/RoomView/services/getThreadMessages.ts @@ -1,6 +1,6 @@ import RocketChat from '../../../lib/rocketchat'; // unlike getMessages, sync isn't required for threads, because loadMissedMessages does it already -const getThreadMessages = (tmid, rid) => RocketChat.loadThreadMessages({ tmid, rid }); +const getThreadMessages = (tmid: string, rid: string): Promise<void> => RocketChat.loadThreadMessages({ tmid, rid }); export default getThreadMessages; diff --git a/app/views/RoomView/services/index.js b/app/views/RoomView/services/index.ts similarity index 100% rename from app/views/RoomView/services/index.js rename to app/views/RoomView/services/index.ts diff --git a/app/views/RoomView/services/readMessages.js b/app/views/RoomView/services/readMessages.js deleted file mode 100644 index 060d9aa7e..000000000 --- a/app/views/RoomView/services/readMessages.js +++ /dev/null @@ -1,5 +0,0 @@ -import RocketChat from '../../../lib/rocketchat'; - -const readMessages = (rid, newLastOpen) => RocketChat.readMessages(rid, newLastOpen, true); - -export default readMessages; diff --git a/app/views/RoomView/services/readMessages.ts b/app/views/RoomView/services/readMessages.ts new file mode 100644 index 000000000..573027d0b --- /dev/null +++ b/app/views/RoomView/services/readMessages.ts @@ -0,0 +1,5 @@ +import RocketChat from '../../../lib/rocketchat'; + +const readMessages = (rid: string, newLastOpen: Date): Promise<void> => RocketChat.readMessages(rid, newLastOpen, true); + +export default readMessages; diff --git a/app/views/RoomView/styles.js b/app/views/RoomView/styles.ts similarity index 100% rename from app/views/RoomView/styles.js rename to app/views/RoomView/styles.ts diff --git a/app/views/RoomsListView/Header/Header.js b/app/views/RoomsListView/Header/Header.tsx similarity index 77% rename from app/views/RoomsListView/Header/Header.js rename to app/views/RoomsListView/Header/Header.tsx index 65aa36792..581cfacf8 100644 --- a/app/views/RoomsListView/Header/Header.js +++ b/app/views/RoomsListView/Header/Header.tsx @@ -1,6 +1,5 @@ import React from 'react'; -import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'; -import PropTypes from 'prop-types'; +import { StyleSheet, Text, TextInputProps, TouchableOpacity, TouchableOpacityProps, View } from 'react-native'; import TextInput from '../../../presentation/TextInput'; import I18n from '../../../i18n'; @@ -9,6 +8,7 @@ import { themes } from '../../../constants/colors'; import { CustomIcon } from '../../../lib/Icons'; import { isIOS, isTablet } from '../../../utils/deviceInfo'; import { useOrientation } from '../../../dimensions'; +import { useTheme } from '../../../theme'; const styles = StyleSheet.create({ container: { @@ -31,19 +31,31 @@ const styles = StyleSheet.create({ } }); +interface IRoomHeader { + connecting: boolean; + connected: boolean; + isFetching: boolean; + serverName: string; + server: string; + showServerDropdown: boolean; + showSearchHeader: boolean; + onSearchChangeText: TextInputProps['onChangeText']; + onPress: TouchableOpacityProps['onPress']; +} + const Header = React.memo( ({ connecting, connected, isFetching, - serverName, + serverName = 'Rocket.Chat', server, showServerDropdown, showSearchHeader, - theme, onSearchChangeText, onPress - }) => { + }: IRoomHeader) => { + const { theme } = useTheme(); const titleColorStyle = { color: themes[theme].headerTitleColor }; const isLight = theme === 'light'; const { isLandscape } = useOrientation(); @@ -79,9 +91,7 @@ const Header = React.memo( <View style={styles.container}> <TouchableOpacity onPress={onPress} testID='rooms-list-header-server-dropdown-button'> <View style={styles.button}> - <Text - style={[styles.title, isFetching && styles.serverSmall, titleColorStyle, { fontSize: titleFontSize }]} - numberOfLines={1}> + <Text style={[styles.title, titleColorStyle, { fontSize: titleFontSize }]} numberOfLines={1}> {serverName} </Text> <CustomIcon @@ -105,21 +115,4 @@ const Header = React.memo( } ); -Header.propTypes = { - showServerDropdown: PropTypes.bool.isRequired, - showSearchHeader: PropTypes.bool.isRequired, - onPress: PropTypes.func.isRequired, - onSearchChangeText: PropTypes.func.isRequired, - connecting: PropTypes.bool, - connected: PropTypes.bool, - isFetching: PropTypes.bool, - serverName: PropTypes.string, - server: PropTypes.string, - theme: PropTypes.string -}; - -Header.defaultProps = { - serverName: 'Rocket.Chat' -}; - export default Header; diff --git a/app/views/RoomsListView/Header/index.js b/app/views/RoomsListView/Header/index.tsx similarity index 70% rename from app/views/RoomsListView/Header/index.js rename to app/views/RoomsListView/Header/index.tsx index e77358784..a963fed4a 100644 --- a/app/views/RoomsListView/Header/index.js +++ b/app/views/RoomsListView/Header/index.tsx @@ -1,27 +1,29 @@ import React, { PureComponent } from 'react'; -import PropTypes from 'prop-types'; import { connect } from 'react-redux'; +import { Dispatch } from 'redux'; import { toggleServerDropdown, closeServerDropdown, setSearch } from '../../../actions/rooms'; import { withTheme } from '../../../theme'; import EventEmitter from '../../../utils/events'; -import { KEY_COMMAND, handleCommandOpenServerDropdown } from '../../../commands'; +import { KEY_COMMAND, handleCommandOpenServerDropdown, IKeyCommandEvent } from '../../../commands'; import { isTablet } from '../../../utils/deviceInfo'; import { events, logEvent } from '../../../utils/log'; import Header from './Header'; +import { IApplicationState } from '../../../definitions'; -class RoomsListHeaderView extends PureComponent { - static propTypes = { - showServerDropdown: PropTypes.bool, - showSearchHeader: PropTypes.bool, - serverName: PropTypes.string, - connecting: PropTypes.bool, - connected: PropTypes.bool, - isFetching: PropTypes.bool, - theme: PropTypes.string, - server: PropTypes.string - }; +interface IRoomsListHeaderViewProps { + showServerDropdown: boolean; + showSearchHeader: boolean; + serverName: string; + connecting: boolean; + connected: boolean; + isFetching: boolean; + theme: string; + server: string; + dispatch: Dispatch; +} +class RoomsListHeaderView extends PureComponent<IRoomsListHeaderViewProps, any> { componentDidMount() { if (isTablet) { EventEmitter.addEventListener(KEY_COMMAND, this.handleCommands); @@ -35,13 +37,13 @@ class RoomsListHeaderView extends PureComponent { } // eslint-disable-next-line react/sort-comp - handleCommands = ({ event }) => { + handleCommands = ({ event }: { event: IKeyCommandEvent }) => { if (handleCommandOpenServerDropdown(event)) { this.onPress(); } }; - onSearchChangeText = text => { + onSearchChangeText = (text: string) => { const { dispatch } = this.props; dispatch(setSearch(text.trim())); }; @@ -57,11 +59,10 @@ class RoomsListHeaderView extends PureComponent { }; render() { - const { serverName, showServerDropdown, showSearchHeader, connecting, connected, isFetching, theme, server } = this.props; + const { serverName, showServerDropdown, showSearchHeader, connecting, connected, isFetching, server } = this.props; return ( <Header - theme={theme} serverName={serverName} server={server} showServerDropdown={showServerDropdown} @@ -76,13 +77,13 @@ class RoomsListHeaderView extends PureComponent { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: IApplicationState) => ({ showServerDropdown: state.rooms.showServerDropdown, showSearchHeader: state.rooms.showSearchHeader, connecting: state.meteor.connecting || state.server.loading, connected: state.meteor.connected, isFetching: state.rooms.isFetching, - serverName: state.settings.Site_Name, + serverName: state.settings.Site_Name as string, server: state.server.server }); diff --git a/app/views/RoomsListView/ListHeader/index.js b/app/views/RoomsListView/ListHeader/index.tsx similarity index 72% rename from app/views/RoomsListView/ListHeader/index.js rename to app/views/RoomsListView/ListHeader/index.tsx index b1aced177..ad9e00eb5 100644 --- a/app/views/RoomsListView/ListHeader/index.js +++ b/app/views/RoomsListView/ListHeader/index.tsx @@ -1,18 +1,32 @@ import React from 'react'; -import PropTypes from 'prop-types'; -import { withTheme } from '../../../theme'; +import { useTheme } from '../../../theme'; import * as List from '../../../containers/List'; import { E2E_BANNER_TYPE } from '../../../lib/encryption/constants'; import { themes } from '../../../constants/colors'; import OmnichannelStatus from '../../../ee/omnichannel/containers/OmnichannelStatus'; +import { IUser } from '../../../definitions'; + +export type TEncryptionBanner = 'REQUEST_PASSWORD' | 'SAVE_PASSWORD'; + +interface IRoomListHeader { + searching: boolean; + goEncryption: () => void; + goQueue: () => void; + queueSize: number; + inquiryEnabled: boolean; + encryptionBanner: TEncryptionBanner; + user: IUser; +} const ListHeader = React.memo( - ({ searching, goEncryption, goQueue, queueSize, inquiryEnabled, encryptionBanner, user, theme }) => { + ({ searching, goEncryption, goQueue, queueSize, inquiryEnabled, encryptionBanner, user }: IRoomListHeader) => { if (searching) { return null; } + const { theme } = useTheme(); + return ( <> {encryptionBanner ? ( @@ -46,15 +60,4 @@ const ListHeader = React.memo( } ); -ListHeader.propTypes = { - searching: PropTypes.bool, - goEncryption: PropTypes.func, - goQueue: PropTypes.func, - queueSize: PropTypes.number, - inquiryEnabled: PropTypes.bool, - encryptionBanner: PropTypes.string, - user: PropTypes.object, - theme: PropTypes.string -}; - -export default withTheme(ListHeader); +export default ListHeader; diff --git a/app/views/RoomsListView/ServerDropdown.js b/app/views/RoomsListView/ServerDropdown.tsx similarity index 83% rename from app/views/RoomsListView/ServerDropdown.js rename to app/views/RoomsListView/ServerDropdown.tsx index 2596fc361..299928100 100644 --- a/app/views/RoomsListView/ServerDropdown.js +++ b/app/views/RoomsListView/ServerDropdown.tsx @@ -1,8 +1,8 @@ import React, { Component } from 'react'; import { View, Text, Animated, Easing, TouchableWithoutFeedback, TouchableOpacity, FlatList, Linking } from 'react-native'; -import PropTypes from 'prop-types'; import { batch, connect } from 'react-redux'; import { withSafeAreaInsets } from 'react-native-safe-area-context'; +import { Subscription } from 'rxjs'; import * as List from '../../containers/List'; import Button from '../../containers/Button'; @@ -16,7 +16,7 @@ import ServerItem from '../../presentation/ServerItem'; import database from '../../lib/database'; import { themes } from '../../constants/colors'; import { withTheme } from '../../theme'; -import { KEY_COMMAND, handleCommandSelectServer } from '../../commands'; +import { KEY_COMMAND, handleCommandSelectServer, IKeyCommandEvent } from '../../commands'; import { isTablet } from '../../utils/deviceInfo'; import { localAuthenticate } from '../../utils/localAuthentication'; import { showConfirmationAlert } from '../../utils/info'; @@ -24,24 +24,32 @@ import log, { events, logEvent } from '../../utils/log'; import { headerHeight } from '../../containers/Header'; import { goRoom } from '../../utils/goRoom'; import UserPreferences from '../../lib/userPreferences'; -import { RootEnum } from '../../definitions'; - +import { IApplicationState, IBaseScreen, RootEnum, TServerModel } from '../../definitions'; import styles from './styles'; +import { ChatsStackParamList } from '../../stacks/types'; const ROW_HEIGHT = 68; const ANIMATION_DURATION = 200; -class ServerDropdown extends Component { - static propTypes = { - navigation: PropTypes.object, - insets: PropTypes.object, - closeServerDropdown: PropTypes.bool, - server: PropTypes.string, - theme: PropTypes.string, - isMasterDetail: PropTypes.bool +interface IServerDropdownProps extends IBaseScreen<ChatsStackParamList, 'RoomsListView'> { + insets?: { + top: number; }; + closeServerDropdown: boolean; + server: string; + isMasterDetail: boolean; +} - constructor(props) { +interface IServerDropdownState { + servers: TServerModel[]; +} + +class ServerDropdown extends Component<IServerDropdownProps, IServerDropdownState> { + private animatedValue: Animated.Value; + private subscription?: Subscription; + private newServerTimeout?: ReturnType<typeof setTimeout> | false; + + constructor(props: IServerDropdownProps) { super(props); this.state = { servers: [] }; this.animatedValue = new Animated.Value(0); @@ -66,7 +74,7 @@ class ServerDropdown extends Component { } } - componentDidUpdate(prevProps) { + componentDidUpdate(prevProps: IServerDropdownProps) { const { closeServerDropdown } = this.props; if (prevProps.closeServerDropdown !== closeServerDropdown) { this.close(); @@ -105,7 +113,7 @@ class ServerDropdown extends Component { } }; - navToNewServer = previousServer => { + navToNewServer = (previousServer: string) => { const { dispatch } = this.props; batch(() => { dispatch(appStart({ root: RootEnum.ROOT_OUTSIDE })); @@ -122,12 +130,12 @@ class ServerDropdown extends Component { }, ANIMATION_DURATION); }; - select = async (server, version) => { + select = async (server: string, version?: string) => { const { server: currentServer, dispatch, isMasterDetail } = this.props; this.close(); if (currentServer !== server) { logEvent(events.RL_CHANGE_SERVER); - const userId = await UserPreferences.getStringAsync(`${RocketChat.TOKEN_KEY}-${server}`); + const userId = UserPreferences.getString(`${RocketChat.TOKEN_KEY}-${server}`); if (isMasterDetail) { goRoom({ item: {}, isMasterDetail }); } @@ -145,7 +153,7 @@ class ServerDropdown extends Component { } }; - remove = server => + remove = (server: string) => showConfirmationAlert({ message: I18n.t('This_will_remove_all_data_from_this_server'), confirmationText: I18n.t('Delete'), @@ -159,10 +167,10 @@ class ServerDropdown extends Component { } }); - handleCommands = ({ event }) => { + handleCommands = ({ event }: { event: IKeyCommandEvent }) => { const { servers } = this.state; const { navigation } = this.props; - const { input } = event; + const { input } = event as unknown as { input: number }; if (handleCommandSelectServer(event)) { if (servers[input - 1]) { this.select(servers[input - 1].id); @@ -171,7 +179,7 @@ class ServerDropdown extends Component { } }; - renderServer = ({ item }) => { + renderServer = ({ item }: { item: { id: string; iconURL: string; name: string; version: string } }) => { const { server, theme } = this.props; return ( @@ -255,7 +263,7 @@ class ServerDropdown extends Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: IApplicationState) => ({ closeServerDropdown: state.rooms.closeServerDropdown, server: state.server.server, isMasterDetail: state.app.isMasterDetail diff --git a/app/views/RoomsListView/index.js b/app/views/RoomsListView/index.tsx similarity index 82% rename from app/views/RoomsListView/index.js rename to app/views/RoomsListView/index.tsx index 0ca1e5fe1..24c6414d1 100644 --- a/app/views/RoomsListView/index.js +++ b/app/views/RoomsListView/index.tsx @@ -1,11 +1,12 @@ import React from 'react'; -import PropTypes from 'prop-types'; -import { BackHandler, FlatList, Keyboard, RefreshControl, Text, View } from 'react-native'; +import { BackHandler, FlatList, Keyboard, NativeEventSubscription, RefreshControl, Text, View } from 'react-native'; import { batch, connect } from 'react-redux'; import { dequal } from 'dequal'; import Orientation from 'react-native-orientation-locker'; import { Q } from '@nozbe/watermelondb'; import { withSafeAreaInsets } from 'react-native-safe-area-context'; +import { Subscription } from 'rxjs'; +import { StackNavigationOptions } from '@react-navigation/stack'; import database from '../../lib/database'; import RocketChat from '../../lib/rocketchat'; @@ -32,7 +33,8 @@ import { handleCommandSearching, handleCommandSelectRoom, handleCommandShowNewMessage, - handleCommandShowPreferences + handleCommandShowPreferences, + IKeyCommandEvent } from '../../commands'; import { MAX_SIDEBAR_WIDTH } from '../../constants/tablet'; import { getUserSelector } from '../../selectors/login'; @@ -44,12 +46,63 @@ import { showConfirmationAlert, showErrorAlert } from '../../utils/info'; import { E2E_BANNER_TYPE } from '../../lib/encryption/constants'; import { getInquiryQueueSelector } from '../../ee/omnichannel/selectors/inquiry'; import { changeLivechatStatus, isOmnichannelStatusAvailable } from '../../ee/omnichannel/lib'; -import { RootEnum } from '../../definitions'; +import { IApplicationState, IBaseScreen, ISubscription, IUser, RootEnum, TSubscriptionModel } from '../../definitions'; import { DisplayMode, SortBy } from '../../constants/constantDisplayMode'; import styles from './styles'; import ServerDropdown from './ServerDropdown'; -import ListHeader from './ListHeader'; +import ListHeader, { TEncryptionBanner } from './ListHeader'; import RoomsListHeaderView from './Header'; +import { ChatsStackParamList } from '../../stacks/types'; +import { RoomTypes } from '../../lib/rocketchat/methods/roomTypeToApiType'; + +interface IRoomsListViewProps extends IBaseScreen<ChatsStackParamList, 'RoomsListView'> { + [key: string]: any; + user: IUser; + server: string; + searchText: string; + changingServer: boolean; + loadingServer: boolean; + showServerDropdown: boolean; + sortBy: string; + groupByType: boolean; + showFavorites: boolean; + showUnread: boolean; + refreshing: boolean; + StoreLastMessage: boolean; + useRealName: boolean; + isMasterDetail: boolean; + rooms: ISubscription[]; + width: number; + insets: { + left: number; + right: number; + }; + queueSize: number; + inquiryEnabled: boolean; + encryptionBanner: TEncryptionBanner; + showAvatar: boolean; + displayMode: string; + createTeamPermission: []; + createDirectMessagePermission: []; + createPublicChannelPermission: []; + createPrivateChannelPermission: []; + createDiscussionPermission: []; +} + +interface IRoomsListViewState { + searching: boolean; + search: ISubscription[]; + loading: boolean; + chatsUpdate: []; + chats: ISubscription[]; + item: ISubscription; + canCreateRoom: boolean; +} + +interface IRoomItem extends ISubscription { + search?: boolean; + outside?: boolean; +} const INITIAL_NUM_TO_RENDER = isTablet ? 20 : 12; const CHATS_HEADER = 'Chats'; @@ -62,11 +115,11 @@ const DM_HEADER = 'Direct_Messages'; const OMNICHANNEL_HEADER = 'Open_Livechats'; const QUERY_SIZE = 20; -const filterIsUnread = s => (s.unread > 0 || s.tunread?.length > 0 || s.alert) && !s.hideUnreadStatus; -const filterIsFavorite = s => s.f; -const filterIsOmnichannel = s => s.t === 'l'; -const filterIsTeam = s => s.teamMain; -const filterIsDiscussion = s => s.prid; +const filterIsUnread = (s: TSubscriptionModel) => (s.unread > 0 || s.tunread?.length > 0 || s.alert) && !s.hideUnreadStatus; +const filterIsFavorite = (s: TSubscriptionModel) => s.f; +const filterIsOmnichannel = (s: TSubscriptionModel) => s.t === 'l'; +const filterIsTeam = (s: TSubscriptionModel) => s.teamMain; +const filterIsDiscussion = (s: TSubscriptionModel) => s.prid; const shouldUpdateProps = [ 'searchText', @@ -91,53 +144,27 @@ const sortPreferencesShouldUpdate = ['sortBy', 'groupByType', 'showFavorites', ' const displayPropsShouldUpdate = ['showAvatar', 'displayMode']; -const getItemLayout = (data, index, height) => ({ +const getItemLayout = (data: ISubscription[] | null | undefined, index: number, height: number) => ({ length: height, offset: height * index, index }); -const keyExtractor = item => item.rid; +const keyExtractor = (item: ISubscription) => item.rid; -class RoomsListView extends React.Component { - static propTypes = { - navigation: PropTypes.object, - user: PropTypes.shape({ - id: PropTypes.string, - username: PropTypes.string, - token: PropTypes.string, - statusLivechat: PropTypes.string, - roles: PropTypes.array - }), - server: PropTypes.string, - searchText: PropTypes.string, - changingServer: PropTypes.bool, - loadingServer: PropTypes.bool, - showServerDropdown: PropTypes.bool, - sortBy: PropTypes.string, - groupByType: PropTypes.bool, - showFavorites: PropTypes.bool, - showUnread: PropTypes.bool, - refreshing: PropTypes.bool, - StoreLastMessage: PropTypes.bool, - theme: PropTypes.string, - useRealName: PropTypes.bool, - isMasterDetail: PropTypes.bool, - rooms: PropTypes.array, - width: PropTypes.number, - insets: PropTypes.object, - queueSize: PropTypes.number, - inquiryEnabled: PropTypes.bool, - encryptionBanner: PropTypes.string, - showAvatar: PropTypes.bool, - displayMode: PropTypes.string, - createTeamPermission: PropTypes.array, - createDirectMessagePermission: PropTypes.array, - createPublicChannelPermission: PropTypes.array, - createPrivateChannelPermission: PropTypes.array, - createDiscussionPermission: PropTypes.array - }; +class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewState> { + private animated: boolean; + private mounted: boolean; + private count: number; + private unsubscribeFocus?: () => void; + private unsubscribeBlur?: () => void; + private sortPreferencesChanged?: boolean; + private shouldUpdate?: boolean; + private backHandler?: NativeEventSubscription; + private querySubscription?: Subscription; + private scroll?: FlatList; + private useRealName?: boolean; - constructor(props) { + constructor(props: IRoomsListViewProps) { super(props); console.time(`${this.constructor.name} init`); console.time(`${this.constructor.name} mount`); @@ -151,7 +178,7 @@ class RoomsListView extends React.Component { loading: true, chatsUpdate: [], chats: [], - item: {}, + item: {} as ISubscription, canCreateRoom: false }; this.setHeader(); @@ -192,7 +219,7 @@ class RoomsListView extends React.Component { console.timeEnd(`${this.constructor.name} mount`); } - UNSAFE_componentWillReceiveProps(nextProps) { + UNSAFE_componentWillReceiveProps(nextProps: IRoomsListViewProps) { const { loadingServer, searchText, server, changingServer } = this.props; // when the server is changed @@ -208,7 +235,7 @@ class RoomsListView extends React.Component { } } - shouldComponentUpdate(nextProps, nextState) { + shouldComponentUpdate(nextProps: IRoomsListViewProps, nextState: IRoomsListViewState) { const { chatsUpdate, searching, item, canCreateRoom } = this.state; // eslint-disable-next-line react/destructuring-assignment const propsUpdated = shouldUpdateProps.some(key => nextProps[key] !== this.props[key]); @@ -280,7 +307,7 @@ class RoomsListView extends React.Component { return false; } - componentDidUpdate(prevProps) { + componentDidUpdate(prevProps: IRoomsListViewProps) { const { sortBy, groupByType, @@ -312,8 +339,9 @@ class RoomsListView extends React.Component { this.getSubscriptions(); } // Update current item in case of another action triggers an update on rooms reducer - if (isMasterDetail && item?.rid !== rooms[0] && !dequal(rooms, prevProps.rooms)) { + if (isMasterDetail && rooms[0] && item?.rid !== rooms[0].rid && !dequal(rooms, prevProps.rooms)) { // eslint-disable-next-line react/no-did-update-set-state + // @ts-ignore this.setState({ item: { rid: rooms[0] } }); } if (insets.left !== prevProps.insets.left || insets.right !== prevProps.insets.right) { @@ -365,13 +393,13 @@ class RoomsListView extends React.Component { createDiscussionPermission ]; const permissionsToCreate = await RocketChat.hasPermission(permissions); - const canCreateRoom = permissionsToCreate.filter(r => r === true).length > 0; + const canCreateRoom = permissionsToCreate.filter((r: boolean) => r === true).length > 0; this.setState({ canCreateRoom }, () => this.setHeader()); }; getHeader = () => { const { searching, canCreateRoom } = this.state; - const { navigation, isMasterDetail, insets } = this.props; + const { navigation, isMasterDetail, insets, theme } = this.props; const headerTitlePosition = getHeaderTitlePosition({ insets, numIconsRight: searching ? 0 : 3 }); return { @@ -388,11 +416,12 @@ class RoomsListView extends React.Component { onPress={ isMasterDetail ? () => navigation.navigate('ModalStackNavigator', { screen: 'SettingsView' }) - : () => navigation.toggleDrawer() + : // @ts-ignore + () => navigation.toggleDrawer() } /> ), - headerTitle: () => <RoomsListHeaderView />, + headerTitle: () => <RoomsListHeaderView theme={theme} />, headerTitleContainerStyle: { left: headerTitlePosition.left, right: headerTitlePosition.right @@ -412,21 +441,23 @@ class RoomsListView extends React.Component { setHeader = () => { const { navigation } = this.props; - const options = this.getHeader(); + const options = this.getHeader() as Partial<StackNavigationOptions>; navigation.setOptions(options); }; - internalSetState = (...args) => { + // internalSetState = (...args: { chats: TSubscriptionModel; chatsUpdate: TSubscriptionModel; loading: boolean }[]) => { + internalSetState = (...args: any) => { if (this.animated) { animateNextTransition(); } + // @ts-ignore this.setState(...args); }; - addRoomsGroup = (data, header, allData) => { + addRoomsGroup = (data: TSubscriptionModel[], header: string, allData: TSubscriptionModel[]) => { if (data.length > 0) { if (header) { - allData.push({ rid: header, separator: true }); + allData.push({ rid: header, separator: true } as TSubscriptionModel); } allData = allData.concat(data); } @@ -441,7 +472,7 @@ class RoomsListView extends React.Component { const db = database.active; let observable; - const defaultWhereClause = [Q.where('archived', false), Q.where('open', true)]; + const defaultWhereClause = [Q.where('archived', false), Q.where('open', true)] as (Q.WhereDescription | Q.SortBy)[]; if (sortBy === SortBy.Alphabetical) { defaultWhereClause.push(Q.experimentalSortBy(`${this.useRealName ? 'fname' : 'name'}`, Q.asc)); @@ -466,7 +497,7 @@ class RoomsListView extends React.Component { } this.querySubscription = observable.subscribe(data => { - let tempChats = []; + let tempChats = [] as TSubscriptionModel[]; let chats = data; let chatsUpdate = []; @@ -528,8 +559,11 @@ class RoomsListView extends React.Component { loading: false }); } else { + // @ts-ignore this.state.chats = tempChats; + // @ts-ignore this.state.chatsUpdate = chatsUpdate; + // @ts-ignore this.state.loading = false; } }); @@ -580,7 +614,7 @@ class RoomsListView extends React.Component { }; // eslint-disable-next-line react/sort-comp - search = debounce(async text => { + search = debounce(async (text: string) => { const result = await RocketChat.search({ text }); // if the search was cancelled before the promise is resolved @@ -595,26 +629,26 @@ class RoomsListView extends React.Component { this.scrollToTop(); }, 300); - getRoomTitle = item => RocketChat.getRoomTitle(item); + getRoomTitle = (item: ISubscription) => RocketChat.getRoomTitle(item); - getRoomAvatar = item => RocketChat.getRoomAvatar(item); + getRoomAvatar = (item: ISubscription) => RocketChat.getRoomAvatar(item); - isGroupChat = item => RocketChat.isGroupChat(item); + isGroupChat = (item: ISubscription) => RocketChat.isGroupChat(item); - isRead = item => RocketChat.isRead(item); + isRead = (item: ISubscription) => RocketChat.isRead(item); - isSwipeEnabled = item => !(item?.search || item?.joinCodeRequired || item?.outside); + isSwipeEnabled = (item: IRoomItem) => !(item?.search || item?.joinCodeRequired || item?.outside); - getUserPresence = uid => RocketChat.getUserPresence(uid); + getUserPresence = (uid: string) => RocketChat.getUserPresence(uid); - getUidDirectMessage = room => RocketChat.getUidDirectMessage(room); + getUidDirectMessage = (room: ISubscription) => RocketChat.getUidDirectMessage(room); get isGrouping() { const { showUnread, showFavorites, groupByType } = this.props; return showUnread || showFavorites || groupByType; } - onPressItem = (item = {}) => { + onPressItem = (item = {} as ISubscription) => { const { navigation, isMasterDetail } = this.props; if (!navigation.isFocused()) { return; @@ -630,14 +664,14 @@ class RoomsListView extends React.Component { } }; - toggleFav = async (rid, favorite) => { + toggleFav = async (rid: string, favorite: boolean) => { logEvent(favorite ? events.RL_UNFAVORITE_CHANNEL : events.RL_FAVORITE_CHANNEL); try { const db = database.active; const result = await RocketChat.toggleFavorite(rid, !favorite); if (result.success) { const subCollection = db.get('subscriptions'); - await db.action(async () => { + await db.write(async () => { try { const subRecord = await subCollection.find(rid); await subRecord.update(sub => { @@ -649,12 +683,12 @@ class RoomsListView extends React.Component { }); } } catch (e) { - logEvent(events.RL_TOGGLE_FAVORITE_FAIL); + logEvent(events.RL_TOGGLE_FAVORITE_F); log(e); } }; - toggleRead = async (rid, isRead) => { + toggleRead = async (rid: string, isRead: boolean) => { logEvent(isRead ? events.RL_UNREAD_CHANNEL : events.RL_READ_CHANNEL); try { const db = database.active; @@ -662,7 +696,7 @@ class RoomsListView extends React.Component { if (result.success) { const subCollection = db.get('subscriptions'); - await db.action(async () => { + await db.write(async () => { try { const subRecord = await subCollection.find(rid); await subRecord.update(sub => { @@ -680,14 +714,14 @@ class RoomsListView extends React.Component { } }; - hideChannel = async (rid, type) => { + hideChannel = async (rid: string, type: RoomTypes) => { logEvent(events.RL_HIDE_CHANNEL); try { const db = database.active; const result = await RocketChat.hideRoom(rid, type); if (result.success) { const subCollection = db.get('subscriptions'); - await db.action(async () => { + await db.write(async () => { try { const subRecord = await subCollection.find(rid); await subRecord.destroyPermanently(); @@ -745,10 +779,11 @@ class RoomsListView extends React.Component { } }; - goRoom = ({ item, isMasterDetail }) => { + goRoom = ({ item, isMasterDetail }: { item: ISubscription; isMasterDetail: boolean }) => { logEvent(events.RL_GO_ROOM); const { item: currentItem } = this.state; const { rooms } = this.props; + // @ts-ignore if (currentItem?.rid === item.rid || rooms?.includes(item.rid)) { return; } @@ -759,7 +794,7 @@ class RoomsListView extends React.Component { goRoom({ item, isMasterDetail }); }; - goRoomByIndex = index => { + goRoomByIndex = (index: number) => { const { chats } = this.state; const { isMasterDetail } = this.props; const filteredChats = chats.filter(c => !c.separator); @@ -769,7 +804,7 @@ class RoomsListView extends React.Component { } }; - findOtherRoom = (index, sign) => { + findOtherRoom = (index: number, sign: number): ISubscription | void => { const { chats } = this.state; const otherIndex = index + sign; const otherRoom = chats[otherIndex]; @@ -778,14 +813,13 @@ class RoomsListView extends React.Component { } if (otherRoom.separator) { return this.findOtherRoom(otherIndex, sign); - } else { - return otherRoom; } + return otherRoom; }; // Go to previous or next room based on sign (-1 or 1) // It's used by iPad key commands - goOtherRoom = sign => { + goOtherRoom = (sign: number) => { const { item } = this.state; if (!item) { return; @@ -831,7 +865,7 @@ class RoomsListView extends React.Component { } }; - handleCommands = ({ event }) => { + handleCommands = ({ event }: { event: IKeyCommandEvent }) => { const { navigation, server, isMasterDetail, dispatch } = this.props; const { input } = event; if (handleCommandShowPreferences(event)) { @@ -874,7 +908,7 @@ class RoomsListView extends React.Component { } }; - getScrollRef = ref => (this.scroll = ref); + getScrollRef = (ref: FlatList) => (this.scroll = ref); renderListHeader = () => { const { searching } = this.state; @@ -903,7 +937,7 @@ class RoomsListView extends React.Component { return <Header {...options} />; }; - renderItem = ({ item }) => { + renderItem = ({ item }: { item: ISubscription }) => { if (item.separator) { return this.renderSectionHeader(item.rid); } @@ -950,7 +984,7 @@ class RoomsListView extends React.Component { ); }; - renderSectionHeader = header => { + renderSectionHeader = (header: string) => { const { theme } = this.props; return ( <View style={[styles.groupTitleContainer, { backgroundColor: themes[theme].backgroundColor }]}> @@ -966,7 +1000,7 @@ class RoomsListView extends React.Component { const height = displayMode === DisplayMode.Condensed ? ROW_HEIGHT_CONDENSED : ROW_HEIGHT; if (loading) { - return <ActivityIndicator theme={theme} />; + return <ActivityIndicator />; } return ( @@ -1001,13 +1035,15 @@ class RoomsListView extends React.Component { <StatusBar /> {this.renderHeader()} {this.renderScroll()} - {showServerDropdown ? <ServerDropdown navigation={navigation} /> : null} + {/* TODO - this ts-ignore is here because the route props, on IBaseScreen*/} + {/* @ts-ignore*/} + {showServerDropdown ? <ServerDropdown navigation={navigation} theme={theme} /> : null} </SafeAreaView> ); }; } -const mapStateToProps = state => ({ +const mapStateToProps = (state: IApplicationState) => ({ user: getUserSelector(state), isMasterDetail: state.app.isMasterDetail, server: state.server.server, diff --git a/app/views/RoomsListView/styles.js b/app/views/RoomsListView/styles.ts similarity index 96% rename from app/views/RoomsListView/styles.js rename to app/views/RoomsListView/styles.ts index 8c94c5fdb..8f17a5ef1 100644 --- a/app/views/RoomsListView/styles.js +++ b/app/views/RoomsListView/styles.ts @@ -22,7 +22,7 @@ export default StyleSheet.create({ borderBottomWidth: StyleSheet.hairlineWidth }, backdrop: { - ...StyleSheet.absoluteFill + ...StyleSheet.absoluteFillObject }, queueIcon: { marginHorizontal: 12 diff --git a/app/views/ScreenLockConfigView.tsx b/app/views/ScreenLockConfigView.tsx index 57060bfe9..e7ae0cf45 100644 --- a/app/views/ScreenLockConfigView.tsx +++ b/app/views/ScreenLockConfigView.tsx @@ -92,7 +92,7 @@ class ScreenLockConfigView extends React.Component<IScreenLockConfigViewProps, I const { server } = this.props; const serversDB = database.servers; const serversCollection = serversDB.get('servers'); - const hasBiometry = (await userPreferences.getBoolAsync(BIOMETRY_ENABLED_KEY)) ?? DEFAULT_BIOMETRY; + const hasBiometry = userPreferences.getBool(BIOMETRY_ENABLED_KEY) ?? DEFAULT_BIOMETRY; try { this.serverRecord = await serversCollection.find(server); this.setState({ @@ -147,9 +147,9 @@ class ScreenLockConfigView extends React.Component<IScreenLockConfigViewProps, I logEvent(events.SLC_TOGGLE_BIOMETRY); this.setState( ({ biometry }) => ({ biometry: !biometry }), - async () => { + () => { const { biometry } = this.state; - await userPreferences.setBoolAsync(BIOMETRY_ENABLED_KEY, biometry); + userPreferences.setBool(BIOMETRY_ENABLED_KEY, biometry); } ); }; diff --git a/app/views/ScreenLockedView.tsx b/app/views/ScreenLockedView.tsx index 6e20152b5..c6e2efa0a 100644 --- a/app/views/ScreenLockedView.tsx +++ b/app/views/ScreenLockedView.tsx @@ -4,7 +4,6 @@ import useDeepCompareEffect from 'use-deep-compare-effect'; import isEmpty from 'lodash/isEmpty'; import Orientation from 'react-native-orientation-locker'; -import { useTheme } from '../theme'; import EventEmitter from '../utils/events'; import { LOCAL_AUTHENTICATE_EMITTER } from '../constants/localAuthentication'; import { isTablet } from '../utils/deviceInfo'; @@ -19,8 +18,6 @@ const ScreenLockedView = (): JSX.Element => { const [visible, setVisible] = useState(false); const [data, setData] = useState<IData>({}); - const { theme } = useTheme(); - useDeepCompareEffect(() => { if (!isEmpty(data)) { setVisible(true); @@ -62,7 +59,7 @@ const ScreenLockedView = (): JSX.Element => { style={{ margin: 0 }} animationIn='fadeIn' animationOut='fadeOut'> - <PasscodeEnter theme={theme} hasBiometry={!!data?.hasBiometry} finishProcess={onSubmit} /> + <PasscodeEnter hasBiometry={!!data?.hasBiometry} finishProcess={onSubmit} /> </Modal> ); }; diff --git a/app/views/SearchMessagesView/index.tsx b/app/views/SearchMessagesView/index.tsx index 2da0c7a62..585bf76aa 100644 --- a/app/views/SearchMessagesView/index.tsx +++ b/app/views/SearchMessagesView/index.tsx @@ -27,12 +27,11 @@ import * as HeaderButton from '../../containers/HeaderButton'; import database from '../../lib/database'; import { sanitizeLikeString } from '../../lib/database/utils'; import getThreadName from '../../lib/methods/getThreadName'; -import getRoomInfo from '../../lib/methods/getRoomInfo'; +import getRoomInfo, { IRoomInfoResult } from '../../lib/methods/getRoomInfo'; import { isIOS } from '../../utils/deviceInfo'; import { compareServerVersion } from '../../lib/utils'; import styles from './styles'; import { InsideStackParamList, ChatsStackParamList } from '../../stacks/types'; -import { IRoom } from '../../definitions'; import { IEmoji } from '../../definitions/IEmoji'; const QUERY_SIZE = 50; @@ -82,7 +81,7 @@ class SearchMessagesView extends React.Component<ISearchMessagesViewProps, ISear private encrypted: boolean | undefined; - private room: Pick<IRoom, 'rid' | 'name' | 'fname' | 't'> | null | undefined; + private room?: IRoomInfoResult; static navigationOptions = ({ navigation, route }: INavigationOption) => { const options: StackNavigationOptions = { @@ -109,7 +108,7 @@ class SearchMessagesView extends React.Component<ISearchMessagesViewProps, ISear } async componentDidMount() { - this.room = await getRoomInfo(this.rid); + this.room = (await getRoomInfo(this.rid)) ?? undefined; } shouldComponentUpdate(nextProps: ISearchMessagesViewProps, nextState: ISearchMessagesViewState) { @@ -158,11 +157,13 @@ class SearchMessagesView extends React.Component<ISearchMessagesViewProps, ISear if (result.success) { return result.messages; } - }; + return []; + }; getMessages = async (searchText: string, debounced?: boolean) => { try { const messages = await this.searchMessages(searchText); + // @ts-ignore TODO: find a way to deal with the difference between IMessageFromServer and TMessageModel expected by state this.setState(prevState => ({ messages: debounced ? messages : [...prevState.messages, ...messages], loading: false @@ -257,6 +258,7 @@ class SearchMessagesView extends React.Component<ISearchMessagesViewProps, ISear const { user, baseUrl, theme, useRealName } = this.props; return ( <Message + // @ts-ignore IMessage | TMessageModel? item={item} baseUrl={baseUrl} user={user} @@ -289,7 +291,7 @@ class SearchMessagesView extends React.Component<ISearchMessagesViewProps, ISear style={[styles.list, { backgroundColor: themes[theme].backgroundColor }]} keyExtractor={item => item._id} onEndReached={this.onEndReached} - ListFooterComponent={loading ? <ActivityIndicator theme={theme} /> : null} + ListFooterComponent={loading ? <ActivityIndicator /> : null} onEndReachedThreshold={0.5} removeClippedSubviews={isIOS} {...scrollPersistTaps} diff --git a/app/views/SelectListView.tsx b/app/views/SelectListView.tsx index 6265983b3..5a3a2d701 100644 --- a/app/views/SelectListView.tsx +++ b/app/views/SelectListView.tsx @@ -29,7 +29,7 @@ const styles = StyleSheet.create({ }); interface ISelectListViewState { - data: IRoom[]; + data?: IRoom[]; dataFiltered?: IRoom[]; isSearching: boolean; selected: string[]; @@ -53,7 +53,7 @@ class SelectListView extends React.Component<ISelectListViewProps, ISelectListVi private isSearch: boolean; - private onSearch: (text: string) => Partial<IRoom[]>; + private onSearch?: (text: string) => Promise<Partial<IRoom[]> | any>; private isRadio?: boolean; @@ -61,10 +61,10 @@ class SelectListView extends React.Component<ISelectListViewProps, ISelectListVi super(props); const data = props.route?.params?.data; this.title = props.route?.params?.title; - this.infoText = props.route?.params?.infoText; + this.infoText = props.route?.params?.infoText ?? ''; this.nextAction = props.route?.params?.nextAction; - this.showAlert = props.route?.params?.showAlert; - this.isSearch = props.route?.params?.isSearch; + this.showAlert = props.route?.params?.showAlert ?? (() => {}); + this.isSearch = props.route?.params?.isSearch ?? false; this.onSearch = props.route?.params?.onSearch; this.isRadio = props.route?.params?.isRadio; this.state = { @@ -122,7 +122,7 @@ class SelectListView extends React.Component<ISelectListViewProps, ISelectListVi search = async (text: string) => { try { this.setState({ isSearching: true }); - const result = (await this.onSearch(text)) as IRoom[]; + const result = (await this.onSearch?.(text)) as IRoom[]; this.setState({ dataFiltered: result }); } catch (e) { log(e); diff --git a/app/views/SelectServerView.tsx b/app/views/SelectServerView.tsx index ac1f329d1..fcc4307ed 100644 --- a/app/views/SelectServerView.tsx +++ b/app/views/SelectServerView.tsx @@ -7,7 +7,7 @@ import { Q, Model } from '@nozbe/watermelondb'; import I18n from '../i18n'; import StatusBar from '../containers/StatusBar'; import ServerItem, { ROW_HEIGHT } from '../presentation/ServerItem'; -import RocketChat from '../lib/rocketchat'; +import { shareExtensionInit } from '../lib/rocketchat/services/shareExtension'; import database from '../lib/database'; import SafeAreaView from '../containers/SafeAreaView'; import * as List from '../containers/List'; @@ -50,7 +50,7 @@ class SelectServerView extends React.Component<ISelectServerViewProps, ISelectSe navigation.navigate('ShareListView'); if (currentServer !== server) { - await RocketChat.shareExtensionInit(server); + await shareExtensionInit(server); } }; diff --git a/app/views/ShareListView/index.tsx b/app/views/ShareListView/index.tsx index ced0badd5..b89603242 100644 --- a/app/views/ShareListView/index.tsx +++ b/app/views/ShareListView/index.tsx @@ -450,7 +450,7 @@ class ShareListView extends React.Component<IShareListViewProps, IState> { const { theme } = this.props; if (loading) { - return <ActivityIndicator theme={theme} />; + return <ActivityIndicator />; } if (needsPermission) { diff --git a/app/views/ShareView/index.tsx b/app/views/ShareView/index.tsx index 66707c134..8f06166a2 100644 --- a/app/views/ShareView/index.tsx +++ b/app/views/ShareView/index.tsx @@ -28,7 +28,7 @@ import Preview from './Preview'; import Header from './Header'; import styles from './styles'; import { IAttachment } from './interfaces'; -import { ISubscription } from '../../definitions/ISubscription'; +import { IUser, TSubscriptionModel } from '../../definitions'; interface IShareViewState { selected: IAttachment; @@ -36,7 +36,7 @@ interface IShareViewState { readOnly: boolean; attachments: IAttachment[]; text: string; - room: ISubscription; + room: TSubscriptionModel; thread: any; // change maxFileSize: number; mediaAllowList: string; @@ -152,7 +152,7 @@ class ShareView extends Component<IShareViewProps, IShareViewState> { getReadOnly = async () => { const { room } = this.state; const { user } = this.props; - const readOnly = await isReadOnly(room, user); + const readOnly = await isReadOnly(room, user.username); return readOnly; }; @@ -240,7 +240,7 @@ class ShareView extends Component<IShareViewProps, IShareViewState> { // Send text message } else if (text.length) { - await RocketChat.sendMessage(room.rid, text, thread?.id, { id: user.id, token: user.token }); + await RocketChat.sendMessage(room.rid, text, thread?.id, { id: user.id, token: user.token } as IUser); } } catch { // Do nothing diff --git a/app/views/StatusView.tsx b/app/views/StatusView.tsx index a8822df00..2f89660be 100644 --- a/app/views/StatusView.tsx +++ b/app/views/StatusView.tsx @@ -11,7 +11,7 @@ import SafeAreaView from '../containers/SafeAreaView'; import Status from '../containers/Status/Status'; import TextInput from '../containers/TextInput'; import { LISTENER } from '../containers/Toast'; -import { IApplicationState, IBaseScreen } from '../definitions'; +import { IApplicationState, IBaseScreen, IUser } from '../definitions'; import I18n from '../i18n'; import RocketChat from '../lib/rocketchat'; import { getUserSelector } from '../selectors/login'; @@ -54,19 +54,13 @@ const styles = StyleSheet.create({ } }); -interface IUser { - id?: string; - status?: string; - statusText?: string; -} - interface IStatusViewState { statusText: string; loading: boolean; } interface IStatusViewProps extends IBaseScreen<any, 'StatusView'> { - user: IUser; + user: Pick<IUser, 'id' | 'status' | 'statusText'>; isMasterDetail: boolean; Accounts_AllowInvisibleStatusOption: boolean; } diff --git a/app/views/TeamChannelsView.tsx b/app/views/TeamChannelsView.tsx index a76c18ba8..330126f74 100644 --- a/app/views/TeamChannelsView.tsx +++ b/app/views/TeamChannelsView.tsx @@ -187,8 +187,10 @@ class TeamChannelsView extends React.Component<ITeamChannelsViewProps, ITeamChan } as ITeamChannelsViewState; if (isSearching) { + // @ts-ignore newState.search = [...search, ...result.rooms]; } else { + // @ts-ignore newState.data = [...data, ...result.rooms]; } @@ -348,14 +350,17 @@ class TeamChannelsView extends React.Component<ITeamChannelsViewProps, ITeamChan logEvent(events.TC_GO_ROOM); const { navigation, isMasterDetail } = this.props; try { - const { room } = (await RocketChat.getRoomInfo(item._id)) as any; - const params = { - rid: item._id, - name: RocketChat.getRoomTitle(room), - joinCodeRequired: room.joinCodeRequired, - t: room.t, - teamId: room.teamId - }; + let params = {}; + const result = await RocketChat.getRoomInfo(item._id); + if (result.success) { + params = { + rid: item._id, + name: RocketChat.getRoomTitle(result.room), + joinCodeRequired: result.room.joinCodeRequired, + t: result.room.t, + teamId: result.room.teamId + }; + } if (isMasterDetail) { navigation.pop(); } @@ -535,9 +540,8 @@ class TeamChannelsView extends React.Component<ITeamChannelsViewProps, ITeamChan renderFooter = () => { const { loadingMore } = this.state; - const { theme } = this.props; if (loadingMore) { - return <ActivityIndicator theme={theme} />; + return <ActivityIndicator />; } return null; }; diff --git a/app/views/ThemeView.tsx b/app/views/ThemeView.tsx index b73e7b9be..b3862bed2 100644 --- a/app/views/ThemeView.tsx +++ b/app/views/ThemeView.tsx @@ -97,11 +97,11 @@ class ThemeView extends React.Component<IThemeViewProps> { this.setTheme(changes); }; - setTheme = async (theme: Partial<IThemePreference>) => { + setTheme = (theme: Partial<IThemePreference>) => { const { setTheme, themePreferences } = this.props; const newTheme = { ...themePreferences, ...theme }; setTheme(newTheme); - await UserPreferences.setMapAsync(THEME_PREFERENCES_KEY, newTheme); + UserPreferences.setMap(THEME_PREFERENCES_KEY, newTheme); }; renderIcon = () => { diff --git a/app/views/ThreadMessagesView/Item.tsx b/app/views/ThreadMessagesView/Item.tsx index 780bc9341..82441c43e 100644 --- a/app/views/ThreadMessagesView/Item.tsx +++ b/app/views/ThreadMessagesView/Item.tsx @@ -77,15 +77,15 @@ const Item = ({ item, useRealName, user, badgeColor, onPress, toggleFollowThread <Touchable onPress={() => onPress(item)} testID={`thread-messages-view-${item.msg}`} - style={{ backgroundColor: themes[theme!].backgroundColor }}> + style={{ backgroundColor: themes[theme].backgroundColor }}> <View style={styles.container}> <Avatar style={styles.avatar} text={item?.u?.username} size={36} borderRadius={4} theme={theme} /> <View style={styles.contentContainer}> <View style={styles.titleContainer}> - <Text style={[styles.title, { color: themes[theme!].titleText }]} numberOfLines={1}> + <Text style={[styles.title, { color: themes[theme].titleText }]} numberOfLines={1}> {username} </Text> - <Text style={[styles.time, { color: themes[theme!].auxiliaryText }]}>{time}</Text> + <Text style={[styles.time, { color: themes[theme].auxiliaryText }]}>{time}</Text> </View> <View style={styles.messageContainer}> <MarkdownPreview msg={makeThreadName(item)} numberOfLines={2} style={[styles.markdown]} /> diff --git a/app/views/ThreadMessagesView/index.tsx b/app/views/ThreadMessagesView/index.tsx index 5ceec17af..2c6dcc6a4 100644 --- a/app/views/ThreadMessagesView/index.tsx +++ b/app/views/ThreadMessagesView/index.tsx @@ -7,7 +7,6 @@ import { EdgeInsets, withSafeAreaInsets } from 'react-native-safe-area-context'; import { HeaderBackButton, StackNavigationOptions, StackNavigationProp } from '@react-navigation/stack'; import { RouteProp } from '@react-navigation/native'; import { Observable, Subscription } from 'rxjs'; -import Database from '@nozbe/watermelondb/Database'; import ActivityIndicator from '../../containers/ActivityIndicator'; import I18n from '../../i18n'; @@ -33,13 +32,12 @@ import EventEmitter from '../../utils/events'; import { LISTENER } from '../../containers/Toast'; import SearchHeader from '../../containers/SearchHeader'; import { ChatsStackParamList } from '../../stacks/types'; -import { IThreadResult, TThreadModel } from '../../definitions/IThread'; import { Filter } from './filters'; import DropdownItemHeader from './Dropdown/DropdownItemHeader'; import Dropdown from './Dropdown'; import Item from './Item'; import styles from './styles'; -import { SubscriptionType, TSubscriptionModel } from '../../definitions/ISubscription'; +import { IMessage, SubscriptionType, TSubscriptionModel, TThreadModel } from '../../definitions'; const API_FETCH_COUNT = 50; @@ -259,8 +257,8 @@ class ThreadMessagesView extends React.Component<IThreadMessagesViewProps, IThre remove, lastThreadSync }: { - update: IThreadResult[]; - remove?: IThreadResult[]; + update: IMessage[]; + remove?: IMessage[]; lastThreadSync: Date; }) => { const { subscription } = this.state; @@ -272,11 +270,9 @@ class ThreadMessagesView extends React.Component<IThreadMessagesViewProps, IThre } try { - const db: Database = database.active; + const db = database.active; const threadsCollection = db.get('threads'); - // TODO: Refactor when migrate room - // @ts-ignore - const allThreadsRecords = (await subscription.threads.fetch()) as TThreadModel[]; + const allThreadsRecords = await subscription.threads.fetch(); let threadsToCreate: any[] = []; let threadsToUpdate: any[] = []; let threadsToDelete: any[] = []; @@ -287,7 +283,7 @@ class ThreadMessagesView extends React.Component<IThreadMessagesViewProps, IThre } if (update && update.length) { - update = update.map(m => buildMessage(m)); + update = update.map(m => buildMessage(m)) as IMessage[]; // filter threads threadsToCreate = update.filter(i1 => !allThreadsRecords.find((i2: { id: string }) => i1._id === i2.id)); threadsToUpdate = allThreadsRecords.filter((i1: { id: string }) => update.find(i2 => i1.id === i2._id)); @@ -339,7 +335,7 @@ class ThreadMessagesView extends React.Component<IThreadMessagesViewProps, IThre this.setState({ loading: true }); try { - const result: any = await RocketChat.getThreadsList({ + const result = await RocketChat.getThreadsList({ rid: this.rid, count: API_FETCH_COUNT, offset: messages.length, @@ -528,7 +524,7 @@ class ThreadMessagesView extends React.Component<IThreadMessagesViewProps, IThre removeClippedSubviews={isIOS} ItemSeparatorComponent={List.Separator} ListHeaderComponent={this.renderHeader} - ListFooterComponent={loading ? <ActivityIndicator theme={theme} /> : null} + ListFooterComponent={loading ? <ActivityIndicator /> : null} scrollIndicatorInsets={{ right: 1 }} // https://github.com/facebook/react-native/issues/26610#issuecomment-539843444 /> ); diff --git a/app/views/UserNotificationPreferencesView/index.tsx b/app/views/UserNotificationPreferencesView/index.tsx index 8961cb38f..1b9a5cd83 100644 --- a/app/views/UserNotificationPreferencesView/index.tsx +++ b/app/views/UserNotificationPreferencesView/index.tsx @@ -15,6 +15,7 @@ import { getUserSelector } from '../../selectors/login'; import sharedStyles from '../Styles'; import { OPTIONS } from './options'; import { ProfileStackParamList } from '../../stacks/types'; +import { INotificationPreferences } from '../../definitions'; const styles = StyleSheet.create({ pickerText: { @@ -26,11 +27,7 @@ const styles = StyleSheet.create({ type TKey = 'desktopNotifications' | 'pushNotifications' | 'emailNotificationMode'; interface IUserNotificationPreferencesViewState { - preferences: { - desktopNotifications?: string; - pushNotifications?: string; - emailNotificationMode?: string; - }; + preferences: INotificationPreferences; loading: boolean; } @@ -53,7 +50,7 @@ class UserNotificationPreferencesView extends React.Component< constructor(props: IUserNotificationPreferencesViewProps) { super(props); this.state = { - preferences: {}, + preferences: {} as INotificationPreferences, loading: false }; } @@ -62,8 +59,10 @@ class UserNotificationPreferencesView extends React.Component< const { user } = this.props; const { id } = user; const result = await RocketChat.getUserPreferences(id); - const { preferences } = result; - this.setState({ preferences, loading: true }); + if (result.success) { + const { preferences } = result; + this.setState({ preferences, loading: true }); + } } findDefaultOption = (key: TKey) => { @@ -106,14 +105,15 @@ class UserNotificationPreferencesView extends React.Component< const { user } = this.props; const { id } = user; const result = await RocketChat.setUserPreferences(id, params); - const { - user: { settings } - } = result; - this.setState({ preferences: settings.preferences }); + if (result.success) { + const { + user: { settings } + } = result; + this.setState({ preferences: settings.preferences }); + } }; render() { - const { theme } = this.props; const { loading } = this.state; return ( <SafeAreaView testID='user-notification-preference-view'> @@ -158,7 +158,7 @@ class UserNotificationPreferencesView extends React.Component< </List.Section> </> ) : ( - <ActivityIndicator theme={theme} /> + <ActivityIndicator /> )} </List.Container> </SafeAreaView> diff --git a/app/views/definition/ILivechatDepartment.ts b/app/views/definition/ILivechatDepartment.ts deleted file mode 100644 index 22c352007..000000000 --- a/app/views/definition/ILivechatDepartment.ts +++ /dev/null @@ -1,15 +0,0 @@ -export interface ILivechatDepartment { - _id: string; - name: string; - enabled: boolean; - description: string; - showOnRegistration: boolean; - showOnOfflineForm: boolean; - requestTagBeforeClosingChat: boolean; - email: string; - chatClosingTags: string[]; - offlineMessageChannelName: string; - numAgents: number; - _updatedAt?: Date; - businessHourId?: string; -} diff --git a/e2e/README.md b/e2e/README.md index f2ae5651b..f95f99837 100644 --- a/e2e/README.md +++ b/e2e/README.md @@ -28,7 +28,7 @@ Or * If you're running your own Rocket.Chat server, ensure it's started (e.g. `meteor npm start` in the server project directory). * Edit `e2e/data.js`: * Set the `server` to the address of the server under test - * Set the `adminUser` and `adminPassword` to an admin user on that environment (or a user with at least `create-user` and `create-c`). + * Create a file called `e2e_account.js`, in the same folder as `data.js`. Set the `adminUser` and `adminPassword` to an admin user on that environment (or a user with at least `create-user` and `create-c` permissions). The example of how to create this file is on `e2e/e2e_account.example.js` * Working example configs exist in `./e2e/data/`. Setting `FORCE_DEFAULT_DOCKER_DATA` to `1` in the `runTestsInDocker.sh` script will use the example config automatically ### 3. Running tests diff --git a/e2e/data.js b/e2e/data.js index 800239e76..c95651dc1 100644 --- a/e2e/data.js +++ b/e2e/data.js @@ -1,10 +1,11 @@ const random = require('./helpers/random'); +// eslint-disable-next-line import/no-unresolved +const account = require('./e2e_account'); const value = random(20); const data = { server: 'https://mobile.rocket.chat', - adminUser: 'e2e_admin', - adminPassword: 'p7mFh4yLwCRXSnMvG', + ...account, alternateServer: 'https://stable.rocket.chat', users: { regular: { diff --git a/e2e/data/data.cloud.js b/e2e/data/data.cloud.js index 2f4c5d8d5..a9b1671e6 100644 --- a/e2e/data/data.cloud.js +++ b/e2e/data/data.cloud.js @@ -1,11 +1,12 @@ // eslint-disable-next-line import/no-unresolved const random = require('./helpers/random'); +// eslint-disable-next-line import/no-unresolved +const account = require('./e2e_account'); const value = random(20); const data = { server: 'https://mobile.rocket.chat', - adminUser: 'e2e_admin', - adminPassword: 'p7mFh4yLwCRXSnMvG', + ...account, alternateServer: 'https://stable.rocket.chat', users: { regular: { diff --git a/e2e/e2e_account.example.js b/e2e/e2e_account.example.js new file mode 100644 index 000000000..4294d6b08 --- /dev/null +++ b/e2e/e2e_account.example.js @@ -0,0 +1,6 @@ +const account = { + adminUser: 'Change_here', + adminPassword: 'Change_here' +}; + +module.exports = account; diff --git a/e2e/tests/room/04-discussion.spec.js b/e2e/tests/room/04-discussion.spec.js index 74956e8d1..76dec6623 100644 --- a/e2e/tests/room/04-discussion.spec.js +++ b/e2e/tests/room/04-discussion.spec.js @@ -215,9 +215,6 @@ describe('Discussion', () => { await waitFor(element(by.id(`room-view-title-${discussionName}`))) .toExist() .withTimeout(5000); - await waitFor(element(by.id('messagebox'))) - .toBeVisible() - .withTimeout(60000); }); }); }); diff --git a/e2e/tests/team/03-moveconvert.spec.js b/e2e/tests/team/03-moveconvert.spec.js index 7d4add2af..258434900 100644 --- a/e2e/tests/team/03-moveconvert.spec.js +++ b/e2e/tests/team/03-moveconvert.spec.js @@ -5,6 +5,9 @@ const toBeConverted = `to-be-converted-${data.random}`; const toBeMoved = `to-be-moved-${data.random}`; const createChannel = async room => { + await waitFor(element(by.id('rooms-list-view-create-channel'))) + .toBeVisible() + .withTimeout(5000); await element(by.id('rooms-list-view-create-channel')).tap(); await waitFor(element(by.id('new-message-view'))) .toExist() diff --git a/ios/Podfile b/ios/Podfile index 83f91afbc..7b60993ad 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -6,6 +6,7 @@ require_relative '../node_modules/react-native-unimodules/cocoapods.rb' def all_pods pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi', :modular_headers => true pod 'simdjson', path: '../node_modules/@nozbe/simdjson' + pod 'ReactNativeUiLib', :path => '../node_modules/react-native-ui-lib/lib' config = use_native_modules! use_unimodules! use_react_native!( diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 08c8e3c0d..f8d86561f 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -177,9 +177,9 @@ PODS: - libwebp/mux (1.1.0): - libwebp/demux - libwebp/webp (1.1.0) - - MMKV (1.2.1): - - MMKVCore (~> 1.2.1) - - MMKVCore (1.2.1) + - MMKV (1.2.10): + - MMKVCore (~> 1.2.10) + - MMKVCore (1.2.12) - nanopb (1.30905.0): - nanopb/decode (= 1.30905.0) - nanopb/encode (= 1.30905.0) @@ -410,9 +410,9 @@ PODS: - react-native-jitsi-meet (3.6.0): - JitsiMeetSDK (= 3.6.0) - React - - react-native-mmkv-storage (0.3.5): - - MMKV (= 1.2.1) - - React + - react-native-mmkv-storage (0.6.12): + - MMKV (= 1.2.10) + - React-Core - react-native-netinfo (6.0.0): - React-Core - react-native-notifications (2.1.7): @@ -950,7 +950,7 @@ SPEC CHECKSUMS: EXVideoThumbnails: 442c3abadb51a81551a3b53705b7560de390e6f7 EXWebBrowser: 76783ba5dcb8699237746ecf41a9643d428a4cc5 FBLazyVector: e686045572151edef46010a6f819ade377dfeb4b - FBReactNativeSpec: 8a1012a62d7a3d667376b413656d780b8e4680ce + FBReactNativeSpec: 110d69378fce79af38271c39894b59fec7890221 Firebase: 919186c8e119dd9372a45fd1dd17a8a942bc1892 FirebaseAnalytics: 5fa308e1b13f838d0f6dc74719ac2a72e8c5afc4 FirebaseCore: 8cd4f8ea22075e0ee582849b1cf79d8816506085 @@ -974,8 +974,8 @@ SPEC CHECKSUMS: KeyCommands: f66c535f698ed14b3d3a4e58859d79a827ea907e libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libwebp: 946cb3063cea9236285f7e9a8505d806d30e07f3 - MMKV: 67253edee25a34edf332f91d73fa94a9e038b971 - MMKVCore: fe398984acac1fa33f92795d1b5fd0a334c944af + MMKV: 76033b9ace2006623308910a3afcc0e25eba3140 + MMKVCore: df0565f6b58463604731a68ba6cd89bc0b2d1d55 nanopb: c43f40fadfe79e8b8db116583945847910cbabc9 OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b PromisesObjC: b48e0338dbbac2207e611750777895f7a5811b75 @@ -997,7 +997,7 @@ SPEC CHECKSUMS: react-native-cookies: 2cb6ef472da68610dfcf0eaee68464c244943abd react-native-document-picker: f1b5398801b332c77bc62ae0eae2116f49bdff26 react-native-jitsi-meet: 3e3ac5d0445091154119f94342efd55c8b1124ce - react-native-mmkv-storage: 48729fe90e850ef2fdc9d3714b7030c7c51d82b0 + react-native-mmkv-storage: 88bcb10bbe85a8122061d17d03abcc64a02fe1c9 react-native-netinfo: e849fc21ca2f4128a5726c801a82fc6f4a6db50d react-native-notifications: ee8fd739853e72694f3af8b374c8ccb106b7b227 react-native-orientation-locker: f0ca1a8e5031dab6b74bfb4ab33a17ed2c2fcb0d @@ -1053,6 +1053,6 @@ SPEC CHECKSUMS: Yoga: 575c581c63e0d35c9a83f4b46d01d63abc1100ac YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: 9fd323641c96f6bf98b309066332c3ff95b9cf15 +PODFILE CHECKSUM: 9a08139598e951c19d2daf7ac39687272634d547 COCOAPODS: 1.11.2 diff --git a/ios/RocketChatRN.xcodeproj/project.pbxproj b/ios/RocketChatRN.xcodeproj/project.pbxproj index 3f2eb47f8..ae9f0754d 100644 --- a/ios/RocketChatRN.xcodeproj/project.pbxproj +++ b/ios/RocketChatRN.xcodeproj/project.pbxproj @@ -1682,7 +1682,7 @@ INFOPLIST_FILE = NotificationService/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.25.0; + MARKETING_VERSION = 4.26.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService; @@ -1719,7 +1719,7 @@ INFOPLIST_FILE = NotificationService/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.25.0; + MARKETING_VERSION = 4.26.0; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/ios/RocketChatRN/Info.plist b/ios/RocketChatRN/Info.plist index 78cce1269..66afb89f2 100644 --- a/ios/RocketChatRN/Info.plist +++ b/ios/RocketChatRN/Info.plist @@ -26,7 +26,7 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>4.25.0</string> + <string>4.26.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleURLTypes</key> diff --git a/ios/ShareRocketChatRN/Info.plist b/ios/ShareRocketChatRN/Info.plist index 45654c4dc..51d77db19 100644 --- a/ios/ShareRocketChatRN/Info.plist +++ b/ios/ShareRocketChatRN/Info.plist @@ -26,7 +26,7 @@ <key>CFBundlePackageType</key> <string>XPC!</string> <key>CFBundleShortVersionString</key> - <string>4.25.0</string> + <string>4.26.0</string> <key>CFBundleVersion</key> <string>1</string> <key>KeychainGroup</key> diff --git a/ios/Shared/RocketChat/Storage.swift b/ios/Shared/RocketChat/Storage.swift index 34d9f8822..7f2496897 100644 --- a/ios/Shared/RocketChat/Storage.swift +++ b/ios/Shared/RocketChat/Storage.swift @@ -25,37 +25,35 @@ class Storage { // get mmkv instance password from keychain var key: Data? - secureStorage.getSecureKey(instanceID.toHex()) { (response) -> () in - if let password = response?[1] as? String { - key = password.data(using: .utf8) - } + if let password: String = secureStorage.getSecureKey(instanceID.toHex()) { + key = password.data(using: .utf8) } - + guard let cryptKey = key else { return } - + // Get App Group directory let suiteName = Bundle.main.object(forInfoDictionaryKey: "AppGroup") as! String guard let directory = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: suiteName) else { return } - + // Set App Group dir MMKV.initialize(rootDir: nil, groupDir: directory.path, logLevel: MMKVLogLevel.none) self.mmkv = MMKV(mmapID: mmapID, cryptKey: cryptKey, mode: MMKVMode.multiProcess) } - + func getCredentials(server: String) -> Credentials? { if let userId = self.mmkv?.string(forKey: "reactnativemeteor_usertoken-\(server)") { if let userToken = self.mmkv?.string(forKey: "reactnativemeteor_usertoken-\(userId)") { return Credentials(userId: userId, userToken: userToken) } } - + return nil } - + func getPrivateKey(server: String) -> String? { return self.mmkv?.string(forKey: "\(server)-RC_E2E_PRIVATE_KEY") } diff --git a/package.json b/package.json index 3dae21612..e8162c9ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rocket-chat-reactnative", - "version": "4.25.0", + "version": "4.26.0", "private": true, "scripts": { "start": "react-native start", @@ -94,7 +94,7 @@ "react-native-keycommands": "2.0.3", "react-native-localize": "2.1.1", "react-native-mime-types": "2.3.0", - "react-native-mmkv-storage": "0.3.5", + "react-native-mmkv-storage": "0.6.12", "react-native-modal": "11.10.0", "react-native-navigation-bar-color": "2.0.1", "react-native-notifications": "2.1.7", @@ -143,8 +143,9 @@ "@rocket.chat/eslint-config": "^0.4.0", "@storybook/addon-storyshots": "5.3.21", "@storybook/react-native": "5.3.25", - "@types/bytebuffer": "^5.0.43", + "@testing-library/jest-native": "^4.0.4", "@testing-library/react-native": "^9.0.0", + "@types/bytebuffer": "^5.0.43", "@types/ejson": "^2.1.3", "@types/jest": "^26.0.24", "@types/lodash": "^4.14.171", @@ -157,13 +158,14 @@ "@types/react-redux": "^7.1.18", "@types/react-test-renderer": "^17.0.1", "@types/semver": "^7.3.9", + "@types/ua-parser-js": "^0.7.36", "@types/url-parse": "^1.4.6", "@typescript-eslint/eslint-plugin": "^4.28.3", "@typescript-eslint/parser": "^4.28.5", "axios": "0.21.1", "babel-jest": "^27.0.6", "babel-plugin-transform-remove-console": "^6.9.4", - "codecov": "3.8.2", + "codecov": "^3.8.3", "detox": "18.17.0", "eslint": "^7.31.0", "eslint-config-prettier": "^8.3.0", @@ -204,7 +206,10 @@ }, "transform": { "^.+\\.js$": "<rootDir>/node_modules/react-native/jest/preprocessor.js" - } + }, + "setupFilesAfterEnv": [ + "@testing-library/jest-native/extend-expect" + ] }, "snyk": true, "engines": { @@ -245,13 +250,13 @@ } } }, - "and.emu.debug": { + "android.emu.debug": { "device": "Pixel_API_28_AOSP", "type": "android.emulator", "binaryPath": "android/app/build/outputs/apk/e2ePlay/debug/app-e2e-play-debug.apk", "build": "cd android && ./gradlew app:assembleE2ePlayDebug app:assembleE2ePlayDebugAndroidTest -DtestBuildType=debug && cd .." }, - "and.emu.release": { + "android.emu.release": { "device": "Pixel_API_28_AOSP", "type": "android.emulator", "binaryPath": "android/app/build/outputs/apk/e2ePlay/release/app-e2e-play-release.apk", diff --git a/patches/@types+ejson+2.1.3.patch b/patches/@types+ejson+2.1.3.patch new file mode 100644 index 000000000..cf404b43f --- /dev/null +++ b/patches/@types+ejson+2.1.3.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/@types/ejson/index.d.ts b/node_modules/@types/ejson/index.d.ts +index 3a35636..278ef98 100755 +--- a/node_modules/@types/ejson/index.d.ts ++++ b/node_modules/@types/ejson/index.d.ts +@@ -17,7 +17,7 @@ export function parse(str: string): any; + export function stringify(obj: any, options?: StringifyOptions): string; + + export function toJSONValue(obj: any): string; +-export function fromJSONValue(obj: string): any; ++export function fromJSONValue(obj: Object): any; + export function isBinary(value: any): boolean; + export function newBinary(len: number): Uint8Array; + export function equals(a: any, b: any, options?: CloneOptions): boolean; diff --git a/patches/react-native-mmkv-storage+0.3.5.patch b/patches/react-native-mmkv-storage+0.3.5.patch deleted file mode 100644 index e39d75717..000000000 --- a/patches/react-native-mmkv-storage+0.3.5.patch +++ /dev/null @@ -1,157 +0,0 @@ -diff --git a/node_modules/react-native-mmkv-storage/android/src/main/java/com/ammarahmed/mmkv/StorageGetters.java b/node_modules/react-native-mmkv-storage/android/src/main/java/com/ammarahmed/mmkv/StorageGetters.java -index 568e369..229b911 100644 ---- a/node_modules/react-native-mmkv-storage/android/src/main/java/com/ammarahmed/mmkv/StorageGetters.java -+++ b/node_modules/react-native-mmkv-storage/android/src/main/java/com/ammarahmed/mmkv/StorageGetters.java -@@ -52,8 +52,12 @@ public class StorageGetters { - case Constants.DATA_TYPE_MAP: - case Constants.DATA_TYPE_ARRAY: - Bundle bundle = kv.decodeParcelable(key, Bundle.class); -- WritableMap map = Arguments.fromBundle(bundle); -- callback.invoke(null, map); -+ if (bundle == null) { -+ callback.invoke(null, null); -+ } else { -+ WritableMap map = Arguments.fromBundle(bundle); -+ callback.invoke(null, map); -+ } - break; - - } -diff --git a/node_modules/react-native-mmkv-storage/ios/SecureStorage.m b/node_modules/react-native-mmkv-storage/ios/SecureStorage.m -index 70f3a01..30d7251 100644 ---- a/node_modules/react-native-mmkv-storage/ios/SecureStorage.m -+++ b/node_modules/react-native-mmkv-storage/ios/SecureStorage.m -@@ -46,7 +46,6 @@ - (void) setSecureKey: (NSString *)key value:(NSString *)value - - (NSString *) getSecureKey:(NSString *)key - callback:(RCTResponseSenderBlock)callback - { -- - @try { - [self handleAppUninstallation]; - NSString *value = [self searchKeychainCopyMatching:key]; -@@ -130,7 +129,8 @@ - (void) removeSecureKey:(NSString *)key - - - (NSMutableDictionary *)newSearchDictionary:(NSString *)identifier { - NSMutableDictionary *searchDictionary = [[NSMutableDictionary alloc] init]; -- serviceName = [[NSBundle mainBundle] bundleIdentifier]; -+ // this value is shared by main app and extensions, so, is the best to be used here -+ serviceName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"AppGroup"]; - - [searchDictionary setObject:(id)kSecClassGenericPassword forKey:(id)kSecClass]; - -@@ -139,6 +139,9 @@ - (NSMutableDictionary *)newSearchDictionary:(NSString *)identifier { - [searchDictionary setObject:encodedIdentifier forKey:(id)kSecAttrAccount]; - [searchDictionary setObject:serviceName forKey:(id)kSecAttrService]; - -+ NSString *keychainGroup = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"KeychainGroup"]; -+ [searchDictionary setObject:keychainGroup forKey:(id)kSecAttrAccessGroup]; -+ - return searchDictionary; - } - -@@ -240,10 +243,13 @@ - (void)clearSecureKeyStore - - - (void)handleAppUninstallation - { -- if (![[NSUserDefaults standardUserDefaults] boolForKey:@"RnSksIsAppInstalled"]) { -+ // use app group user defaults to prevent clear when it's share extension -+ NSString *suiteName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"AppGroup"]; -+ NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:suiteName]; -+ if (![userDefaults boolForKey:@"RnSksIsAppInstalled"]) { - [self clearSecureKeyStore]; -- [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"RnSksIsAppInstalled"]; -- [[NSUserDefaults standardUserDefaults] synchronize]; -+ [userDefaults setBool:YES forKey:@"RnSksIsAppInstalled"]; -+ [userDefaults synchronize]; - } - } - -diff --git a/node_modules/react-native-mmkv-storage/ios/StorageGetters.m b/node_modules/react-native-mmkv-storage/ios/StorageGetters.m -index 909d056..d62814a 100644 ---- a/node_modules/react-native-mmkv-storage/ios/StorageGetters.m -+++ b/node_modules/react-native-mmkv-storage/ios/StorageGetters.m -@@ -38,8 +38,13 @@ +(void) getItem:(NSString *)ID - if ([kv containsKey:key]) { - switch (type.integerValue) { - case 1: -- -- callback(@[[NSNull null], [kv getObjectOfClass:NSString.class forKey:key]]); -+ { -+ NSString* string = [kv getObjectOfClass:NSString.class forKey:key]; -+ if (!string) { -+ string = (NSString *)[NSNull null]; -+ } -+ callback(@[[NSNull null], string]); -+ } - break; - case 2: - -diff --git a/node_modules/react-native-mmkv-storage/ios/StorageIndexer.m b/node_modules/react-native-mmkv-storage/ios/StorageIndexer.m -index e7c914b..891cf93 100644 ---- a/node_modules/react-native-mmkv-storage/ios/StorageIndexer.m -+++ b/node_modules/react-native-mmkv-storage/ios/StorageIndexer.m -@@ -58,7 +58,11 @@ + (void) removeKeyFromIndexer:(MMKV *)kv - if (index != NULL && [index containsObject:key]) { - - [index removeObject:key]; -- [kv setObject:index forKey:stringsIndexKey]; -+ if (!index || [index count] == 0) { -+ [kv removeValueForKey:stringsIndexKey]; -+ } else { -+ [kv setObject:index forKey:stringsIndexKey]; -+ } - return; - } - -@@ -67,7 +71,11 @@ + (void) removeKeyFromIndexer:(MMKV *)kv - if (index != NULL && [index containsObject:key]) { - - [index removeObject:key]; -- [kv setObject:index forKey:intIndexKey]; -+ if (!index || [index count] == 0) { -+ [kv removeValueForKey:intIndexKey]; -+ } else { -+ [kv setObject:index forKey:intIndexKey]; -+ } - return; - } - -@@ -76,7 +84,11 @@ + (void) removeKeyFromIndexer:(MMKV *)kv - if (index != NULL && [index containsObject:key]) { - - [index removeObject:key]; -- [kv setObject:index forKey:boolIndexKey]; -+ if (!index || [index count] == 0) { -+ [kv removeValueForKey:boolIndexKey]; -+ } else { -+ [kv setObject:index forKey:boolIndexKey]; -+ } - return; - } - -@@ -85,7 +97,11 @@ + (void) removeKeyFromIndexer:(MMKV *)kv - if (index != NULL && [index containsObject:key]) { - - [index removeObject:key]; -- [kv setObject:index forKey:mapIndexKey]; -+ if (!index || [index count] == 0) { -+ [kv removeValueForKey:mapIndexKey]; -+ } else { -+ [kv setObject:index forKey:mapIndexKey]; -+ } - return; - } - -@@ -94,7 +110,11 @@ + (void) removeKeyFromIndexer:(MMKV *)kv - if (index != NULL && [index containsObject:key]) { - - [index removeObject:key]; -- [kv setObject:index forKey:arrayIndexKey]; -+ if (!index || [index count] == 0) { -+ [kv removeValueForKey:arrayIndexKey]; -+ } else { -+ [kv setObject:index forKey:arrayIndexKey]; -+ } - return; - } - diff --git a/patches/react-native-mmkv-storage+0.6.12.patch b/patches/react-native-mmkv-storage+0.6.12.patch new file mode 100644 index 000000000..551421698 --- /dev/null +++ b/patches/react-native-mmkv-storage+0.6.12.patch @@ -0,0 +1,44 @@ +diff --git a/node_modules/react-native-mmkv-storage/ios/SecureStorage.m b/node_modules/react-native-mmkv-storage/ios/SecureStorage.m +index eacd030..f4b1b96 100644 +--- a/node_modules/react-native-mmkv-storage/ios/SecureStorage.m ++++ b/node_modules/react-native-mmkv-storage/ios/SecureStorage.m +@@ -96,6 +96,9 @@ NSString *serviceName = nil; + + - (NSMutableDictionary *)newSearchDictionary:(NSString *)identifier { + NSMutableDictionary *searchDictionary = [[NSMutableDictionary alloc] init]; ++ // this value is shared by main app and extensions, so, is the best to be used here ++ serviceName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"AppGroup"]; ++ + if(serviceName == nil){ + serviceName = [[NSBundle mainBundle] bundleIdentifier]; + } +@@ -107,6 +110,9 @@ NSString *serviceName = nil; + [searchDictionary setObject:encodedIdentifier forKey:(id)kSecAttrAccount]; + [searchDictionary setObject:serviceName forKey:(id)kSecAttrService]; + ++ NSString *keychainGroup = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"KeychainGroup"]; ++ [searchDictionary setObject:keychainGroup forKey:(id)kSecAttrAccessGroup]; ++ + return searchDictionary; + } + +@@ -208,11 +214,14 @@ NSString *serviceName = nil; + + - (void)handleAppUninstallation + { +- // if (![[NSUserDefaults standardUserDefaults] boolForKey:@"RnSksIsAppInstalled"]) { +- // [self clearSecureKeyStore]; +- //[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"IsAppInstalled"]; +- [[NSUserDefaults standardUserDefaults] synchronize]; +- // } ++ // use app group user defaults to prevent clear when it's share extension ++ NSString *suiteName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"AppGroup"]; ++ NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:suiteName]; ++ if (![userDefaults boolForKey:@"RnSksIsAppInstalled"]) { ++ [self clearSecureKeyStore]; ++ [userDefaults setBool:YES forKey:@"RnSksIsAppInstalled"]; ++ [userDefaults synchronize]; ++ } + } + + - (void) setServiceName:(NSString *)_serviceName diff --git a/patches/react-native-webview+10.3.2.patch b/patches/react-native-webview+10.3.2.patch index 08b0e9721..df46fcf8b 100644 --- a/patches/react-native-webview+10.3.2.patch +++ b/patches/react-native-webview+10.3.2.patch @@ -102,7 +102,7 @@ index ab869cf..08ce7ce 100644 ignoreErrFailedForThisURL = url; } diff --git a/node_modules/react-native-webview/apple/RNCWebView.m b/node_modules/react-native-webview/apple/RNCWebView.m -index 02b4238..04bad05 100644 +index 02b4238..e0635ed 100644 --- a/node_modules/react-native-webview/apple/RNCWebView.m +++ b/node_modules/react-native-webview/apple/RNCWebView.m @@ -17,6 +17,9 @@ @@ -115,7 +115,7 @@ index 02b4238..04bad05 100644 static NSTimer *keyboardTimer; static NSString *const HistoryShimName = @"ReactNativeHistoryShim"; static NSString *const MessageHandlerName = @"ReactNativeWebView"; -@@ -737,6 +740,68 @@ + (void)setCustomCertificatesForHost:(nullable NSDictionary*)certificates { +@@ -737,6 +740,68 @@ static NSDictionary* customCertificatesForHost; customCertificatesForHost = certificates; } @@ -184,29 +184,27 @@ index 02b4238..04bad05 100644 - (void) webView:(WKWebView *)webView didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential * _Nullable))completionHandler -@@ -746,7 +811,34 @@ - (void) webView:(WKWebView *)webView +@@ -746,7 +811,32 @@ static NSDictionary* customCertificatesForHost; host = webView.URL.host; } if ([[challenge protectionSpace] authenticationMethod] == NSURLAuthenticationMethodClientCertificate) { - completionHandler(NSURLSessionAuthChallengeUseCredential, clientAuthenticationCredential); + NSString *host = challenge.protectionSpace.host; -+ ++ + // Read the clientSSL info from MMKV + __block NSDictionary *clientSSL; + SecureStorage *secureStorage = [[SecureStorage alloc] init]; + + // https://github.com/ammarahm-ed/react-native-mmkv-storage/blob/master/src/loader.js#L31 -+ [secureStorage getSecureKey:[self stringToHex:@"com.MMKV.default"] callback:^(NSArray *response) { -+ // Error happened -+ if ([response objectAtIndex:0] != [NSNull null]) { -+ return; -+ } -+ NSString *key = [response objectAtIndex:1]; -+ NSData *cryptKey = [key dataUsingEncoding:NSUTF8StringEncoding]; -+ MMKV *mmkv = [MMKV mmkvWithID:@"default" cryptKey:cryptKey mode:MMKVMultiProcess]; ++ NSString *key = [secureStorage getSecureKey:[self stringToHex:@"com.MMKV.default"]]; + -+ clientSSL = [mmkv getObjectOfClass:[NSDictionary class] forKey:host]; -+ }]; ++ if (key == NULL) { ++ return; ++ } ++ ++ NSData *cryptKey = [key dataUsingEncoding:NSUTF8StringEncoding]; ++ MMKV *mmkv = [MMKV mmkvWithID:@"default" cryptKey:cryptKey mode:MMKVMultiProcess]; ++ clientSSL = [mmkv getObjectOfClass:[NSDictionary class] forKey:host]; + + NSURLCredential *credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]; + diff --git a/patches/rn-fetch-blob+0.12.0.patch b/patches/rn-fetch-blob+0.12.0.patch index c1e809423..5b0c59c59 100644 --- a/patches/rn-fetch-blob+0.12.0.patch +++ b/patches/rn-fetch-blob+0.12.0.patch @@ -23,7 +23,7 @@ index 602d51d..920d975 100644 public String getName() { return "RNFetchBlob"; diff --git a/node_modules/rn-fetch-blob/ios/RNFetchBlobRequest.m b/node_modules/rn-fetch-blob/ios/RNFetchBlobRequest.m -index cdbe6b1..bee6228 100644 +index cdbe6b1..1699c6c 100644 --- a/node_modules/rn-fetch-blob/ios/RNFetchBlobRequest.m +++ b/node_modules/rn-fetch-blob/ios/RNFetchBlobRequest.m @@ -15,6 +15,9 @@ @@ -36,12 +36,18 @@ index cdbe6b1..bee6228 100644 typedef NS_ENUM(NSUInteger, ResponseFormat) { UTF8, -@@ -450,16 +453,109 @@ - (void) URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didSen +@@ -450,16 +453,107 @@ typedef NS_ENUM(NSUInteger, ResponseFormat) { } } +- +-- (void) URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable credantial))completionHandler +-(NSURLCredential *)getUrlCredential:(NSURLAuthenticationChallenge *)challenge path:(NSString *)path password:(NSString *)password -+{ + { +- if ([[options valueForKey:CONFIG_TRUSTY] boolValue]) { +- completionHandler(NSURLSessionAuthChallengeUseCredential, [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]); +- } else { +- completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]); + NSString *authMethod = [[challenge protectionSpace] authenticationMethod]; + SecTrustRef serverTrust = challenge.protectionSpace.serverTrust; + @@ -75,7 +81,7 @@ index cdbe6b1..bee6228 100644 + NSDictionary* firstItem = nil; + if ((status == errSecSuccess) && ([items count]>0)) { + firstItem = items[0]; -+ } + } + + SecIdentityRef identity = (SecIdentityRef)CFBridgingRetain(firstItem[(id)kSecImportItemIdentity]); + SecCertificateRef certificate = NULL; @@ -89,17 +95,12 @@ index cdbe6b1..bee6228 100644 + + return [NSURLCredential credentialWithIdentity:identity certificates:certificates persistence:NSURLCredentialPersistenceNone]; + } - --- (void) URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable credantial))completionHandler ++ + return [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]; +} + +- (NSString *)stringToHex:(NSString *)string - { -- if ([[options valueForKey:CONFIG_TRUSTY] boolValue]) { -- completionHandler(NSURLSessionAuthChallengeUseCredential, [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]); -- } else { -- completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]); ++{ + char *utf8 = (char *)[string UTF8String]; + NSMutableString *hex = [NSMutableString string]; + while (*utf8) [hex appendFormat:@"%02X", *utf8++ & 0x00FF]; @@ -110,23 +111,21 @@ index cdbe6b1..bee6228 100644 +-(void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler +{ + NSString *host = challenge.protectionSpace.host; -+ ++ + // Read the clientSSL info from MMKV + __block NSDictionary *clientSSL; + SecureStorage *secureStorage = [[SecureStorage alloc] init]; + + // https://github.com/ammarahm-ed/react-native-mmkv-storage/blob/master/src/loader.js#L31 -+ [secureStorage getSecureKey:[self stringToHex:@"com.MMKV.default"] callback:^(NSArray *response) { -+ // Error happened -+ if ([response objectAtIndex:0] != [NSNull null]) { -+ return; - } -+ NSString *key = [response objectAtIndex:1]; -+ NSData *cryptKey = [key dataUsingEncoding:NSUTF8StringEncoding]; -+ MMKV *mmkv = [MMKV mmkvWithID:@"default" cryptKey:cryptKey mode:MMKVMultiProcess]; ++ NSString *key = [secureStorage getSecureKey:[self stringToHex:@"com.MMKV.default"]]; + -+ clientSSL = [mmkv getObjectOfClass:[NSDictionary class] forKey:host]; -+ }]; ++ if (key == NULL) { ++ return; ++ } ++ ++ NSData *cryptKey = [key dataUsingEncoding:NSUTF8StringEncoding]; ++ MMKV *mmkv = [MMKV mmkvWithID:@"default" cryptKey:cryptKey mode:MMKVMultiProcess]; ++ clientSSL = [mmkv getObjectOfClass:[NSDictionary class] forKey:host]; + + NSURLCredential *credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]; + diff --git a/storybook/stories/Message.js b/storybook/stories/Message.js index 600f77016..610055082 100644 --- a/storybook/stories/Message.js +++ b/storybook/stories/Message.js @@ -485,6 +485,24 @@ stories.add('Message with reply', () => ( } ]} /> + <Message + msg='Looks cool!' + attachments={[ + { + author_name: 'rocket.cat', + attachments: [ + { + author_name: 'rocket.cat', + ts: date, + timeFormat: 'LT', + description: 'What you think about this one?', + image_url: 'https://octodex.github.com/images/yaktocat.png' + } + ], + text: '' + } + ]} + /> </> )); diff --git a/storybook/stories/ServerItem.js b/storybook/stories/ServerItem.js index 84e0668fe..d96e4ce74 100644 --- a/storybook/stories/ServerItem.js +++ b/storybook/stories/ServerItem.js @@ -19,7 +19,18 @@ const item = { iconURL: 'https://open.rocket.chat/images/logo/android-chrome-512x512.png' }; -const ServerItem = props => <ServerItemComponent item={item} hasCheck={false} {...props} />; +const ServerItem = ({ theme = themes.light, ...props }) => ( + <ThemeContext.Provider + value={{ + theme, + themePreferences: { + currentTheme: theme, + darkLevel: theme + } + }}> + <ServerItemComponent item={item} hasCheck={false} {...props} /> + </ThemeContext.Provider> +); stories.add('content', () => ( <> @@ -47,16 +58,10 @@ stories.add('touchable', () => ( </> )); -const ThemeStory = ({ theme }) => ( - <ThemeContext.Provider value={theme}> - <ServerItem theme={theme} hasCheck /> - </ThemeContext.Provider> -); - stories.add('themes', () => ( <> - <ThemeStory theme={themes.light} /> - <ThemeStory theme={themes.dark} /> - <ThemeStory theme={themes.black} /> + <ServerItem theme={themes.light} /> + <ServerItem theme={themes.dark} /> + <ServerItem theme={themes.black} /> </> )); diff --git a/storybook/stories/__snapshots__/Message.storyshot b/storybook/stories/__snapshots__/Message.storyshot index ac9fa7a75..934c0f0f3 100644 --- a/storybook/stories/__snapshots__/Message.storyshot +++ b/storybook/stories/__snapshots__/Message.storyshot @@ -1,79 +1,79 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Storyshots Message Archived 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This message is inside an archived room\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This message is inside an archived room\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Archived 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This message is inside an archived room\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This message is inside an archived room\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Basic 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Basic 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Block Quote 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-start\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":\\"100%\\",\\"width\\":2,\\"marginRight\\":5},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Testing block quote\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Testing block quote\\"]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-start\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":\\"100%\\",\\"width\\":2,\\"marginRight\\":5},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Testing block quote\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Testing block quote\\"]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Testing block quote\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Testing block quote\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Block Quote 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-start\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":\\"100%\\",\\"width\\":2,\\"marginRight\\":5},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Testing block quote\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Testing block quote\\"]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-start\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":\\"100%\\",\\"width\\":2,\\"marginRight\\":5},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Testing block quote\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Testing block quote\\"]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Testing block quote\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Testing block quote\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Broadcast 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Broadcasted message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Broadcasted message\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-broadcast-reply\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#ffffff\\"},{\\"marginRight\\":8},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"Reply\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Broadcast 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Broadcasted message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Broadcasted message\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-broadcast-reply\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#ffffff\\"},{\\"marginRight\\":8},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"Reply\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Colored attachments 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"alignSelf\\":\\"flex-start\\",\\"borderWidth\\":1,\\"borderRadius\\":4,\\"backgroundColor\\":\\"rgba(255, 0, 0, 0.2)\\",\\"borderColor\\":\\"red\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"padding\\":15}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderWidth\\":1,\\"borderRadius\\":4,\\"backgroundColor\\":\\"rgba(0, 128, 0, 0.2)\\",\\"borderColor\\":\\"green\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"padding\\":15}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderWidth\\":1,\\"borderRadius\\":4,\\"backgroundColor\\":\\"rgba(0, 0, 255, 0.2)\\",\\"borderColor\\":\\"blue\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"padding\\":15}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]}]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Colored attachments 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderLeftWidth\\":2,\\"borderColor\\":\\"red\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"paddingVertical\\":4,\\"paddingLeft\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginBottom\\":8}},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderLeftWidth\\":2,\\"marginTop\\":4,\\"borderColor\\":\\"green\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"paddingVertical\\":4,\\"paddingLeft\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginBottom\\":8}},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderLeftWidth\\":2,\\"marginTop\\":4,\\"borderColor\\":\\"blue\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"paddingVertical\\":4,\\"paddingLeft\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginBottom\\":8}},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Custom fields 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"alignSelf\\":\\"flex-start\\",\\"borderWidth\\":1,\\"borderRadius\\":4,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"padding\\":15}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Custom fields\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Custom fields\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"100%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"100%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"100%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 3\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 3\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 3\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"100%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 4\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 4\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 4\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"100%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 5\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 5\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 5\\"]}]}]}]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Custom fields 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderLeftWidth\\":2,\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"paddingVertical\\":4,\\"paddingLeft\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginBottom\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Custom fields\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}]},\\"children\\":[\\"Custom fields\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"100%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"100%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"100%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 3\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 3\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 3\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"100%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 4\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 4\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 4\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"100%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 5\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 5\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 5\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Custom style 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},[null,{\\"backgroundColor\\":\\"#ddd\\"}]]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Custom style 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},[null,{\\"backgroundColor\\":\\"#ddd\\"}]]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Date and Unread separators 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Fourth message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Fourth message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":16,\\"marginBottom\\":4,\\"marginHorizontal\\":14}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f5455c\\"}]},\\"children\\":[\\"unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#f5455c\\"},{\\"marginHorizontal\\":14}]},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f5455c\\"}]},\\"children\\":[\\"November 10, 2017\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Third message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Third message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":16,\\"marginBottom\\":4,\\"marginHorizontal\\":14}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f5455c\\"},{\\"marginRight\\":14}]},\\"children\\":[\\"unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#f5455c\\"}]},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":16,\\"marginBottom\\":4,\\"marginHorizontal\\":14}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#9ca2a8\\"},{\\"marginLeft\\":14}]},\\"children\\":[\\"November 10, 2017\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"First message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"First message\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Date and Unread separators 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Fourth message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Fourth message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":16,\\"marginBottom\\":4,\\"marginHorizontal\\":14}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f5455c\\"}]},\\"children\\":[\\"unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#f5455c\\"},{\\"marginHorizontal\\":14}]},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f5455c\\"}]},\\"children\\":[\\"November 10, 2017\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Third message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Third message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":16,\\"marginBottom\\":4,\\"marginHorizontal\\":14}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#f5455c\\"},{\\"marginRight\\":14}]},\\"children\\":[\\"unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#f5455c\\"}]},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":16,\\"marginBottom\\":4,\\"marginHorizontal\\":14}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#9ca2a8\\"},{\\"marginLeft\\":14}]},\\"children\\":[\\"November 10, 2017\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"First message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"First message\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Discussion 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"marginBottom\\":6,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"Started a discussion:\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"This is a discussion\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#ffffff\\"},{\\"marginRight\\":8},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"No messages yet\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":null}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"marginBottom\\":6,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"Started a discussion:\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"This is a discussion\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#ffffff\\"},{\\"marginRight\\":8},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"1 message\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"November 10, 2017\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"marginBottom\\":6,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"Started a discussion:\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#ffffff\\"},{\\"marginRight\\":8},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"10 messages\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"November 10, 2017\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"marginBottom\\":6,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"Started a discussion:\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"This is a discussion\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#ffffff\\"},{\\"marginRight\\":8},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"+999 messages\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"November 10, 2017\\"]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Discussion 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"marginBottom\\":6,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"Started a discussion:\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"This is a discussion\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#ffffff\\"},{\\"marginRight\\":8},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"No messages yet\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":null}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"marginBottom\\":6,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"Started a discussion:\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"This is a discussion\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#ffffff\\"},{\\"marginRight\\":8},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"1 message\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"November 10, 2017\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"marginBottom\\":6,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"Started a discussion:\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#ffffff\\"},{\\"marginRight\\":8},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"10 messages\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"November 10, 2017\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"marginBottom\\":6,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"Started a discussion:\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"This is a discussion\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#ffffff\\"},{\\"marginRight\\":8},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"+999 messages\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"November 10, 2017\\"]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Edited 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Edited 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Editing 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message being edited\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message being edited\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Editing 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message being edited\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message being edited\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Emojis 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"👊🤙👏\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"fontSize\\":30,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"👊🤙👏\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"👏\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"fontSize\\":30,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"👏\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/react_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"fontSize\\":30,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"fontSize\\":30,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/marioparty.gif\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/react_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"🤙\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"fontSize\\":30,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"🤙\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/react_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"🤙\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"🤙\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/react_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"🤙🤙\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"🤙🤙\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Emojis 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"👊🤙👏\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"fontSize\\":30,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"👊🤙👏\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"👏\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"fontSize\\":30,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"👏\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/react_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"fontSize\\":30,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"fontSize\\":30,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/marioparty.gif\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/react_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"🤙\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"fontSize\\":30,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"🤙\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/react_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"🤙\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"🤙\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/react_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"🤙🤙\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"🤙🤙\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Encrypted 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message Encrypted without Header\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message Encrypted without Header\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message Encrypted with Reactions\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message Encrypted with Reactions\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"flexWrap\\":\\"wrap\\",\\"marginTop\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:joy:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"😂\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:marioparty:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":19,\\"height\\":19,\\"marginLeft\\":7}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/marioparty.gif\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:thinking:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"🤔\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-add-reaction\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":21,\\"color\\":\\"#1d74f5\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-Thread with emoji :) :joy:\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Thread with emoji🙂 😂\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Thread with emoji🙂 😂\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Thread reply encrypted\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Thread reply encrypted\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"opacity\\":0.3}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Temp message encrypted\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Temp message encrypted\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message Edited encrypted\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message Edited encrypted\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingLeft\\":10,\\"paddingVertical\\":5,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":18,\\"color\\":\\"#f5455c\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This message has error and is encrypted\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This message has error and is encrypted\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Read Receipt encrypted with Header\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Read Receipt encrypted with Header\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":15,\\"color\\":\\"#1d74f5\\"},{\\"lineHeight\\":20},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Read Receipt encrypted without Header\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Read Receipt encrypted without Header\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":15,\\"color\\":\\"#1d74f5\\"},{\\"lineHeight\\":20},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Encrypted 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message Encrypted without Header\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message Encrypted without Header\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message Encrypted with Reactions\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message Encrypted with Reactions\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"flexWrap\\":\\"wrap\\",\\"marginTop\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:joy:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"😂\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:marioparty:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":19,\\"height\\":19,\\"marginLeft\\":7}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/marioparty.gif\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:thinking:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"🤔\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-add-reaction\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":21,\\"color\\":\\"#1d74f5\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-Thread with emoji :) :joy:\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Thread with emoji🙂 😂\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Thread with emoji🙂 😂\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Thread reply encrypted\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Thread reply encrypted\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"opacity\\":0.3}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Temp message encrypted\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Temp message encrypted\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message Edited encrypted\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message Edited encrypted\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingLeft\\":10,\\"paddingVertical\\":5,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":18,\\"color\\":\\"#f5455c\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This message has error and is encrypted\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This message has error and is encrypted\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Read Receipt encrypted with Header\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Read Receipt encrypted with Header\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":15,\\"color\\":\\"#1d74f5\\"},{\\"lineHeight\\":20},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Read Receipt encrypted without Header\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Read Receipt encrypted without Header\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":false,\\"style\\":{\\"justifyContent\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":15,\\"color\\":\\"#1d74f5\\"},{\\"lineHeight\\":20},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Error 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingLeft\\":10,\\"paddingVertical\\":5,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":18,\\"color\\":\\"#f5455c\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This message has error\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This message has error\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingLeft\\":10,\\"paddingVertical\\":5,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":18,\\"color\\":\\"#f5455c\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This message has error too\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This message has error too\\"]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Error 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingLeft\\":10,\\"paddingVertical\\":5,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":18,\\"color\\":\\"#f5455c\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This message has error\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This message has error\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"paddingLeft\\":10,\\"paddingVertical\\":5,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":18,\\"color\\":\\"#f5455c\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This message has error too\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This message has error too\\"]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Full name 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Diego Mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Full name 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Diego Mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Grouped messages 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"...\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"...\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Different user\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Different user\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the third message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the third message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the first message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the first message\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Grouped messages 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"...\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"...\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Different user\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Different user\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the third message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the third message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the second message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the second message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is the first message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is the first message\\"]}]}]}]}]}]}]}]}]}]}"`; exports[`Storyshots Message Ignored 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"Message ignored. Tap to display it.\\"]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Lists 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":15},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"•\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Dogs\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Dogs\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":15},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"◦\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"cats\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"cats\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":15},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"◦\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"cats\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"cats\\"]}]}]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":16},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"1.\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Dogs\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Dogs\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":16},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"2.\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Cats\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Cats\\"]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":16},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"1.\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Dogs\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Dogs\\"]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":16},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"2.\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Cats\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Cats\\"]}]}]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Lists 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":15},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"•\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Dogs\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Dogs\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":15},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"◦\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"cats\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"cats\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":15},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"◦\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"cats\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"cats\\"]}]}]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":16},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"1.\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Dogs\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Dogs\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":16},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"2.\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Cats\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Cats\\"]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":16},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"1.\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Dogs\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Dogs\\"]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":16},{\\"alignItems\\":\\"flex-end\\",\\"marginRight\\":5}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"color\\":\\"#2f343d\\"}},\\"children\\":[\\"2.\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Cats\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},null,null,{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Cats\\"]}]}]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Mentions 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F3BE08\\"}]},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F5455C\\"}]},\\"children\\":[\\"diego.mello\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F38C39\\"}]},\\"children\\":[\\"all\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F38C39\\"}]},\\"children\\":[\\"here\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F3BE08\\"}]},\\"children\\":[\\"#general\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F3BE08\\"}]},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" Lorem ipsum dolor \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" Lorem ipsum dolor \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F5455C\\"}]},\\"children\\":[\\"diego.mello\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" sit amet, \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" sit amet, \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F38C39\\"}]},\\"children\\":[\\"all\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" consectetur adipiscing \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" consectetur adipiscing \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F38C39\\"}]},\\"children\\":[\\"here\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" elit, sed do eiusmod tempor \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" elit, sed do eiusmod tempor \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F3BE08\\"}]},\\"children\\":[\\"#general\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Mentions 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F3BE08\\"}]},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F5455C\\"}]},\\"children\\":[\\"diego.mello\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F38C39\\"}]},\\"children\\":[\\"all\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F38C39\\"}]},\\"children\\":[\\"here\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F3BE08\\"}]},\\"children\\":[\\"#general\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F3BE08\\"}]},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" Lorem ipsum dolor \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" Lorem ipsum dolor \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F5455C\\"}]},\\"children\\":[\\"diego.mello\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" sit amet, \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" sit amet, \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F38C39\\"}]},\\"children\\":[\\"all\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" consectetur adipiscing \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" consectetur adipiscing \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F38C39\\"}]},\\"children\\":[\\"here\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" elit, sed do eiusmod tempor \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" elit, sed do eiusmod tempor \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#F3BE08\\"}]},\\"children\\":[\\"#general\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Message with read receipt 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":15,\\"color\\":\\"#1d74f5\\"},{\\"lineHeight\\":20},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":15,\\"color\\":\\"#1d74f5\\"},{\\"lineHeight\\":20},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Message with read receipt 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":15,\\"color\\":\\"#1d74f5\\"},{\\"lineHeight\\":20},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":15,\\"color\\":\\"#1d74f5\\"},{\\"lineHeight\\":20},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Message with reply 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"alignSelf\\":\\"flex-start\\",\\"borderWidth\\":1,\\"borderRadius\\":4,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"padding\\":15}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"I'm a very long long title and I'll break\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"How are you?\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"alignSelf\\":\\"flex-start\\",\\"borderWidth\\":1,\\"borderRadius\\":4,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"padding\\":15}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you? \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"How are you? \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Message with reply 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderLeftWidth\\":2,\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"paddingVertical\\":4,\\"paddingLeft\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginBottom\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"I'm a very long long title and I'll break\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}]},\\"children\\":[\\"How are you?\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderLeftWidth\\":2,\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"paddingVertical\\":4,\\"paddingLeft\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginBottom\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you? \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}]},\\"children\\":[\\"How are you? \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},[{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}]]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderLeftWidth\\":2,\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"paddingVertical\\":4,\\"paddingLeft\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginBottom\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[[{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14,\\"marginBottom\\":8}]],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"What you think about this one?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],[{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14,\\"marginBottom\\":8}]]},\\"children\\":[\\"What you think about this one?\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"minHeight\\":200,\\"borderRadius\\":4,\\"borderWidth\\":1,\\"overflow\\":\\"hidden\\"},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},null]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://octodex.github.com/images/yaktocat.png?rc_uid=y8bd77ptZswPj3EW8&rc_token=79q6lH40W4ZRGLOshDiDiVlQaCc4f_lU9HNdHLAzuHz\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Looks cool!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Looks cool!\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Message with thread 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"How are you?\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2},{\\"backgroundColor\\":\\"#1d74f5\\"}],\\"testID\\":\\"message-thread-button-How are you?\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"Reply\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"},{\\"flex\\":1,\\"marginLeft\\":12}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginRight\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":10,\\"marginLeft\\":2,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginRight\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":10,\\"marginLeft\\":2,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"0\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":8,\\"height\\":8,\\"borderRadius\\":4,\\"marginRight\\":8},{\\"backgroundColor\\":\\"#1d74f5\\"}]},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#6C727A\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-How are you?\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"How are you?\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-Thread with emoji :) :joy:\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Thread with emoji🙂 😂\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Thread with emoji🙂 😂\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-How are you?\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"How are you?\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-Thread with attachment\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Thread with attachment\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Thread with attachment\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Sent an attachment\\"]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Message with thread 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"How are you?\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2},{\\"backgroundColor\\":\\"#1d74f5\\"}],\\"testID\\":\\"message-thread-button-How are you?\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"Reply\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"},{\\"flex\\":1,\\"marginLeft\\":12}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginRight\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":10,\\"marginLeft\\":2,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginRight\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":10,\\"marginLeft\\":2,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"0\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":8,\\"height\\":8,\\"borderRadius\\":4,\\"marginRight\\":8},{\\"backgroundColor\\":\\"#1d74f5\\"}]},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#6C727A\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-How are you?\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"How are you?\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-Thread with emoji :) :joy:\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Thread with emoji🙂 😂\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Thread with emoji🙂 😂\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-How are you?\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"How are you?\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-Thread with attachment\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Thread with attachment\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Thread with attachment\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Reactions 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Reactions\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Reactions\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"flexWrap\\":\\"wrap\\",\\"marginTop\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:joy:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"😂\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:marioparty:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":19,\\"height\\":19,\\"marginLeft\\":7}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/marioparty.gif\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"99\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:thinking:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"🤔\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"999\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:thinking:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"🤔\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"9999\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-add-reaction\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":21,\\"color\\":\\"#1d74f5\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Multiple Reactions\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Multiple Reactions\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"flexWrap\\":\\"wrap\\",\\"marginTop\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:marioparty:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":19,\\"height\\":19,\\"marginLeft\\":7}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/marioparty.gif\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:react_rocket:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":19,\\"height\\":19,\\"marginLeft\\":7}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/react_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:nyan_rocket:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":19,\\"height\\":19,\\"marginLeft\\":7}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:heart:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"❤️\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:dog:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"🐶\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:grinning:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"😀\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:grimacing:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"😬\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:grin:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"😁\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-add-reaction\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":21,\\"color\\":\\"#1d74f5\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Reactions 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Reactions\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Reactions\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"flexWrap\\":\\"wrap\\",\\"marginTop\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:joy:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"😂\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:marioparty:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":19,\\"height\\":19,\\"marginLeft\\":7}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/marioparty.gif\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"99\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:thinking:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"🤔\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"999\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:thinking:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"🤔\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"9999\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-add-reaction\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":21,\\"color\\":\\"#1d74f5\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Multiple Reactions\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Multiple Reactions\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"flexWrap\\":\\"wrap\\",\\"marginTop\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:marioparty:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":19,\\"height\\":19,\\"marginLeft\\":7}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/marioparty.gif\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:react_rocket:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":19,\\"height\\":19,\\"marginLeft\\":7}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/react_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:nyan_rocket:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":19,\\"height\\":19,\\"marginLeft\\":7}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:heart:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"❤️\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:dog:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"🐶\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:grinning:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"😀\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:grimacing:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"😬\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-reaction-:grin:\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#f1f2f4\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#1d74f5\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":13,\\"marginLeft\\":7,\\"color\\":\\"#ffffff\\"}},\\"children\\":[\\"😁\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":3,\\"marginRight\\":8.5,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]},\\"children\\":[\\"1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"message-add-reaction\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"marginRight\\":8,\\"marginBottom\\":8,\\"borderRadius\\":2,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":2,\\"borderWidth\\":1,\\"height\\":28,\\"minWidth\\":46.3},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":21,\\"color\\":\\"#1d74f5\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Sequential thread messages following thread button 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"How are you?\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2},{\\"backgroundColor\\":\\"#1d74f5\\"}],\\"testID\\":\\"message-thread-button-How are you?\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"Reply\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"},{\\"flex\\":1,\\"marginLeft\\":12}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginRight\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":10,\\"marginLeft\\":2,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginRight\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":10,\\"marginLeft\\":2,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"0\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":8,\\"height\\":8,\\"borderRadius\\":4,\\"marginRight\\":8},{\\"backgroundColor\\":\\"#1d74f5\\"}]},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#6C727A\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Sent an attachment\\"]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Sequential thread messages following thread button 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"How are you?\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginTop\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingHorizontal\\":12,\\"paddingVertical\\":8,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"borderRadius\\":2},{\\"backgroundColor\\":\\"#1d74f5\\"}],\\"testID\\":\\"message-thread-button-How are you?\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#ffffff\\"}]},\\"children\\":[\\"Reply\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"},{\\"flex\\":1,\\"marginLeft\\":12}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginRight\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":10,\\"marginLeft\\":2,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginRight\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":10,\\"marginLeft\\":2,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"0\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":8,\\"height\\":8,\\"borderRadius\\":4,\\"marginRight\\":8},{\\"backgroundColor\\":\\"#1d74f5\\"}]},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#6C727A\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Sequential thread messages following thread reply 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-How are you?\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"How are you?\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Cool!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Cool!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Sent an attachment\\"]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Sequential thread messages following thread reply 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-How are you?\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"How are you?\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Cool!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Cool!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Show a button as attachment 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"}},\\"children\\":[\\"Test Button\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Text button\\",\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#ffffff\\"},null,null],\\"accessibilityLabel\\":\\"Text button\\"},\\"children\\":[\\"Text button\\"]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Show a button as attachment 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"}},\\"children\\":[\\"Test Button\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Text button\\",\\"focusable\\":true,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#ffffff\\"},null,null],\\"accessibilityLabel\\":\\"Text button\\"},\\"children\\":[\\"Text button\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Static avatar 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://pbs.twimg.com/profile_images/1016397063649660929/14EIApTi_400x400.jpg\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Static avatar 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://pbs.twimg.com/profile_images/1016397063649660929/14EIApTi_400x400.jpg\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message System messages 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Message removed\\"},\\"children\\":[\\"Message removed\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"has joined the channel\\"},\\"children\\":[\\"has joined the channel\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Message pinned\\"},\\"children\\":[\\"Message pinned\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"has left the channel\\"},\\"children\\":[\\"has left the channel\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"User rocket.cat removed by diego.mello\\"},\\"children\\":[\\"User rocket.cat removed by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"User rocket.cat added by diego.mello\\"},\\"children\\":[\\"User rocket.cat added by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"User rocket.cat muted by diego.mello\\"},\\"children\\":[\\"User rocket.cat muted by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"User rocket.cat unmuted by diego.mello\\"},\\"children\\":[\\"User rocket.cat unmuted by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"rocket.cat was set admin by diego.mello\\"},\\"children\\":[\\"rocket.cat was set admin by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"rocket.cat is no longer admin by diego.mello\\"},\\"children\\":[\\"rocket.cat is no longer admin by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Room name changed to: New name by diego.mello\\"},\\"children\\":[\\"Room name changed to: New name by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Room description changed to: new description by diego.mello\\"},\\"children\\":[\\"Room description changed to: new description by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Room announcement changed to: new announcement by diego.mello\\"},\\"children\\":[\\"Room announcement changed to: new announcement by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Room topic changed to: new topic by diego.mello\\"},\\"children\\":[\\"Room topic changed to: new topic by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Room type changed to: public by diego.mello\\"},\\"children\\":[\\"Room type changed to: public by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"This room's encryption has been disabled by diego.mello\\"},\\"children\\":[\\"This room's encryption has been disabled by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"This room's encryption has been enabled by diego.mello\\"},\\"children\\":[\\"This room's encryption has been enabled by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"removed @diego.mello from this Team\\"},\\"children\\":[\\"removed @diego.mello from this Team\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"added @diego.mello to this Team\\"},\\"children\\":[\\"added @diego.mello to this Team\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"added #channel-name to this Team\\"},\\"children\\":[\\"added #channel-name to this Team\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"converted #channel-name to a Team\\"},\\"children\\":[\\"converted #channel-name to a Team\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"converted #channel-name to a Channel\\"},\\"children\\":[\\"converted #channel-name to a Channel\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"deleted #channel-name\\"},\\"children\\":[\\"deleted #channel-name\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"removed #channel-name from this Team\\"},\\"children\\":[\\"removed #channel-name from this Team\\"]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message System messages 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Message removed\\"},\\"children\\":[\\"Message removed\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"has joined the channel\\"},\\"children\\":[\\"has joined the channel\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Message pinned\\"},\\"children\\":[\\"Message pinned\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"has left the channel\\"},\\"children\\":[\\"has left the channel\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"User rocket.cat removed by diego.mello\\"},\\"children\\":[\\"User rocket.cat removed by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"User rocket.cat added by diego.mello\\"},\\"children\\":[\\"User rocket.cat added by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"User rocket.cat muted by diego.mello\\"},\\"children\\":[\\"User rocket.cat muted by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"User rocket.cat unmuted by diego.mello\\"},\\"children\\":[\\"User rocket.cat unmuted by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"rocket.cat was set admin by diego.mello\\"},\\"children\\":[\\"rocket.cat was set admin by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"rocket.cat is no longer admin by diego.mello\\"},\\"children\\":[\\"rocket.cat is no longer admin by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Room name changed to: New name by diego.mello\\"},\\"children\\":[\\"Room name changed to: New name by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Room description changed to: new description by diego.mello\\"},\\"children\\":[\\"Room description changed to: new description by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Room announcement changed to: new announcement by diego.mello\\"},\\"children\\":[\\"Room announcement changed to: new announcement by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Room topic changed to: new topic by diego.mello\\"},\\"children\\":[\\"Room topic changed to: new topic by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"Room type changed to: public by diego.mello\\"},\\"children\\":[\\"Room type changed to: public by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"This room's encryption has been disabled by diego.mello\\"},\\"children\\":[\\"This room's encryption has been disabled by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"This room's encryption has been enabled by diego.mello\\"},\\"children\\":[\\"This room's encryption has been enabled by diego.mello\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"removed @[missing {{user_removed}} value] from this Team\\"},\\"children\\":[\\"removed @[missing {{user_removed}} value] from this Team\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"added @[missing {{user_added}} value] to this Team\\"},\\"children\\":[\\"added @[missing {{user_added}} value] to this Team\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"added #channel-name to this Team\\"},\\"children\\":[\\"added #channel-name to this Team\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"converted #channel-name to a Team\\"},\\"children\\":[\\"converted #channel-name to a Team\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"converted #channel-name to a Channel\\"},\\"children\\":[\\"converted #channel-name to a Channel\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"deleted #channel-name\\"},\\"children\\":[\\"deleted #channel-name\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":2}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=20\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"disabled\\":false},\\"children\\":[\\"diego.mello\\"]},\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontStyle\\":\\"italic\\",\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"accessibilityLabel\\":\\"removed #channel-name from this Team\\"},\\"children\\":[\\"removed #channel-name from this Team\\"]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Temp 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"opacity\\":0.3}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Temp message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Temp message\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Temp 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"opacity\\":0.3}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Temp message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Temp message\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Thumbnail from server 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"this is a thumbnail\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"this is a thumbnail\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"alignSelf\\":\\"flex-start\\",\\"borderWidth\\":1,\\"borderRadius\\":4,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"padding\\":15}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"marginBottom\\":3,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Title\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":null,\\"height\\":200,\\"flex\\":1,\\"borderTopLeftRadius\\":4,\\"borderTopRightRadius\\":4,\\"marginBottom\\":1}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://images-na.ssl-images-amazon.com/images/I/71jKxPAMFbL._AC_SL1500_.jpg\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Image text\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Image text\\"]}]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Thumbnail from server 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"collapsibleQuoteTouchable-Title\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"minHeight\\":40,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderLeftColor\\":\\"#CBCED1\\",\\"borderTopColor\\":\\"#e1e5e8\\",\\"borderRightColor\\":\\"#e1e5e8\\",\\"borderBottomColor\\":\\"#e1e5e8\\",\\"borderLeftWidth\\":2,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"padding\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"Title\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":20,\\"height\\":20,\\"right\\":8,\\"top\\":8,\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#6C727A\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"this is a thumbnail\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"this is a thumbnail\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Time format 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10 November 2017\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Testing\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Testing\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Time format 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10 November 2017\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Testing\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Testing\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message Two short custom fields with markdown 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"alignSelf\\":\\"flex-start\\",\\"borderWidth\\":1,\\"borderRadius\\":4,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"padding\\":15}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Custom fields\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Custom fields\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"color\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"},{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderWidth\\":1,\\"borderRadius\\":4,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"padding\\":15}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Custom fields 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Custom fields 2\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"},{\\"fontWeight\\":\\"bold\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]}]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message Two short custom fields with markdown 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderLeftWidth\\":2,\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"paddingVertical\\":4,\\"paddingLeft\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginBottom\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Custom fields\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}]},\\"children\\":[\\"Custom fields\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"color\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"},{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderLeftWidth\\":2,\\"marginTop\\":4,\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"paddingVertical\\":4,\\"paddingLeft\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginBottom\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"rocket.cat\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Custom fields 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}]},\\"children\\":[\\"Custom fields 2\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 1\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Value 1\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"column\\",\\"padding\\":10},{\\"width\\":\\"50%\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Field 2\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Value 2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"},{\\"fontWeight\\":\\"bold\\"}]]},\\"children\\":[\\"Value 2\\"]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message URL 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"marginTop\\":6,\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"borderWidth\\":1,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":\\"100%\\",\\"height\\":150,\\"borderTopLeftRadius\\":4,\\"borderTopRightRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://rocket.chat/images/blog/post.jpg\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"padding\\":15,\\"justifyContent\\":\\"flex-start\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Rocket.Chat - Free, Open Source, Enterprise Team Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Rocket.Chat is the leading open source team chat software solution. Free, unlimited and completely customizable with on-premises and SaaS cloud hosting.\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"marginTop\\":4,\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"borderWidth\\":1,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"padding\\":15,\\"justifyContent\\":\\"flex-start\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Google\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"marginTop\\":6,\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"borderWidth\\":1,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"padding\\":15,\\"justifyContent\\":\\"flex-start\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Google\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"marginTop\\":6,\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"borderWidth\\":1,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"padding\\":15,\\"justifyContent\\":\\"flex-start\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Google\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message URL 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"marginTop\\":6,\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"borderWidth\\":1,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":\\"100%\\",\\"height\\":150,\\"borderTopLeftRadius\\":4,\\"borderTopRightRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://rocket.chat/images/blog/post.jpg\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"padding\\":15,\\"justifyContent\\":\\"flex-start\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Rocket.Chat - Free, Open Source, Enterprise Team Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Rocket.Chat is the leading open source team chat software solution. Free, unlimited and completely customizable with on-premises and SaaS cloud hosting.\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"marginTop\\":4,\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"borderWidth\\":1,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"padding\\":15,\\"justifyContent\\":\\"flex-start\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Google\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"marginTop\\":6,\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"borderWidth\\":1,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"padding\\":15,\\"justifyContent\\":\\"flex-start\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Google\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"marginTop\\":6,\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"borderWidth\\":1,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"padding\\":15,\\"justifyContent\\":\\"flex-start\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Google\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2},\\"children\\":[\\"Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message With alias 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Diego Mello\\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\" @\\",\\"diego.mello\\"]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Diego Mello\\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\" @\\",\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message With alias 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Diego Mello\\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\" @\\",\\"diego.mello\\"]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Diego Mello\\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\" @\\",\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message With audio 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"height\\":56,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"marginBottom\\":6},{\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":12,\\"right\\":12,\\"bottom\\":12,\\"left\\":12},\\"focusable\\":true,\\"style\\":{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"animating\\":true,\\"color\\":\\"#9ca2a8\\",\\"hidesWhenStopped\\":true,\\"size\\":\\"small\\",\\"style\\":[{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\"},{\\"marginHorizontal\\":8}]},\\"children\\":null}]},{\\"type\\":\\"RNCSlider\\",\\"props\\":{\\"style\\":[{\\"height\\":40},{\\"flex\\":1}],\\"value\\":0,\\"maximumValue\\":0,\\"minimumValue\\":0,\\"animateTransitions\\":true,\\"animationConfig\\":{\\"duration\\":250,\\"delay\\":0},\\"thumbTintColor\\":false,\\"minimumTrackTintColor\\":\\"#1d74f5\\",\\"maximumTrackTintColor\\":\\"#9ca2a8\\",\\"thumbImage\\":{\\"uri\\":\\"audio_thumb\\",\\"scale\\":2},\\"disabled\\":false,\\"step\\":0,\\"inverted\\":false,\\"onRNCSliderSlidingStart\\":null,\\"onRNCSliderSlidingComplete\\":null,\\"enabled\\":true},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginHorizontal\\":12,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"00:00\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is a description \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"First message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"First message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"height\\":56,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"marginBottom\\":6},{\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":12,\\"right\\":12,\\"bottom\\":12,\\"left\\":12},\\"focusable\\":true,\\"style\\":{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"animating\\":true,\\"color\\":\\"#9ca2a8\\",\\"hidesWhenStopped\\":true,\\"size\\":\\"small\\",\\"style\\":[{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\"},{\\"marginHorizontal\\":8}]},\\"children\\":null}]},{\\"type\\":\\"RNCSlider\\",\\"props\\":{\\"style\\":[{\\"height\\":40},{\\"flex\\":1}],\\"value\\":0,\\"maximumValue\\":0,\\"minimumValue\\":0,\\"animateTransitions\\":true,\\"animationConfig\\":{\\"duration\\":250,\\"delay\\":0},\\"thumbTintColor\\":false,\\"minimumTrackTintColor\\":\\"#1d74f5\\",\\"maximumTrackTintColor\\":\\"#9ca2a8\\",\\"thumbImage\\":{\\"uri\\":\\"audio_thumb\\",\\"scale\\":2},\\"disabled\\":false,\\"step\\":0,\\"inverted\\":false,\\"onRNCSliderSlidingStart\\":null,\\"onRNCSliderSlidingComplete\\":null,\\"enabled\\":true},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginHorizontal\\":12,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"00:00\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is a description\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"height\\":56,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"marginBottom\\":6},{\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":12,\\"right\\":12,\\"bottom\\":12,\\"left\\":12},\\"focusable\\":true,\\"style\\":{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"animating\\":true,\\"color\\":\\"#9ca2a8\\",\\"hidesWhenStopped\\":true,\\"size\\":\\"small\\",\\"style\\":[{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\"},{\\"marginHorizontal\\":8}]},\\"children\\":null}]},{\\"type\\":\\"RNCSlider\\",\\"props\\":{\\"style\\":[{\\"height\\":40},{\\"flex\\":1}],\\"value\\":0,\\"maximumValue\\":0,\\"minimumValue\\":0,\\"animateTransitions\\":true,\\"animationConfig\\":{\\"duration\\":250,\\"delay\\":0},\\"thumbTintColor\\":false,\\"minimumTrackTintColor\\":\\"#1d74f5\\",\\"maximumTrackTintColor\\":\\"#9ca2a8\\",\\"thumbImage\\":{\\"uri\\":\\"audio_thumb\\",\\"scale\\":2},\\"disabled\\":false,\\"step\\":0,\\"inverted\\":false,\\"onRNCSliderSlidingStart\\":null,\\"onRNCSliderSlidingComplete\\":null,\\"enabled\\":true},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginHorizontal\\":12,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"00:00\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"height\\":56,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"marginBottom\\":6},{\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":12,\\"right\\":12,\\"bottom\\":12,\\"left\\":12},\\"focusable\\":true,\\"style\\":{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"animating\\":true,\\"color\\":\\"#9ca2a8\\",\\"hidesWhenStopped\\":true,\\"size\\":\\"small\\",\\"style\\":[{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\"},{\\"marginHorizontal\\":8}]},\\"children\\":null}]},{\\"type\\":\\"RNCSlider\\",\\"props\\":{\\"style\\":[{\\"height\\":40},{\\"flex\\":1}],\\"value\\":0,\\"maximumValue\\":0,\\"minimumValue\\":0,\\"animateTransitions\\":true,\\"animationConfig\\":{\\"duration\\":250,\\"delay\\":0},\\"thumbTintColor\\":false,\\"minimumTrackTintColor\\":\\"#1d74f5\\",\\"maximumTrackTintColor\\":\\"#9ca2a8\\",\\"thumbImage\\":{\\"uri\\":\\"audio_thumb\\",\\"scale\\":2},\\"disabled\\":false,\\"step\\":0,\\"inverted\\":false,\\"onRNCSliderSlidingStart\\":null,\\"onRNCSliderSlidingComplete\\":null,\\"enabled\\":true},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginHorizontal\\":12,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"00:00\\"]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message With audio 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[null],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],null]},\\"children\\":[\\"This is a description \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},[null]]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"height\\":56,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"marginBottom\\":6},{\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":12,\\"right\\":12,\\"bottom\\":12,\\"left\\":12},\\"focusable\\":true,\\"style\\":{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"animating\\":true,\\"color\\":\\"#9ca2a8\\",\\"hidesWhenStopped\\":true,\\"size\\":\\"small\\",\\"style\\":[{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\"},{\\"marginHorizontal\\":8}]},\\"children\\":null}]},{\\"type\\":\\"RNCSlider\\",\\"props\\":{\\"disabled\\":false,\\"style\\":[{\\"height\\":40},{\\"flex\\":1}],\\"value\\":0,\\"maximumValue\\":0,\\"minimumValue\\":0,\\"thumbTintColor\\":false,\\"minimumTrackTintColor\\":\\"#1d74f5\\",\\"maximumTrackTintColor\\":\\"#9ca2a8\\",\\"thumbImage\\":{\\"uri\\":\\"audio_thumb\\",\\"scale\\":2},\\"step\\":0,\\"inverted\\":false,\\"onRNCSliderSlidingStart\\":null,\\"onRNCSliderSlidingComplete\\":null,\\"enabled\\":true},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginHorizontal\\":12,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"00:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"First message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"First message\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[null],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],null]},\\"children\\":[\\"This is a description\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"height\\":56,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"marginBottom\\":6},{\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":12,\\"right\\":12,\\"bottom\\":12,\\"left\\":12},\\"focusable\\":true,\\"style\\":{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"animating\\":true,\\"color\\":\\"#9ca2a8\\",\\"hidesWhenStopped\\":true,\\"size\\":\\"small\\",\\"style\\":[{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\"},{\\"marginHorizontal\\":8}]},\\"children\\":null}]},{\\"type\\":\\"RNCSlider\\",\\"props\\":{\\"disabled\\":false,\\"style\\":[{\\"height\\":40},{\\"flex\\":1}],\\"value\\":0,\\"maximumValue\\":0,\\"minimumValue\\":0,\\"thumbTintColor\\":false,\\"minimumTrackTintColor\\":\\"#1d74f5\\",\\"maximumTrackTintColor\\":\\"#9ca2a8\\",\\"thumbImage\\":{\\"uri\\":\\"audio_thumb\\",\\"scale\\":2},\\"step\\":0,\\"inverted\\":false,\\"onRNCSliderSlidingStart\\":null,\\"onRNCSliderSlidingComplete\\":null,\\"enabled\\":true},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginHorizontal\\":12,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"00:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"height\\":56,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"marginBottom\\":6},{\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":12,\\"right\\":12,\\"bottom\\":12,\\"left\\":12},\\"focusable\\":true,\\"style\\":{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"animating\\":true,\\"color\\":\\"#9ca2a8\\",\\"hidesWhenStopped\\":true,\\"size\\":\\"small\\",\\"style\\":[{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\"},{\\"marginHorizontal\\":8}]},\\"children\\":null}]},{\\"type\\":\\"RNCSlider\\",\\"props\\":{\\"disabled\\":false,\\"style\\":[{\\"height\\":40},{\\"flex\\":1}],\\"value\\":0,\\"maximumValue\\":0,\\"minimumValue\\":0,\\"thumbTintColor\\":false,\\"minimumTrackTintColor\\":\\"#1d74f5\\",\\"maximumTrackTintColor\\":\\"#9ca2a8\\",\\"thumbImage\\":{\\"uri\\":\\"audio_thumb\\",\\"scale\\":2},\\"step\\":0,\\"inverted\\":false,\\"onRNCSliderSlidingStart\\":null,\\"onRNCSliderSlidingComplete\\":null,\\"enabled\\":true},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginHorizontal\\":12,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"00:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"height\\":56,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"marginBottom\\":6},{\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"hitSlop\\":{\\"top\\":12,\\"right\\":12,\\"bottom\\":12,\\"left\\":12},\\"focusable\\":true,\\"style\\":{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"animating\\":true,\\"color\\":\\"#9ca2a8\\",\\"hidesWhenStopped\\":true,\\"size\\":\\"small\\",\\"style\\":[{\\"marginHorizontal\\":10,\\"alignItems\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\"},{\\"marginHorizontal\\":8}]},\\"children\\":null}]},{\\"type\\":\\"RNCSlider\\",\\"props\\":{\\"disabled\\":false,\\"style\\":[{\\"height\\":40},{\\"flex\\":1}],\\"value\\":0,\\"maximumValue\\":0,\\"minimumValue\\":0,\\"thumbTintColor\\":false,\\"minimumTrackTintColor\\":\\"#1d74f5\\",\\"maximumTrackTintColor\\":\\"#9ca2a8\\",\\"thumbImage\\":{\\"uri\\":\\"audio_thumb\\",\\"scale\\":2},\\"step\\":0,\\"inverted\\":false,\\"onRNCSliderSlidingStart\\":null,\\"onRNCSliderSlidingComplete\\":null,\\"enabled\\":true},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginHorizontal\\":12,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"00:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message With file 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"alignSelf\\":\\"flex-start\\",\\"borderWidth\\":1,\\"borderRadius\\":4,\\"marginBottom\\":4,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"padding\\":15}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"File.pdf\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"File.pdf\\"]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is a description \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"alignSelf\\":\\"flex-start\\",\\"borderWidth\\":1,\\"borderRadius\\":4,\\"marginBottom\\":4,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"padding\\":15}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"File.pdf\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"File.pdf\\"]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is a description \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message With file 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderLeftWidth\\":2,\\"marginBottom\\":4,\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"paddingVertical\\":4,\\"paddingLeft\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginBottom\\":8}},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"File.pdf\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}]},\\"children\\":[\\"File.pdf\\"]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is a description \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":4,\\"alignSelf\\":\\"flex-start\\",\\"borderLeftWidth\\":2,\\"marginBottom\\":4,\\"borderColor\\":\\"#e1e5e8\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"flexDirection\\":\\"column\\",\\"paddingVertical\\":4,\\"paddingLeft\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginBottom\\":8}},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"File.pdf\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],{\\"color\\":\\"#6C727A\\",\\"fontSize\\":14}]},\\"children\\":[\\"File.pdf\\"]}]}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is a description \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message With image 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"minHeight\\":200,\\"borderRadius\\":4,\\"borderWidth\\":1,\\"overflow\\":\\"hidden\\"},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},null]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/dummypath?rc_uid=y8bd77ptZswPj3EW8&rc_token=79q6lH40W4ZRGLOshDiDiVlQaCc4f_lU9HNdHLAzuHz\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is a description\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"minHeight\\":200,\\"borderRadius\\":4,\\"borderWidth\\":1,\\"overflow\\":\\"hidden\\"},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},null]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/dummypath?rc_uid=y8bd77ptZswPj3EW8&rc_token=79q6lH40W4ZRGLOshDiDiVlQaCc4f_lU9HNdHLAzuHz\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is a description \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message With image 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[null],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],null]},\\"children\\":[\\"This is a description\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"minHeight\\":200,\\"borderRadius\\":4,\\"borderWidth\\":1,\\"overflow\\":\\"hidden\\"},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},null]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/dummypath?rc_uid=y8bd77ptZswPj3EW8&rc_token=79q6lH40W4ZRGLOshDiDiVlQaCc4f_lU9HNdHLAzuHz\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexDirection\\":\\"column\\",\\"borderRadius\\":4,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[null],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],null]},\\"children\\":[\\"This is a description \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},[null]]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"minHeight\\":200,\\"borderRadius\\":4,\\"borderWidth\\":1,\\"overflow\\":\\"hidden\\"},{\\"borderColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},null]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/dummypath?rc_uid=y8bd77ptZswPj3EW8&rc_token=79q6lH40W4ZRGLOshDiDiVlQaCc4f_lU9HNdHLAzuHz\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]}]}]}"`; -exports[`Storyshots Message With video 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"height\\":150,\\"marginBottom\\":6,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"backgroundColor\\":\\"#1f2329\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":54,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is a description \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},{}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"height\\":150,\\"marginBottom\\":6,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"backgroundColor\\":\\"#1f2329\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":54,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Message With video 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[null],{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a description \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}],null]},\\"children\\":[\\"This is a description \\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":20,\\"height\\":20},[null]]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/nyan_rocket.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"height\\":150,\\"marginBottom\\":6,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"backgroundColor\\":\\"#1f2329\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":54,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":12,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"height\\":150,\\"marginBottom\\":6,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"backgroundColor\\":\\"#1f2329\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":54,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]}]}]}"`; exports[`Storyshots Message Without header 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":null,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},null,{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`; diff --git a/storybook/stories/__snapshots__/RoomItem.storyshot b/storybook/stories/__snapshots__/RoomItem.storyshot index b22e0cf23..655f2427a 100644 --- a/storybook/stories/__snapshots__/RoomItem.storyshot +++ b/storybook/stories/__snapshots__/RoomItem.storyshot @@ -1,23 +1,23 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Storyshots Room Item Alerts 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#6C727A\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#6C727A\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"+999\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"user mentions\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F5455C\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"group mentions\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F38C39\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"thread unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"thread unread user\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F5455C\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"thread unread group\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F38C39\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"user mentions priority 1\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F5455C\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"group mentions priority 2\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F38C39\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"thread unread priority 3\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Room Item Alerts 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#6C727A\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#6C727A\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"+999\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"user mentions\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F5455C\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"group mentions\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F38C39\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"thread unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"thread unread user\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F5455C\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"thread unread group\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F38C39\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"user mentions priority 1\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F5455C\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"group mentions priority 2\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#F38C39\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"thread unread priority 3\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Room Item Basic 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Room Item Basic 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Room Item Condensed Room Item 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},{\\"paddingVertical\\":20}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},{\\"paddingVertical\\":20}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#6C727A\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"+999\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},{\\"paddingVertical\\":20}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Room Item Condensed Room Item 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"unread\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#6C727A\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"+999\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=36\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Room Item Condensed Room Item without Avatar 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},{\\"paddingVertical\\":20}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},{\\"paddingVertical\\":20}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},{\\"paddingVertical\\":20}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Room Item Condensed Room Item without Avatar 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},{\\"height\\":120}],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":120,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},{\\"height\\":120}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Room Item Expanded Room Item without Avatar 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"height\\":150,\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#cbced1\\"},[{\\"width\\":24,\\"height\\":24,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":12}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"height\\":150,\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#2de0a5\\"},[{\\"width\\":24,\\"height\\":24,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":12}],{\\"color\\":\\"#2de0a5\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"height\\":150,\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#2de0a5\\"},[{\\"width\\":24,\\"height\\":24,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":12}],{\\"color\\":\\"#2de0a5\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Room Item Expanded Room Item without Avatar 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"height\\":150,\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#cbced1\\"},[{\\"width\\":24,\\"height\\":24,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":12}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"height\\":150,\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#2de0a5\\"},[{\\"width\\":24,\\"height\\":24,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":12}],{\\"color\\":\\"#2de0a5\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"height\\":150,\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#2de0a5\\"},[{\\"width\\":24,\\"height\\":24,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":12}],{\\"color\\":\\"#2de0a5\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Room Item Last Message 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"No Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"No Message\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"2\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"You: 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"You: 1\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#6C727A\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#6C727A\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"+999\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Room Item Last Message 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"No Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"No Message\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"2\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"2\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"You: 1\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"You: 1\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#6C727A\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#6C727A\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"+999\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#1d74f5\\"}]],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":21,\\"paddingVertical\\":3,\\"paddingHorizontal\\":5,\\"borderRadius\\":10.5,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"marginLeft\\":10},{\\"backgroundColor\\":\\"#1d74f5\\",\\"minWidth\\":21},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},null,{\\"color\\":\\"#ffffff\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"1\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Room Item Tag 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1,\\"testID\\":\\"auto-join-tag\\"},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"No Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"No Message\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1,\\"testID\\":\\"auto-join-tag\\"},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"No Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"lineHeight\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"No Message\\"]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Room Item Tag 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1,\\"testID\\":\\"auto-join-tag\\"},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"No Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"No Message\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":16,\\"color\\":\\"#cbced1\\"},[{\\"width\\":16,\\"height\\":16,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},null],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"alignSelf\\":\\"center\\",\\"alignItems\\":\\"center\\",\\"borderRadius\\":4,\\"marginHorizontal\\":4},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"paddingHorizontal\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#6d6d72\\"}],\\"numberOfLines\\":1,\\"testID\\":\\"auto-join-tag\\"},\\"children\\":[\\"Auto-join\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"No Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"flex\\":1,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}],\\"numberOfLines\\":2,\\"testID\\":\\"room-item-last-message\\"},\\"children\\":[\\"No Message\\"]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Room Item Touch 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Room Item Touch 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Room Item Type 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Room Item Type 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22},[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Room Item User 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Room Item User 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; -exports[`Storyshots Room Item User status 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#2de0a5\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#2de0a5\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#ffd21f\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#ffd21f\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#f5455c\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#f5455c\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#9ea2a8\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#9ea2a8\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"lineHeight\\":20,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; +exports[`Storyshots Room Item User status 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#2de0a5\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#2de0a5\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#ffd21f\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#ffd21f\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#f5455c\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#f5455c\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#9ea2a8\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#9ea2a8\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":670,\\"width\\":750,\\"transform\\":[{\\"translateX\\":-80}],\\"backgroundColor\\":\\"#1d74f5\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"right\\":0},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"height\\":150},null],\\"pointerEvents\\":\\"box-none\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}],\\"backgroundColor\\":\\"#54585e\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"height\\":150,\\"justifyContent\\":\\"center\\",\\"top\\":0,\\"width\\":750,\\"transform\\":[{\\"translateX\\":750}]}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":28,\\"color\\":\\"#ffffff\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"transform\\":[{\\"translateX\\":0}]}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"paddingLeft\\":14,\\"height\\":150},false]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4},{\\"marginRight\\":10}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":48,\\"height\\":48,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/rocket.cat?format=png&size=48\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"paddingVertical\\":10,\\"paddingRight\\":14,\\"borderBottomWidth\\":0.5},{\\"borderColor\\":\\"#cbcbcc\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":\\"100%\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"},{\\"flex\\":1}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#cbced1\\"},[{\\"width\\":22,\\"height\\":22,\\"textAlignVertical\\":\\"center\\"},[[{\\"marginRight\\":4},{\\"color\\":\\"#0d0e12\\"},{\\"marginRight\\":8}],{\\"color\\":\\"#cbced1\\"}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"fontSize\\":17,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},null,{\\"color\\":\\"#0d0e12\\"}],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"rocket.cat\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"alignItems\\":\\"flex-end\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":4,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"},null],\\"ellipsizeMode\\":\\"tail\\",\\"numberOfLines\\":1},\\"children\\":[\\"10:00\\"]}]}]}]}]}]}]}]}]}]}"`; diff --git a/storybook/stories/__snapshots__/ServerItem.storyshot b/storybook/stories/__snapshots__/ServerItem.storyshot index 12e70ba54..177b0dfbc 100644 --- a/storybook/stories/__snapshots__/ServerItem.storyshot +++ b/storybook/stories/__snapshots__/ServerItem.storyshot @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Storyshots ServerItem content 1`] = `"[{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://open.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"https://open.rocket.chat/\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#1d74f5\\"},[{\\"width\\":22,\\"height\\":22,\\"marginHorizontal\\":15},null],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://superlongservername.tologintoasuperlongservername/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Super Long Server Name in Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"https://superlongservername.tologintoasuperlongservername/\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://stable.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":null,\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"https://stable.rocket.chat/\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"https://stable.rocket.chat/\\"]}]}]}]}]"`; +exports[`Storyshots ServerItem content 1`] = `"[{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://open.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"https://open.rocket.chat/\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#1d74f5\\"},{\\"width\\":22,\\"height\\":22,\\"marginHorizontal\\":15},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://superlongservername.tologintoasuperlongservername/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Super Long Server Name in Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"https://superlongservername.tologintoasuperlongservername/\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://stable.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":null,\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"https://stable.rocket.chat/\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"https://stable.rocket.chat/\\"]}]}]}]}]"`; -exports[`Storyshots ServerItem themes 1`] = `"[{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://open.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"https://open.rocket.chat/\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#1d74f5\\"},[{\\"width\\":22,\\"height\\":22,\\"marginHorizontal\\":15},null],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://open.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#030b1b\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9297a2\\"}]},\\"children\\":[\\"https://open.rocket.chat/\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#1d74f5\\"},[{\\"width\\":22,\\"height\\":22,\\"marginHorizontal\\":15},null],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://open.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#000000\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#b2b8c6\\"}]},\\"children\\":[\\"https://open.rocket.chat/\\"]}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#1e9bfe\\"},[{\\"width\\":22,\\"height\\":22,\\"marginHorizontal\\":15},null],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]"`; +exports[`Storyshots ServerItem themes 1`] = `"[{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://open.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"https://open.rocket.chat/\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://open.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#030b1b\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9297a2\\"}]},\\"children\\":[\\"https://open.rocket.chat/\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://open.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#000000\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#b2b8c6\\"}]},\\"children\\":[\\"https://open.rocket.chat/\\"]}]}]}]}]"`; exports[`Storyshots ServerItem touchable 1`] = `"[{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://open.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"https://open.rocket.chat/\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://open.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"https://open.rocket.chat/\\"]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"rooms-list-header-server-https://open.rocket.chat/\\",\\"accessible\\":true,\\"focusable\\":true,\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"},\\"collapsable\\":false},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":44,\\"height\\":44,\\"margin\\":12,\\"borderRadius\\":4,\\"resizeMode\\":\\"contain\\"}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"defaultSource\\":\\"test-file-stub\\",\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"column\\",\\"justifyContent\\":\\"center\\",\\"paddingRight\\":18}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":18,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"numberOfLines\\":1,\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"https://open.rocket.chat/\\"]}]}]}]}]"`; diff --git a/storybook/stories/index.js b/storybook/stories/index.js index da4d1c7dd..f24e19003 100644 --- a/storybook/stories/index.js +++ b/storybook/stories/index.js @@ -19,6 +19,7 @@ import '../../app/containers/RoomHeader/RoomHeader.stories.js'; import '../../app/views/RoomView/LoadMore/LoadMore.stories'; import '../../app/views/CannedResponsesListView/CannedResponseItem.stories'; import '../../app/containers/TextInput.stories'; +import '../../app/containers/message/Components/CollapsibleQuote/CollapsibleQuote.stories'; // Change here to see themed storybook export const theme = 'light'; diff --git a/yarn.lock b/yarn.lock index 69ec7d91c..e044d7250 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3759,8 +3759,8 @@ integrity sha512-NF5KlFt642ZucP/KHnYGBNYLD6O7bcrZMKfRQlH5Y3/1xpnPX1g4wuygtiV7XArMU1FopQT+qmCUPPj8IMDTcw== "@rocket.chat/sdk@RocketChat/Rocket.Chat.js.SDK#mobile": - version "1.2.0-mobile" - resolved "https://codeload.github.com/RocketChat/Rocket.Chat.js.SDK/tar.gz/9d18d628b87742302bfa0789d38bbd0c66118941" + version "1.3.0-mobile" + resolved "https://codeload.github.com/RocketChat/Rocket.Chat.js.SDK/tar.gz/454b4ba784095057b8de862eb99340311b672e15" dependencies: js-sha256 "^0.9.0" lru-cache "^4.1.1" @@ -4143,6 +4143,18 @@ telejson "^3.2.0" util-deprecate "^1.0.2" +"@testing-library/jest-native@^4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@testing-library/jest-native/-/jest-native-4.0.4.tgz#25e2046896118f887683202a6e5fd8a4056131cd" + integrity sha512-4q5FeTFyFgPCmQH18uMJsZkVnYvBtK24yhSfbd9hQi0SZzCpbjSeQQcsGXIaX+WjWcMeeip8B7NUvZmLhGHiZw== + dependencies: + chalk "^2.4.1" + jest-diff "^24.0.0" + jest-matcher-utils "^24.0.0" + pretty-format "^27.3.1" + ramda "^0.26.1" + redent "^2.0.0" + "@testing-library/react-native@^9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@testing-library/react-native/-/react-native-9.0.0.tgz#e9c63411e93d2e8e70d744b12aeb78c58025c5fc" @@ -4534,6 +4546,11 @@ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02" integrity sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ== +"@types/ua-parser-js@^0.7.36": + version "0.7.36" + resolved "https://registry.yarnpkg.com/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz#9bd0b47f26b5a3151be21ba4ce9f5fa457c5f190" + integrity sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ== + "@types/uglify-js@*": version "3.9.2" resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.9.2.tgz#01992579debba674e1e359cd6bcb1a1d0ab2e02b" @@ -6788,16 +6805,16 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -codecov@3.8.2: - version "3.8.2" - resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.8.2.tgz#ab24f18783998c39e809ea210af899f8dbcc790e" - integrity sha512-6w/kt/xvmPsWMfDFPE/T054txA9RTgcJEw36PNa6MYX+YV29jCHCRFXwbQ3QZBTOgnex1J2WP8bo2AT8TWWz9g== +codecov@^3.8.3: + version "3.8.3" + resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.8.3.tgz#9c3e364b8a700c597346ae98418d09880a3fdbe7" + integrity sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA== dependencies: argv "0.0.2" - ignore-walk "3.0.3" + ignore-walk "3.0.4" js-yaml "3.14.1" - teeny-request "7.0.1" - urlgrey "0.4.4" + teeny-request "7.1.1" + urlgrey "1.0.0" collect-v8-coverage@^1.0.0: version "1.0.1" @@ -8786,6 +8803,13 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fast-url-parser@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" + integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0= + dependencies: + punycode "^1.3.2" + fastq@^1.6.0: version "1.12.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.12.0.tgz#ed7b6ab5d62393fb2cc591c853652a5c318bf794" @@ -9900,10 +9924,10 @@ iferr@^0.1.5: resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= -ignore-walk@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== +ignore-walk@3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" + integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== dependencies: minimatch "^3.0.4" @@ -9988,6 +10012,11 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -10703,7 +10732,7 @@ jest-config@^27.0.6: micromatch "^4.0.4" pretty-format "^27.0.6" -jest-diff@^24.3.0, jest-diff@^24.9.0: +jest-diff@^24.0.0, jest-diff@^24.3.0, jest-diff@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== @@ -10898,7 +10927,7 @@ jest-leak-detector@^27.0.6: jest-get-type "^27.0.6" pretty-format "^27.0.6" -jest-matcher-utils@^24.9.0: +jest-matcher-utils@^24.0.0, jest-matcher-utils@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== @@ -13831,6 +13860,15 @@ pretty-format@^27.0.6: ansi-styles "^5.0.0" react-is "^17.0.1" +pretty-format@^27.3.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + pretty-hrtime@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" @@ -14025,7 +14063,7 @@ punycode@1.3.2: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.2.4, punycode@^1.3.2, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= @@ -14103,6 +14141,11 @@ ramda@^0.21.0: resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz#a001abedb3ff61077d4ff1d577d44de77e8d0a35" integrity sha1-oAGr7bP/YQd9T/HVd9RN536NCjU= +ramda@^0.26.1: + version "0.26.1" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06" + integrity sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ== + random-bytes@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" @@ -14419,10 +14462,10 @@ react-native-mime-types@2.3.0: dependencies: mime-db "~1.37.0" -react-native-mmkv-storage@0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/react-native-mmkv-storage/-/react-native-mmkv-storage-0.3.5.tgz#9c2f064c0efdaf960e9646c68dc6ae7f11640fa5" - integrity sha512-xp0E55Qdi81k8CTeq3PUrXGwT2tMmfNfmYvZ7Emq9qWpvg3ko1/M6B1kXEXOgEou/hgqB503TGcsR/mpN5HSMA== +react-native-mmkv-storage@0.6.12: + version "0.6.12" + resolved "https://registry.yarnpkg.com/react-native-mmkv-storage/-/react-native-mmkv-storage-0.6.12.tgz#e9e052e26c3dea6818211919d2586cb260ee8e24" + integrity sha512-9gJlnGSAJkeWanNE24GPqEn4NMiNFVBpPsTZAQ5YDEKEX/gG7bGdHCTNkXc6L826QxLEPKjpPmf9ZqgPM2G8TQ== react-native-modal@11.10.0: version "11.10.0" @@ -14627,7 +14670,7 @@ react-native-webview@10.3.2: react-native@RocketChat/react-native#0.64.2: version "0.64.2" - resolved "https://codeload.github.com/RocketChat/react-native/tar.gz/6c015e1ec93d2f9a79a7033a7e160d76cb4df4aa" + resolved "https://codeload.github.com/RocketChat/react-native/tar.gz/eefc7ead3d343d5514118d79ff5e0ac7fc1761ec" dependencies: "@jest/create-cache-key-function" "^27.0.2" "@react-native-community/cli" "^5.0.1-alpha.1" @@ -14933,6 +14976,14 @@ recursive-readdir@2.2.2: dependencies: minimatch "3.0.4" +redent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" + integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= + dependencies: + indent-string "^3.0.0" + strip-indent "^2.0.0" + reduce-flatten@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" @@ -16257,6 +16308,11 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= + strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -16384,10 +16440,10 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -teeny-request@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-7.0.1.tgz#bdd41fdffea5f8fbc0d29392cb47bec4f66b2b4c" - integrity sha512-sasJmQ37klOlplL4Ia/786M5YlOcoLGQyq2TE4WHSRupbAuDaQW0PfVxV4MtdBtRJ4ngzS+1qim8zP6Zp35qCw== +teeny-request@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-7.1.1.tgz#2b0d156f4a8ad81de44303302ba8d7f1f05e20e6" + integrity sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg== dependencies: http-proxy-agent "^4.0.0" https-proxy-agent "^5.0.0" @@ -17076,10 +17132,12 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" -urlgrey@0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" - integrity sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8= +urlgrey@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-1.0.0.tgz#72d2f904482d0b602e3c7fa599343d699bbe1017" + integrity sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w== + dependencies: + fast-url-parser "^1.1.3" use-callback-ref@^1.2.1: version "1.2.5"