diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index fc8395f..cf0b241 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -27,6 +27,7 @@
+
@@ -37,14 +38,18 @@
-
-
-
+
+
+
+
+
+
+
-
+
-
+
diff --git a/android/app/src/main/assets/index.android.bundle b/android/app/src/main/assets/index.android.bundle
index 608092f..c20d9f0 100644
--- a/android/app/src/main/assets/index.android.bundle
+++ b/android/app/src/main/assets/index.android.bundle
@@ -667,7 +667,7 @@ __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.d
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=function(){(0,r(d[2]).startListening)()},e.maybeInitializeFabric=function(){(0,r(d[3]).isFabric)()&&!t&&(n.default.install(),t=!0)};var n=r(d[0])(r(d[1])),t=!1},661,[3,472,644,473]);
__d(function(g,r,i,a,m,_e,d){Object.defineProperty(_e,"__esModule",{value:!0}),_e.default=void 0;var t=r(d[0])(r(d[1])),e=r(d[0])(r(d[2])),n=r(d[0])(r(d[3])),o=r(d[0])(r(d[4])),s=r(d[0])(r(d[5])),l=r(d[0])(r(d[6])),p=(function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=f(e);if(n&&n.has(t))return n.get(t);var o={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=s?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(o,l,p):o[l]=t[l]}o.default=t,n&&n.set(t,o);return o})(r(d[7])),u=r(d[8]);function f(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(f=function(t){return t?n:e})(t)}function h(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var c=.05,v=(function(p){(0,o.default)(O,p);var f,v,S=(f=O,v=h(),function(){var t,e=(0,l.default)(f);if(v){var n=(0,l.default)(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return(0,s.default)(this,t)});function O(e){var o;(0,t.default)(this,O),(o=S.call(this,e)).updateAnimatedEvent=function(t,e){var n=t.friction,s=t.overshootFriction,l=e.dragX,p=e.rowTranslation,f=e.leftWidth,h=void 0===f?0:f,c=e.rowWidth,v=void 0===c?0:c,w=e.rightOffset,S=void 0===w?v:w,O=Math.max(0,v-S),b=t.overshootLeft,R=void 0===b?h>0:b,y=t.overshootRight,A=void 0===y?O>0:y,W=u.Animated.add(p,l.interpolate({inputRange:[0,n],outputRange:[0,1]})).interpolate({inputRange:[-O-1,-O,h,h+1],outputRange:[-O-(A?1/s:0),-O,h,h+(R?1/s:0)]});o.transX=W,o.showLeftAction=h>0?W.interpolate({inputRange:[-1,0,h],outputRange:[0,0,1]}):new u.Animated.Value(0),o.leftActionTranslate=o.showLeftAction.interpolate({inputRange:[0,Number.MIN_VALUE],outputRange:[-1e4,0],extrapolate:'clamp'}),o.showRightAction=O>0?W.interpolate({inputRange:[-O,0,1],outputRange:[1,0,0]}):new u.Animated.Value(0),o.rightActionTranslate=o.showRightAction.interpolate({inputRange:[0,Number.MIN_VALUE],outputRange:[-1e4,0],extrapolate:'clamp'})},o.onTapHandlerStateChange=function(t){t.nativeEvent.oldState===r(d[9]).State.ACTIVE&&o.close()},o.onHandlerStateChange=function(t){t.nativeEvent.oldState===r(d[9]).State.ACTIVE&&o.handleRelease(t)},o.handleRelease=function(t){var e=t.nativeEvent,n=e.velocityX,s=e.translationX,l=o.state,p=l.leftWidth,u=void 0===p?0:p,f=l.rowWidth,h=void 0===f?0:f,v=l.rowState,w=o.state.rightOffset,S=h-(void 0===w?h:w),O=o.props,b=O.friction,R=O.leftThreshold,y=void 0===R?u/2:R,A=O.rightThreshold,W=void 0===A?S/2:A,j=o.currentOffset()+s/b,L=(s+c*n)/b,E=0;0===v?L>y?E=u:L<-W&&(E=-S):1===v?L>-y&&(E=u):L0)null==o.props.onSwipeableLeftOpen||o.props.onSwipeableLeftOpen(),null==o.props.onSwipeableOpen||o.props.onSwipeableOpen('left',(0,n.default)(o));else if(e<0)null==o.props.onSwipeableRightOpen||o.props.onSwipeableRightOpen(),null==o.props.onSwipeableOpen||o.props.onSwipeableOpen('right',(0,n.default)(o));else{var l=t>0?'left':'right';null==o.props.onSwipeableClose||o.props.onSwipeableClose(l,(0,n.default)(o))}}),e>0)null==o.props.onSwipeableLeftWillOpen||o.props.onSwipeableLeftWillOpen(),null==o.props.onSwipeableWillOpen||o.props.onSwipeableWillOpen('left');else if(e<0)null==o.props.onSwipeableRightWillOpen||o.props.onSwipeableRightWillOpen(),null==o.props.onSwipeableWillOpen||o.props.onSwipeableWillOpen('right');else{var h=t>0?'left':'right';null==o.props.onSwipeableWillClose||o.props.onSwipeableWillClose(h)}},o.onRowLayout=function(t){var e=t.nativeEvent;o.setState({rowWidth:e.layout.width})},o.currentOffset=function(){var t=o.state,e=t.leftWidth,n=void 0===e?0:e,s=t.rowWidth,l=void 0===s?0:s,p=t.rowState,u=o.state.rightOffset;return 1===p?n:-1===p?-(l-(void 0===u?l:u)):0},o.close=function(){o.animateRow(o.currentOffset(),0)},o.openLeft=function(){var t=o.state.leftWidth,e=void 0===t?0:t;o.animateRow(o.currentOffset(),e)},o.openRight=function(){var t=o.state.rowWidth,e=void 0===t?0:t,n=o.state.rightOffset,s=e-(void 0===n?e:n);o.animateRow(o.currentOffset(),-s)};var s=new u.Animated.Value(0);return o.state={dragX:s,rowTranslation:new u.Animated.Value(0),rowState:0,leftWidth:void 0,rightOffset:void 0,rowWidth:void 0},o.updateAnimatedEvent(e,o.state),o.onGestureEvent=u.Animated.event([{nativeEvent:{translationX:s}}],{useNativeDriver:e.useNativeAnimations}),o}return(0,e.default)(O,[{key:"shouldComponentUpdate",value:function(t,e){return this.props.friction===t.friction&&this.props.overshootLeft===t.overshootLeft&&this.props.overshootRight===t.overshootRight&&this.props.overshootFriction===t.overshootFriction&&this.state.leftWidth===e.leftWidth&&this.state.rightOffset===e.rightOffset&&this.state.rowWidth===e.rowWidth||this.updateAnimatedEvent(t,e),!0}},{key:"render",value:function(){var t=this,e=this.state.rowState,n=this.props,o=n.children,s=n.renderLeftActions,l=n.renderRightActions,p=s&&(0,r(d[10]).jsxs)(u.Animated.View,{style:[w.leftActions,{transform:[{translateX:this.leftActionTranslate}]}],children:[s(this.showLeftAction,this.transX),(0,r(d[10]).jsx)(u.View,{onLayout:function(e){var n=e.nativeEvent;return t.setState({leftWidth:n.layout.x})}})]}),f=l&&(0,r(d[10]).jsxs)(u.Animated.View,{style:[w.rightActions,{transform:[{translateX:this.rightActionTranslate}]}],children:[l(this.showRightAction,this.transX,this),(0,r(d[10]).jsx)(u.View,{onLayout:function(e){var n=e.nativeEvent;return t.setState({rightOffset:n.layout.x})}})]});return(0,r(d[10]).jsx)(r(d[11]).PanGestureHandler,Object.assign({activeOffsetX:[-10,10]},this.props,{onGestureEvent:this.onGestureEvent,onHandlerStateChange:this.onHandlerStateChange,children:(0,r(d[10]).jsxs)(u.Animated.View,{onLayout:this.onRowLayout,style:[w.container,this.props.containerStyle],children:[p,f,(0,r(d[10]).jsx)(r(d[12]).TapGestureHandler,{enabled:0!==e,onHandlerStateChange:this.onTapHandlerStateChange,children:(0,r(d[10]).jsx)(u.Animated.View,{pointerEvents:0===e?'auto':'box-only',style:[{transform:[{translateX:this.transX}]},this.props.childrenContainerStyle],children:o})})]})}))}}]),O})(p.Component);_e.default=v,v.defaultProps={friction:1,overshootFriction:1,useNativeAnimations:!0};var w=u.StyleSheet.create({container:{overflow:'hidden'},leftActions:Object.assign({},u.StyleSheet.absoluteFillObject,{flexDirection:u.I18nManager.isRTL?'row-reverse':'row'}),rightActions:Object.assign({},u.StyleSheet.absoluteFillObject,{flexDirection:u.I18nManager.isRTL?'row':'row-reverse'})})},662,[3,12,13,52,53,51,50,124,1,475,177,500,499]);
__d(function(g,r,i,a,m,_e,d){Object.defineProperty(_e,"__esModule",{value:!0}),_e.default=void 0;var e=r(d[0])(r(d[1])),t=r(d[0])(r(d[2])),n=r(d[0])(r(d[3])),o=r(d[0])(r(d[4])),s=r(d[0])(r(d[5])),l=(function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=c(t);if(n&&n.has(e))return n.get(e);var o={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var u=s?Object.getOwnPropertyDescriptor(e,l):null;u&&(u.get||u.set)?Object.defineProperty(o,l,u):o[l]=e[l]}o.default=e,n&&n.set(e,o);return o})(r(d[6])),u=r(d[0])(r(d[7])),p=r(d[8]);function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(c=function(e){return e?n:t})(e)}function w(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}var f=.05,h='Idle',v='Dragging',S='Settling',y=(function(c){(0,n.default)(O,c);var y,V,A=(y=O,V=w(),function(){var e,t=(0,s.default)(y);if(V){var n=(0,s.default)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,o.default)(this,e)});function O(t){var n;(0,e.default)(this,O),(n=A.call(this,t)).accessibilityIsModalView=l.createRef(),n.pointerEventsView=l.createRef(),n.panGestureHandler=l.createRef(),n.drawerShown=!1,n.updateAnimatedEvent=function(e,t){var o=e.drawerPosition,s=e.drawerWidth,l=e.drawerType,u=t.dragX,c=t.touchX,w=t.drawerTranslation,f=t.containerWidth,h=u,v=c;'left'!==o?(h=p.Animated.multiply(new p.Animated.Value(-1),u),v=p.Animated.add(new p.Animated.Value(f),p.Animated.multiply(new p.Animated.Value(-1),c)),c.setValue(f)):c.setValue(0);var S=h;if('front'===l){var y=p.Animated.add(v,p.Animated.multiply(new p.Animated.Value(-1),h)).interpolate({inputRange:[s-1,s,s+1],outputRange:[0,0,1]});S=p.Animated.add(h,y)}n.openValue=p.Animated.add(S,w).interpolate({inputRange:[0,s],outputRange:[0,1],extrapolate:'clamp'});var b={useNativeDriver:e.useNativeAnimations};n.props.onDrawerSlide&&(b.listener=function(e){var t=Math.floor(Math.abs(e.nativeEvent.translationX))/n.state.containerWidth;null==n.props.onDrawerSlide||n.props.onDrawerSlide(t)}),n.onGestureEvent=p.Animated.event([{nativeEvent:{translationX:u,x:c}}],b)},n.handleContainerLayout=function(e){var t=e.nativeEvent;n.setState({containerWidth:t.layout.width})},n.emitStateChanged=function(e,t){null==n.props.onDrawerStateChanged||n.props.onDrawerStateChanged(e,t)},n.openingHandlerStateChange=function(e){var t=e.nativeEvent;t.oldState===r(d[9]).State.ACTIVE?n.handleRelease({nativeEvent:t}):t.state===r(d[9]).State.ACTIVE&&(n.emitStateChanged(v,!1),n.setState({drawerState:v}),'on-drag'===n.props.keyboardDismissMode&&p.Keyboard.dismiss(),n.props.hideStatusBar&&p.StatusBar.setHidden(!0,n.props.statusBarAnimation||'slide'))},n.onTapHandlerStateChange=function(e){var t=e.nativeEvent;n.drawerShown&&t.oldState===r(d[9]).State.ACTIVE&&'locked-open'!==n.props.drawerLockMode&&n.closeDrawer()},n.handleRelease=function(e){var t=e.nativeEvent,o=n.props,s=o.drawerWidth,l=o.drawerPosition,u=o.drawerType,p=n.state.containerWidth,c=t.translationX,w=t.velocityX,h=t.x;'left'!==l&&(c=-c,h=p-h,w=-w);var v=h-c,S=0;'front'===u&&(S=v>s?v-s:0);var y=c+S+(n.drawerShown?s:0);y+f*w>s/2?n.animateDrawer(y,s,w):n.animateDrawer(y,0,w)},n.updateShowing=function(e){var t,o,s;n.drawerShown=e,null==(t=n.accessibilityIsModalView.current)||t.setNativeProps({accessibilityViewIsModal:e}),null==(o=n.pointerEventsView.current)||o.setNativeProps({pointerEvents:e?'auto':'none'});var l=n.props,u=l.drawerPosition,p=l.minSwipeDistance,c=l.edgeWidth,w='left'===u,f=(w?1:-1)*(n.drawerShown?-1:1),h=w?{left:0,width:e?void 0:c}:{right:0,width:e?void 0:c};null==(s=n.panGestureHandler.current)||s.setNativeProps({hitSlop:h,activeOffsetX:f*p})},n.animateDrawer=function(e,t,o,s){if(n.state.dragX.setValue(0),n.state.touchX.setValue('left'===n.props.drawerPosition?0:n.state.containerWidth),null!=e){var l=e;n.props.useNativeAnimations&&(e0?l=Math.min(e+o/60,t):e>t&&o<0&&(l=Math.max(e+o/60,t))),n.state.drawerTranslation.setValue(l)}var u=0!==t;n.updateShowing(u),n.emitStateChanged(S,u),n.setState({drawerState:S}),n.props.hideStatusBar&&p.StatusBar.setHidden(u,n.props.statusBarAnimation||'slide'),p.Animated.spring(n.state.drawerTranslation,{velocity:o,bounciness:0,toValue:t,useNativeDriver:n.props.useNativeAnimations,speed:null!=s?s:void 0}).start(function(e){e.finished&&(n.emitStateChanged(h,u),n.setState({drawerOpened:u}),n.state.drawerState!==v&&n.setState({drawerState:h}),u?null==n.props.onDrawerOpen||n.props.onDrawerOpen():null==n.props.onDrawerClose||n.props.onDrawerClose())})},n.openDrawer=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n.animateDrawer(void 0,n.props.drawerWidth,e.velocity?e.velocity:0,e.speed),n.forceUpdate()},n.closeDrawer=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n.animateDrawer(void 0,0,e.velocity?e.velocity:0,e.speed),n.forceUpdate()},n.renderOverlay=function(){(0,u.default)(n.openValue,'should be set');var e={opacity:n.state.drawerState!==h?n.openValue:n.state.drawerOpened?1:0,backgroundColor:n.props.overlayColor};return(0,r(d[10]).jsx)(r(d[11]).TapGestureHandler,{onHandlerStateChange:n.onTapHandlerStateChange,children:(0,r(d[10]).jsx)(p.Animated.View,{pointerEvents:n.drawerShown?'auto':'none',ref:n.pointerEventsView,style:[b.overlay,e]})})},n.renderDrawer=function(){var e,t=n.props,o=t.drawerBackgroundColor,s=t.drawerWidth,l=t.drawerPosition,c=t.drawerType,w=t.drawerContainerStyle,f=t.contentContainerStyle,v='left'===l,S='back'!==c,y='front'!==c,V=p.I18nManager.isRTL?v:!v,A={backgroundColor:o,width:s},O=n.openValue;((0,u.default)(O,'should be set'),y)&&(e={transform:[{translateX:O.interpolate({inputRange:[0,1],outputRange:v?[0,s]:[0,-s],extrapolate:'clamp'})}]});var C=0;if(S){var D=v?-s:s;C=n.state.drawerState!==h?O.interpolate({inputRange:[0,1],outputRange:[D,0],extrapolate:'clamp'}):n.state.drawerOpened?0:D}var R={transform:[{translateX:C}],flexDirection:V?'row-reverse':'row'};return(0,r(d[10]).jsxs)(p.Animated.View,{style:b.main,onLayout:n.handleContainerLayout,children:[(0,r(d[10]).jsxs)(p.Animated.View,{style:['front'===c?b.containerOnBack:b.containerInFront,e,f],importantForAccessibility:n.drawerShown?'no-hide-descendants':'yes',children:['function'==typeof n.props.children?n.props.children(n.openValue):n.props.children,n.renderOverlay()]}),(0,r(d[10]).jsx)(p.Animated.View,{pointerEvents:"box-none",ref:n.accessibilityIsModalView,accessibilityViewIsModal:n.drawerShown,style:[b.drawerContainer,R,w],children:(0,r(d[10]).jsx)(p.View,{style:A,children:n.props.renderNavigationView(n.openValue)})})]})},n.setPanGestureRef=function(e){n.panGestureHandler.current=e,null==n.props.onGestureRef||n.props.onGestureRef(e)};var o=new p.Animated.Value(0),s=new p.Animated.Value(0),c=new p.Animated.Value(0);return n.state={dragX:o,touchX:s,drawerTranslation:c,containerWidth:0,drawerState:h,drawerOpened:!1},n.updateAnimatedEvent(t,n.state),n}return(0,t.default)(O,[{key:"shouldComponentUpdate",value:function(e,t){return this.props.drawerPosition===e.drawerPosition&&this.props.drawerWidth===e.drawerWidth&&this.props.drawerType===e.drawerType&&this.state.containerWidth===t.containerWidth||this.updateAnimatedEvent(e,t),!0}},{key:"render",value:function(){var e=this.props,t=e.drawerPosition,n=e.drawerLockMode,o=e.edgeWidth,s=e.minSwipeDistance,l='left'===t,u=(l?1:-1)*(this.drawerShown?-1:1),p=l?{left:0,width:this.drawerShown?void 0:o}:{right:0,width:this.drawerShown?void 0:o};return(0,r(d[10]).jsx)(r(d[12]).PanGestureHandler,{userSelect:this.props.userSelect,ref:this.setPanGestureRef,hitSlop:p,activeOffsetX:u*s,failOffsetY:[-15,15],onGestureEvent:this.onGestureEvent,onHandlerStateChange:this.openingHandlerStateChange,enableTrackpadTwoFingerGesture:this.props.enableTrackpadTwoFingerGesture,enabled:'locked-closed'!==n&&'locked-open'!==n,children:this.renderDrawer()})}}]),O})(l.Component);_e.default=y,y.defaultProps={drawerWidth:200,drawerPosition:'left',useNativeAnimations:!0,drawerType:'front',edgeWidth:20,minSwipeDistance:3,overlayColor:'rgba(0, 0, 0, 0.7)',drawerLockMode:'unlocked',enableTrackpadTwoFingerGesture:!1},y.positions={Left:'left',Right:'right'};var b=p.StyleSheet.create({drawerContainer:Object.assign({},p.StyleSheet.absoluteFillObject,{zIndex:1001,flexDirection:'row'}),containerInFront:Object.assign({},p.StyleSheet.absoluteFillObject,{zIndex:1002}),containerOnBack:Object.assign({},p.StyleSheet.absoluteFillObject),main:{flex:1,zIndex:0,overflow:'hidden'},overlay:Object.assign({},p.StyleSheet.absoluteFillObject,{zIndex:1e3})})},663,[3,12,13,53,51,50,124,20,1,475,177,499,500]);
-__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(d[0])(r(d[1])),n=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=l(n);if(o&&o.has(t))return o.get(t);var u={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in t)if("default"!==f&&Object.prototype.hasOwnProperty.call(t,f)){var s=c?Object.getOwnPropertyDescriptor(t,f):null;s&&(s.get||s.set)?Object.defineProperty(u,f,s):u[f]=t[f]}u.default=t,o&&o.set(t,u);return u})(r(d[2])),o=r(d[3]),u=r(d[0])(r(d[4]));function l(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(l=function(t){return t?o:n})(t)}var c=function(){var l=(0,r(d[5]).useAtomValue)(r(d[6]).activeThemeAtom),c=(0,r(d[5]).useAtomValue)(r(d[6]).selectedLocaleAtom),f=Object.assign({},r(d[7]).DefaultTheme,{colors:Object.assign({},r(d[7]).DefaultTheme.colors,{background:l.backgroundPrimary})});return(0,n.useEffect)(function(){var n=new o.NativeEventEmitter(o.NativeModules.ToastExample).addListener("ShareIntent",function(n){n.type;var o=n.data,u=n.fileName;function l(){return(l=(0,t.default)(function*(){var t=yield(0,r(d[8]).readImportedJSON)(o);u.includes(".json")?(0,r(d[9]).importJSON)(u,t,!0):alert(c.fileSystem.invalidFileType)})).apply(this,arguments)}!(function(){l.apply(this,arguments)})()});return function(){n.remove()}},[]),(0,r(d[10]).jsxs)(r(d[5]).Provider,{children:[(0,r(d[10]).jsx)(o.StatusBar,{translucent:!1,barStyle:l.statusBar,backgroundColor:l.backgroundSecondary}),(0,r(d[10]).jsx)(r(d[7]).NavigationContainer,{theme:f,children:(0,r(d[10]).jsx)(u.default,{})})]})};e.default=c},664,[3,267,124,1,665,707,709,759,908,910,177]);
+__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(d[0])(r(d[1])),n=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=c(n);if(o&&o.has(t))return o.get(t);var u={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var s=f?Object.getOwnPropertyDescriptor(t,l):null;s&&(s.get||s.set)?Object.defineProperty(u,l,s):u[l]=t[l]}u.default=t,o&&o.set(t,u);return u})(r(d[2])),o=r(d[3]),u=r(d[0])(r(d[4]));function c(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(c=function(t){return t?o:n})(t)}var f=function(){var c=(0,r(d[5]).useAtomValue)(r(d[6]).activeThemeAtom),f=((0,r(d[5]).useAtomValue)(r(d[6]).selectedLocaleAtom),Object.assign({},r(d[7]).DefaultTheme,{colors:Object.assign({},r(d[7]).DefaultTheme.colors,{background:c.backgroundPrimary})}));return(0,n.useEffect)(function(){var n=new o.NativeEventEmitter(o.NativeModules.ToastExample).addListener("ShareIntent",function(n){n.type;var o=n.data,u=n.fileName;function c(){return(c=(0,t.default)(function*(){var t=yield(0,r(d[8]).readImportedJSON)(o);(0,r(d[9]).importJSON)(u,t,!0)})).apply(this,arguments)}!(function(){c.apply(this,arguments)})()});return function(){n.remove()}},[]),(0,r(d[10]).jsxs)(r(d[5]).Provider,{children:[(0,r(d[10]).jsx)(o.StatusBar,{translucent:!1,barStyle:c.statusBar,backgroundColor:c.backgroundSecondary}),(0,r(d[10]).jsx)(r(d[7]).NavigationContainer,{theme:f,children:(0,r(d[10]).jsx)(u.default,{})})]})};e.default=f},664,[3,267,124,1,665,707,709,759,908,910,177]);
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;r(d[0])(r(d[1]));var o=r(d[0])(r(d[2])),t=r(d[0])(r(d[3])),n=(0,r(d[4]).createDrawerNavigator)(),l=function(){var l=(0,r(d[5]).useInitialRender)(),c=(0,r(d[6]).useAtomValue)(r(d[7]).activeThemeAtom),u=(0,r(d[6]).useAtomValue)(r(d[7]).selectedLocaleAtom);return(0,r(d[8]).jsxs)(n.Navigator,{useLegacyImplementation:!0,defaultStatus:"closed",screenOptions:function(t){var n=t.route;return{drawerIcon:function(t){var l,c=t.focused,u=t.color,s=t.size;return"ProgramDrawer"===n.name?l="barbell-sharp":"Program Editor"===n.name?l=c?"file-tray-full":"file-tray-full-outline":"Settings"===n.name&&(l=c?"settings":"settings-outline"),(0,r(d[8]).jsx)(o.default,{name:l,size:s,color:u})},drawerActiveTintColor:c.active,drawerInactiveTintColor:c.inactive,drawerType:"back",lazy:!0,drawerStyle:{backgroundColor:c.backgroundSecondary,width:l?void 0:"75%"},cardStyle:{backgroundColor:c.backgroundPrimary,opacity:1},sceneContainerStyle:{backgroundColor:c.backgroundPrimary}}},children:[(0,r(d[8]).jsx)(n.Screen,{name:"ProgramDrawer",component:r(d[9]).BottomTabProgramPageNavigator,options:{headerShown:!1,title:u.programPage.title,headerStyle:{backgroundColor:c.backgroundSecondary,elevation:0,shadowOpacity:0},headerTintColor:c.text}}),(0,r(d[8]).jsx)(n.Screen,{name:"Program Editor",component:r(d[10]).ProgramEditorPageStack,options:{headerShown:!1,title:u.programEditorPage.title,headerStyle:{backgroundColor:c.backgroundSecondary,elevation:0,shadowOpacity:0},headerTintColor:c.text}}),(0,r(d[8]).jsx)(n.Screen,{name:"Settings",component:t.default,options:{title:u.settingsPage.title,headerStyle:{backgroundColor:c.backgroundSecondary,elevation:0,shadowOpacity:0},headerTintColor:c.text}})]})};e.default=l},665,[3,124,666,676,731,897,707,709,177,898,927]);
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.getImageSourceSync=e.getImageSource=e.default=e.Button=void 0;var t=r(d[0])(r(d[1])),o=r(d[0])(r(d[2])),u=(0,t.default)(o.default,'Ionicons','Ionicons.ttf'),c=u;e.default=c;var n=u.Button,S=u.getImageSource,I=u.getImageSourceSync;e.getImageSourceSync=I,e.getImageSource=S,e.Button=n},666,[3,667,675]);
__d(function(g,r,i,a,m,_e,d){Object.defineProperty(_e,"__esModule",{value:!0}),_e.NativeIconAPI=_e.DEFAULT_ICON_SIZE=_e.DEFAULT_ICON_COLOR=void 0,_e.default=function(b,_,N,S){var j=N?N.replace(/\.(otf|ttf)$/,''):_,C=y.Platform.select({windows:"/Assets/"+N+"#"+_,android:j,web:j,default:_}),M=p.default.oneOf(Object.keys(b)),E=(function(e){(0,u.default)(v,e);var t,s,p=(t=v,s=w(),function(){var e,n=(0,c.default)(t);if(s){var o=(0,c.default)(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return(0,f.default)(this,e)});function v(){var e;(0,o.default)(this,v);for(var t=arguments.length,n=new Array(t),l=0;l1&&void 0!==arguments[1]?arguments[1]:F,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:R;(0,v.default)();var o=k(e),l=(0,y.processColor)(n),u=o+":"+t+":"+l;if(A.has(u))return A.get(u);try{var f=yield I.getImageForFont(C,o,t,l),c={uri:f,scale:y.PixelRatio.get()};return A.setValue(u,c),c}catch(e){throw A.setError(u,e),e}})).apply(this,arguments)}function L(){return(L=(0,t.default)(function*(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:N;if('ios'===y.Platform.OS){if((0,v.default)(),!t)throw new Error('Unable to load font, because no file was specified. ');yield I.loadFontWithFileName.apply(I,(0,e.default)(t.split('.')))}})).apply(this,arguments)}return E.Button=(0,O.default)(E),E.getImageSource=function(e){return D.apply(this,arguments)},E.getImageSourceSync=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:F,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:R;(0,v.default)();var o=k(e),l=(0,y.processColor)(n),u=o+":"+t+":"+l;if(A.has(u))return A.get(u);try{var f=I.getImageForFontSync(C,o,t,l),c={uri:f,scale:y.PixelRatio.get()};return A.setValue(u,c),c}catch(e){throw A.setError(u,e),e}},E.loadFont=function(){return L.apply(this,arguments)},E.hasIcon=function(e){return Object.prototype.hasOwnProperty.call(b,e)},E.getRawGlyphMap=function(){return b},E.getFontFamily=function(){return C},E};var e=r(d[0])(r(d[1])),t=r(d[0])(r(d[2])),n=r(d[0])(r(d[3])),o=r(d[0])(r(d[4])),l=r(d[0])(r(d[5])),u=r(d[0])(r(d[6])),f=r(d[0])(r(d[7])),c=r(d[0])(r(d[8])),s=(function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=b(t);if(n&&n.has(e))return n.get(e);var o={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var f=l?Object.getOwnPropertyDescriptor(e,u):null;f&&(f.get||f.set)?Object.defineProperty(o,u,f):o[u]=e[u]}o.default=e,n&&n.set(e,o);return o})(r(d[9])),p=r(d[0])(r(d[10])),y=r(d[11]),v=r(d[0])(r(d[12])),h=r(d[0])(r(d[13])),O=r(d[0])(r(d[14])),P=["name","size","color","style","children"];function b(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(b=function(e){return e?n:t})(e)}function w(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}var I=y.NativeModules.RNVectorIconsManager||y.NativeModules.RNVectorIconsModule;_e.NativeIconAPI=I;var F=12;_e.DEFAULT_ICON_SIZE=F;var R='black';_e.DEFAULT_ICON_COLOR=R},667,[3,6,267,98,12,13,53,51,50,124,668,1,671,672,673,177]);
@@ -733,7 +733,7 @@ __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.d
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(d[0])(r(d[1])),n=r(d[0])(r(d[2])),l=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var l=f(n);if(l&&l.has(t))return l.get(t);var s={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in t)if("default"!==o&&Object.prototype.hasOwnProperty.call(t,o)){var u=c?Object.getOwnPropertyDescriptor(t,o):null;u&&(u.get||u.set)?Object.defineProperty(s,o,u):s[o]=t[o]}s.default=t,l&&l.set(t,s);return s})(r(d[3])),s=r(d[4]),c=r(d[0])(r(d[5])),o=r(d[0])(r(d[6])),u=r(d[0])(r(d[7]));function f(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,l=new WeakMap;return(f=function(t){return t?l:n})(t)}var h=function(f){var h=(0,r(d[8]).useAtomValue)(r(d[9]).activeThemeAtom),y=(0,r(d[8]).useAtomValue)(r(d[9]).selectedLocaleAtom),x=(0,l.useState)(f.RMFormulas),j=(0,n.default)(x,2),p=j[0],T=j[1],b=function(){T(f.RMFormulas),f.setCalculationFormulasModalVisible(!1)},k=function(n){T(Object.assign({},p,(0,t.default)({},n,!p[n])))};return(0,r(d[10]).jsx)(c.default,{isVisible:f.isCalculationFormulasModalVisible,onBackButtonPress:function(){return b()},onBackdropPress:function(){return b()},useNativeDriver:!0,hideModalContentWhileAnimating:!0,animationInTiming:100,animationOutTiming:1,backdropTransitionInTiming:100,backdropTransitionOutTiming:1,children:(0,r(d[10]).jsxs)(s.View,{style:(0,u.default)(h).container,children:[(0,r(d[10]).jsx)(s.Text,{style:(0,u.default)(h).title,children:y.settingsPage.calculationFormulasTitle}),(0,r(d[10]).jsxs)(s.TouchableOpacity,{style:(0,u.default)(h).itemSelect,onPress:function(){return k("epley")},children:[(0,r(d[10]).jsx)(s.View,{style:(0,u.default)(h).iconContainer,children:p.epley&&(0,r(d[10]).jsx)(o.default,{name:"checkmark-sharp",size:20,style:(0,u.default)(h).icon})}),(0,r(d[10]).jsx)(s.Text,{style:(0,u.default)(h).itemSelectText,children:"Epley"})]}),(0,r(d[10]).jsxs)(s.TouchableOpacity,{style:(0,u.default)(h).itemSelect,onPress:function(){return k("brzycki")},children:[(0,r(d[10]).jsx)(s.View,{style:(0,u.default)(h).iconContainer,children:p.brzycki&&(0,r(d[10]).jsx)(o.default,{name:"checkmark-sharp",size:20,style:(0,u.default)(h).icon})}),(0,r(d[10]).jsx)(s.Text,{style:(0,u.default)(h).itemSelectText,children:"Brzycki"})]}),(0,r(d[10]).jsxs)(s.TouchableOpacity,{style:(0,u.default)(h).itemSelect,onPress:function(){return k("lombardi")},children:[(0,r(d[10]).jsx)(s.View,{style:(0,u.default)(h).iconContainer,children:p.lombardi&&(0,r(d[10]).jsx)(o.default,{name:"checkmark-sharp",size:20,style:(0,u.default)(h).icon})}),(0,r(d[10]).jsx)(s.Text,{style:(0,u.default)(h).itemSelectText,children:"Lombardi"})]}),(0,r(d[10]).jsxs)(s.TouchableOpacity,{style:(0,u.default)(h).itemSelect,onPress:function(){return k("mayhew")},children:[(0,r(d[10]).jsx)(s.View,{style:(0,u.default)(h).iconContainer,children:p.mayhew&&(0,r(d[10]).jsx)(o.default,{name:"checkmark-sharp",size:20,style:(0,u.default)(h).icon})}),(0,r(d[10]).jsx)(s.Text,{style:(0,u.default)(h).itemSelectText,children:"Mayhew"})]}),(0,r(d[10]).jsxs)(s.TouchableOpacity,{style:(0,u.default)(h).itemSelect,onPress:function(){return k("mcglothin")},children:[(0,r(d[10]).jsx)(s.View,{style:(0,u.default)(h).iconContainer,children:p.mcglothin&&(0,r(d[10]).jsx)(o.default,{name:"checkmark-sharp",size:20,style:(0,u.default)(h).icon})}),(0,r(d[10]).jsx)(s.Text,{style:(0,u.default)(h).itemSelectText,children:"McGlothin"})]}),(0,r(d[10]).jsxs)(s.TouchableOpacity,{style:(0,u.default)(h).itemSelect,onPress:function(){return k("oconner")},children:[(0,r(d[10]).jsx)(s.View,{style:(0,u.default)(h).iconContainer,children:p.oconner&&(0,r(d[10]).jsx)(o.default,{name:"checkmark-sharp",size:20,style:(0,u.default)(h).icon})}),(0,r(d[10]).jsx)(s.Text,{style:(0,u.default)(h).itemSelectText,children:"OConner"})]}),(0,r(d[10]).jsxs)(s.TouchableOpacity,{style:(0,u.default)(h).itemSelect,onPress:function(){return k("wathen")},children:[(0,r(d[10]).jsx)(s.View,{style:(0,u.default)(h).iconContainer,children:p.wathen&&(0,r(d[10]).jsx)(o.default,{name:"checkmark-sharp",size:20,style:(0,u.default)(h).icon})}),(0,r(d[10]).jsx)(s.Text,{style:(0,u.default)(h).itemSelectText,children:"Wathan"})]}),(0,r(d[10]).jsxs)(s.View,{style:(0,u.default)(h).buttonRow,children:[(0,r(d[10]).jsx)(s.TouchableOpacity,{style:(0,u.default)(h).buttonClose,onPress:function(){return b()},children:(0,r(d[10]).jsx)(s.Text,{style:(0,u.default)(h).buttonOkCloseText,children:y.settingsPage.cancelModalButtonLabel})}),(0,r(d[10]).jsx)(s.TouchableOpacity,{style:(0,u.default)(h).buttonOk,onPress:function(){f.setRMFormulas(p),b()},children:(0,r(d[10]).jsx)(s.Text,{style:(0,u.default)(h).buttonOkCloseText,children:y.settingsPage.okModalButtonLabel})})]})]})})};e.default=h},727,[3,237,22,124,1,678,666,728,707,709,177]);
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(d[0]),o=function(o){return t.StyleSheet.create({modalContent:{},container:{backgroundColor:o.backgroundPrimary,padding:30,height:510},title:{fontWeight:"bold",fontSize:22,lineHeight:22,color:o.text,paddingBottom:10},itemSelect:{flexDirection:"row",alignItems:"center",height:46,marginBottom:6,borderBottomWidth:1,borderBottomColor:o.placeholderText},iconContainer:{marginRight:12,width:20},icon:{color:o.textHighlight},itemSelectText:{fontSize:16,color:o.text},buttonRow:{flexDirection:"row",marginTop:40,justifyContent:"flex-end"},buttonClose:{marginRight:20},buttonOk:{},buttonOkCloseText:{fontWeight:"bold",fontSize:18,lineHeight:22,color:o.text}})};e.default=o},728,[1]);
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(d[0]),o=function(o){return t.StyleSheet.create({container:{flex:1,backgroundColor:o.backgroundPrimary,paddingHorizontal:20,paddingTop:20},rowContainer:{flexDirection:"row",marginBottom:20},weightRoundingTextContainer:{flex:1},title:{color:o.textHighlight,fontSize:20,fontWeight:"bold"},subtitle:{color:o.text,fontSize:16},updateCheckerButton:{color:o.text,justifyContent:"center",height:46,marginTop:20,marginBottom:6},appVersionText:{fontSize:14,color:o.text},updateCheckerButtonText:{fontSize:18,color:o.text,fontWeight:"bold"}})};e.default=o},729,[1]);
-__d(function(e,t,a,r,n,i,s){n.exports={name:"barbellwhip",version:"0.6.0",private:!0,scripts:{android:"react-native run-android",ios:"react-native run-ios",start:"react-native start"},dependencies:{"@react-native-async-storage/async-storage":"^1.17.11","@react-navigation/bottom-tabs":"^6.4.3","@react-navigation/drawer":"^6.5.3","@react-navigation/native":"^6.0.16","@react-navigation/stack":"^6.3.7",jotai:"^1.11.0",react:"18.1.0","react-native":"0.70.6","react-native-document-picker":"^8.1.3","react-native-draggable-flatlist":"3.1.1","react-native-fs":"^2.20.0","react-native-gesture-handler":"^2.8.0","react-native-modal":"^13.0.1","react-native-reanimated":"^2.13.0","react-native-safe-area-context":"^4.4.1","react-native-screens":"^3.18.2","react-native-share":"^8.0.1","react-native-side-menu-updated":"^1.3.2","react-native-vector-icons":"^9.2.0","react-navigation":"^4.4.4"},devDependencies:{"@babel/core":"^7.12.9","@babel/runtime":"^7.12.5","@react-native-community/eslint-config":"^2.0.0","@tsconfig/react-native":"^2.0.2","@types/jest":"^26.0.23","@types/react":"^18.0.21","@types/react-native":"^0.70.6","@types/react-test-renderer":"^18.0.0","@typescript-eslint/eslint-plugin":"^5.37.0","@typescript-eslint/parser":"^5.37.0","babel-jest":"^26.6.3",eslint:"^7.32.0",jest:"^26.6.3","metro-react-native-babel-preset":"0.72.3","react-test-renderer":"18.1.0",typescript:"^4.8.3"},jest:{preset:"react-native",moduleFileExtensions:["ts","tsx","js","jsx","json","node"]}}},730,[]);
+__d(function(e,t,a,r,n,i,s){n.exports={name:"barbellwhip",version:"0.6.1",private:!0,scripts:{android:"react-native run-android",ios:"react-native run-ios",start:"react-native start"},dependencies:{"@react-native-async-storage/async-storage":"^1.17.11","@react-navigation/bottom-tabs":"^6.4.3","@react-navigation/drawer":"^6.5.3","@react-navigation/native":"^6.0.16","@react-navigation/stack":"^6.3.7",jotai:"^1.11.0",react:"18.1.0","react-native":"0.70.6","react-native-document-picker":"^8.1.3","react-native-draggable-flatlist":"3.1.1","react-native-fs":"^2.20.0","react-native-gesture-handler":"^2.8.0","react-native-modal":"^13.0.1","react-native-reanimated":"^2.13.0","react-native-safe-area-context":"^4.4.1","react-native-screens":"^3.18.2","react-native-share":"^8.0.1","react-native-side-menu-updated":"^1.3.2","react-native-vector-icons":"^9.2.0","react-navigation":"^4.4.4"},devDependencies:{"@babel/core":"^7.12.9","@babel/runtime":"^7.12.5","@react-native-community/eslint-config":"^2.0.0","@tsconfig/react-native":"^2.0.2","@types/jest":"^26.0.23","@types/react":"^18.0.21","@types/react-native":"^0.70.6","@types/react-test-renderer":"^18.0.0","@typescript-eslint/eslint-plugin":"^5.37.0","@typescript-eslint/parser":"^5.37.0","babel-jest":"^26.6.3",eslint:"^7.32.0",jest:"^26.6.3","metro-react-native-babel-preset":"0.72.3","react-test-renderer":"18.1.0",typescript:"^4.8.3"},jest:{preset:"react-native",moduleFileExtensions:["ts","tsx","js","jsx","json","node"]}}},730,[]);
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"DrawerContent",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"DrawerContentScrollView",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"DrawerGestureContext",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(e,"DrawerItem",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"DrawerItemList",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"DrawerProgressContext",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(e,"DrawerToggleButton",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"DrawerView",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"createDrawerNavigator",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"getDrawerStatusFromState",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(e,"useDrawerProgress",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(e,"useDrawerStatus",{enumerable:!0,get:function(){return p.default}});var t=r(d[0])(r(d[1])),n=r(d[0])(r(d[2])),u=r(d[0])(r(d[3])),f=r(d[0])(r(d[4])),o=r(d[0])(r(d[5])),l=r(d[0])(r(d[6])),c=r(d[0])(r(d[7])),b=r(d[0])(r(d[8])),P=r(d[0])(r(d[9])),w=r(d[0])(r(d[10])),j=r(d[0])(r(d[11])),p=r(d[0])(r(d[12]))},731,[3,732,738,739,750,749,879,734,883,885,737,895,896]);
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(d[0])(r(d[1])),n=((function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var s={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var p=l?Object.getOwnPropertyDescriptor(t,c):null;p&&(p.get||p.set)?Object.defineProperty(s,c,p):s[c]=t[c]}s.default=t,o&&o.set(t,s)})(r(d[2])),r(d[0])(r(d[3]))),o=r(d[0])(r(d[4])),s=["id","initialRouteName","defaultStatus","backBehavior","children","screenListeners","screenOptions"],l=["openByDefault","lazy","drawerContentOptions"];function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}var c=(0,r(d[5]).createNavigatorFactory)(function(u){var c=u.id,p=u.initialRouteName,f=u.defaultStatus,v=u.backBehavior,y=u.children,w=u.screenListeners,O=u.screenOptions,h=(0,t.default)(u,s),b=h.openByDefault,S=h.lazy,D=h.drawerContentOptions,j=(0,t.default)(h,l),B={};D&&(Object.assign(B,{drawerPosition:D.drawerPosition,drawerType:D.drawerType,swipeEdgeWidth:D.edgeWidth,drawerHideStatusBarOnOpen:D.hideStatusBar,keyboardDismissMode:D.keyboardDismissMode,swipeMinDistance:D.minSwipeDistance,overlayColor:D.overlayColor,drawerStatusBarAnimation:D.statusBarAnimation,gestureHandlerProps:D.gestureHandlerProps}),Object.keys(B).forEach(function(t){void 0===B[t]&&delete B[t]}),(0,n.default)(D,"Drawer Navigator: 'drawerContentOptions' is deprecated. Migrate the options to 'screenOptions' instead.\n\nPlace the following in 'screenOptions' in your code to keep current behavior:\n\n"+JSON.stringify(B,null,2)+"\n\nSee https://reactnavigation.org/docs/drawer-navigator#options for more details.")),'boolean'==typeof S&&(B.lazy=S,(0,n.default)(!0,"Drawer Navigator: 'lazy' in props is deprecated. Move it to 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/drawer-navigator/#lazy for more details.")),'boolean'==typeof b&&(0,n.default)(!0,"Drawer Navigator: 'openByDefault' is deprecated. Use 'defaultStatus' and set it to 'open' or 'closed' instead.\n\nSee https://reactnavigation.org/docs/drawer-navigator/#defaultstatus for more details.");var P=void 0!==f?f:b?'open':'closed',k=(0,r(d[5]).useNavigationBuilder)(r(d[5]).DrawerRouter,{id:c,initialRouteName:p,defaultStatus:P,backBehavior:v,children:y,screenListeners:w,screenOptions:O,defaultScreenOptions:B}),M=k.state,N=k.descriptors,C=k.navigation,_=k.NavigationContent;return(0,r(d[6]).jsx)(_,{children:(0,r(d[6]).jsx)(o.default,Object.assign({},j,{defaultStatus:P,state:M,descriptors:N,navigation:C}))})});e.default=c},732,[3,98,124,733,734,759,177]);
__d(function(g,r,i,a,m,e,d){new Set;m.exports=function(n){}},733,[]);
@@ -913,7 +913,7 @@ __d(function(e,r,o,i,t,l,a){t.exports={"500px":61696,"500px-with-circle":61697,"
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(d[0]),n=function(n){return t.StyleSheet.create({header:{height:"100%",width:"100%",flexDirection:"row",justifyContent:"space-between",alignItems:"center",backgroundColor:n.backgroundSecondary,padding:0,margin:0},contentLeft:{alignItems:"center"},contentRight:{width:30,flexDirection:"row",justifyContent:"space-between"},contentCenter:{flex:1,flexDirection:"row",justifyContent:"flex-start"},headerText:{fontWeight:"bold",fontSize:20,color:n.text,maxWidth:300},iconLeft:{left:-2,marginRight:22,color:n.text,width:40},iconRight:{width:40,paddingLeft:10,color:n.text}})};e.default=n},907,[1]);
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.readJSON=e.readImportedJSON=e.readDirectory=e.getFileURI=void 0;var t,l=r(d[0])(r(d[1])),n=r(d[0])(r(d[2])),o=(t=(0,l.default)(function*(t){var l=n.default.ExternalDirectoryPath+"/"+t+".json",o=null;try{o=yield n.default.readFile(l)}catch(t){console.log(t),alert("Error reading file.")}return o}),function(l){return t.apply(this,arguments)});e.readJSON=o;var u,c=(u=(0,l.default)(function*(t){var l=null;try{l=yield n.default.readFile(t)}catch(t){console.log(t),alert("Error reading file.")}return l}),function(t){return u.apply(this,arguments)});e.readImportedJSON=c;var f,y=(f=(0,l.default)(function*(t){var l=n.default.ExternalDirectoryPath+"/"+t;try{yield n.default.readFile(l)}catch(t){console.log(t),alert("Error reading file.")}return l}),function(t){return f.apply(this,arguments)});e.getFileURI=y;var s,h=(s=(0,l.default)(function*(){var t=n.default.ExternalDirectoryPath,l=null;try{l=yield n.default.readDir(t)}catch(t){console.log(t),alert("Error reading file system.")}return l}),function(){return s.apply(this,arguments)});e.readDirectory=h},908,[3,267,703]);
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.deepClone=function t(n){var o,f;if("object"!=typeof n)return n;if(!n)return n;if("[object Array]"===Object.prototype.toString.apply(n)){for(o=[],f=0;f0&&(t.oneRMs=t.oneRMs.filter(function(n){return""!==n.name&&""!==n.weight}));t.trainingProgram.length>0&&(t.trainingProgram.forEach(function(n){n.week.forEach(function(n){n.day.forEach(function(n){n.set=n.set.filter(function(n){return!Object.values(n).every(function(n){return""===n})})}),n.day=n.day.filter(function(n){return n.set.length>0})}),n.week=n.week.filter(function(n){return n.day.length>0})}),t.trainingProgram=t.trainingProgram.filter(function(n){return n.week.length>0}));return t}},911,[909]);
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;r(d[0])(r(d[1]));var t=r(d[2]),o=r(d[0])(r(d[3])),l=function(){var l=(0,r(d[4]).useAtomValue)(r(d[5]).activeThemeAtom);return(0,r(d[6]).jsx)(t.View,{style:(0,o.default)(l).container,children:(0,r(d[6]).jsx)(t.ActivityIndicator,{size:"large",color:l.textFaded})})};e.default=l},912,[3,124,1,913,707,709,177]);
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(d[0]),n=function(n){return t.StyleSheet.create({container:{backgroundColor:n.backgroundPrimary,flex:1,justifyContent:"center",alignContent:"center",alignItems:"center"}})};e.default=n},913,[1]);
diff --git a/android/app/src/main/java/com/barbellwhip/MainActivity.java b/android/app/src/main/java/com/barbellwhip/MainActivity.java
index dcb6b67..e3353b6 100644
--- a/android/app/src/main/java/com/barbellwhip/MainActivity.java
+++ b/android/app/src/main/java/com/barbellwhip/MainActivity.java
@@ -56,11 +56,14 @@ private void handleIntent(Intent intent) {
if(intent != null) {
String action = intent.getAction();
String type = intent.getType();
+ Uri data = intent.getData();
- if (Intent.ACTION_SEND.equals(action) && type != null) {
- handleSendFile(intent);
- } else if (Intent.ACTION_SEND_MULTIPLE.equals(action) && type != null) {
- handleSendMultipleFiles(intent);
+ if(Intent.ACTION_SEND.equals(action) && type != null) {
+ if("application/json".equals(type)) {
+ handleSendFile(intent);
+ }
+ } else if(Intent.ACTION_VIEW.equals(action) && data != null) {
+ handleViewFile(intent);
}
}
}
@@ -73,16 +76,11 @@ void handleSendFile(Intent intent) {
}
}
- void handleSendMultipleFiles(Intent intent) {
- ArrayList fileUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
- if(fileUris != null) {
- ArrayList filePaths = new ArrayList<>();
- ArrayList fileNames = new ArrayList<>();
- for(Uri uri : fileUris) {
- filePaths.add(uri.toString());
- fileNames.add(getFileName(uri));
- }
- sendToReactNative("files", filePaths.toString(), fileNames.toString());
+ void handleViewFile(Intent intent) {
+ Uri fileUri = intent.getData();
+ if(fileUri != null) {
+ String fileName = getFileName(fileUri);
+ sendToReactNative("file", fileUri.toString(), fileName);
}
}
diff --git a/package.json b/package.json
index 46240ab..1b88044 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "barbellwhip",
- "version": "0.6.0",
+ "version": "0.6.1",
"private": true,
"scripts": {
"android": "react-native run-android",
diff --git a/src/TODO.md b/src/TODO.md
index 6f55b6c..c080c79 100644
--- a/src/TODO.md
+++ b/src/TODO.md
@@ -55,9 +55,7 @@
# BUGS
-- program page
- - [ ] "content shift" glitch on first load
-
+- [ ] program page - "content shift" glitch on first load
- [ ] File system alerts using hard coded messages
---
diff --git a/src/db/fileSystem/fsWrite.ts b/src/db/fileSystem/fsWrite.ts
index d12319b..5b92bec 100644
--- a/src/db/fileSystem/fsWrite.ts
+++ b/src/db/fileSystem/fsWrite.ts
@@ -26,8 +26,9 @@ export const writeToJSON = async (programName: string, programJSON: object) => {
}
export const importJSON = async (programName: string, programJSON: object, isIntentImport: boolean) => {
+ const _programNameFromJSON = JSON.parse(programJSON).programName;
try {
- const availableFileName = await getAvailableFileName(programName);
+ const availableFileName = await getAvailableFileName(_programNameFromJSON);
const fileUri = `${RNFS.ExternalDirectoryPath}/${availableFileName}`;
const contents = isIntentImport ? programJSON : JSON.stringify(programJSON, null, 2);
await RNFS.writeFile(fileUri, contents);
diff --git a/src/pages/AppWrapper.tsx b/src/pages/AppWrapper.tsx
index b0c32a0..1c4cc0a 100644
--- a/src/pages/AppWrapper.tsx
+++ b/src/pages/AppWrapper.tsx
@@ -31,13 +31,7 @@ const AppWrapper = () => {
async function handleImportFileFromIntent() {
const fileContents = await readImportedJSON(data);
- // TODO
- // properly test if file matches the program schema
- if(fileName.includes(".json")) {
- importJSON(fileName, fileContents, true);
- } else {
- alert(selectedLocale.fileSystem.invalidFileType);
- }
+ importJSON(fileName, fileContents, true);
}
handleImportFileFromIntent();
})