*Summary*
- This PR adds storybook into the mobile repo, and adds a sample story for the existing "loading" component.
- In the root of the repo run `npm run storybook`. This step automatically scans and loads all stories. A new browser tab will open with the storybook interface. You can configure the storybook host url by updating the .env file in the root of the repo. This might be required if you're using a real device. When running in an emulator, the code tries to use the default network values.
- Then run the usual `npm run android` (or `npm run ios`) and `npm run start` commands
- Storybook has been integrated into the react-native-dev-menu. When the app is running in the emulator press CTRL+M or CMD+M to open the dev menu and select "Storybook". If running on a real device, shaking the device will bring up the react-native dev menu. You can also press d in the terminal where you ran npm run start to get the app running.
- The storybook interface will open in the mobile app. The stories can be controlled either through the desktop browser storybook UI or the mobile browser storybook UI. Both will render the component on the device.
*Ticket Link*
https://mattermost.atlassian.net/browse/MM-28845
*Device Information*
This PR was tested on:
Iphone 11 emulator running ios 13.7
Pixel 3XL emulator running Android 10
* Upgrade to RN 0.63
* Bump to RN 0.63.1
* Fix RN patch
* Use JSC Intl version
* Update android/app/build.gradle
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Fix Android external storage permission
* Fix emoji imageUrl when no server url is present
* Patch react-native-image-picker
* Allow to post attachment only messages
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Enable ESLint no-unused-vars
* Use FastImage instead of Image
* Update fast-image patch to support multiple cookies
* Fix ESLint errors
* Have jest run timers for post_textbox tests
* Feedback review
* Update snapshots
* Polishing post draft to comply with design specs
* changed maxHeight in landscape mode, fixed icon sizes
- Refactored code so that post draft icon sizes are taken from same constant value
- Set maxHeight value in landscape mode to be smaller (tests pending)
- Removed repeated styles for button wrappers (passing them down as props to child components)
- Increased size of image attachment remote icon, and increased tappable area
* Removing repeated logic for file upload
* Fixing failed snapshot tests / style checks
* Fixing file upload remove icon to have 64% opacity
* post draft UX/UI improvements
* Fix input box extra spacing
* input box line height and attachment border
* Animate to original state even if error is showing
* Fix permissions
* Improve attachment error animation
* Fix iOS post input height
* Update snapshots
* MM-16430 refactor app entry point
* iOS Extensions to use session token from KeyChain
* Remove token from general credentials entity
* Fix mattermost-managed.ios to return the cachedConfig
* Migrate server based keychain for android push notifications
* remove unneeded async
* Remove unneeded android InitializationModule
* Upgrade to RN 0.59.6 and dependencies
* Remove channel loader unused style
* Update to the latest netInfo that fixes a crash
* Do not set default timezone with moment
* Use RN 0.59.8
* add markers for Android profiling
* update per comments
* Remove beta build flag
* update per comment, latest change on telemetry server and others
* rebase and fix merge conflicts, and update per comments
* update commit hash of mattermost-redux
* post menu and file attachments
* Fix post list selector test
* Use new Gesture handler to avoid gesture conflicts in post menu and reaction list
* Allow reaction list to scroll the header on Android
* Feedback review
* Add some comments
* Fix eslint
* Switch to SingleDex and remove all locales
* WIP Mattermost Start Component for lazy loading modules
* Add files changed for native modules
* Add Entry component and app global object
* dispatch setStatusBarHeight for iOS
* Update screen imports
* Include Entry screen
* Refactor app to mattermost.android.js
* Override unnecessary java files
* Fix minor issues in changes
* Display empty state based on user credentials
Also, add proper background theme for empty loading screen
* Add native module constant cache support
* Fix startup theme regression
* Add Keychain support for credentials
* Fix Orientation regression
* Fix SharedExtension regression
* Emit NATIVE_APP_LAUNCHED across bridge only once during cold start
* Add iOS Support
* Revert to previous implementation of i18n
* Fix styling issues
* Include listener for SERVER_VERSION_CHANGED
* Add SafeAreaView in Entry screen
* Register deviceToken early, in order to get iOS PN Support
* Include StartTimeModule
* Add ReplyFromPush support and remove NATIVE_APP_LAUNCHED listener
* Package native constants in StartTimeModule and avoid bridge calls
* Fix check-style errors
* Code cleanup
* Rename StartTimeModule to InitializationModule
* Remove NavigationApplication
* Documentation and minor changes
* Account for app opening after SharedExtension
* Refactor getIntl to getTranslations
* Move native module constants into it's own forked repos
* Include FetchBlob and DeviceInfo forked repos