@axelor/aos-mobile-core 8.0.7 → 8.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -22
- package/lib/api/login-api.js +3 -3
- package/lib/api/login-api.js.map +1 -1
- package/lib/api/metafile-api.js +1 -1
- package/lib/api/metafile-api.js.map +1 -1
- package/lib/apiProviders/Standard/ObjectFieldsProvider.d.ts +1 -1
- package/lib/apiProviders/Standard/requests.helper.d.ts +1 -0
- package/lib/apiProviders/Standard/requests.helper.js +3 -0
- package/lib/apiProviders/Standard/requests.helper.js.map +1 -1
- package/lib/apiProviders/utils.js +14 -8
- package/lib/apiProviders/utils.js.map +1 -1
- package/lib/app/Application.d.ts +3 -2
- package/lib/app/Application.js +7 -3
- package/lib/app/Application.js.map +1 -1
- package/lib/app/ContextedApplication.d.ts +2 -3
- package/lib/app/ContextedApplication.js +9 -4
- package/lib/app/ContextedApplication.js.map +1 -1
- package/lib/app/ContextsProvider.d.ts +1 -3
- package/lib/app/ContextsProvider.js +26 -15
- package/lib/app/ContextsProvider.js.map +1 -1
- package/lib/app/RootNavigator.d.ts +3 -4
- package/lib/app/RootNavigator.js +4 -5
- package/lib/app/RootNavigator.js.map +1 -1
- package/lib/app/context.helper.d.ts +3 -3
- package/lib/app/context.helper.js +50 -0
- package/lib/app/context.helper.js.map +1 -1
- package/lib/app/index.d.ts +1 -1
- package/lib/app/index.js +1 -0
- package/lib/app/index.js.map +1 -1
- package/lib/app/modules/ModuleProvider.d.ts +18 -0
- package/lib/app/modules/ModuleProvider.js +73 -0
- package/lib/app/modules/ModuleProvider.js.map +1 -0
- package/lib/app/modules/index.d.ts +2 -0
- package/lib/app/modules/index.js +20 -0
- package/lib/app/modules/index.js.map +1 -0
- package/lib/app/{Module.d.ts → modules/types.d.ts} +5 -2
- package/lib/app/{Module.js → modules/types.js} +1 -1
- package/lib/app/modules/types.js.map +1 -0
- package/lib/auth/api/config-api.d.ts +1 -0
- package/lib/auth/api/config-api.js +26 -0
- package/lib/auth/api/config-api.js.map +1 -0
- package/lib/auth/components/molecules/DashboardsCard/DashboardsCard.d.ts +5 -0
- package/lib/auth/components/molecules/DashboardsCard/DashboardsCard.js +49 -0
- package/lib/auth/components/molecules/DashboardsCard/DashboardsCard.js.map +1 -0
- package/lib/auth/components/molecules/NavigationToolsButton/NavigationToolsButton.d.ts +3 -0
- package/lib/auth/components/molecules/NavigationToolsButton/NavigationToolsButton.js +60 -0
- package/lib/auth/components/molecules/NavigationToolsButton/NavigationToolsButton.js.map +1 -0
- package/lib/auth/components/molecules/ShortcutsCard/ShortcutsCard.d.ts +7 -0
- package/lib/auth/components/molecules/ShortcutsCard/ShortcutsCard.js +71 -0
- package/lib/auth/components/molecules/ShortcutsCard/ShortcutsCard.js.map +1 -0
- package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.d.ts +2 -1
- package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.js +5 -3
- package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.js.map +1 -1
- package/lib/auth/components/molecules/UserCard/UserCard.d.ts +6 -0
- package/lib/auth/components/molecules/UserCard/UserCard.js +105 -0
- package/lib/auth/components/molecules/UserCard/UserCard.js.map +1 -0
- package/lib/auth/components/molecules/index.d.ts +4 -0
- package/lib/auth/components/molecules/index.js +4 -0
- package/lib/auth/components/molecules/index.js.map +1 -1
- package/lib/auth/features/companySlice.d.ts +1 -10
- package/lib/auth/features/configSlice.d.ts +3 -11
- package/lib/auth/features/configSlice.js +20 -0
- package/lib/auth/features/configSlice.js.map +1 -1
- package/lib/auth/features/localizationSlice.d.ts +1 -10
- package/lib/auth/features/userSlice.d.ts +3 -21
- package/lib/auth/i18n/en.json +3 -1
- package/lib/auth/i18n/fr.json +3 -1
- package/lib/auth/index.d.ts +1 -1
- package/lib/auth/models/objectFields.js +4 -1
- package/lib/auth/models/objectFields.js.map +1 -1
- package/lib/auth/screens/SettingsScreen.d.ts +2 -1
- package/lib/auth/screens/SettingsScreen.js +45 -13
- package/lib/auth/screens/SettingsScreen.js.map +1 -1
- package/lib/auth/screens/UserScreen.d.ts +2 -1
- package/lib/auth/screens/UserScreen.js +18 -75
- package/lib/auth/screens/UserScreen.js.map +1 -1
- package/lib/components/external/Camera/Camera.d.ts +2 -1
- package/lib/components/external/Camera/Camera.js +49 -64
- package/lib/components/external/Camera/Camera.js.map +1 -1
- package/lib/components/external/Camera/CaptureButton.d.ts +1 -1
- package/lib/components/external/Camera/CaptureButton.js.map +1 -1
- package/lib/components/external/CodeHighlighter/CodeHighlighter.d.ts +2 -1
- package/lib/components/external/PlanningView/PlanningView.d.ts +1 -1
- package/lib/components/external/Stopwatch/Stopwatch.d.ts +2 -1
- package/lib/components/external/Timer/Timer.d.ts +2 -2
- package/lib/components/external/Timer/Timer.js +3 -2
- package/lib/components/external/Timer/Timer.js.map +1 -1
- package/lib/components/external/Toast/Toast.d.ts +2 -1
- package/lib/components/external/WebView/WebView.d.ts +9 -0
- package/lib/components/external/WebView/WebView.js +52 -0
- package/lib/components/external/WebView/WebView.js.map +1 -0
- package/lib/components/external/index.d.ts +1 -1
- package/lib/components/external/index.js +1 -1
- package/lib/components/external/index.js.map +1 -1
- package/lib/components/molecules/CameraButton/CameraButton.d.ts +2 -1
- package/lib/components/molecules/DateDisplay/DateDisplay.d.ts +2 -1
- package/lib/components/molecules/DatePicker/DatePicker.d.ts +2 -1
- package/lib/components/molecules/FocusScreen/FocusScreen.d.ts +2 -1
- package/lib/components/molecules/HeaderBand/HeaderBand.d.ts +2 -1
- package/lib/components/molecules/HeaderBand/HeaderBand.js +31 -8
- package/lib/components/molecules/HeaderBand/HeaderBand.js.map +1 -1
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.d.ts +2 -2
- package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.d.ts +2 -1
- package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.d.ts +2 -1
- package/lib/components/molecules/PeriodDisplay/PeriodDisplay.d.ts +2 -1
- package/lib/components/molecules/TrackItem/TrackItem.d.ts +2 -1
- package/lib/components/molecules/UploadFileInput/UploadFileInput.d.ts +2 -1
- package/lib/components/organisms/AOSImage/AOSImage.d.ts +2 -1
- package/lib/components/organisms/AOSImageBubble/AOSImageBubble.d.ts +2 -1
- package/lib/components/organisms/AnomalyBubble/AnomalyBubble.d.ts +2 -1
- package/lib/components/organisms/AnomalyList/AnomalyList.d.ts +2 -1
- package/lib/components/organisms/DateInput/DateInput.d.ts +2 -1
- package/lib/components/organisms/HeaderBandList/HeaderBandList.d.ts +2 -1
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.d.ts +2 -1
- package/lib/components/organisms/MailMessageCard/MailMessageCard.d.ts +2 -1
- package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.d.ts +2 -1
- package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.d.ts +2 -1
- package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.d.ts +2 -1
- package/lib/components/organisms/SignatureInput/PictureIcon.d.ts +9 -0
- package/lib/components/organisms/SignatureInput/PictureIcon.js +35 -0
- package/lib/components/organisms/SignatureInput/PictureIcon.js.map +1 -0
- package/lib/components/organisms/SignatureInput/SignatureInput.d.ts +16 -0
- package/lib/components/organisms/SignatureInput/SignatureInput.js +197 -0
- package/lib/components/organisms/SignatureInput/SignatureInput.js.map +1 -0
- package/lib/components/organisms/index.d.ts +1 -0
- package/lib/components/organisms/index.js +1 -0
- package/lib/components/organisms/index.js.map +1 -1
- package/lib/components/pages/CustomFieldForm/CustomFieldForm.d.ts +2 -1
- package/lib/components/pages/CustomFieldForm/CustomFieldForm.js +7 -5
- package/lib/components/pages/CustomFieldForm/CustomFieldForm.js.map +1 -1
- package/lib/components/pages/FormView/Alerts/ConfirmationPopup.d.ts +7 -0
- package/lib/components/pages/FormView/Alerts/ConfirmationPopup.js +45 -0
- package/lib/components/pages/FormView/Alerts/ConfirmationPopup.js.map +1 -0
- package/lib/components/pages/FormView/Alerts/ConstraintsValidatorPopup.d.ts +2 -1
- package/lib/components/pages/FormView/Alerts/index.d.ts +1 -0
- package/lib/components/pages/FormView/Alerts/index.js +1 -0
- package/lib/components/pages/FormView/Alerts/index.js.map +1 -1
- package/lib/components/pages/FormView/Buttons/FloatingTools.d.ts +14 -0
- package/lib/components/pages/FormView/Buttons/FloatingTools.js +103 -0
- package/lib/components/pages/FormView/Buttons/FloatingTools.js.map +1 -0
- package/lib/components/pages/FormView/Buttons/index.d.ts +1 -0
- package/lib/components/pages/FormView/Buttons/index.js +19 -0
- package/lib/components/pages/FormView/Buttons/index.js.map +1 -0
- package/lib/components/pages/FormView/Components/Field.d.ts +3 -1
- package/lib/components/pages/FormView/Components/Field.js +14 -6
- package/lib/components/pages/FormView/Components/Field.js.map +1 -1
- package/lib/components/pages/FormView/Components/Panel.d.ts +2 -2
- package/lib/components/pages/FormView/Custom/CustomButton.d.ts +2 -1
- package/lib/components/pages/FormView/Custom/CustomPasswordInput.d.ts +2 -1
- package/lib/components/pages/FormView/Custom/CustomPicker.d.ts +2 -1
- package/lib/components/pages/FormView/Custom/CustomSearchBar.d.ts +2 -1
- package/lib/components/pages/FormView/FormView.d.ts +6 -2
- package/lib/components/pages/FormView/FormView.js +96 -119
- package/lib/components/pages/FormView/FormView.js.map +1 -1
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.d.ts +5 -2
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.js +2 -2
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.js.map +1 -1
- package/lib/components/templates/MailMessageView/MailMessageView.d.ts +5 -2
- package/lib/components/templates/MailMessageView/MailMessageView.js +2 -2
- package/lib/components/templates/MailMessageView/MailMessageView.js.map +1 -1
- package/lib/components/templates/PeriodInput/PeriodInput.d.ts +15 -0
- package/lib/components/templates/PeriodInput/PeriodInput.js +85 -0
- package/lib/components/templates/PeriodInput/PeriodInput.js.map +1 -0
- package/lib/components/templates/PopupApplicationInformation/PopupApplicationInformation.d.ts +2 -1
- package/lib/components/templates/PopupMinimalRequiredVersion/PopupMinimalRequiredVersion.d.ts +2 -1
- package/lib/components/templates/SearchListView/SearchListView.d.ts +27 -0
- package/lib/components/templates/SearchListView/SearchListView.js +81 -0
- package/lib/components/templates/SearchListView/SearchListView.js.map +1 -0
- package/lib/components/templates/SearchTreeView/SearchTreeView.d.ts +38 -0
- package/lib/components/templates/SearchTreeView/SearchTreeView.js +110 -0
- package/lib/components/templates/SearchTreeView/SearchTreeView.js.map +1 -0
- package/lib/components/templates/SocialNetworkLinks/SocialNetworkLinks.d.ts +2 -1
- package/lib/components/templates/UserSearchBar/UserSearchBar.d.ts +2 -1
- package/lib/components/templates/index.d.ts +3 -0
- package/lib/components/templates/index.js +3 -0
- package/lib/components/templates/index.js.map +1 -1
- package/lib/dashboards/api.helpers.d.ts +1 -0
- package/lib/dashboards/api.helpers.js +5 -0
- package/lib/dashboards/api.helpers.js.map +1 -1
- package/lib/dashboards/component/AOPChart/AOPChart.d.ts +6 -0
- package/lib/dashboards/component/AOPChart/AOPChart.js +67 -0
- package/lib/dashboards/component/AOPChart/AOPChart.js.map +1 -0
- package/lib/dashboards/component/AOPChart/api.helpers.d.ts +16 -0
- package/lib/dashboards/component/AOPChart/api.helpers.js +59 -0
- package/lib/dashboards/component/AOPChart/api.helpers.js.map +1 -0
- package/lib/dashboards/component/AOPChart/format.helpers.d.ts +11 -0
- package/lib/dashboards/component/AOPChart/format.helpers.js +47 -0
- package/lib/dashboards/component/AOPChart/format.helpers.js.map +1 -0
- package/lib/dashboards/component/RefreshChart/RefreshChart.d.ts +8 -0
- package/lib/dashboards/component/RefreshChart/RefreshChart.js +83 -0
- package/lib/dashboards/component/RefreshChart/RefreshChart.js.map +1 -0
- package/lib/dashboards/component/index.d.ts +2 -0
- package/lib/dashboards/component/index.js +20 -0
- package/lib/dashboards/component/index.js.map +1 -0
- package/lib/dashboards/index.d.ts +2 -0
- package/lib/dashboards/index.js +20 -0
- package/lib/dashboards/index.js.map +1 -0
- package/lib/dashboards/menu.helpers.d.ts +1 -24
- package/lib/dashboards/menu.helpers.js +0 -9
- package/lib/dashboards/menu.helpers.js.map +1 -1
- package/lib/dashboards/view/DashboardScreen.d.ts +7 -3
- package/lib/dashboards/view/DashboardScreen.js +4 -65
- package/lib/dashboards/view/DashboardScreen.js.map +1 -1
- package/lib/dashboards/view/DashboardView.d.ts +10 -0
- package/lib/dashboards/view/DashboardView.js +87 -0
- package/lib/dashboards/view/DashboardView.js.map +1 -0
- package/lib/dashboards/view/index.d.ts +1 -0
- package/lib/dashboards/view/index.js +1 -0
- package/lib/dashboards/view/index.js.map +1 -1
- package/lib/features/appConfigSlice.d.ts +1 -10
- package/lib/features/attachedFilesSlice.d.ts +3 -30
- package/lib/features/authSlice.d.ts +39 -34
- package/lib/features/authSlice.js +7 -2
- package/lib/features/authSlice.js.map +1 -1
- package/lib/features/formSlice.d.ts +5 -31
- package/lib/features/formSlice.js +10 -1
- package/lib/features/formSlice.js.map +1 -1
- package/lib/features/index.d.ts +2 -0
- package/lib/features/index.js +2 -0
- package/lib/features/index.js.map +1 -1
- package/lib/features/mailMessageSlice.d.ts +8 -80
- package/lib/features/metaJsonFieldSlice.d.ts +5 -30
- package/lib/features/metaJsonFieldSlice.js +14 -1
- package/lib/features/metaJsonFieldSlice.js.map +1 -1
- package/lib/features/metaModuleSlice.d.ts +1 -10
- package/lib/features/metafileSlice.d.ts +1 -10
- package/lib/features/mobileDashboardSlice.d.ts +1 -10
- package/lib/features/mobileWebViewSlice.d.ts +4 -0
- package/lib/features/mobileWebViewSlice.js +43 -0
- package/lib/features/mobileWebViewSlice.js.map +1 -0
- package/lib/features/onlineSlice.d.ts +3 -3
- package/lib/features/permissionSlice.d.ts +6 -0
- package/lib/features/permissionSlice.js +59 -0
- package/lib/features/permissionSlice.js.map +1 -0
- package/lib/features/userSlice.d.ts +1 -10
- package/lib/forms/action.helpers.d.ts +3 -0
- package/lib/forms/action.helpers.js +106 -0
- package/lib/forms/action.helpers.js.map +1 -0
- package/lib/forms/api.helpers.d.ts +4 -0
- package/lib/forms/api.helpers.js +13 -0
- package/lib/forms/api.helpers.js.map +1 -1
- package/lib/forms/display.helpers.d.ts +1 -2
- package/lib/forms/display.helpers.js +2 -19
- package/lib/forms/display.helpers.js.map +1 -1
- package/lib/forms/index.d.ts +1 -0
- package/lib/forms/index.js +1 -0
- package/lib/forms/index.js.map +1 -1
- package/lib/forms/studio/api.helpers.d.ts +3 -0
- package/lib/forms/studio/api.helpers.js +26 -0
- package/lib/forms/studio/api.helpers.js.map +1 -1
- package/lib/forms/studio/display.helpers.d.ts +2 -1
- package/lib/forms/studio/display.helpers.js +10 -4
- package/lib/forms/studio/display.helpers.js.map +1 -1
- package/lib/forms/studio/index.d.ts +1 -0
- package/lib/forms/studio/index.js +1 -0
- package/lib/forms/studio/index.js.map +1 -1
- package/lib/forms/studio/permission.helpers.d.ts +3 -0
- package/lib/forms/studio/permission.helpers.js +59 -0
- package/lib/forms/studio/permission.helpers.js.map +1 -0
- package/lib/forms/types.d.ts +9 -5
- package/lib/header/HeaderBandContext.d.ts +2 -1
- package/lib/i18n/component/Translator.d.ts +19 -3
- package/lib/i18n/translations/en.json +17 -2
- package/lib/i18n/translations/fr.json +17 -2
- package/lib/index.d.ts +3 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/models/objectFields.js +17 -0
- package/lib/models/objectFields.js.map +1 -1
- package/lib/navigator/NavigationInformationsProvider.d.ts +33 -0
- package/lib/navigator/NavigationInformationsProvider.js +81 -0
- package/lib/navigator/NavigationInformationsProvider.js.map +1 -0
- package/lib/navigator/Navigator.d.ts +2 -4
- package/lib/navigator/Navigator.js +32 -11
- package/lib/navigator/Navigator.js.map +1 -1
- package/lib/navigator/drawer/AuthMenuIconButton.d.ts +2 -1
- package/lib/navigator/drawer/BackIcon.d.ts +2 -1
- package/lib/navigator/drawer/DrawerContent.d.ts +3 -3
- package/lib/navigator/drawer/DrawerContent.js +3 -2
- package/lib/navigator/drawer/DrawerContent.js.map +1 -1
- package/lib/navigator/drawer/DrawerToggleButton.d.ts +2 -1
- package/lib/navigator/drawer/Header.d.ts +2 -1
- package/lib/navigator/drawer/Menu.d.ts +2 -1
- package/lib/navigator/drawer/MenuIconButton.d.ts +2 -1
- package/lib/navigator/drawer/MenuItem.d.ts +2 -1
- package/lib/navigator/drawer/MenuItemEntry.d.ts +2 -1
- package/lib/navigator/drawer/MenuSeparator.d.ts +2 -1
- package/lib/navigator/drawer/MenuTitle.d.ts +2 -1
- package/lib/navigator/drawer/SubMenuItem.d.ts +2 -1
- package/lib/navigator/drawer/SubMenuItemList.d.ts +2 -1
- package/lib/navigator/menu.helper.d.ts +4 -0
- package/lib/navigator/menu.helper.js +21 -0
- package/lib/navigator/menu.helper.js.map +1 -1
- package/lib/navigator/module.helper.d.ts +1 -2
- package/lib/navigator/module.helper.js.map +1 -1
- package/lib/permissions/api.helpers.d.ts +6 -0
- package/lib/permissions/api.helpers.js +64 -0
- package/lib/permissions/api.helpers.js.map +1 -0
- package/lib/permissions/format.helpers.d.ts +5 -0
- package/lib/permissions/format.helpers.js +81 -0
- package/lib/permissions/format.helpers.js.map +1 -0
- package/lib/permissions/hooks.d.ts +14 -0
- package/lib/permissions/hooks.js +97 -0
- package/lib/permissions/hooks.js.map +1 -0
- package/lib/permissions/index.d.ts +1 -0
- package/lib/permissions/index.js +19 -0
- package/lib/permissions/index.js.map +1 -0
- package/lib/permissions/type.helpers.d.ts +30 -0
- package/lib/permissions/type.helpers.js +34 -0
- package/lib/permissions/type.helpers.js.map +1 -0
- package/lib/redux/hooks.d.ts +2 -4
- package/lib/redux/hooks.js.map +1 -1
- package/lib/redux/store.d.ts +3 -1
- package/lib/screens/AttachedFilesScreen.d.ts +2 -1
- package/lib/screens/BarcodeDisplayScreen.d.ts +2 -1
- package/lib/screens/ErrorScreen.d.ts +2 -1
- package/lib/screens/JsonFieldScreen.d.ts +2 -1
- package/lib/screens/LoginScreen.d.ts +2 -1
- package/lib/screens/LoginScreen.js +1 -2
- package/lib/screens/LoginScreen.js.map +1 -1
- package/lib/screens/MailMessageScreen.d.ts +2 -1
- package/lib/screens/SessionManagementScreen.d.ts +2 -1
- package/lib/screens/SessionManagementScreen.js +2 -1
- package/lib/screens/SessionManagementScreen.js.map +1 -1
- package/lib/selections/SelectionProvider.d.ts +4 -0
- package/lib/selections/SelectionProvider.js +79 -0
- package/lib/selections/SelectionProvider.js.map +1 -0
- package/lib/selections/api.helpers.d.ts +3 -0
- package/lib/selections/api.helpers.js +31 -0
- package/lib/selections/api.helpers.js.map +1 -0
- package/lib/selections/format.helpers.d.ts +6 -0
- package/lib/selections/format.helpers.js +41 -0
- package/lib/selections/format.helpers.js.map +1 -0
- package/lib/selections/hooks.d.ts +8 -0
- package/lib/selections/hooks.js +93 -0
- package/lib/selections/hooks.js.map +1 -0
- package/lib/selections/index.d.ts +3 -0
- package/lib/selections/index.js +21 -0
- package/lib/selections/index.js.map +1 -0
- package/lib/selections/types.d.ts +61 -0
- package/lib/selections/types.js +19 -0
- package/lib/selections/types.js.map +1 -0
- package/lib/sessions/components/alerts/PopupCreateSession.d.ts +2 -1
- package/lib/sessions/components/alerts/PopupCreateSession.js +2 -2
- package/lib/sessions/components/alerts/PopupCreateSession.js.map +1 -1
- package/lib/sessions/components/alerts/PopupEditSession.d.ts +2 -1
- package/lib/sessions/components/alerts/PopupSession.d.ts +2 -1
- package/lib/sessions/components/alerts/PopupSession.js +1 -0
- package/lib/sessions/components/alerts/PopupSession.js.map +1 -1
- package/lib/sessions/components/display/LogoImage.d.ts +2 -1
- package/lib/sessions/components/display/SessionCard.d.ts +2 -1
- package/lib/sessions/components/display/SessionListCard.d.ts +2 -1
- package/lib/sessions/components/error/ErrorText.d.ts +2 -1
- package/lib/sessions/components/inputs/DefaultCheckbox.d.ts +2 -1
- package/lib/sessions/components/inputs/PasswordInput.d.ts +2 -1
- package/lib/sessions/components/inputs/SessionInputs.d.ts +2 -1
- package/lib/sessions/components/inputs/SessionInputs.js +2 -2
- package/lib/sessions/components/inputs/SessionInputs.js.map +1 -1
- package/lib/sessions/components/inputs/SessionNameInput.d.ts +2 -1
- package/lib/sessions/components/inputs/UrlInput.d.ts +2 -1
- package/lib/sessions/components/inputs/UsernameInput.d.ts +2 -1
- package/lib/tools/FilePicker.d.ts +1 -1
- package/lib/tools/FilePicker.js +12 -14
- package/lib/tools/FilePicker.js.map +1 -1
- package/lib/tools/LinkingProvider.d.ts +5 -0
- package/lib/tools/LinkingProvider.js +8 -1
- package/lib/tools/LinkingProvider.js.map +1 -1
- package/lib/tools/index.d.ts +1 -0
- package/lib/tools/index.js +1 -0
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/linking.helper.d.ts +5 -0
- package/lib/tools/linking.helper.js +12 -0
- package/lib/tools/linking.helper.js.map +1 -1
- package/lib/webViews/api.helpers.d.ts +4 -0
- package/lib/webViews/api.helpers.js +29 -0
- package/lib/webViews/api.helpers.js.map +1 -0
- package/lib/webViews/display.helpers.d.ts +1 -0
- package/lib/webViews/display.helpers.js +21 -0
- package/lib/webViews/display.helpers.js.map +1 -0
- package/lib/webViews/menu.helper.d.ts +29 -0
- package/lib/webViews/menu.helper.js +77 -0
- package/lib/webViews/menu.helper.js.map +1 -0
- package/lib/webViews/view/WebViewScreen.d.ts +8 -0
- package/lib/webViews/view/WebViewScreen.js +68 -0
- package/lib/webViews/view/WebViewScreen.js.map +1 -0
- package/lib/webViews/view/index.d.ts +1 -0
- package/lib/webViews/view/index.js +19 -0
- package/lib/webViews/view/index.js.map +1 -0
- package/package.json +51 -60
- package/lib/app/Module.js.map +0 -1
- package/lib/components/external/CameraScanner/CameraScanner.d.ts +0 -2
- package/lib/components/external/CameraScanner/CameraScanner.js +0 -88
- package/lib/components/external/CameraScanner/CameraScanner.js.map +0 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useCallback, useEffect, useMemo } from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { Card, Icon, Image, LabelText, Picker, Text, useThemeColor, } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { fetchCompanies } from '../../../features/companySlice';
|
|
22
|
+
import { changeActiveCompany } from '../../../features/userSlice';
|
|
23
|
+
import { logout, useBinaryImageUri, useDispatch, useSelector, useTranslator, } from '../../../../index';
|
|
24
|
+
const UserCard = ({ children, style }) => {
|
|
25
|
+
const Colors = useThemeColor();
|
|
26
|
+
const I18n = useTranslator();
|
|
27
|
+
const dispatch = useDispatch();
|
|
28
|
+
const formatImage = useBinaryImageUri();
|
|
29
|
+
const { base: baseConfig } = useSelector((state) => state.appConfig);
|
|
30
|
+
const { user, canModifyCompany } = useSelector((state) => state.user);
|
|
31
|
+
const { companyList } = useSelector((state) => state.company);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
dispatch(fetchCompanies());
|
|
34
|
+
}, [dispatch]);
|
|
35
|
+
const displayCompanyPicker = useMemo(() => baseConfig?.enableMultiCompany && canModifyCompany, [baseConfig?.enableMultiCompany, canModifyCompany]);
|
|
36
|
+
const updateActiveCompany = useCallback(company => {
|
|
37
|
+
dispatch(changeActiveCompany({
|
|
38
|
+
newCompany: {
|
|
39
|
+
$version: company?.$version,
|
|
40
|
+
code: company?.code,
|
|
41
|
+
id: company?.id,
|
|
42
|
+
name: company?.name,
|
|
43
|
+
},
|
|
44
|
+
}));
|
|
45
|
+
}, [dispatch]);
|
|
46
|
+
const styles = useMemo(() => {
|
|
47
|
+
const isCardTopMargin = displayCompanyPicker || !!children;
|
|
48
|
+
return getStyles(isCardTopMargin, Colors);
|
|
49
|
+
}, [Colors, children, displayCompanyPicker]);
|
|
50
|
+
return (<Card style={[styles.card, style]}>
|
|
51
|
+
<View style={styles.cardTopContainer}>
|
|
52
|
+
<View style={styles.cardTopLeftContainer}>
|
|
53
|
+
<Image source={formatImage(user?.id, user?.version, 'com.axelor.auth.db.User')} resizeMode="contain" generalStyle={styles.image}/>
|
|
54
|
+
<View>
|
|
55
|
+
<Text>{user.name}</Text>
|
|
56
|
+
<Text writingType="details">{user.code}</Text>
|
|
57
|
+
{!displayCompanyPicker && (<LabelText iconName="building-fill" title={user.activeCompany?.name}/>)}
|
|
58
|
+
</View>
|
|
59
|
+
</View>
|
|
60
|
+
<Icon style={styles.logOutIcon} name="power" color={Colors.primaryColor.background} size={25} touchable={true} onPress={() => dispatch(logout())}/>
|
|
61
|
+
</View>
|
|
62
|
+
{displayCompanyPicker && (<Picker title={I18n.t('User_ActiveCompany')} listItems={companyList} defaultValue={user?.activeCompany} labelField="name" valueField="id" onValueChange={updateActiveCompany} isValueItem={true} style={styles.picker}/>)}
|
|
63
|
+
{children}
|
|
64
|
+
</Card>);
|
|
65
|
+
};
|
|
66
|
+
const getStyles = (isCardTopMargin, Colors) => StyleSheet.create({
|
|
67
|
+
card: {
|
|
68
|
+
width: '90%',
|
|
69
|
+
alignSelf: 'center',
|
|
70
|
+
paddingHorizontal: 16,
|
|
71
|
+
paddingRight: 16,
|
|
72
|
+
zIndex: 2,
|
|
73
|
+
},
|
|
74
|
+
cardTopContainer: {
|
|
75
|
+
flexDirection: 'row',
|
|
76
|
+
justifyContent: 'space-between',
|
|
77
|
+
alignItems: 'center',
|
|
78
|
+
marginBottom: isCardTopMargin ? 10 : 0,
|
|
79
|
+
},
|
|
80
|
+
cardTopLeftContainer: {
|
|
81
|
+
flexDirection: 'row',
|
|
82
|
+
alignItems: 'center',
|
|
83
|
+
},
|
|
84
|
+
image: {
|
|
85
|
+
width: 80,
|
|
86
|
+
height: 80,
|
|
87
|
+
borderRadius: 40,
|
|
88
|
+
marginRight: 5,
|
|
89
|
+
},
|
|
90
|
+
logOutIcon: {
|
|
91
|
+
width: 40,
|
|
92
|
+
height: 40,
|
|
93
|
+
borderRadius: 20,
|
|
94
|
+
backgroundColor: Colors.backgroundColor,
|
|
95
|
+
elevation: 5,
|
|
96
|
+
shadowOpacity: 0.5,
|
|
97
|
+
shadowOffset: { width: 0, height: 0 },
|
|
98
|
+
shadowColor: Colors.secondaryColor.background,
|
|
99
|
+
},
|
|
100
|
+
picker: {
|
|
101
|
+
width: '100%',
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
export default UserCard;
|
|
105
|
+
//# sourceMappingURL=UserCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserCard.js","sourceRoot":"","sources":["../../../../../src/auth/components/molecules/UserCard/UserCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,5 @@
|
|
|
1
|
+
export { default as DashboardsCard } from "./DashboardsCard/DashboardsCard";
|
|
2
|
+
export { default as NavigationToolsButton } from "./NavigationToolsButton/NavigationToolsButton";
|
|
3
|
+
export { default as ShortcutsCard } from "./ShortcutsCard/ShortcutsCard";
|
|
1
4
|
export { default as TranslationsButton } from "./TranslationsButton/TranslationsButton";
|
|
5
|
+
export { default as UserCard } from "./UserCard/UserCard";
|
|
@@ -15,5 +15,9 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
+
export { default as DashboardsCard } from './DashboardsCard/DashboardsCard';
|
|
19
|
+
export { default as NavigationToolsButton } from './NavigationToolsButton/NavigationToolsButton';
|
|
20
|
+
export { default as ShortcutsCard } from './ShortcutsCard/ShortcutsCard';
|
|
18
21
|
export { default as TranslationsButton } from './TranslationsButton/TranslationsButton';
|
|
22
|
+
export { default as UserCard } from './UserCard/UserCard';
|
|
19
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/auth/components/molecules/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,yCAAyC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/auth/components/molecules/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,qBAAqB,EAAC,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
export const fetchCompanies: import("@reduxjs/toolkit").AsyncThunk<any, void,
|
|
2
|
-
state?: unknown;
|
|
3
|
-
dispatch?: import("redux").Dispatch<import("redux").AnyAction>;
|
|
4
|
-
extra?: unknown;
|
|
5
|
-
rejectValue?: unknown;
|
|
6
|
-
serializedErrorType?: unknown;
|
|
7
|
-
pendingMeta?: unknown;
|
|
8
|
-
fulfilledMeta?: unknown;
|
|
9
|
-
rejectedMeta?: unknown;
|
|
10
|
-
}>;
|
|
1
|
+
export const fetchCompanies: import("@reduxjs/toolkit").AsyncThunk<any, void, import("@reduxjs/toolkit/dist/createAsyncThunk").AsyncThunkConfig>;
|
|
11
2
|
export const companyReducer: import("redux").Reducer<{
|
|
12
3
|
loading: boolean;
|
|
13
4
|
companyList: any[];
|
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
export const uploadTranslations: import("@reduxjs/toolkit").AsyncThunk<any, void,
|
|
2
|
-
|
|
3
|
-
dispatch?: import("redux").Dispatch<import("redux").AnyAction>;
|
|
4
|
-
extra?: unknown;
|
|
5
|
-
rejectValue?: unknown;
|
|
6
|
-
serializedErrorType?: unknown;
|
|
7
|
-
pendingMeta?: unknown;
|
|
8
|
-
fulfilledMeta?: unknown;
|
|
9
|
-
rejectedMeta?: unknown;
|
|
10
|
-
}>;
|
|
1
|
+
export const uploadTranslations: import("@reduxjs/toolkit").AsyncThunk<any, void, import("@reduxjs/toolkit/dist/createAsyncThunk").AsyncThunkConfig>;
|
|
2
|
+
export const uploadNavigationTools: import("@reduxjs/toolkit").AsyncThunk<any, void, import("@reduxjs/toolkit/dist/createAsyncThunk").AsyncThunkConfig>;
|
|
11
3
|
export const clearMessage: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"config/clearMessage">;
|
|
12
|
-
export const configReducer: import("redux").Reducer<import("immer
|
|
4
|
+
export const configReducer: import("redux").Reducer<import("immer").WritableDraft<{
|
|
13
5
|
loading: boolean;
|
|
14
6
|
message: any;
|
|
15
7
|
}>>;
|
|
@@ -16,10 +16,21 @@
|
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
19
|
+
import { handlerApiCall } from '../../apiProviders';
|
|
19
20
|
import { postTranslations } from '../../i18n';
|
|
21
|
+
import { uploadNavigationTools as _uploadNavigationTools } from '../api/config-api';
|
|
20
22
|
export const uploadTranslations = createAsyncThunk('base/uploadTranslations', async function ({ language, translations }) {
|
|
21
23
|
return postTranslations(language, translations);
|
|
22
24
|
});
|
|
25
|
+
export const uploadNavigationTools = createAsyncThunk('base/uploadNavigationTools', async function (data = {}, { getState }) {
|
|
26
|
+
return handlerApiCall({
|
|
27
|
+
fetchFunction: _uploadNavigationTools,
|
|
28
|
+
data,
|
|
29
|
+
action: 'Auth_SliceAction_UploadNavigationTools',
|
|
30
|
+
getState,
|
|
31
|
+
responseOptions: { isArrayResponse: false, showToast: true },
|
|
32
|
+
});
|
|
33
|
+
});
|
|
23
34
|
const initialState = {
|
|
24
35
|
loading: false,
|
|
25
36
|
message: null,
|
|
@@ -40,6 +51,15 @@ const configSlice = createSlice({
|
|
|
40
51
|
state.loading = false;
|
|
41
52
|
state.message = action.payload;
|
|
42
53
|
});
|
|
54
|
+
builder.addCase(uploadNavigationTools.pending, state => {
|
|
55
|
+
state.loading = true;
|
|
56
|
+
});
|
|
57
|
+
builder.addCase(uploadNavigationTools.rejected, state => {
|
|
58
|
+
state.loading = false;
|
|
59
|
+
});
|
|
60
|
+
builder.addCase(uploadNavigationTools.fulfilled, (state, action) => {
|
|
61
|
+
state.loading = false;
|
|
62
|
+
});
|
|
43
63
|
},
|
|
44
64
|
});
|
|
45
65
|
export const { clearMessage } = configSlice.actions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configSlice.js","sourceRoot":"","sources":["../../../src/auth/features/configSlice.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"configSlice.js","sourceRoot":"","sources":["../../../src/auth/features/configSlice.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,qBAAqB,IAAI,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAElF,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAChD,yBAAyB,EACzB,KAAK,WAAW,EAAC,QAAQ,EAAE,YAAY,EAAC;IACtC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAClD,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CACnD,4BAA4B,EAC5B,KAAK,WAAW,IAAI,GAAG,EAAE,EAAE,EAAC,QAAQ,EAAC;IACnC,OAAO,cAAc,CAAC;QACpB,aAAa,EAAE,sBAAsB;QACrC,IAAI;QACJ,MAAM,EAAE,wCAAwC;QAChD,QAAQ;QACR,eAAe,EAAE,EAAC,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC;KAC3D,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,WAAW,GAAG,WAAW,CAAC;IAC9B,IAAI,EAAE,QAAQ;IACd,YAAY;IACZ,QAAQ,EAAE;QACR,YAAY,EAAE,KAAK,CAAC,EAAE;YACpB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC;KACF;IACD,aAAa,EAAE,OAAO,CAAC,EAAE;QACvB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAClD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC9D,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YACtB,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACrD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;YACtD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACjE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAC,YAAY,EAAC,GAAG,WAAW,CAAC,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
export const fetchLocalizations: import("@reduxjs/toolkit").AsyncThunk<any, void,
|
|
2
|
-
state?: unknown;
|
|
3
|
-
dispatch?: import("redux").Dispatch<import("redux").AnyAction>;
|
|
4
|
-
extra?: unknown;
|
|
5
|
-
rejectValue?: unknown;
|
|
6
|
-
serializedErrorType?: unknown;
|
|
7
|
-
pendingMeta?: unknown;
|
|
8
|
-
fulfilledMeta?: unknown;
|
|
9
|
-
rejectedMeta?: unknown;
|
|
10
|
-
}>;
|
|
1
|
+
export const fetchLocalizations: import("@reduxjs/toolkit").AsyncThunk<any, void, import("@reduxjs/toolkit/dist/createAsyncThunk").AsyncThunkConfig>;
|
|
11
2
|
export const localizationReducer: import("redux").Reducer<{
|
|
12
3
|
loading: boolean;
|
|
13
4
|
localizationList: any[];
|
|
@@ -1,26 +1,8 @@
|
|
|
1
|
-
export const fetchActiveUser: import("@reduxjs/toolkit").AsyncThunk<any, void,
|
|
2
|
-
|
|
3
|
-
dispatch?: import("redux").Dispatch<import("redux").AnyAction>;
|
|
4
|
-
extra?: unknown;
|
|
5
|
-
rejectValue?: unknown;
|
|
6
|
-
serializedErrorType?: unknown;
|
|
7
|
-
pendingMeta?: unknown;
|
|
8
|
-
fulfilledMeta?: unknown;
|
|
9
|
-
rejectedMeta?: unknown;
|
|
10
|
-
}>;
|
|
11
|
-
export const updateActiveUser: import("@reduxjs/toolkit").AsyncThunk<any, void, {
|
|
12
|
-
state?: unknown;
|
|
13
|
-
dispatch?: import("redux").Dispatch<import("redux").AnyAction>;
|
|
14
|
-
extra?: unknown;
|
|
15
|
-
rejectValue?: unknown;
|
|
16
|
-
serializedErrorType?: unknown;
|
|
17
|
-
pendingMeta?: unknown;
|
|
18
|
-
fulfilledMeta?: unknown;
|
|
19
|
-
rejectedMeta?: unknown;
|
|
20
|
-
}>;
|
|
1
|
+
export const fetchActiveUser: import("@reduxjs/toolkit").AsyncThunk<any, void, import("@reduxjs/toolkit/dist/createAsyncThunk").AsyncThunkConfig>;
|
|
2
|
+
export const updateActiveUser: import("@reduxjs/toolkit").AsyncThunk<any, void, import("@reduxjs/toolkit/dist/createAsyncThunk").AsyncThunkConfig>;
|
|
21
3
|
export const changeActiveCompany: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "user/changeActiveCompany">;
|
|
22
4
|
export const changeDefaultStockLocation: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "user/changeDefaultStockLocation">;
|
|
23
|
-
export const userReducer: import("redux").Reducer<import("immer
|
|
5
|
+
export const userReducer: import("redux").Reducer<import("immer").WritableDraft<{
|
|
24
6
|
loadingUser: boolean;
|
|
25
7
|
user: {};
|
|
26
8
|
isUser: boolean;
|
package/lib/auth/i18n/en.json
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"User_ColorForColorBlind": "Color blind mode",
|
|
13
13
|
"User_Show_Drawer_Subtitles": "Show modules subtitles",
|
|
14
14
|
"User_SendTranslations": "Send translations",
|
|
15
|
+
"User_SendNavigationInformations": "Send navigation informations",
|
|
15
16
|
"User_UserProfile": "User profile",
|
|
16
17
|
"User_Settings": "Settings",
|
|
17
18
|
"User_Company": "Company",
|
|
@@ -23,5 +24,6 @@
|
|
|
23
24
|
"Auth_SliceAction_FetchLocalization": "fetch localizations",
|
|
24
25
|
"Auth_SliceAction_FetchCompanies": "fetch companies",
|
|
25
26
|
"Auth_SliceAction_FetchActiveUser": "fetch active user",
|
|
26
|
-
"Auth_SliceAction_UpdateActiveUser": "update active user"
|
|
27
|
+
"Auth_SliceAction_UpdateActiveUser": "update active user",
|
|
28
|
+
"Auth_SliceAction_UploadNavigationTools": "upload navigation tools"
|
|
27
29
|
}
|
package/lib/auth/i18n/fr.json
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"User_ColorForColorBlind": "Mode daltonien",
|
|
13
13
|
"User_Show_Drawer_Subtitles": "Afficher les sous titres des modules",
|
|
14
14
|
"User_SendTranslations": "Envoyer les traductions",
|
|
15
|
+
"User_SendNavigationInformations": "Envoyer les informations de navigation",
|
|
15
16
|
"User_UserProfile": "Profil utilisateur",
|
|
16
17
|
"User_Settings": "Paramètres",
|
|
17
18
|
"User_Company": "Société",
|
|
@@ -23,5 +24,6 @@
|
|
|
23
24
|
"Auth_SliceAction_FetchLocalization": "récupération des localisations",
|
|
24
25
|
"Auth_SliceAction_FetchCompanies": "récupération des sociétés",
|
|
25
26
|
"Auth_SliceAction_FetchActiveUser": "récupération de l'utilisateur actif",
|
|
26
|
-
"Auth_SliceAction_UpdateActiveUser": "mise à jour de l'utilisateur actif"
|
|
27
|
+
"Auth_SliceAction_UpdateActiveUser": "mise à jour de l'utilisateur actif",
|
|
28
|
+
"Auth_SliceAction_UploadNavigationTools": "envoie des informations de navigation"
|
|
27
29
|
}
|
package/lib/auth/index.d.ts
CHANGED
|
@@ -33,10 +33,13 @@ export const auth_modelAPI = {
|
|
|
33
33
|
activeTeam: schemaContructor.subObject(),
|
|
34
34
|
workshopStockLocation: schemaContructor.subObject(),
|
|
35
35
|
roles: schemaContructor.array(),
|
|
36
|
-
group: schemaContructor.subObject()
|
|
36
|
+
group: schemaContructor.subObject().concat(schemaContructor.object({
|
|
37
|
+
roles: schemaContructor.array(),
|
|
38
|
+
})),
|
|
37
39
|
employee: schemaContructor.subObject(),
|
|
38
40
|
language: schemaContructor.string(),
|
|
39
41
|
todayDateT: schemaContructor.string(),
|
|
42
|
+
code: schemaContructor.string(),
|
|
40
43
|
}),
|
|
41
44
|
auth_localization: schemaContructor.object({
|
|
42
45
|
code: schemaContructor.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectFields.js","sourceRoot":"","sources":["../../../src/auth/models/objectFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAe,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;KAChC,CAAC;IACF,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACjC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,aAAa,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,MAAM,CAChD,gBAAgB,CAAC,MAAM,CAAC;YACtB,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC;SAC/C,CAAC,CACH;QACD,YAAY,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,MAAM,CAC/C,gBAAgB,CAAC,MAAM,CAAC;YACtB,QAAQ,EAAE,gBAAgB,CAAC,SAAS,EAAE;SACvC,CAAC,CACH;QACD,UAAU,EAAE,gBAAgB,CAAC,SAAS,EAAE;QACxC,qBAAqB,EAAE,gBAAgB,CAAC,SAAS,EAAE;QACnD,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE;QAC/B,KAAK,EAAE,gBAAgB,CAAC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"objectFields.js","sourceRoot":"","sources":["../../../src/auth/models/objectFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAe,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;KAChC,CAAC;IACF,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACjC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,aAAa,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,MAAM,CAChD,gBAAgB,CAAC,MAAM,CAAC;YACtB,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC;SAC/C,CAAC,CACH;QACD,YAAY,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,MAAM,CAC/C,gBAAgB,CAAC,MAAM,CAAC;YACtB,QAAQ,EAAE,gBAAgB,CAAC,SAAS,EAAE;SACvC,CAAC,CACH;QACD,UAAU,EAAE,gBAAgB,CAAC,SAAS,EAAE;QACxC,qBAAqB,EAAE,gBAAgB,CAAC,SAAS,EAAE;QACnD,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE;QAC/B,KAAK,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,MAAM,CACxC,gBAAgB,CAAC,MAAM,CAAC;YACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE;SAChC,CAAC,CACH;QACD,QAAQ,EAAE,gBAAgB,CAAC,SAAS,EAAE;QACtC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACrC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;KAChC,CAAC;IACF,iBAAiB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACzC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,QAAQ,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,MAAM,CAC3C,gBAAgB,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;SAChC,CAAC,CACH;KACF,CAAC;CACH,CAAC"}
|
|
@@ -15,21 +15,36 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import React, { useCallback } from 'react';
|
|
18
|
+
import React, { useCallback, useMemo } from 'react';
|
|
19
19
|
import { StyleSheet, View } from 'react-native';
|
|
20
|
-
import { Screen, SwitchCard, useConfig, useTheme, Text, } from '@axelor/aos-mobile-ui';
|
|
21
20
|
import { useDispatch, useSelector } from 'react-redux';
|
|
21
|
+
import { HorizontalRule, Picker, Screen, ScrollView, SwitchCard, Text, useConfig, useTheme, } from '@axelor/aos-mobile-ui';
|
|
22
22
|
import { useTranslator } from '../../i18n';
|
|
23
23
|
import { disable, enable, useEffectOnline, useOnline, } from '../../features/onlineSlice';
|
|
24
|
+
import { updateActiveUser } from '../features/userSlice';
|
|
24
25
|
import { ApiProviderConfig } from '../../apiProviders/config';
|
|
25
|
-
import { TranslationsButton } from '../components';
|
|
26
|
+
import { NavigationToolsButton, TranslationsButton } from '../components';
|
|
27
|
+
import { useIsAdmin } from '../../permissions';
|
|
26
28
|
const SettingsScreen = ({ children }) => {
|
|
27
29
|
const I18n = useTranslator();
|
|
28
30
|
const Theme = useTheme();
|
|
29
31
|
const online = useOnline();
|
|
32
|
+
const isAdmin = useIsAdmin();
|
|
30
33
|
const dispatch = useDispatch();
|
|
31
34
|
const { showFilter, hideVirtualKeyboard, toggleFilterConfig, toggleVirtualKeyboardConfig, setShowSubtitles, showSubtitles, } = useConfig();
|
|
32
|
-
const { baseUrl } = useSelector(state => state.auth);
|
|
35
|
+
const { appVersion, baseUrl } = useSelector(state => state.auth);
|
|
36
|
+
const { user } = useSelector(state => state.user);
|
|
37
|
+
const { localizationList } = useSelector(state => state.localization);
|
|
38
|
+
const isLanguagePicker = useMemo(() => localizationList?.length > 1, [localizationList?.length]);
|
|
39
|
+
const isThemePicker = useMemo(() => !Theme.isColorBlind && Theme.themes?.length !== 1, [Theme.isColorBlind, Theme.themes?.length]);
|
|
40
|
+
const handleChangeTheme = useCallback(newTheme => Theme.changeTheme(newTheme), [Theme]);
|
|
41
|
+
const updateLanguage = useCallback(localization => {
|
|
42
|
+
dispatch(updateActiveUser({
|
|
43
|
+
id: user.id,
|
|
44
|
+
localization: { id: localization },
|
|
45
|
+
version: user.version,
|
|
46
|
+
}));
|
|
47
|
+
}, [dispatch, user]);
|
|
33
48
|
const handleToggleConnection = useCallback(state => {
|
|
34
49
|
if (!state) {
|
|
35
50
|
dispatch(enable());
|
|
@@ -51,16 +66,22 @@ const SettingsScreen = ({ children }) => {
|
|
|
51
66
|
setShowSubtitles(state);
|
|
52
67
|
}, [setShowSubtitles]);
|
|
53
68
|
return (<Screen style={styles.screen}>
|
|
54
|
-
<
|
|
55
|
-
<
|
|
56
|
-
<
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
<SwitchCard title={I18n.t('
|
|
69
|
+
<ScrollView contentContainerStyle={styles.container}>
|
|
70
|
+
{isLanguagePicker && (<Picker title={I18n.t('User_Language')} defaultValue={user.localization?.id} listItems={localizationList} labelField="name" valueField="id" onValueChange={updateLanguage} emptyValue={false}/>)}
|
|
71
|
+
{isThemePicker && (<Picker title={I18n.t('User_Theme')} defaultValue={Theme.activeTheme?.key} listItems={Theme.themes} labelField="name" valueField="key" onValueChange={handleChangeTheme} emptyValue={false}/>)}
|
|
72
|
+
{(isLanguagePicker || isThemePicker) && (<HorizontalRule style={styles.lineSeparator}/>)}
|
|
73
|
+
<SwitchCard title={I18n.t('User_ShowFilter')} defaultValue={showFilter} onToggle={toggleFilterConfig} style={[styles.topSwitchCard, styles.switchCard]}/>
|
|
74
|
+
<SwitchCard title={I18n.t('User_VirtualKeyboardConfig')} defaultValue={hideVirtualKeyboard} onToggle={toggleVirtualKeyboardConfig} style={styles.switchCard}/>
|
|
75
|
+
<SwitchCard title={I18n.t('User_ColorForColorBlind')} defaultValue={Theme.isColorBlind} onToggle={handleToggleColorBlind} style={styles.switchCard}/>
|
|
76
|
+
{ApiProviderConfig.allowConnectionBlock && (<SwitchCard title={I18n.t('User_BlockConnection')} defaultValue={!online.isEnabled} onToggle={handleToggleConnection} style={styles.switchCard}/>)}
|
|
77
|
+
<SwitchCard title={I18n.t('User_Show_Drawer_Subtitles')} defaultValue={showSubtitles} onToggle={handleToggleSubtitles} style={styles.switchCard}/>
|
|
60
78
|
{children}
|
|
79
|
+
{isAdmin && <HorizontalRule style={styles.lineSeparator}/>}
|
|
61
80
|
<TranslationsButton />
|
|
62
|
-
|
|
81
|
+
<NavigationToolsButton />
|
|
82
|
+
</ScrollView>
|
|
63
83
|
<View style={styles.footerContainer}>
|
|
84
|
+
<Text>{I18n.t('Base_Version', { appVersion: appVersion })}</Text>
|
|
64
85
|
<Text>{`${I18n.t('Base_ConnectedOn')}:`}</Text>
|
|
65
86
|
<Text numberOfLines={1}>{baseUrl}</Text>
|
|
66
87
|
</View>
|
|
@@ -71,11 +92,22 @@ const styles = StyleSheet.create({
|
|
|
71
92
|
justifyContent: 'space-between',
|
|
72
93
|
},
|
|
73
94
|
container: {
|
|
74
|
-
marginTop:
|
|
75
|
-
justifyContent: '
|
|
95
|
+
marginTop: 10,
|
|
96
|
+
justifyContent: 'center',
|
|
76
97
|
alignItems: 'center',
|
|
77
98
|
flex: 1,
|
|
78
99
|
},
|
|
100
|
+
lineSeparator: {
|
|
101
|
+
alignSelf: 'center',
|
|
102
|
+
width: '25%',
|
|
103
|
+
marginVertical: 15,
|
|
104
|
+
},
|
|
105
|
+
topSwitchCard: {
|
|
106
|
+
marginTop: 5,
|
|
107
|
+
},
|
|
108
|
+
switchCard: {
|
|
109
|
+
alignSelf: 'center',
|
|
110
|
+
},
|
|
79
111
|
footerContainer: {
|
|
80
112
|
justifyContent: 'center',
|
|
81
113
|
alignItems: 'center',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsScreen.js","sourceRoot":"","sources":["../../../src/auth/screens/SettingsScreen.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsScreen.js","sourceRoot":"","sources":["../../../src/auth/screens/SettingsScreen.js"],"names":[],"mappings":"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"}
|
|
@@ -15,30 +15,24 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import React, { useCallback, useEffect
|
|
18
|
+
import React, { useCallback, useEffect } from 'react';
|
|
19
|
+
import { Dimensions, StyleSheet } from 'react-native';
|
|
19
20
|
import DeviceInfo from 'react-native-device-info';
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { logout, useBinaryImageUri, useDispatch, useSelector, useTranslator, } from '../../index';
|
|
23
|
-
import { fetchCompanies } from '../features/companySlice';
|
|
21
|
+
import { Screen, ScrollView, useConfig } from '@axelor/aos-mobile-ui';
|
|
22
|
+
import { useDispatch, useSelector } from '../../index';
|
|
24
23
|
import { fetchLocalizations } from '../features/localizationSlice';
|
|
25
|
-
import {
|
|
24
|
+
import { fetchActiveUser } from '../features/userSlice';
|
|
25
|
+
import { DashboardsCard, ShortcutsCard, UserCard } from '../components';
|
|
26
26
|
import { PopupApplicationInformation } from '../../components';
|
|
27
27
|
const UserScreen = ({ children }) => {
|
|
28
|
-
const Theme = useTheme();
|
|
29
|
-
const Colors = useThemeColor();
|
|
30
|
-
const I18n = useTranslator();
|
|
31
|
-
const formatImage = useBinaryImageUri();
|
|
32
28
|
const dispatch = useDispatch();
|
|
33
|
-
const { companyList } = useSelector(state => state.company);
|
|
34
29
|
const { userId } = useSelector(state => state.auth);
|
|
35
|
-
const { localizationList } = useSelector(state => state.localization);
|
|
36
30
|
const { base: baseConfig } = useSelector(state => state.appConfig);
|
|
37
|
-
const { loadingUser,
|
|
31
|
+
const { loadingUser, isUser } = useSelector(state => state.user);
|
|
32
|
+
const { mobileSettings } = useSelector(state => state.appConfig);
|
|
38
33
|
const { setFilterConfig, setVirtualKeyboardConfig, setNbDecimalDigitForQty } = useConfig();
|
|
39
34
|
useEffect(() => {
|
|
40
35
|
fetchUser();
|
|
41
|
-
dispatch(fetchCompanies());
|
|
42
36
|
dispatch(fetchLocalizations());
|
|
43
37
|
}, [dispatch, fetchUser, userId]);
|
|
44
38
|
useEffect(() => {
|
|
@@ -51,76 +45,25 @@ const UserScreen = ({ children }) => {
|
|
|
51
45
|
DeviceInfo.getManufacturer().then(manufacturer => setVirtualKeyboardConfig(manufacturer === 'Zebra Technologies'));
|
|
52
46
|
setFilterConfig(Dimensions.get('window').height > SMALL_SCREEN_HEIGHT);
|
|
53
47
|
}, [setFilterConfig, setVirtualKeyboardConfig]);
|
|
54
|
-
const styles = useMemo(() => {
|
|
55
|
-
return getStyles(Colors);
|
|
56
|
-
}, [Colors]);
|
|
57
|
-
const updateActiveCompany = useCallback(company => {
|
|
58
|
-
dispatch(changeActiveCompany({
|
|
59
|
-
newCompany: {
|
|
60
|
-
$version: company?.$version,
|
|
61
|
-
code: company?.code,
|
|
62
|
-
id: company?.id,
|
|
63
|
-
name: company?.name,
|
|
64
|
-
},
|
|
65
|
-
}));
|
|
66
|
-
}, [dispatch]);
|
|
67
|
-
const handleChangeTheme = useCallback(newTheme => Theme.changeTheme(newTheme), [Theme]);
|
|
68
|
-
const updateLanguage = useCallback(localization => {
|
|
69
|
-
dispatch(updateActiveUser({
|
|
70
|
-
id: user.id,
|
|
71
|
-
localization: { id: localization },
|
|
72
|
-
version: user.version,
|
|
73
|
-
}));
|
|
74
|
-
}, [dispatch, user]);
|
|
75
48
|
const fetchUser = useCallback(() => {
|
|
76
49
|
dispatch(fetchActiveUser(userId));
|
|
77
50
|
}, [dispatch, userId]);
|
|
78
|
-
return (<Screen
|
|
79
|
-
<ScrollView refresh={{ loading:
|
|
80
|
-
<
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
<Icon style={styles.logOutIcon} name="power" color={Colors.primaryColor.background} size={Dimensions.get('window').width * 0.07} touchable={true} onPress={() => dispatch(logout())}/>,
|
|
84
|
-
]}/>
|
|
85
|
-
<Text style={styles.textUser}>{user.name}</Text>
|
|
86
|
-
{baseConfig?.enableMultiCompany && (<Picker title={I18n.t('User_ActiveCompany')} listItems={companyList} defaultValue={user?.activeCompany} labelField="name" valueField="id" onValueChange={updateActiveCompany} isValueItem={true} readonly={!canModifyCompany}/>)}
|
|
87
|
-
{children}
|
|
88
|
-
{localizationList?.length > 1 && (<Picker title={I18n.t('User_Language')} defaultValue={user.localization?.id} listItems={localizationList} labelField="name" valueField="id" onValueChange={updateLanguage} emptyValue={false}/>)}
|
|
89
|
-
{!Theme.isColorBlind && Theme.themes?.length !== 1 && (<Picker title={I18n.t('User_Theme')} defaultValue={Theme.activeTheme?.key} listItems={Theme.themes} labelField="name" valueField="key" onValueChange={handleChangeTheme} emptyValue={false}/>)}
|
|
90
|
-
<PopupApplicationInformation visible={!isUser && !loadingUser} textKey={'User_NoAppUser'} onRefresh={fetchUser}/>
|
|
91
|
-
</View>
|
|
51
|
+
return (<Screen>
|
|
52
|
+
<ScrollView refresh={{ loading: false, fetcher: fetchUser }} style={styles.scroll}>
|
|
53
|
+
<UserCard children={children} style={styles.marginCard}/>
|
|
54
|
+
<ShortcutsCard style={styles.marginCard} horizontal={mobileSettings?.isOneLineShortcut}/>
|
|
55
|
+
<DashboardsCard />
|
|
92
56
|
</ScrollView>
|
|
57
|
+
<PopupApplicationInformation visible={!isUser && !loadingUser} textKey={'User_NoAppUser'} onRefresh={fetchUser}/>
|
|
93
58
|
</Screen>);
|
|
94
59
|
};
|
|
95
|
-
const
|
|
96
|
-
alignContainer: {
|
|
97
|
-
alignItems: 'center',
|
|
98
|
-
paddingBottom: 150,
|
|
99
|
-
},
|
|
60
|
+
const styles = StyleSheet.create({
|
|
100
61
|
scroll: {
|
|
101
62
|
height: null,
|
|
63
|
+
minHeight: '100%',
|
|
102
64
|
},
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
},
|
|
106
|
-
imageIcon: {
|
|
107
|
-
backgroundColor: Colors.backgroundColor,
|
|
108
|
-
},
|
|
109
|
-
logOutIcon: {
|
|
110
|
-
backgroundColor: Colors.backgroundColor,
|
|
111
|
-
borderRadius: Dimensions.get('window').width * 0.1,
|
|
112
|
-
width: Dimensions.get('window').width * 0.1,
|
|
113
|
-
height: Dimensions.get('window').width * 0.1,
|
|
114
|
-
elevation: 5,
|
|
115
|
-
shadowOpacity: 0.5,
|
|
116
|
-
shadowColor: Colors.secondaryColor.background,
|
|
117
|
-
shadowOffset: { width: 0, height: 0 },
|
|
118
|
-
},
|
|
119
|
-
textUser: {
|
|
120
|
-
fontSize: 16,
|
|
121
|
-
fontWeight: 'bold',
|
|
122
|
-
marginBottom: 30,
|
|
123
|
-
marginTop: 0,
|
|
65
|
+
marginCard: {
|
|
66
|
+
marginBottom: 10,
|
|
124
67
|
},
|
|
125
68
|
});
|
|
126
69
|
export default UserScreen;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserScreen.js","sourceRoot":"","sources":["../../../src/auth/screens/UserScreen.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"UserScreen.js","sourceRoot":"","sources":["../../../src/auth/screens/UserScreen.js"],"names":[],"mappings":"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"}
|