forked from Ivasoft/mattermost-mobile
* feature edit profile screen * minor refactoring * Apply suggestions from code review Co-authored-by: Elias Nahum <nahumhbl@gmail.com> * ts fixes * revert floatingTextInput label This reverts commita778e1f761. * code clean up * Apply suggestions from code review Co-authored-by: Elias Nahum <nahumhbl@gmail.com> * code fix * code fix * Adding preventDoubleTap * rename id to fieldKey * Update edit_profile.tsx * wip * navigating through fields; partly done * navigating through fields - partly done * navigating through fields; partly done * completed field navigation * added theme into dependency array * code clean up * revert conditions for disabling fields * Added colorFilters prop to Loading component * Completed loading feature on Edit Profile screen * code clean up * Add profile_error * renamed valid_mime_types to valid_image_mime_types * added props isDisabled to email field * refactored next field logic * fix * fix * code clean up * code clean up * Updated ESLINT hook rules to warning instead of disabled * code fix * code fix * new line within your_profile component * added memo for Field component * added canSave to dependency array * update loading component - color filter * Update app/screens/edit_profile/edit_profile.tsx Co-authored-by: Elias Nahum <nahumhbl@gmail.com> * dependency fix * fix to fetch my latest status * fix to remove unnecessary user id for local action updateLocalUser * prevents bouncing for iOS * code revert * Adding textInputStyle and animatedTextStyle to FloatingTextInput component * correction after dev session * adding changes as per new ux * Update edit_profile.tsx * corrections after ux review * ux review * ux review * code clean up * Adding userProfileFields into useMemo * Add enableSaveButton to dependency of submitUser * Added react-native-image-picker * fix picker util * Added action for setDefaultProfileImage * account outline on remove picture * Update edit_profile.tsx * fix image picker * style fix * fix image picker * removed unused types * mmjstool issue with integrity checksum * perform camera permission check for Android * fix to pull latest status * updated ChangeProfilePicture to EditProfilePciture * removed integrity key for mmjstool in package-lock.json * corrections from pr review * bumping react-native-image-picker to v4.7.1 * pod install * update to hooks dependency * fix profile picture component * added event emitter from edit_profile_picture * made hitslop a constant * code clean up * uploadProfilePicture as a remote action * else if profileImage removed * removed check on isBot * update renderProfilePicture dependencies * extractFileInfo with try catch * updated snappoints * Revert "updated snappoints" This reverts commit6d16d480a1. * profile picture size * refactored renderProfilePicture into its own component * change to if else * platform select for hasPermissions * unneeded comment removed * else if on prefix in edit profile picture * track has update user info now * moved image_picker under edit_screen and increased actionSheets item height * added preventDoubleTap for imagePicker * multiple uploads * switch the conditions * added alert box as requested by Marina * Revert "added alert box as requested by Marina" This reverts commit20735c17a8. * Apply suggestions from code review Co-authored-by: Elias Nahum <nahumhbl@gmail.com> * removed userInfos constant * added useMemo for certain components on profile_picture * converting account-outline into a constant * added panelItem component * adding return instead of making the function return * eslint fix * update i18n desc Co-authored-by: Elias Nahum <nahumhbl@gmail.com> * hasPictureUrl transferred to file utils * removing excess mediaType prop * add USER_PROFILE_PICTURE_SIZE into constant/profile * relocate hasPictureUrl method * relocate hasPictureUrl * rename ImagePicker to ProfileImagePicker * removing isDestructive property from panelTypes. * update sectionLimit for attachFileFromPhotoGallery * Change animation for showModalOverCurrentContext to a quick alpha on iOS * re-create PickerUtil if intl changes * Combine styles in edit_profile_picture component * Split profile image component into smaller components * useCallback for showFileAttachmentOptions * split comment into multiple lines * edit_profile group refs * remove unnecessary casting * add new line to file.d.ts * remove extra space for utils/index.d.ts * allowMultiSelection for attachFilesFromFiles, default is false * Split edit profile screen into smaller components Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
205 lines
7.6 KiB
JSON
205 lines
7.6 KiB
JSON
{
|
|
"name": "mattermost-mobile",
|
|
"version": "2.0.0",
|
|
"description": "Mattermost Mobile with React Native",
|
|
"repository": "git@github.com:mattermost/mattermost-mobile.git",
|
|
"author": "Mattermost, Inc.",
|
|
"license": "Apache 2.0",
|
|
"private": true,
|
|
"dependencies": {
|
|
"@formatjs/intl-datetimeformat": "4.5.0",
|
|
"@formatjs/intl-getcanonicallocales": "1.9.0",
|
|
"@formatjs/intl-locale": "2.4.43",
|
|
"@formatjs/intl-numberformat": "7.4.0",
|
|
"@formatjs/intl-pluralrules": "4.3.0",
|
|
"@formatjs/intl-relativetimeformat": "9.5.0",
|
|
"@mattermost/react-native-emm": "1.1.8",
|
|
"@mattermost/react-native-network-client": "github:mattermost/react-native-network-client",
|
|
"@mattermost/react-native-paste-input": "0.3.6",
|
|
"@nozbe/watermelondb": "0.24.0",
|
|
"@nozbe/with-observables": "1.4.0",
|
|
"@react-native-async-storage/async-storage": "1.15.16",
|
|
"@react-native-community/art": "1.2.0",
|
|
"@react-native-community/cameraroll": "4.1.2",
|
|
"@react-native-community/clipboard": "1.5.1",
|
|
"@react-native-community/datetimepicker": "5.1.0",
|
|
"@react-native-community/masked-view": "0.1.11",
|
|
"@react-native-community/netinfo": "7.1.7",
|
|
"@react-native-cookies/cookies": "6.0.11",
|
|
"@react-navigation/bottom-tabs": "6.0.9",
|
|
"@react-navigation/native": "6.0.6",
|
|
"@rudderstack/rudder-sdk-react-native": "1.1.1",
|
|
"@sentry/react-native": "3.2.13",
|
|
"@stream-io/flat-list-mvcp": "0.10.1",
|
|
"@types/mime-db": "1.43.1",
|
|
"commonmark": "0.30.0",
|
|
"commonmark-react-renderer": "4.3.5",
|
|
"deep-equal": "2.0.5",
|
|
"deepmerge": "4.2.2",
|
|
"emoji-regex": "10.0.0",
|
|
"expo": "43.0.5",
|
|
"fuse.js": "6.5.3",
|
|
"jail-monkey": "2.6.0",
|
|
"lottie-ios": "3.2.3",
|
|
"lottie-react-native": "5.0.1",
|
|
"mime-db": "1.51.0",
|
|
"moment-timezone": "0.5.34",
|
|
"react": "17.0.2",
|
|
"react-intl": "5.24.3",
|
|
"react-native": "0.67.1",
|
|
"react-native-android-open-settings": "1.3.0",
|
|
"react-native-button": "3.0.1",
|
|
"react-native-calendars": "1.1276.0",
|
|
"react-native-device-info": "8.4.8",
|
|
"react-native-document-picker": "8.0.0",
|
|
"react-native-elements": "3.4.2",
|
|
"react-native-exception-handler": "2.10.10",
|
|
"react-native-fast-image": "8.5.11",
|
|
"react-native-file-viewer": "2.1.5",
|
|
"react-native-gesture-handler": "2.2.0",
|
|
"react-native-haptic-feedback": "1.13.0",
|
|
"react-native-hw-keyboard-event": "0.0.4",
|
|
"react-native-image-picker": "4.7.1",
|
|
"react-native-keyboard-aware-scroll-view": "0.9.5",
|
|
"react-native-keyboard-tracking-view": "5.7.0",
|
|
"react-native-keychain": "8.0.0",
|
|
"react-native-linear-gradient": "2.5.6",
|
|
"react-native-localize": "2.1.7",
|
|
"react-native-navigation": "7.25.1",
|
|
"react-native-neomorph-shadows": "1.1.2",
|
|
"react-native-notifications": "4.1.3",
|
|
"react-native-permissions": "3.2.0",
|
|
"react-native-reanimated": "2.3.1",
|
|
"react-native-redash": "16.2.3",
|
|
"react-native-safe-area-context": "3.3.2",
|
|
"react-native-screens": "3.10.2",
|
|
"react-native-section-list-get-item-layout": "2.2.3",
|
|
"react-native-share": "7.3.3",
|
|
"react-native-slider": "0.11.0",
|
|
"react-native-svg": "12.1.1",
|
|
"react-native-vector-icons": "9.0.0",
|
|
"react-native-video": "5.2.0",
|
|
"react-native-webview": "11.17.0",
|
|
"react-native-youtube": "2.0.2",
|
|
"reanimated-bottom-sheet": "1.0.0-alpha.22",
|
|
"rn-placeholder": "3.0.3",
|
|
"semver": "7.3.5",
|
|
"serialize-error": "9.0.0",
|
|
"shallow-equals": "1.0.0",
|
|
"tinycolor2": "1.4.2",
|
|
"url-parse": "1.5.4"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/cli": "7.16.8",
|
|
"@babel/core": "7.16.10",
|
|
"@babel/eslint-parser": "7.16.5",
|
|
"@babel/plugin-proposal-class-properties": "7.16.7",
|
|
"@babel/plugin-proposal-decorators": "7.16.7",
|
|
"@babel/plugin-transform-flow-strip-types": "7.16.7",
|
|
"@babel/plugin-transform-runtime": "7.16.10",
|
|
"@babel/preset-env": "7.16.11",
|
|
"@babel/preset-typescript": "7.16.7",
|
|
"@babel/register": "7.16.9",
|
|
"@babel/runtime": "7.16.7",
|
|
"@react-native-community/eslint-config": "3.0.1",
|
|
"@testing-library/react-native": "9.0.0",
|
|
"@types/commonmark": "0.27.5",
|
|
"@types/commonmark-react-renderer": "4.3.1",
|
|
"@types/deep-equal": "1.0.1",
|
|
"@types/jest": "27.4.0",
|
|
"@types/lodash": "4.14.178",
|
|
"@types/react": "17.0.38",
|
|
"@types/react-native": "0.66.15",
|
|
"@types/react-native-button": "3.0.1",
|
|
"@types/react-native-share": "3.3.3",
|
|
"@types/react-native-video": "5.0.12",
|
|
"@types/react-test-renderer": "17.0.1",
|
|
"@types/semver": "7.3.9",
|
|
"@types/shallow-equals": "1.0.0",
|
|
"@types/tinycolor2": "1.4.3",
|
|
"@types/url-parse": "1.4.7",
|
|
"@typescript-eslint/eslint-plugin": "5.10.0",
|
|
"@typescript-eslint/parser": "5.10.0",
|
|
"babel-jest": "27.4.6",
|
|
"babel-loader": "8.2.3",
|
|
"babel-plugin-module-resolver": "4.1.0",
|
|
"babel-plugin-transform-remove-console": "6.9.4",
|
|
"deep-freeze": "0.0.1",
|
|
"detox": "19.4.2",
|
|
"eslint": "8.7.0",
|
|
"eslint-plugin-header": "3.1.1",
|
|
"eslint-plugin-import": "2.25.4",
|
|
"eslint-plugin-jest": "25.7.0",
|
|
"eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#23abcf9988f7fa00d26929f11841aab7ccb16b2b",
|
|
"eslint-plugin-react": "7.28.0",
|
|
"eslint-plugin-react-hooks": "4.3.0",
|
|
"husky": "7.0.4",
|
|
"isomorphic-fetch": "3.0.0",
|
|
"jest": "27.4.7",
|
|
"jest-cli": "27.4.7",
|
|
"jetifier": "2.0.0",
|
|
"metro-react-native-babel-preset": "0.66.2",
|
|
"mmjstool": "github:mattermost/mattermost-utilities#010f456ea8be5beebafdb8776177cba515c1969e",
|
|
"mock-async-storage": "2.2.0",
|
|
"nock": "13.2.2",
|
|
"patch-package": "6.4.7",
|
|
"react-native-svg-transformer": "1.0.0",
|
|
"react-test-renderer": "17.0.2",
|
|
"ts-jest": "27.1.3",
|
|
"typescript": "4.5.5",
|
|
"underscore": "1.13.2",
|
|
"util": "0.12.4"
|
|
},
|
|
"scripts": {
|
|
"android": "react-native run-android",
|
|
"build-storybook": "build-storybook",
|
|
"build:android": "./scripts/build.sh apk",
|
|
"build:android-unsigned": "./scripts/build.sh apk unsigned",
|
|
"build:ios": "./scripts/build.sh ipa",
|
|
"build:ios-sim": "./scripts/build.sh ipa simulator",
|
|
"build:ios-unsigned": "./scripts/build.sh ipa unsigned",
|
|
"check": "npm run lint && npm run tsc",
|
|
"clean": "./scripts/clean.sh",
|
|
"e2e:android": "cd detox && npm run e2e:android-build && npm run e2e:android-test && cd ..",
|
|
"e2e:ios": "cd detox && npm run e2e:ios-test && cd ..",
|
|
"fix": "npm run lint -- --fix",
|
|
"i18n-clean-empty": "npm run mmjstool -- i18n clean-empty --mobile-dir .",
|
|
"i18n-extract": "npm run mmjstool -- i18n extract-mobile",
|
|
"ios": "react-native run-ios",
|
|
"ios-gems": "cd ios && bundle install",
|
|
"lint": "eslint --ignore-path .gitignore --ignore-pattern node_modules --quiet .",
|
|
"mmjstool": "mmjstool",
|
|
"pod-install": "cd ios && bundle exec pod install",
|
|
"postinstall": "patch-package && ./scripts/postinstall.sh",
|
|
"prestorybook": "rnstl",
|
|
"start": "react-native start",
|
|
"storybook": "start-storybook -p 7007",
|
|
"test": "jest --forceExit --runInBand",
|
|
"test:coverage": "jest --coverage",
|
|
"test:watch": "npm test -- --watch",
|
|
"tsc": "NODE_OPTIONS=--max_old_space_size=12000 tsc --noEmit",
|
|
"updatesnapshot": "jest --updateSnapshot"
|
|
},
|
|
"config": {
|
|
"react-native-storybook-loader": {
|
|
"searchDir": [
|
|
"./app/components"
|
|
],
|
|
"pattern": "**/*.stories.@(js|jsx|ts|tsx)",
|
|
"outputFile": "./storybook/storyLoader.js"
|
|
}
|
|
},
|
|
"expo": {
|
|
"autolinking": {
|
|
"exclude": [
|
|
"expo-keep-awake",
|
|
"expo-font",
|
|
"expo-constants",
|
|
"expo-application",
|
|
"expo-assets",
|
|
"expo-error-recovery"
|
|
]
|
|
}
|
|
}
|
|
}
|