@bigbinary/neeto-commons-rn 1.4.9 → 1.4.11

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.
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.registerDeviceTokenAPI=exports.markReadUnReadNotificationAPI=exports.fetchNotificationsAPI=exports.deleteDeviceTokenAPI=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _axios=_interopRequireDefault(require("axios"));var registerDeviceTokenAPI=exports.registerDeviceTokenAPI=function(){var _ref=(0,_asyncToGenerator2.default)(function*(payload){return yield _axios.default.post("/neeto_notifications/api/v1/devices",payload);});return function registerDeviceTokenAPI(_x){return _ref.apply(this,arguments);};}();var deleteDeviceTokenAPI=exports.deleteDeviceTokenAPI=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(_ref2){var notificationDeviceId=_ref2.notificationDeviceId;var url="/neeto_notifications/api/v1/devices/"+notificationDeviceId;return yield _axios.default.delete(url);});return function deleteDeviceTokenAPI(_x2){return _ref3.apply(this,arguments);};}();var fetchNotificationsAPI=exports.fetchNotificationsAPI=function(){var _ref5=(0,_asyncToGenerator2.default)(function*(_ref4){var page=_ref4.page;return yield _axios.default.get("/neeto_notifications/api/v1/notifications",{params:{page:page}});});return function fetchNotificationsAPI(_x3){return _ref5.apply(this,arguments);};}();var markReadUnReadNotificationAPI=exports.markReadUnReadNotificationAPI=function(){var _ref7=(0,_asyncToGenerator2.default)(function*(_ref6){var notificationId=_ref6.notificationId,readAt=_ref6.readAt;return yield _axios.default.put("/neeto_notifications/api/v1/notifications/"+notificationId,{notification:{read_at:readAt}});});return function markReadUnReadNotificationAPI(_x4){return _ref7.apply(this,arguments);};}();
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.registerDeviceTokenAPI=exports.markReadUnReadNotificationAPI=exports.markAllNotificationsReadAPI=exports.fetchNotificationsAPI=exports.deleteDeviceTokenAPI=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _axios=_interopRequireDefault(require("axios"));var registerDeviceTokenAPI=exports.registerDeviceTokenAPI=function(){var _ref=(0,_asyncToGenerator2.default)(function*(payload){return yield _axios.default.post("/neeto_notifications/api/v1/devices",payload);});return function registerDeviceTokenAPI(_x){return _ref.apply(this,arguments);};}();var deleteDeviceTokenAPI=exports.deleteDeviceTokenAPI=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(_ref2){var notificationDeviceId=_ref2.notificationDeviceId;var url="/neeto_notifications/api/v1/devices/"+notificationDeviceId;return yield _axios.default.delete(url);});return function deleteDeviceTokenAPI(_x2){return _ref3.apply(this,arguments);};}();var fetchNotificationsAPI=exports.fetchNotificationsAPI=function(){var _ref5=(0,_asyncToGenerator2.default)(function*(_ref4){var page=_ref4.page;return yield _axios.default.get("/neeto_notifications/api/v1/notifications",{params:{page:page}});});return function fetchNotificationsAPI(_x3){return _ref5.apply(this,arguments);};}();var markReadUnReadNotificationAPI=exports.markReadUnReadNotificationAPI=function(){var _ref7=(0,_asyncToGenerator2.default)(function*(_ref6){var notificationId=_ref6.notificationId,readAt=_ref6.readAt;return yield _axios.default.put("/neeto_notifications/api/v1/notifications/"+notificationId,{notification:{read_at:readAt}});});return function markReadUnReadNotificationAPI(_x4){return _ref7.apply(this,arguments);};}();var markAllNotificationsReadAPI=exports.markAllNotificationsReadAPI=function(){var _ref8=(0,_asyncToGenerator2.default)(function*(){return yield _axios.default.put("/neeto_notifications/api/v1/notifications/mark_all_read");});return function markAllNotificationsReadAPI(){return _ref8.apply(this,arguments);};}();
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Header=void 0;var _react=_interopRequireWildcard(require("react"));var _neetoIconsRn=require("@bigbinary/neeto-icons-rn");var _neetouiRn=require("@bigbinary/neetoui-rn");var _native=require("@react-navigation/native");var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _native2=require("styled-components/native");var _utils=require("../helpers/utils");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/neeto-commons-rn/neeto-commons-rn/src/components/Header.jsx";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}var Header=exports.Header=function Header(_ref){var title=_ref.title,subTitle=_ref.subTitle,canGoBack=_ref.canGoBack,onBackPress=_ref.onBackPress,showSideMenu=_ref.showSideMenu,handleSearch=_ref.handleSearch,RightComponent=_ref.RightComponent,isLoading=_ref.isLoading,showWorkspaceLogo=_ref.showWorkspaceLogo;var navigation=(0,_native.useNavigation)();var theme=(0,_react.useContext)(_native2.ThemeContext);return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsxs)(_neetouiRn.Container,{alignItems:"center",flexDirection:"row",px:(0,_reactNativeSizeMatters.moderateScale)(16),children:[showWorkspaceLogo&&(0,_jsxRuntime.jsx)(_neetouiRn.Touchable,{mr:(0,_reactNativeSizeMatters.moderateScale)(8),style:{backgroundColor:"red",width:40,height:40},onPress:function onPress(){return navigation.openDrawer();},children:(0,_jsxRuntime.jsx)(_neetouiRn.Avatar,{name:"S",size:"xs"})}),showSideMenu&&(0,_jsxRuntime.jsx)(_neetouiRn.ActionIcon,{color:theme.colors.font.grey800,icon:_neetoIconsRn.HamburgerMenu,maxWidth:(0,_reactNativeSizeMatters.moderateScale)(28),mr:(0,_reactNativeSizeMatters.moderateScale)(2),size:(0,_reactNativeSizeMatters.moderateScale)(20),onPress:function onPress(){return navigation.openDrawer();}}),(onBackPress||canGoBack)&&(0,_jsxRuntime.jsx)(_neetouiRn.Container,{children:(0,_jsxRuntime.jsx)(_neetouiRn.Button,{height:(0,_reactNativeSizeMatters.moderateScale)(40),ml:(0,_reactNativeSizeMatters.moderateScale)(-16),p:(0,_reactNativeSizeMatters.moderateScale)(8),rippleConfig:{shouldOverflowContainer:true},variant:"text",width:(0,_reactNativeSizeMatters.moderateScale)(40),LeftIcon:function LeftIcon(){return(0,_jsxRuntime.jsx)(_neetouiRn.Touchable,{onPress:(0,_utils.debounce)(onBackPress||navigation.goBack),children:(0,_jsxRuntime.jsx)(_neetoIconsRn.LeftArrow,{color:theme.colors.font.primary,size:(0,_reactNativeSizeMatters.moderateScale)(18),viewBox:"0 0 20 20"})});},onPress:(0,_utils.debounce)(onBackPress||navigation.goBack)})}),(0,_jsxRuntime.jsxs)(_neetouiRn.Container,{flex:1,mx:(0,_reactNativeSizeMatters.moderateScale)(6),my:(0,_reactNativeSizeMatters.moderateScale)(16),children:[(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{color:"font.primary",fontFamily:"sf600",fontSize:"xl",numberOfLines:1,children:title}),!!subTitle&&(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{color:theme.colors.font.grey600,fontFamily:"sf400",fontSize:"xs",children:subTitle})]}),handleSearch&&(0,_jsxRuntime.jsx)(_neetouiRn.Touchable,{hitSlop:{top:10,right:10,bottom:10,left:10},onPress:handleSearch,children:(0,_jsxRuntime.jsx)(_neetoIconsRn.Search,{color:theme.colors.font.grey800,size:(0,_reactNativeSizeMatters.moderateScale)(28),viewBox:"0 0 25 25"})}),RightComponent&&(0,_jsxRuntime.jsx)(RightComponent,{})]}),(0,_jsxRuntime.jsx)(_neetouiRn.LineLoader,{isLoading:isLoading})]});};Header.propTypes={title:_propTypes.default.string.isRequired,subTitle:_propTypes.default.string,onBackPress:_propTypes.default.func,canGoBack:_propTypes.default.bool,showSideMenu:_propTypes.default.bool,handleSearch:_propTypes.default.func,RightComponent:_propTypes.default.func,isLoading:_propTypes.default.bool,showWorkspaceLogo:_propTypes.default.bool};Header.defaultProps={canGoBack:false,isLoading:false,showWorkspaceLogo:false};
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Header=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _neetoIconsRn=require("@bigbinary/neeto-icons-rn");var _neetouiRn=require("@bigbinary/neetoui-rn");var _native=require("@react-navigation/native");var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _native2=require("styled-components/native");var _utils=require("../helpers/utils");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/neeto-commons-rn/neeto-commons-rn/src/components/Header.jsx";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}var Header=exports.Header=function Header(_ref){var title=_ref.title,subTitle=_ref.subTitle,canGoBack=_ref.canGoBack,onBackPress=_ref.onBackPress,showSideMenu=_ref.showSideMenu,handleSearch=_ref.handleSearch,RightComponent=_ref.RightComponent,isLoading=_ref.isLoading,showWorkspaceLogo=_ref.showWorkspaceLogo,onMarkAllAsRead=_ref.onMarkAllAsRead,showMarkAllOption=_ref.showMarkAllOption;var navigation=(0,_native.useNavigation)();var theme=(0,_react.useContext)(_native2.ThemeContext);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),showSheet=_useState2[0],setShowSheet=_useState2[1];var menuOptions=[{label:"Mark all as read",onPress:function onPress(){setShowSheet(false);if(onMarkAllAsRead)onMarkAllAsRead();}}];return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsxs)(_neetouiRn.Container,{alignItems:"center",flexDirection:"row",px:(0,_reactNativeSizeMatters.moderateScale)(16),children:[showWorkspaceLogo&&(0,_jsxRuntime.jsx)(_neetouiRn.Touchable,{mr:(0,_reactNativeSizeMatters.moderateScale)(8),style:{backgroundColor:"red",width:40,height:40},onPress:function onPress(){return navigation.openDrawer();},children:(0,_jsxRuntime.jsx)(_neetouiRn.Avatar,{name:"S",size:"xs"})}),showSideMenu&&(0,_jsxRuntime.jsx)(_neetouiRn.ActionIcon,{color:theme.colors.font.grey800,icon:_neetoIconsRn.HamburgerMenu,maxWidth:(0,_reactNativeSizeMatters.moderateScale)(28),mr:(0,_reactNativeSizeMatters.moderateScale)(2),size:(0,_reactNativeSizeMatters.moderateScale)(20),onPress:function onPress(){return navigation.openDrawer();}}),(onBackPress||canGoBack)&&(0,_jsxRuntime.jsx)(_neetouiRn.Container,{children:(0,_jsxRuntime.jsx)(_neetouiRn.Button,{height:(0,_reactNativeSizeMatters.moderateScale)(40),ml:(0,_reactNativeSizeMatters.moderateScale)(-16),p:(0,_reactNativeSizeMatters.moderateScale)(8),rippleConfig:{shouldOverflowContainer:true},variant:"text",width:(0,_reactNativeSizeMatters.moderateScale)(40),LeftIcon:function LeftIcon(){return(0,_jsxRuntime.jsx)(_neetouiRn.Touchable,{onPress:(0,_utils.debounce)(onBackPress||navigation.goBack),children:(0,_jsxRuntime.jsx)(_neetoIconsRn.LeftArrow,{color:theme.colors.font.primary,size:(0,_reactNativeSizeMatters.moderateScale)(18),viewBox:"0 0 20 20"})});},onPress:(0,_utils.debounce)(onBackPress||navigation.goBack)})}),(0,_jsxRuntime.jsxs)(_neetouiRn.Container,{flex:1,mx:(0,_reactNativeSizeMatters.moderateScale)(6),my:(0,_reactNativeSizeMatters.moderateScale)(16),children:[(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{color:"font.primary",fontFamily:"sf600",fontSize:"xl",numberOfLines:1,children:title}),!!subTitle&&(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{color:theme.colors.font.grey600,fontFamily:"sf400",fontSize:"xs",children:subTitle})]}),handleSearch&&(0,_jsxRuntime.jsx)(_neetouiRn.Touchable,{hitSlop:{top:10,right:10,bottom:10,left:10},onPress:handleSearch,children:(0,_jsxRuntime.jsx)(_neetoIconsRn.Search,{color:theme.colors.font.grey800,size:(0,_reactNativeSizeMatters.moderateScale)(28),viewBox:"0 0 25 25"})}),showMarkAllOption&&(0,_jsxRuntime.jsx)(_neetouiRn.Touchable,{accessibilityLabel:"Open menu",hitSlop:{top:10,right:10,bottom:10,left:10},onPress:function onPress(){return setShowSheet(true);},children:(0,_jsxRuntime.jsx)(_neetoIconsRn.MenuVertical,{color:theme.colors.font.grey800,size:(0,_reactNativeSizeMatters.moderateScale)(28),viewBox:"0 0 25 25"})}),RightComponent&&(0,_jsxRuntime.jsx)(RightComponent,{})]}),(0,_jsxRuntime.jsx)(_neetouiRn.LineLoader,{isLoading:isLoading}),(0,_jsxRuntime.jsx)(_neetouiRn.BottomSheet,{ContentRow:function ContentRow(_ref2){var item=_ref2.item;return(0,_jsxRuntime.jsx)(_neetouiRn.Button,{label:item.label,variant:"solid"});},data:menuOptions,hide:function hide(){return setShowSheet(false);},isVisible:showSheet})]});};Header.propTypes={title:_propTypes.default.string.isRequired,subTitle:_propTypes.default.string,onBackPress:_propTypes.default.func,canGoBack:_propTypes.default.bool,showSideMenu:_propTypes.default.bool,handleSearch:_propTypes.default.func,RightComponent:_propTypes.default.func,isLoading:_propTypes.default.bool,showWorkspaceLogo:_propTypes.default.bool,onMarkAllAsRead:_propTypes.default.func,showMarkAllOption:_propTypes.default.bool};Header.defaultProps={canGoBack:false,isLoading:false,showWorkspaceLogo:false,onMarkAllAsRead:undefined,showMarkAllOption:false};
package/helpers/utils.js CHANGED
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.toTitleCase=exports.openDeepLinkingUrl=exports.debounce=void 0;var _reactNative=require("react-native");var _reactNativeConfig=_interopRequireDefault(require("react-native-config"));var _this=this;var logError=function logError(error){return console.error("Error in utils.js:",error);};var toTitleCase=exports.toTitleCase=function toTitleCase(str){return""+str.charAt(0).toUpperCase()+str.substr(1).toLowerCase();};var openDeepLinkingUrl=exports.openDeepLinkingUrl=function openDeepLinkingUrl(url){if(!url)return;try{var scheme=_reactNativeConfig.default.URL_SCHEME+"://";var urlToOpen;if(url.startsWith(_reactNativeConfig.default.URL_SCHEME+"://")){urlToOpen=url;}else if(/^https?:\/\//.test(url)){var pathAndQuery=url.replace(/^https?:\/\/[^/]+\//,"");urlToOpen=""+scheme+pathAndQuery;}else{var cleanPath=url.startsWith("/")?url.substring(1):url;urlToOpen=""+scheme+cleanPath;}_reactNative.Linking.openURL(urlToOpen);}catch(error){logError(error);}};var debounce=exports.debounce=function debounce(func){var delay=arguments.length>1&&arguments[1]!==undefined?arguments[1]:300;var timer;return function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}clearTimeout(timer);timer=setTimeout(function(){func.apply(_this,args);},delay);};};
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.toTitleCase=exports.openDeepLinkingUrl=exports.debounce=void 0;var _reactNative=require("react-native");var _reactNativeConfig=_interopRequireDefault(require("react-native-config"));var _this=this;var logError=function logError(error){return console.error("Error in utils.js:",error);};var toTitleCase=exports.toTitleCase=function toTitleCase(str){return""+str.charAt(0).toUpperCase()+str.substr(1).toLowerCase();};var openDeepLinkingUrl=exports.openDeepLinkingUrl=function openDeepLinkingUrl(url){if(!url)return;try{var scheme=_reactNativeConfig.default.URL_SCHEME+"://";var urlToOpen;if(url.startsWith(_reactNativeConfig.default.URL_SCHEME+"://")){urlToOpen=url;}var domainRegex=/http[s]?:\/\/?[^/\s]+\//;urlToOpen=url.replace(domainRegex,scheme);_reactNative.Linking.openURL(urlToOpen);}catch(error){logError(error);}};var debounce=exports.debounce=function debounce(func){var delay=arguments.length>1&&arguments[1]!==undefined?arguments[1]:300;var timer;return function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}clearTimeout(timer);timer=setTimeout(function(){func.apply(_this,args);},delay);};};
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.useAuth=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _neetouiRn=require("@bigbinary/neetoui-rn");var _googleSignin=require("@react-native-google-signin/google-signin");var _native=require("@react-navigation/native");var _reactQuery=require("react-query");var _reactRedux=require("react-redux");var _auth=require("../../api/auth");var _localization=require("../../contexts/localization");var _asyncStore=require("../../helpers/asyncStore");var _keychain=require("../../helpers/keychain");var _screenNames=require("../../navigation/screenNames");var _auth2=require("../../slices/auth");var useAuth=exports.useAuth=function useAuth(){var dispatch=(0,_reactRedux.useDispatch)();var _useLocalization=(0,_localization.useLocalization)(),strings=_useLocalization.strings;var navigation=(0,_native.useNavigation)();var selectOrganization=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(_ref){var organization=_ref.organization;var auth_token=organization.auth_token,email=organization.email,subdomain=organization.subdomain,name=organization.name,id=organization.id,organization_name=organization.organization_name,profile_image_url=organization.profile_image_url;var userAuth={authToken:auth_token,email:email};yield(0,_asyncStore.setItem)("email",email);yield(0,_keychain.setSecureValue)("userAuth",JSON.stringify(userAuth));dispatch((0,_auth2.loginUserAction)({name:name,email:email,id:id,subdomain:subdomain,organization_name:organization_name,profile_image_url:profile_image_url}));});return function selectOrganization(_x){return _ref2.apply(this,arguments);};}();var login=function(){var _ref4=(0,_asyncToGenerator2.default)(function*(_ref3){var organizations=_ref3.organizations;if(organizations.length){dispatch((0,_auth2.setOrganizations)({organizations:organizations}));if(organizations.length>1){navigation.navigate(_screenNames.SCREEN_NAMES.SubDomain,{organizations:organizations});}else{yield selectOrganization({organization:organizations[0]});}}else{var signedInUsingGoogle=_googleSignin.GoogleSignin.hasPreviousSignIn();if(signedInUsingGoogle){yield _googleSignin.GoogleSignin.signOut();}yield(0,_keychain.removeSecureValue)("userAuth");_neetouiRn.Alert.show({title:strings.commons.alertMessage.noWorkspaceFoundTitle,description:strings.commons.alertMessage.noWorkspaceFoundMessage,isCancelable:false});}});return function login(_x2){return _ref4.apply(this,arguments);};}();return{selectOrganization:selectOrganization,useGenerateOTPMutation:function useGenerateOTPMutation(){return(0,_reactQuery.useMutation)(_auth.generateOTPAPI,{onSuccess:function onSuccess(userId,_ref5){var email=_ref5.email,_ref5$showCodeSentToa=_ref5.showCodeSentToast,showCodeSentToast=_ref5$showCodeSentToa===void 0?false:_ref5$showCodeSentToa;navigation.navigate(_screenNames.SCREEN_NAMES.OTPVerification,{email:email,userId:userId});if(showCodeSentToast){_neetouiRn.Toast.show({type:"success",text2:strings.commons.verificationScreen.resent});}}});},useVerifyOTPMutation:function useVerifyOTPMutation(){return(0,_reactQuery.useMutation)(_auth.verifyOTPAPI,{onSuccess:function onSuccess(_ref6){var organizations=_ref6.data.organizations;login({organizations:organizations});}});},useLoginViaGoogleMutation:function useLoginViaGoogleMutation(){return(0,_reactQuery.useMutation)(function(_ref7){var serverAuthCode=_ref7.serverAuthCode;return(0,_auth.loginWithGoogleAPI)({serverAuthCode:serverAuthCode});},{onSuccess:function onSuccess(_ref8){var organizations=_ref8.data.organizations;login({organizations:organizations});}});},useLoginViaAppleMutation:function useLoginViaAppleMutation(){return(0,_reactQuery.useMutation)(function(_ref9){var authorizationCode=_ref9.authorizationCode,identityToken=_ref9.identityToken;return(0,_auth.loginWithAppleAPI)({authorizationCode:authorizationCode,identityToken:identityToken});},{onSuccess:function onSuccess(_ref0){var organizations=_ref0.data.organizations;login({organizations:organizations});}});},useSelectOrganizationMutation:function useSelectOrganizationMutation(){return(0,_reactQuery.useMutation)(function(){var _ref10=(0,_asyncToGenerator2.default)(function*(_ref1){var _data$organization$is,_data$organization;var organization=_ref1.organization;var subdomain=organization.subdomain;var _yield$fetchOrganizat=yield(0,_auth.fetchOrganizationDetailsAPI)({subdomain:subdomain}),data=_yield$fetchOrganizat.data;var is_onboard=(_data$organization$is=data==null?void 0:(_data$organization=data.organization)==null?void 0:_data$organization.is_onboard)!=null?_data$organization$is:true;if(is_onboard){selectOrganization({organization:organization});}else{navigation.navigate(_screenNames.SCREEN_NAMES.UnBoarded,{name:organization.organization_name,subdomain:organization.subdomain});}});return function(_x3){return _ref10.apply(this,arguments);};}());}};};
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.useAuth=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _react=require("react");var _neetouiRn=require("@bigbinary/neetoui-rn");var _googleSignin=require("@react-native-google-signin/google-signin");var _native=require("@react-navigation/native");var _reactQuery=require("react-query");var _reactRedux=require("react-redux");var _auth=require("../../api/auth");var _networkErrorHandler=require("../../config/axios/networkErrorHandler");var _bugsnag=require("../../config/bugsnag");var _localization=require("../../contexts/localization");var _asyncStore=require("../../helpers/asyncStore");var _keychain=require("../../helpers/keychain");var _screenNames=require("../../navigation/screenNames");var _constants=require("../../screens/authentication/constants");var _auth2=require("../../slices/auth");var useAuth=exports.useAuth=function useAuth(){var dispatch=(0,_reactRedux.useDispatch)();var _useLocalization=(0,_localization.useLocalization)(),strings=_useLocalization.strings;var navigation=(0,_native.useNavigation)();var last504ReportTimeRef=(0,_react.useRef)(null);var selectOrganization=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(_ref){var organization=_ref.organization;var auth_token=organization.auth_token,email=organization.email,subdomain=organization.subdomain,name=organization.name,id=organization.id,organization_name=organization.organization_name,profile_image_url=organization.profile_image_url;var userAuth={authToken:auth_token,email:email};yield(0,_asyncStore.setItem)("email",email);yield(0,_keychain.setSecureValue)("userAuth",JSON.stringify(userAuth));dispatch((0,_auth2.loginUserAction)({name:name,email:email,id:id,subdomain:subdomain,organization_name:organization_name,profile_image_url:profile_image_url}));});return function selectOrganization(_x){return _ref2.apply(this,arguments);};}();var login=function(){var _ref4=(0,_asyncToGenerator2.default)(function*(_ref3){var organizations=_ref3.organizations;if(organizations.length>0){dispatch((0,_auth2.setOrganizations)({organizations:organizations}));if(organizations.length>1){navigation.navigate(_screenNames.SCREEN_NAMES.SubDomain,{organizations:organizations});}else{yield selectOrganization({organization:organizations[0]});}}else{var signedInUsingGoogle=_googleSignin.GoogleSignin.hasPreviousSignIn();if(signedInUsingGoogle){yield _googleSignin.GoogleSignin.signOut();}yield(0,_keychain.removeSecureValue)("userAuth");_neetouiRn.Alert.show({title:strings.commons.alertMessage.noWorkspaceFoundTitle,description:strings.commons.alertMessage.noWorkspaceFoundMessage,isCancelable:false});}});return function login(_x2){return _ref4.apply(this,arguments);};}();var verifyOTPWithRetry=function(){var _ref5=(0,_asyncToGenerator2.default)(function*(params){var attempt=0;var lastError=null;var delay=1000;while(attempt<_constants.MAX_RETRY_ATTEMPTS){try{return yield(0,_auth.verifyOTPAPI)(params);}catch(error){var _error$response;var status=error==null?void 0:(_error$response=error.response)==null?void 0:_error$response.status;if(status===504){attempt++;if(attempt<_constants.MAX_RETRY_ATTEMPTS){yield new Promise(function(resolve){return setTimeout(resolve,delay);});delay*=2;continue;}}lastError=error;break;}}throw lastError;});return function verifyOTPWithRetry(_x3){return _ref5.apply(this,arguments);};}();var handleVerifyOTPError=function handleVerifyOTPError(error){var _error$response2;var status=error==null?void 0:(_error$response2=error.response)==null?void 0:_error$response2.status;if(status===504){_neetouiRn.Toast.show({type:"error",text2:strings.en.errors.axios.serverTimeout||"Server is taking too long to respond. Please try again."});if(!last504ReportTimeRef.current||Date.now()-last504ReportTimeRef.current>60000){(0,_bugsnag.bugsnagErrorHandler)(new Error("504 Gateway Timeout on /api/mobile/v1/verify_otp"),"verify_otp_504");last504ReportTimeRef.current=Date.now();}}else if((0,_networkErrorHandler.isNetworkError)(error)){_neetouiRn.Toast.show({type:"error",text2:strings.en.errors.axios.networkError||"Please check your internet connection and try again"});}else{var _error$response3,_error$response3$data;_neetouiRn.Toast.show({type:"error",text2:(error==null?void 0:(_error$response3=error.response)==null?void 0:(_error$response3$data=_error$response3.data)==null?void 0:_error$response3$data.error)||(error==null?void 0:error.message)||strings.en.errors.axios.generic});(0,_bugsnag.bugsnagErrorHandler)(error,"verify_otp_error");}};return{selectOrganization:selectOrganization,useGenerateOTPMutation:function useGenerateOTPMutation(){return(0,_reactQuery.useMutation)(_auth.generateOTPAPI,{onSuccess:function onSuccess(userId,_ref6){var email=_ref6.email,_ref6$showCodeSentToa=_ref6.showCodeSentToast,showCodeSentToast=_ref6$showCodeSentToa===void 0?false:_ref6$showCodeSentToa;navigation.navigate(_screenNames.SCREEN_NAMES.OTPVerification,{email:email,userId:userId});if(showCodeSentToast){_neetouiRn.Toast.show({type:"success",text2:strings.commons.verificationScreen.resent});}}});},useVerifyOTPMutation:function useVerifyOTPMutation(){return(0,_reactQuery.useMutation)(verifyOTPWithRetry,{onSuccess:function onSuccess(_ref7){var organizations=_ref7.data.organizations;login({organizations:organizations});},onError:handleVerifyOTPError});},useLoginViaGoogleMutation:function useLoginViaGoogleMutation(){return(0,_reactQuery.useMutation)(function(_ref8){var serverAuthCode=_ref8.serverAuthCode;return(0,_auth.loginWithGoogleAPI)({serverAuthCode:serverAuthCode});},{onSuccess:function onSuccess(_ref9){var organizations=_ref9.data.organizations;login({organizations:organizations});}});},useLoginViaAppleMutation:function useLoginViaAppleMutation(){return(0,_reactQuery.useMutation)(function(_ref0){var authorizationCode=_ref0.authorizationCode,identityToken=_ref0.identityToken;return(0,_auth.loginWithAppleAPI)({authorizationCode:authorizationCode,identityToken:identityToken});},{onSuccess:function onSuccess(_ref1){var organizations=_ref1.data.organizations;login({organizations:organizations});}});},useSelectOrganizationMutation:function useSelectOrganizationMutation(){return(0,_reactQuery.useMutation)(function(){var _ref11=(0,_asyncToGenerator2.default)(function*(_ref10){var _data$organization$is,_data$organization;var organization=_ref10.organization;var subdomain=organization.subdomain;var _yield$fetchOrganizat=yield(0,_auth.fetchOrganizationDetailsAPI)({subdomain:subdomain}),data=_yield$fetchOrganizat.data;var is_onboard=(_data$organization$is=data==null?void 0:(_data$organization=data.organization)==null?void 0:_data$organization.is_onboard)!=null?_data$organization$is:true;if(is_onboard){yield selectOrganization({organization:organization});}else{navigation.navigate(_screenNames.SCREEN_NAMES.UnBoarded,{name:organization.organization_name,subdomain:organization.subdomain});}});return function(_x4){return _ref11.apply(this,arguments);};}());}};};
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.useNotification=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _reactNativePushNotification=_interopRequireDefault(require("react-native-push-notification"));var _reactQuery=require("react-query");var _reactRedux=require("react-redux");var _notifications=require("../../api/notifications");var _auth=require("../../auth");var _bugsnag=require("../../config/bugsnag");var _constants=require("../../constants");var _asyncStore=require("../../helpers/asyncStore");var _queryKeys=require("./queryKeys");var _keychain=require("../../helpers/keychain");var useNotification=exports.useNotification=function useNotification(){var dispatch=(0,_reactRedux.useDispatch)();var qyeryClient=(0,_reactQuery.useQueryClient)();return{useRegisterTokenMutation:function useRegisterTokenMutation(){return(0,_reactQuery.useMutation)(_notifications.registerDeviceTokenAPI,{onSuccess:function onSuccess(_,response){(0,_asyncStore.setItem)(_constants.STORAGE_KEYS.DEVICE_TOKEN,response.device.device_token);},onError:function onError(error){(0,_bugsnag.bugsnagErrorHandler)(JSON.stringify(error),"notification");}});},useFetchNotifications:function useFetchNotifications(){return(0,_reactQuery.useInfiniteQuery)([_queryKeys.queryKeys.NOTIFICATIONS],function(_ref){var _ref$pageParam=_ref.pageParam,pageParam=_ref$pageParam===void 0?1:_ref$pageParam;return(0,_notifications.fetchNotificationsAPI)({page:pageParam});},{getNextPageParam:function getNextPageParam(lastPage,pages){var _lastPage$data;var currPage=pages.length;if(!(lastPage!=null&&(_lastPage$data=lastPage.data)!=null&&_lastPage$data.notifications)){return undefined;}var totalNotifications=lastPage.data.total_count;var fetchedNotificationsCount=(currPage-1)*_constants.DEFAULT_PAGE_SIZE+lastPage.data.notifications.length;var hasNextPage=fetchedNotificationsCount<totalNotifications;return hasNextPage?currPage+1:undefined;},select:function select(data){var _data$pages,_data$pages$,_data$pages$$data,_data$pages2,_data$pages2$,_data$pages2$$data,_data$pages3,_data$pages3$,_data$pages3$$data;_reactNativePushNotification.default.setApplicationIconBadgeNumber(((_data$pages=data.pages)==null?void 0:(_data$pages$=_data$pages[0])==null?void 0:(_data$pages$$data=_data$pages$.data)==null?void 0:_data$pages$$data.unread_count)||0);return{unreadNotifications:((_data$pages2=data.pages)==null?void 0:(_data$pages2$=_data$pages2[0])==null?void 0:(_data$pages2$$data=_data$pages2$.data)==null?void 0:_data$pages2$$data.unread_count)||0,totalNotifications:((_data$pages3=data.pages)==null?void 0:(_data$pages3$=_data$pages3[0])==null?void 0:(_data$pages3$$data=_data$pages3$.data)==null?void 0:_data$pages3$$data.total_count)||0,notifications:data.pages.map(function(_ref2){var notifications=_ref2.data.notifications;return notifications;}).flat()||[]};}});},useMarkReadUnreadNotification:function useMarkReadUnreadNotification(){return(0,_reactQuery.useMutation)(function(_ref3){var notificationId=_ref3.notificationId,readAt=_ref3.readAt;(0,_notifications.markReadUnReadNotificationAPI)({notificationId:notificationId,readAt:readAt});},{onSuccess:function onSuccess(){qyeryClient.invalidateQueries([_queryKeys.queryKeys.NOTIFICATIONS]);_reactNativePushNotification.default.getApplicationIconBadgeNumber(function(count){_reactNativePushNotification.default.setApplicationIconBadgeNumber(count-1);});}});},useDeleteTokenMutation:function useDeleteTokenMutation(){return(0,_reactQuery.useMutation)(function(notificationDeviceId){return(0,_notifications.deleteDeviceTokenAPI)({notificationDeviceId:notificationDeviceId});},{onSettled:function(){var _onSettled=(0,_asyncToGenerator2.default)(function*(){(0,_asyncStore.removeItem)(_constants.STORAGE_KEYS.DEVICE_TOKEN);dispatch((0,_auth.logoutUserAction)());yield(0,_keychain.removeSecureValue)("userAuth");});function onSettled(){return _onSettled.apply(this,arguments);}return onSettled;}()});}};};
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.useNotification=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _reactNativePushNotification=_interopRequireDefault(require("react-native-push-notification"));var _reactQuery=require("react-query");var _reactRedux=require("react-redux");var _notifications=require("../../api/notifications");var _auth=require("../../auth");var _bugsnag=require("../../config/bugsnag");var _constants=require("../../constants");var _asyncStore=require("../../helpers/asyncStore");var _queryKeys=require("./queryKeys");var _keychain=require("../../helpers/keychain");var useNotification=exports.useNotification=function useNotification(){var dispatch=(0,_reactRedux.useDispatch)();var qyeryClient=(0,_reactQuery.useQueryClient)();return{useRegisterTokenMutation:function useRegisterTokenMutation(){return(0,_reactQuery.useMutation)(_notifications.registerDeviceTokenAPI,{onSuccess:function onSuccess(_,response){(0,_asyncStore.setItem)(_constants.STORAGE_KEYS.DEVICE_TOKEN,response.device.device_token);},onError:function onError(error){(0,_bugsnag.bugsnagErrorHandler)(JSON.stringify(error),"notification");}});},useFetchNotifications:function useFetchNotifications(){return(0,_reactQuery.useInfiniteQuery)([_queryKeys.queryKeys.NOTIFICATIONS],function(_ref){var _ref$pageParam=_ref.pageParam,pageParam=_ref$pageParam===void 0?1:_ref$pageParam;return(0,_notifications.fetchNotificationsAPI)({page:pageParam});},{getNextPageParam:function getNextPageParam(lastPage,pages){var _lastPage$data;var currPage=pages.length;if(!(lastPage!=null&&(_lastPage$data=lastPage.data)!=null&&_lastPage$data.notifications)){return undefined;}var totalNotifications=lastPage.data.total_count;var fetchedNotificationsCount=(currPage-1)*_constants.DEFAULT_PAGE_SIZE+lastPage.data.notifications.length;var hasNextPage=fetchedNotificationsCount<totalNotifications;return hasNextPage?currPage+1:undefined;},select:function select(data){var _data$pages,_data$pages$,_data$pages$$data,_data$pages2,_data$pages2$,_data$pages2$$data,_data$pages3,_data$pages3$,_data$pages3$$data;_reactNativePushNotification.default.setApplicationIconBadgeNumber(((_data$pages=data.pages)==null?void 0:(_data$pages$=_data$pages[0])==null?void 0:(_data$pages$$data=_data$pages$.data)==null?void 0:_data$pages$$data.unread_count)||0);return{unreadNotifications:((_data$pages2=data.pages)==null?void 0:(_data$pages2$=_data$pages2[0])==null?void 0:(_data$pages2$$data=_data$pages2$.data)==null?void 0:_data$pages2$$data.unread_count)||0,totalNotifications:((_data$pages3=data.pages)==null?void 0:(_data$pages3$=_data$pages3[0])==null?void 0:(_data$pages3$$data=_data$pages3$.data)==null?void 0:_data$pages3$$data.total_count)||0,notifications:data.pages.map(function(_ref2){var notifications=_ref2.data.notifications;return notifications;}).flat()||[]};}});},useMarkReadUnreadNotification:function useMarkReadUnreadNotification(){return(0,_reactQuery.useMutation)(function(_ref3){var notificationId=_ref3.notificationId,readAt=_ref3.readAt;(0,_notifications.markReadUnReadNotificationAPI)({notificationId:notificationId,readAt:readAt});},{onSuccess:function onSuccess(){qyeryClient.invalidateQueries([_queryKeys.queryKeys.NOTIFICATIONS]);_reactNativePushNotification.default.getApplicationIconBadgeNumber(function(count){_reactNativePushNotification.default.setApplicationIconBadgeNumber(count-1);});}});},useDeleteTokenMutation:function useDeleteTokenMutation(){return(0,_reactQuery.useMutation)(function(notificationDeviceId){return(0,_notifications.deleteDeviceTokenAPI)({notificationDeviceId:notificationDeviceId});},{onSettled:function(){var _onSettled=(0,_asyncToGenerator2.default)(function*(){(0,_asyncStore.removeItem)(_constants.STORAGE_KEYS.DEVICE_TOKEN);dispatch((0,_auth.logoutUserAction)());yield(0,_keychain.removeSecureValue)("userAuth");});function onSettled(){return _onSettled.apply(this,arguments);}return onSettled;}()});},useMarkAllReadNotification:function useMarkAllReadNotification(){return(0,_reactQuery.useMutation)(_notifications.markAllNotificationsReadAPI,{onSuccess:function onSuccess(){qyeryClient.invalidateQueries([_queryKeys.queryKeys.NOTIFICATIONS]);}});}};};
@@ -172,7 +172,8 @@
172
172
  "unauthorized": "Unauthorized access",
173
173
  "sessionExpired": "Your session has expired. Please log in again.",
174
174
  "generic": "Something went wrong",
175
- "networkError": "Please check your internet connection and try again"
175
+ "networkError": "Please check your internet connection and try again",
176
+ "serverTimeout": "Server is taking too long to respond. Please try again."
176
177
  },
177
178
  "googleSignIn": {
178
179
  "default": "An error occurred during Google Sign-In. Please try again.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-commons-rn",
3
- "version": "1.4.9",
3
+ "version": "1.4.11",
4
4
  "main": ".",
5
5
  "files": [
6
6
  "api",
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.NotificationsScreen=void 0;var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _neetouiRn=require("@bigbinary/neetoui-rn");var _dayjs=_interopRequireDefault(require("dayjs"));var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _components=require("../components");var _constants=require("../constants");var _helpers=require("../helpers");var _utils=require("../helpers/utils");var _hooks=require("../hooks");var _useNotification3=require("../hooks/query/useNotification");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/neeto-commons-rn/neeto-commons-rn/src/screens/NotificationsScreen.jsx";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}var renderFooter=function renderFooter(){return(0,_jsxRuntime.jsx)(_neetouiRn.Container,{mb:(0,_reactNativeSizeMatters.moderateScale)(3),mt:(0,_reactNativeSizeMatters.moderateScale)(2),children:(0,_jsxRuntime.jsx)(_reactNative.ActivityIndicator,{color:_neetouiRn.theme.colors.background.grey800,size:"small"})});};var NotificationListItem=function NotificationListItem(_ref){var notification=_ref.notification,_ref$CustomNotificati=_ref.CustomNotificationContent,CustomNotificationContent=_ref$CustomNotificati===void 0?null:_ref$CustomNotificati,_ref$itemStyles=_ref.itemStyles,itemStyles=_ref$itemStyles===void 0?{}:_ref$itemStyles;var _useNotification=(0,_useNotification3.useNotification)(),useMarkReadUnreadNotification=_useNotification.useMarkReadUnreadNotification;var _useMarkReadUnreadNot=useMarkReadUnreadNotification(),markReadUnreadNotification=_useMarkReadUnreadNot.mutate;return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_neetouiRn.Touchable,{backgroundColor:notification.read_at?"white":"background.purple200",style:[{paddingVertical:(0,_reactNativeSizeMatters.moderateScale)(12),paddingHorizontal:(0,_reactNativeSizeMatters.moderateScale)(16)},itemStyles],onPress:function onPress(){if(!notification.read_at){markReadUnreadNotification({readAt:(0,_dayjs.default)().toISOString(),notificationId:notification.id});}(0,_utils.openDeepLinkingUrl)(notification.url);},children:CustomNotificationContent?(0,_jsxRuntime.jsx)(CustomNotificationContent,{notification:notification}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{fontFamily:"sf500",fontSize:"s",mb:(0,_reactNativeSizeMatters.moderateScale)(4),children:notification.body}),(0,_jsxRuntime.jsx)(_neetouiRn.Container,{flexDirection:"row",justifyContent:"space-between",pt:(0,_reactNativeSizeMatters.moderateScale)(1),children:(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{color:"font.grey500",flex:1,fontFamily:"sf400",fontSize:"s",children:notification.title})}),(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{alignSelf:"flex-end",color:"font.grey500",fontFamily:"sf400",fontSize:"xs",children:_helpers.formatDateTime.fromNow(notification.created_at)})]})}),(0,_jsxRuntime.jsx)(_neetouiRn.Divider,{bg:"background.grey200",orientation:"horizontal",thickness:1})]});};NotificationListItem.propTypes={notification:_propTypes.default.shape({id:_propTypes.default.string,url:_propTypes.default.string,title:_propTypes.default.string,body:_propTypes.default.string,read_at:_propTypes.default.string,created_at:_propTypes.default.string,metadata:_propTypes.default.any,notifiable_type:_propTypes.default.string,notifier:_propTypes.default.shape({profile_image_url:_propTypes.default.string,name:_propTypes.default.string})}),CustomNotificationContent:_propTypes.default.elementType};var NotificationsScreen=exports.NotificationsScreen=function NotificationsScreen(_ref2){var _ref2$CustomNotificat=_ref2.CustomNotificationContent,CustomNotificationContent=_ref2$CustomNotificat===void 0?null:_ref2$CustomNotificat,_ref2$itemStyles=_ref2.itemStyles,itemStyles=_ref2$itemStyles===void 0?[]:_ref2$itemStyles;var _useNotification2=(0,_useNotification3.useNotification)(),useFetchNotifications=_useNotification2.useFetchNotifications;var _useFetchNotification=useFetchNotifications(),_useFetchNotification2=_useFetchNotification.data;_useFetchNotification2=_useFetchNotification2===void 0?{}:_useFetchNotification2;var notifications=_useFetchNotification2.notifications,totalNotifications=_useFetchNotification2.totalNotifications,isNotificationsLoading=_useFetchNotification.isLoading,refetchSubmissions=_useFetchNotification.refetch,notificationsRefetching=_useFetchNotification.isRefetching,fetchNextPage=_useFetchNotification.fetchNextPage,hasNextPage=_useFetchNotification.hasNextPage,isFetchingNextPage=_useFetchNotification.isFetchingNextPage;var _useLocalization=(0,_hooks.useLocalization)(),strings=_useLocalization.strings;var sectionedNotifications=(0,_react.useMemo)(function(){return notifications==null?void 0:notifications.reduce(function(sections,notification){var title=(0,_dayjs.default)(notification.created_at).format(_constants.dateTimeFormats.dateWeek);var sectionExists=sections.find(function(section){return section.title===title;});if(!sectionExists){sections.push({title:title,data:[notification]});return sections;}sectionExists.data.push(notification);return sections;},[]);},[notifications]);return(0,_jsxRuntime.jsxs)(_neetouiRn.ParentView,{barStyle:"dark-content",children:[(0,_jsxRuntime.jsx)(_components.Header,{canGoBack:true,title:"Notifications"}),isNotificationsLoading?(0,_jsxRuntime.jsx)(_neetouiRn.Container,{alignItems:"center",flex:1,justifyContent:"center",children:(0,_jsxRuntime.jsx)(_neetouiRn.Loader,{})}):(0,_jsxRuntime.jsx)(_reactNative.SectionList,{ListFooterComponent:isFetchingNextPage&&renderFooter,keyExtractor:function keyExtractor(_ref3,index){var id=_ref3.id;return id+index;},refreshing:notificationsRefetching,sections:sectionedNotifications||[],ListEmptyComponent:totalNotifications===0&&(0,_jsxRuntime.jsx)(_components.EmptyView,{title:strings.commons.notificationScreen.empty.title}),renderItem:function renderItem(_ref4){var notification=_ref4.item;return(0,_jsxRuntime.jsx)(NotificationListItem,{notification:notification,CustomNotificationContent:CustomNotificationContent,itemStyles:itemStyles});},renderSectionHeader:function renderSectionHeader(_ref5){var title=_ref5.section.title;return(0,_jsxRuntime.jsx)(_neetouiRn.Container,{flexDirection:"col",children:(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{bg:"background.white",color:"font.grey700",fontFamily:"sf500",fontSize:"xs",mb:(0,_reactNativeSizeMatters.moderateScale)(8),pl:(0,_reactNativeSizeMatters.moderateScale)(16),pt:(0,_reactNativeSizeMatters.moderateScale)(18),children:title})});},onEndReached:function onEndReached(){return hasNextPage&&fetchNextPage();},onEndReachedThreshold:0.2,onRefresh:refetchSubmissions})]});};
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.NotificationsScreen=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _neetouiRn=require("@bigbinary/neetoui-rn");var _dayjs=_interopRequireDefault(require("dayjs"));var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _components=require("../components");var _constants=require("../constants");var _helpers=require("../helpers");var _utils=require("../helpers/utils");var _hooks=require("../hooks");var _useNotification3=require("../hooks/query/useNotification");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/neeto-commons-rn/neeto-commons-rn/src/screens/NotificationsScreen.jsx";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}var renderFooter=function renderFooter(){return(0,_jsxRuntime.jsx)(_neetouiRn.Container,{mb:(0,_reactNativeSizeMatters.moderateScale)(3),mt:(0,_reactNativeSizeMatters.moderateScale)(2),children:(0,_jsxRuntime.jsx)(_reactNative.ActivityIndicator,{color:_neetouiRn.theme.colors.background.grey800,size:"small"})});};var NotificationListItem=function NotificationListItem(_ref){var notification=_ref.notification,_ref$CustomNotificati=_ref.CustomNotificationContent,CustomNotificationContent=_ref$CustomNotificati===void 0?null:_ref$CustomNotificati,_ref$itemStyles=_ref.itemStyles,itemStyles=_ref$itemStyles===void 0?{}:_ref$itemStyles,markAllLoading=_ref.markAllLoading;var _useNotification=(0,_useNotification3.useNotification)(),useMarkReadUnreadNotification=_useNotification.useMarkReadUnreadNotification;var _useMarkReadUnreadNot=useMarkReadUnreadNotification(),markReadUnreadNotification=_useMarkReadUnreadNot.mutate;return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_neetouiRn.Touchable,{disabled:markAllLoading,backgroundColor:notification.read_at?"white":"background.purple200",style:[{paddingVertical:(0,_reactNativeSizeMatters.moderateScale)(12),paddingHorizontal:(0,_reactNativeSizeMatters.moderateScale)(16)},itemStyles],onPress:function onPress(){if(!notification.read_at){markReadUnreadNotification({readAt:(0,_dayjs.default)().toISOString(),notificationId:notification.id});}(0,_utils.openDeepLinkingUrl)(notification.url);},children:CustomNotificationContent?(0,_jsxRuntime.jsx)(CustomNotificationContent,{notification:notification}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{fontFamily:"sf500",fontSize:"s",mb:(0,_reactNativeSizeMatters.moderateScale)(4),children:notification.body}),(0,_jsxRuntime.jsx)(_neetouiRn.Container,{flexDirection:"row",justifyContent:"space-between",pt:(0,_reactNativeSizeMatters.moderateScale)(1),children:(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{color:"font.grey500",flex:1,fontFamily:"sf400",fontSize:"s",children:notification.title})}),(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{alignSelf:"flex-end",color:"font.grey500",fontFamily:"sf400",fontSize:"xs",children:_helpers.formatDateTime.fromNow(notification.created_at)})]})}),(0,_jsxRuntime.jsx)(_neetouiRn.Divider,{bg:"background.grey200",orientation:"horizontal",thickness:1})]});};NotificationListItem.propTypes={notification:_propTypes.default.shape({id:_propTypes.default.string,url:_propTypes.default.string,title:_propTypes.default.string,body:_propTypes.default.string,read_at:_propTypes.default.string,created_at:_propTypes.default.string,metadata:_propTypes.default.any,notifiable_type:_propTypes.default.string,notifier:_propTypes.default.shape({profile_image_url:_propTypes.default.string,name:_propTypes.default.string})}),CustomNotificationContent:_propTypes.default.elementType,markAllLoading:_propTypes.default.bool};var NotificationsScreen=exports.NotificationsScreen=function NotificationsScreen(_ref2){var _ref2$CustomNotificat=_ref2.CustomNotificationContent,CustomNotificationContent=_ref2$CustomNotificat===void 0?null:_ref2$CustomNotificat,_ref2$itemStyles=_ref2.itemStyles,itemStyles=_ref2$itemStyles===void 0?[]:_ref2$itemStyles;var _useNotification2=(0,_useNotification3.useNotification)(),useFetchNotifications=_useNotification2.useFetchNotifications,useMarkAllReadNotification=_useNotification2.useMarkAllReadNotification;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),markAllLoading=_useState2[0],setMarkAllLoading=_useState2[1];var _useFetchNotification=useFetchNotifications(),_useFetchNotification2=_useFetchNotification.data;_useFetchNotification2=_useFetchNotification2===void 0?{}:_useFetchNotification2;var notifications=_useFetchNotification2.notifications,totalNotifications=_useFetchNotification2.totalNotifications,isNotificationsLoading=_useFetchNotification.isLoading,refetchSubmissions=_useFetchNotification.refetch,notificationsRefetching=_useFetchNotification.isRefetching,fetchNextPage=_useFetchNotification.fetchNextPage,hasNextPage=_useFetchNotification.hasNextPage,isFetchingNextPage=_useFetchNotification.isFetchingNextPage;var _useMarkAllReadNotifi=useMarkAllReadNotification(),markAllReadMutation=_useMarkAllReadNotifi.mutate;var _useLocalization=(0,_hooks.useLocalization)(),strings=_useLocalization.strings;var unreadNotifications=(0,_react.useMemo)(function(){return(notifications==null?void 0:notifications.filter(function(n){return!n.read_at;}))||[];},[notifications]);var sectionedNotifications=(0,_react.useMemo)(function(){return notifications==null?void 0:notifications.reduce(function(sections,notification){var title=(0,_dayjs.default)(notification.created_at).format(_constants.dateTimeFormats.dateWeek);var sectionExists=sections.find(function(section){return section.title===title;});if(!sectionExists){sections.push({title:title,data:[notification]});return sections;}sectionExists.data.push(notification);return sections;},[]);},[notifications]);var handleMarkAllAsRead=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(){setMarkAllLoading(true);try{yield markAllReadMutation();yield refetchSubmissions();}catch(e){console.log(e);}finally{setMarkAllLoading(false);}});return function handleMarkAllAsRead(){return _ref3.apply(this,arguments);};}();return(0,_jsxRuntime.jsxs)(_neetouiRn.ParentView,{barStyle:"dark-content",children:[(0,_jsxRuntime.jsx)(_components.Header,{canGoBack:true,isLoading:markAllLoading,showMarkAllOption:unreadNotifications.length>0,title:"Notifications",onMarkAllAsRead:handleMarkAllAsRead}),isNotificationsLoading?(0,_jsxRuntime.jsx)(_neetouiRn.Container,{alignItems:"center",flex:1,justifyContent:"center",children:(0,_jsxRuntime.jsx)(_neetouiRn.Loader,{})}):(0,_jsxRuntime.jsx)(_reactNative.SectionList,{ListFooterComponent:isFetchingNextPage&&renderFooter,keyExtractor:function keyExtractor(_ref4,index){var id=_ref4.id;return id+index;},refreshing:notificationsRefetching,sections:sectionedNotifications||[],ListEmptyComponent:totalNotifications===0&&(0,_jsxRuntime.jsx)(_components.EmptyView,{title:strings.commons.notificationScreen.empty.title}),renderItem:function renderItem(_ref5){var notification=_ref5.item;return(0,_jsxRuntime.jsx)(NotificationListItem,{notification:notification,CustomNotificationContent:CustomNotificationContent,itemStyles:itemStyles,markAllLoading:markAllLoading});},renderSectionHeader:function renderSectionHeader(_ref6){var title=_ref6.section.title;return(0,_jsxRuntime.jsx)(_neetouiRn.Container,{flexDirection:"col",children:(0,_jsxRuntime.jsx)(_neetouiRn.Typography,{bg:"background.white",color:"font.grey700",fontFamily:"sf500",fontSize:"xs",mb:(0,_reactNativeSizeMatters.moderateScale)(8),pl:(0,_reactNativeSizeMatters.moderateScale)(16),pt:(0,_reactNativeSizeMatters.moderateScale)(18),children:title})});},onEndReached:function onEndReached(){return hasNextPage&&fetchNextPage();},onEndReachedThreshold:0.2,onRefresh:refetchSubmissions})]});};