{"version":3,"sources":["assets/ufcw-logo.png","assets/golinks/ADP-WN.png","system/utils.ts","screens/oar/locals/localSlice.ts","screens/oar/campaigns/campaignSlice.ts","screens/oar/reports/reportSlice.ts","screens/oar/weekly_activity/weeklyActivitySlice.tsx","system/constants.ts","screens/root/auth/authSlice.ts","screens/oar/agents/AgentService.ts","system/DateService.ts","screens/oar/agents/agentSlice.ts","screens/lm2/lm2Slice.ts","rootReducer.ts","store.ts","navigation/root/LinkingConfiguration.ts","components/shared/Button.tsx","screens/root/auth/SplashScreen.style.tsx","screens/root/auth/SplashScreen.tsx","screens/root/auth/authTypes.ts","components/shared/MainMenu.style.tsx","components/shared/MainMenu.tsx","components/shared/ShareExample.tsx","system/notifications.tsx","components/shared/MainAppBar.style.tsx","components/shared/ContentTitle.tsx","hooks/api/useWeeklyActivity.tsx","hooks/api/useCampaign.tsx","screens/oar/campaigns/campaignTypes.ts","components/shared/ConfirmDialog.tsx","components/shared/MenuBox.tsx","components/shared/ReportMenuBox.tsx","screens/lm2/lm2Hooks.ts","components/shared/LM2FormMenuBox.tsx","components/shared/MainAppBar.tsx","components/shared/PickerSelect.style.tsx","screens/root/account/AccountService.ts","components/shared/Global.styles.tsx","components/oar/account/EditProfile.tsx","components/oar/account/ProfileDetails.tsx","components/oar/account/Profile.tsx","components/oar/forms/FormDetails.style.tsx","components/oar/forms/EmptyState.tsx","components/oar/account/Notifications.tsx","screens/root/account/AccountScreen.tsx","components/shared/GoScreen.style.tsx","components/shared/GoScreen.tsx","components/shared/containers/AddContainer.tsx","components/shared/inputs/control/ControlSlider.tsx","components/shared/inputs/control/ControlFlatTextInput.tsx","screens/lm2/AddLM2ReportingFormScreen.tsx","components/lm2/weekly_activity/weekly_activity/ReadOnlyTitle.tsx","components/lm2/weekly_activity/weekly_activity/DaysWorked.tsx","components/lm2/weekly_activity/weekly_activity/Programs.tsx","components/lm2/weekly_activity/weekly_activity/CategoryBars.tsx","components/lm2/weekly_activity/weekly_activity/CategoryList.tsx","components/lm2/weekly_activity/shared/Loading.tsx","screens/lm2/lm2_weekly_form/LM2ReadOnlyScreen.tsx","screens/lm2/LM2FormCategoriesScreen.tsx","screens/lm2/LM2FormProjectsScreen.style.tsx","components/shared/ButtonAssign.tsx","components/lm2/weekly_activity/weekly_activity/ProjectItem.tsx","screens/lm2/LM2FormProjectsScreen.tsx","screens/lm2/LM2CardItem.tsx","screens/oar/weekly_activity/Week.style.tsx","screens/lm2/lm2_weekly_form/MyLM2List.tsx","components/shared/MainBar.tsx","screens/lm2/lm2_weekly_form/LM2FormListScreen.tsx","components/shared/SectionSwitcher.tsx","components/lm2/weekly_activity/weekly_activity/StatHeaderItem.tsx","components/lm2/weekly_activity/search/UserSearchBar.tsx","screens/lm2/search/SearchScreen.tsx","navigation/lm2/LM2BottomTabNavigation.tsx","components/shared/Checkmark.tsx","components/shared/TTSnackBar.tsx","screens/lm2/LM2FormProjectsPercentagesScreen.tsx","screens/lm2/MyLM2ListScreen.tsx","navigation/lm2/LM2Navigation.tsx","components/shared/inputs/control/ControlTextInput.tsx","components/shared/inputs/control/ControlMultiSelectWeb.tsx","components/shared/inputs/control/ControlMultiSelect.tsx","screens/oar/agents/AddAgentScreen.tsx","components/oar/agents/AgentDetailsContainer.tsx","components/oar/agents/agentsCard.style.tsx","screens/oar/feedback/Spinner.tsx","components/shared/NoData.tsx","components/oar/agents/AgentStatRow.tsx","components/oar/agents/WeeklyLogTab.tsx","hooks/api/useUser.tsx","components/oar/agents/ActivityFormsTab.tsx","components/oar/agents/CampaignsTab.tsx","components/oar/agents/AgentsCard.tsx","screens/oar/agents/AgentDetailsScreen.tsx","screens/oar/agents/AssignCampaignsScreen.tsx","screens/oar/campaigns/AssignUsersScreen.style.tsx","components/oar/agents/AgentSearchBar.tsx","screens/oar/campaigns/AssignAgentsScreen.tsx","components/shared/inputs/control/ControlDatePicker.tsx","components/shared/inputs/control/CustomSelect.tsx","components/shared/inputs/control/Label.tsx","screens/oar/campaigns/CampaignForm.tsx","screens/oar/campaigns/AddCampaignScreen.tsx","screens/oar/campaigns/EditCampaignScreen.tsx","screens/oar/campaigns/CampaignNotes.style.tsx","components/shared/containers/StickyHeader.tsx","components/shared/inputs/control/ControlTextArea.tsx","screens/oar/campaigns/CampaignNotesForm.tsx","screens/oar/campaigns/CampaignNotesScreen.tsx","screens/oar/reports/AddReportScreen.tsx","components/shared/CardsOverTimeChart.tsx","screens/oar/reports/ReportDetailsScreen.style.tsx","screens/oar/reports/ReportDetailsScreen.tsx","screens/oar/weekly_activity/PdfScreen.tsx","screens/oar/weekly_activity/ReportingFormCategoriesScreen.style.tsx","screens/oar/weekly_activity/WeeklyActivityService.ts","screens/oar/weekly_activity/ReportingFormCategoriesScreen.tsx","hooks/api/useLocal.tsx","screens/oar/weekly_activity/ReportingFormSections.style.tsx","components/shared/inputs/control/GoogleMaps.tsx","components/shared/inputs/control/ControlGoogleLocation.tsx","components/shared/inputs/control/ControlNumberInput.tsx","components/shared/inputs/control/ControlSingleSelect.tsx","screens/oar/weekly_activity/CurrentCampaignForm.tsx","screens/oar/weekly_activity/ReportingForm.tsx","screens/oar/weekly_activity/ReportingFormSectionsScreen.tsx","screens/oar/weekly_activity/WeeklyActivityListScreen.style.tsx","components/oar/forms/CardItem.tsx","components/oar/forms/WeekRoute.tsx","components/oar/forms/WeekTab.tsx","components/oar/forms/FormList.tsx","screens/oar/weekly_activity/WeeklyActivityListScreen.tsx","screens/oar/campaigns/CampaignListScreen.style.tsx","components/oar/campaigns/CampaignListItem.style.tsx","screens/oar/campaigns/CampaignListScreen.tsx","components/oar/reports/ReportListItem.tsx","screens/oar/reports/ReportListScreen.tsx","components/shared/CustomTabView.tsx","components/oar/agents/AgentsGrid.style.tsx","components/oar/campaigns/CampaignInfoSection.tsx","screens/oar/campaigns/CampaignDetailsScreen.style.tsx","components/oar/campaigns/CardTotal.tsx","components/oar/campaigns/CampaignOverview.tsx","components/oar/campaigns/OverviewTab.tsx","navigation/oar/OARBottomTabNavigation.tsx","components/shared/inputs/control/ControlWeekDatePicker.tsx","screens/oar/weekly_activity/AddReportingFormScreen.tsx","screens/oar/campaigns/AddLocalScreen.tsx","screens/oar/campaigns/CampaignInputForm.tsx","screens/oar/campaigns/CampaignInputDetails.tsx","screens/oar/weekly_activity/ViewPdfScreen.tsx","navigation/oar/OARNavigation.tsx","screens/root/home/ActivityAgentScreen.tsx","navigation/root/rootNavigation.tsx","App.tsx","assets/wave-background.png","assets/golinks/Office365-OWA.png","assets/golinks/Einfo.png","assets/golinks/Crystal-Reports.png","assets/golinks/SharePoint365.png","assets/golinks/ADP.png","assets/golinks/LocalsSharePoint.png","assets/golinks/Fidelity.png","assets/golinks/Mimecast.png","assets/lm2-switcher.png","webpack:////home/jsheely/Projects/UFCW/UFCW.Organizing.Oar.Client/components/shared/inputs/control/ControlWeekDatePicker.css?af01","components/shared/inputs/control/ControlWeekDatePicker.css","assets/splash.png"],"names":["module","exports","api","ky","extend","prefixUrl","Constants","manifest","extra","apiUrl","timeout","headers","Authorization","hooks","afterResponse","_request","_options","response","status","updateApiToken","token","toUTC","date","subMinutes","getTimezoneOffset","jsonParse","toParse","JSON","parse","e","fromUTC","dt","dateStr","toUpperCase","test","endsWith","localDate","substring","length","parseISO","Date","newDate","toDate","numberWithCommas","x","toString","replace","queryClient","QueryClient","defaultOptions","queries","queryFn","queryKey","get","json","window","createQuery","getQueryKey","fn","queryHook","guidGenerator","S4","Math","random","getLocalsAndRegions","createAsyncThunk","a","async","locals","keyBy","localSlice","createSlice","name","initialState","reducers","extraReducers","builder","addCase","fulfilled","state","action","payload","addCampaign","campaign","post","updateCampaign","thunkAPI","id","dispatch","getCampaignAgentsWithStats","then","unwrapResult","camp","agentIds","leadAgentIds","getCampaigns","campaigns","data","getCampaignOverview","campaignId","notes","isLive","campaignOverviewStats","searchValue","filters","region","local","reportStartDate","reportDueDate","agentWithNames","map","cloneDeep","agent","firstName","lastName","agentStats","getCampaignAgents","agentCampaigns","flatMap","filter","deleteCampaign","delete","updateStatus","assignAgents","agentsWithStats","getCallsMade","callsMade","campaignSlice","selectedCampaignId","campaignAgentsWithStats","campaignAgents","setSelectedCampaignId","reports","selectedReportId","undefined","weeklyActivityStats","createNewReport","report","getReports","getReportById","reportId","reportSlice","LocalStorageKey","createWeeklyReport","weeklyActivity","dto","getActivityById","activityId","submitWeeklyReport","catch","console","error","message","campaignInfo","agentInfo","getActivityByWeekEndDate","reportDate","weeklyActivitySlice","actions","setReportDate","weeklyActivities","selectedActivityId","isHome","setSelectedActivityId","setIsHome","createSelector","rootState","format","Object","values","ProgramTypes","TradeDivisions","domain","auth0","user","claims","userToken","spinner","recentActivities","signIn","initUser","axios","credentials","setAuthToken","id_token","logout","AsyncStorage","clear","getUser","userId","updateUser","getAllRecentActivities","activities","setToken","formData","fetch","tokenUrl","method","body","tokenResp","tokenData","setItem","AccessToken","IdToken","Token","stringify","toggleClaims","authSlice","isLead","setClaims","setSpinner","setAllRecentActivities","r","authActions","users","usr","isAgent","phoneNumber","userName","weeks","Array","fill","lastSunday","startOfWeek","addDays","nextSunday","addWeeks","nextSaturday","subDays","_","i","key","subWeeks","toISOString","label","value","lastSaturday","title","reverse","electionDate","differenceInCalendarDays","startDate","endDate","start","end","eachWeekOfInterval","agents","selectedAgentId","reportOptions","agentSearch","getAgents","agentsWithNames","getAgentCampaigns","agentId","AgentService","getUserName","AddNewAgent","doc","email","includes","query","DateService","getNextSaturday","getBeginningOfTheWeek","searchAgents","getAgentActivityForms","sorted","sort","b","getTime","assignCampaigns","campaignIds","c","getAgentById","concat","responseWithName","getReportOptions","getWeeklyActivityReportsByAgentId","agentSlice","setAgentSearch","projectsWorked","workingLm2","selectedLM2FormId","rejectForm","lm2FormId","isLm2Valid","weekEndingDate","lm2Slice","setProjectsWorked","setPartialLM2Form","clearLm2Form","setSelectedLM2FormId","lm2Reducer","reducer","lm2Actions","combineReducers","middleware","getDefaultMiddleware","store","configureStore","rootReducer","useTypedSelector","createSelectorHook","useAppDispatch","useDispatch","prefixes","Linking","config","screens","Home","Splash","Account","GoScreen","OAR","path","ReportingFormAdd","CampaignAdd","CampaignInputDetails","ReportingFormSections","EditCampaign","AssignAgents","AgentDetails","Tabs","MyForms","WeeklyFormsScreen","Agents","AgentsScreen","Campaigns","CampaignsScreen","CampaignDetails","CampaignDetailsScreen","Reports","ReportListScreen","LM2","LM2New","LM2Categories","LM2Projects","LM2ProjectsPercentages","LM2ReadOnly","MyLM2List","MyLM2","WeeklyLM2FormsScreen","Search","SearchLM2Screen","NotFound","Button","buttonText","buttonType","onPress","buttonStyle","loading","TouchableOpacity","style","styles","primaryButton","accessibilityIgnoresInvertColors","disabled","ActivityIndicator","activityIndicatorLarge","color","Text","primaryButtonText","secondaryButton","outlinedButton","sideButtonContinue","size","activityIndicatorSmall","sideButtonText","sideButton","sideButtonDanger","sideButtonOutline","View","StyleSheet","create","transform","scale","marginTop","Platform","OS","marginBottom","backgroundColor","borderWidth","borderColor","borderRadius","padding","margin","textAlign","alignItems","width","fontSize","fontWeight","letterSpacing","secondaryButtonText","paddingTop","paddingBottom","paddingLeft","paddingRight","alignContent","AndroidSafeArea","flex","bgImage","resizeMode","justifyContent","height","checkBox","textInput","shadowColor","shadowOpacity","shadowOffset","elevation","section","safeArea","display","flexDirection","workingAmerica","textTransform","logo","buttonContainer","appTitle","coverBottomBg","StatusBar","currentHeight","position","bottom","client_id","clientId","maybeCompleteAuthSession","AppName","useState","setEmail","navigation","useNavigation","useEffect","navigate","redirectUri","makeRedirectUri","native","discovery","useAutoDiscovery","useAuthRequest","scopes","extraParams","prompt","Prompt","Login","responseType","ResponseType","Code","request","promptAsync","Animated","Value","leftOffset","emailRef","useRef","hideEmail","timing","toValue","duration","useNativeDriver","Keyboard","dismiss","loginAsync","resp","type","code","params","URLSearchParams","grant_type","redirect_uri","code_verifier","codeVerifier","log","marginLeft","marginRight","ImageBackground","source","require","SafeAreaView","zIndex","KeyboardAvoidingView","behavior","Image","left","Dimensions","translateX","current","focus","paddingHorizontal","TextInput","placeholder","ref","onChangeText","text","keyboardType","returnKeyType","onSubmitEditing","headerBar","fontFamily","menuList","menuBackgroundWrapper","menuBackground","centeredView","modalView","shadowRadius","closeButton","top","opacity","openButton","textStyle","modalText","topImage","menuIcon","menuButton","menuItemText","menuItemDivider","borderTopColor","borderTopWidth","menuFooter","menuFooterText","MainMenu","setMenuVisible","handleLogout","setTimeout","intensity","tint","Icon","icon","some","screen","ShareExample","Appbar","Action","hasTVPreferredFocus","tvParallaxProperties","Share","share","url","result","sharedAction","activityType","dismissedAction","alert","isSliderValid","sliderTotal","Alert","cancelable","TTDialog","containerStyle","showDialog","visible","setVisible","hideDialog","Portal","Dialog","onDismiss","maxWidth","alignSelf","Title","Content","Paragraph","Actions","Modal","content","children","menuBoxItem","appbarContentTitle","appbarContentSubTitle","ContentTitle","props","counter","setCounter","count","_handleOnPress","subject","confirm","TTAlert","subTitle","appbarContentWrapper","resizeMethod","useGetActivityByWeekEndDate","additionalKey","useQuery","useGetWeeklyReport","options","useGetActivityReports","Status","useGetCampaigns","useCreateCampaignMutation","onSuccess","useMutation","invalidateQueries","useGetCampaignById","useIsUserCampaignLeadAgent","useAssignedAgents","ConfirmDialog","cancelText","confirmText","onConfirm","onCancel","aria-labelledby","aria-describedby","DialogTitle","DialogContent","DialogContentText","DialogActions","onClick","sx","autoFocus","MenuBox","isMenuBoxOpen","setIsMenuBoxOpen","useRoute","isConfirmDialogOpen","setIsConfirmDialogOpen","find","dialogContent","setDialogContent","typeOfActions","setTypeOfActions","deleteCampaignMutation","useDeleteCampaignMutation","toast","success","campaignName","iconTheme","primary","secondary","updateCampaignMutation","Menu","contentStyle","anchor","open","mutate","updatedCampaign","ACTIVE","INACTIVE","blob","URL","file","createObjectURL","ReportMenuBox","React","menuItem","isFullForm","form","hasOwnProperty","useLm2FormMutation","useLM2Forms","useLM2Programs","useLM2Users","useLM2User","getLM2ProgramByLM2Id","lm2Id","useLM2ByUserId","useGetLM2Form","formId","LM2FormMenuBox","res","setQueryData","old","newForms","o","goBack","MainAppBar","titleBar","leftButton","rightButton","rightItemType","rightItemOnPress","menuVisible","menuDisplay","_handleAdd","acctButton","history","back","transparent","animationType","Header","inputIOS","paddingVertical","inputAndroid","inputWeb","wrapper","this","getAllStates","getCanadianProvidences","container","EditProfile","toggle","useForm","handleSubmit","control","errors","formState","profileHeader","charAt","notificationItemTitleText","city","formValues","ScrollView","tabContentWrapper","tabContent","profileRow","profileRowLabel","globalStyles","editable","rules","required","defaultValue","render","field","onChange","returnKeyLabel","address1","pickerSelectStyles","onValueChange","items","AccountService","getUnitedStatesAndCanadaStates","itemKey","borderBottomWidth","zipCode","bold","notificationItem","borderBottomColor","notificationItemTitle","notificationItemDescriptionText","right","formRow","inputContainer","ProfileDetails","Profile","editMode","setEditMode","overflow","emptyIcon","buttonHolder","borderTopLeftRadius","borderTopRightRadius","tabWrapper","scene","EmptyState","emptyText","emptyDescription","iconName","fullHeight","topOffset","insets","useSafeAreaInsets","minHeight","lineHeight","Notifications","initialLayout","AccountScreen","index","setIndex","renderScene","SceneMap","profile","notifications","navigationState","routes","onIndexChange","renderTabBar","indicatorStyle","indicatorContainerStyle","tabStyle","renderLabel","route","focused","minWidth","_handleUFCWorgLink","openURL","_handleLocalSharePointLink","TouchableHighlight","flexWrap","AddContainer","subtitle","_handleSubmit","isLoading","darkBg","topDarkBg","maxHeight","addFormContainer","bounces","keyboardShouldPersistTaps","webWrapper","TouchableWithoutFeedback","addFormBottomBar","bottomWhiteBg","borderTopStartRadius","borderTopEndRadius","ControlSlider","sliderColor","handleFinish","categoryRow","sliderResultWrapper","sliderResult","sliderResultLabel","val","minimumValue","maximumValue","step","onSlidingComplete","minimumTrackTintColor","maximumTrackTintColor","thumbTintColor","ControlFlatTextInput","_onBlur","maxNumber","errorMessage","errName","errorMsg","max","flexGrow","addFormLabel","outlineColor","toLowerCase","onEndEditing","nativeEvent","fieldLabel","fieldInput","AddLM2ReportingFormScreen","onError","showAlert","upsertForm","setShowDialog","showLm2Failed","setShowLm2Failed","watch","getValues","setValue","showCampaignsPage","setShowCampaignsPage","sliderValues","isSliderWebValid","percentageTotal","handleSave","daysWorked","parseInt","handleIsLM2Unique","reduce","acc","Number","totalColor","fontColor","representation","total","amount","currentVal","headingText","sectionHeader","formLabel","categoryFooter","percentageTotalContainer","isNaN","footContainer","Switch","ReadOnlyTitle","select","begining","getDate","DaysWorked","heading","ballsContainer","num","selectedBalls","unSelectedBalls","Programs","programs","isFetching","contentContainer","keyExtractor","refreshing","renderItem","item","unitSeperator","program","tradeDivision","programName","widthContainer","percentage","middle","footer","CategoryBars","categories","representative","political","union","admin","contribution","overhead","borderRightWidth","CategoryList","conttent","footContent","spacing","row","rowContainer","rowSpacing","rowLine","rowContent","borderStyle","Spinner","horizontal","LM2ReadOnlyScreen","scrollContainer","dateSubmitted","addFormBottomFill","LM2FormCategoriesScreen","sliderOneValue","sliderTwoValue","sliderThreeValue","sliderFourValue","sliderFiveValue","setPercentageTotal","formFrame","stickyHeaderIndices","sliderContainer","contentWrapper","sectionHeaderText","formDivider","formFrameInnter","comments","sectionSubHeaderText","lowerSectionWrapper","categoryLabel","textWrapper","subHeaderContainer","searchBox","headerTextContainer","headerText","addHeaderLeft","addButton","addedButton","listItem","listItemTitle","listItemDesc","itemTitle","itemSideAction","itemDescription","ButtonAssign","handleOnPress","isCheck","ProjectItem","isSelected","onAssignClick","LM2FormProjectsScreen","isLoadingPrograms","selectedPrograms","setSelectedPrograms","beginingOfTheWeek","animating","FlatList","newPrograms","progId","LM2CardItem","cardEntry","checkmark","bottomProgressBg","reProgress","adProgress","ovProgress","poProgress","coProgress","cardsWrap","formCard","cardTitleText","week","startDay","endDay","startMonth","endMonth","getTitle","cardLocationText","formList","formFooter","bottomProgress","compareDesc","refetch","deleteLM2","useDeleteLM2Mutation","remoteItem","TTConfirmation","LogBox","ignoreLogs","ListEmptyComponent","onRefresh","ListFooterComponent","Swipeable","renderRightActions","MainBar","rightButtonType","rightButtonOnPress","leftButtonType","enabled","LM2FormListScreen","handleNavigation","SectionSwitcher","StatHeaderItem","statItem","headerContainer","nameButtonText","campaignText","dateUpdated","rowChevronWrapper","rowChevron","statHeaderItem","UserSearchBar","setUsers","searchString","setSearchString","filteredCampaigns","Searchbar","autoCompleteType","inputStyle","iconColor","placeholderTextColor","SearchScreen","u","setUsrs","allUsers","usrs","mainContentBg","showsVerticalScrollIndicator","BottomTab","createBottomTabNavigator","LM2BottomTabNavigator","modalVisible","setModalVisible","Navigator","initialRouteName","tabBarOptions","activeTintColor","inactiveTintColor","labelStyle","iconStyle","Screen","component","TabLM2WeeklyFormsNavigator","tabBarIcon","TabBarIcon","TabSwitcherNavigator","listeners","tabPress","preventDefault","tabBarLabel","TabSearchNavigator","WeeklyLM2FormsStack","createStackNavigator","headerShown","SwitcherStack","SearchStack","SvgComponent","viewBox","stroke","strokeWidth","strokeLinecap","strokeDasharray","strokeDashoffset","d","TTSnackBar","isVisible","isError","Haptics","Snackbar","wrapperStyle","theme","colors","accent","fonts","regular","medium","light","thin","LM2FormProjectsPercentagesScreen","createForm","onToggleSnackBar","setIsVisible","totalPercentage","projId","project","prog","programPercentages","keys","push","programId","programsWorked","MyLM2ListScreen","forms","LM2Stack","LM2Navigator","mode","screenOptions","LM2ReportingFormScreen","ControlTextInput","useController","onBlur","TextField","target","checkedIcon","ControlMultiSelectWeb","classes","makeStyles","createStyles","formControl","noLabel","inputLabel","inputBox","useStyles","isComboboxOption","opt","Autocomplete","multiple","freeSolo","className","getOptionLabel","_e","renderInput","variant","InputLabelProps","shrink","renderOption","option","selected","Checkbox","checked","ControlMultiSelect","_onChange","selectedItems","AddAgentScreen","setIsLoading","handleSuccess","handleError","AgentDetailsContainer","child","elemWidth","overlayWrapper","webContainer","headerWrapper","header","descText","close","cardScrollContainer","campaignsList","logHeaderList","logFirstHeaderCell","logHeaderCellTextBold","logHeaderCellText","bottomButtonContainer","bottomButton","borderRightColor","bottomButtonText","listItemCampaign","listItemCampaignTitle","listItemCampaignDescription","menuHolder","statScroll","listItemForm","listItemFormTitle","listItemFormDescription","logHeaderCell","NoData","AgentStatRow","stat1","stat2","stat3","stat4","stat5","stat6","stat7","stat8","stat9","stat10","stat11","stat12","stat13","stat14","stat15","stat16","stat17","stat18","rowId","bgRowColors","WeeklyLogTab","weeklyLogs","showsHorizontalScrollIndicator","petitionsTotalHomeCalls","petitionsTotalMeetings","petitionsTotalParkingLot","petitionsTotalOther","totalAttemptedContactsHomeCalls","totalAttemptedContactsPhoneCalls","totalAttemptedContactsParkingLot","totalAttemptedContactsOther","totalCompletedContactsHomeCalls","totalCompletedContactsPhoneCalls","ListHeaderComponent","useGetAgents","useGetCampaignAgentsWithStats","useGetAgentCampaigns","useGetWeeklyActivityReportsByAgentId","useGetAgentActivityForms","ActivityFormsTab","isFormLoading","setIsFormLoading","activityDescriptions","activity","description","_handleViewButtonPress","CampaignsTab","localNumber","AgentsCard","isFocus","totalCards","isCampaignLoading","refetchCampaigns","isWeeklyLogsLoading","refetchWeeklyLogs","useMemo","whiteSpace","AgentDetailsScreen","scrollView","setPosition","scrollTo","y","animated","onChangeIndex","AssignCampaignsScreen","webBg","webContain","AgentSearchBar","AssignAgentsScreen","assignedAgents","localAssignAgents","setLocalAssignAgents","setSearchValue","assignAgentsMutation","useAssignAgentsMutation","handleSearchFilter","useCallback","ag","ControlDatePicker","fieldState","shouldDisableDate","minDate","rest","FormControl","LocalizationProvider","dateAdapter","AdapterDateFns","DesktopDatePicker","inputFormat","helperText","CustomSelect","optionName","filterOptions","slimProps","innerOptionLabel","createFilterOptions","matchFrom","limit","renderProps","Label","CampaignForm","agentCampaignDtos","leadAgent","defaultEndDate","setFullYear","getFullYear","defaultValues","formValue","mutateAsync","validate","trim","isBefore","ids","v","AddCampaignScreen","EditCampaignScreen","isLoadingAgents","marginVertical","marginHorizontal","webScroll","sectionTitleText","formSection","formFrameInner","rowSpacer","webMaxWidth","StickyHeader","isSecondaryButton","_handleSecondaryButton","viewRef","setWidth","getInnerViewNode","offsetWidth","formContainer","buttonHolderBg","ControlTextArea","inputStyles","multiline","textAlignVertical","CampaignNotesForm","addNotesMutation","useAddNotesMutation","CampaignNotesScreen","AddReportScreen","CardsOverTimeChart","mainChartWrapper","callContainer","chartOuterOverlay","chartInnerOverlay","labels","datasets","calls","withVerticalLines","yAxisLabel","yAxisInterval","yLabelsOffset","chartConfig","backgroundGradientFrom","backgroundGradientTo","decimalPlaces","labelColor","propsForDots","propsForBackgroundLines","statRow","statCell","statCellText","reportHeader","chartWrap","statsWrap","statsHeaderScroll","statsHeader","statsHeaderCell","statsHeaderCellText","ReportDetailsScreen","fontStyle","regions","dateFrom","dateTo","PdfScreen","pdfSource","uri","jsonValue","getItem","ReportingFormCategoriesScreen","popToTop","WeeklyActivityService","merged","merge","useGetLocals","localId","TTinputContainer","sectionContainer","inputRowContainer","singleField","doubleFields","doubleFieldsInline","fullWidthField","textLabel","autocompleteService","GoogleMaps","inputValue","setInputValue","setOptions","loaded","types","document","querySelector","src","script","createElement","setAttribute","appendChild","loadScript","throttle","callback","getPlacePredictions","input","componentRestrictions","country","active","google","maps","places","AutocompleteService","results","newOptions","inputFieldRef","autocomplete","includeInputInList","filterSelectedOptions","newValue","opts","googleData","onInputChange","newInputValue","reason","inputRef","fullWidth","matches","structured_formatting","main_text_matched_substrings","parts","main_text","match","offset","Grid","Box","LocationOnIcon","mr","xs","part","highlight","Typography","secondary_text","ControlGoogleLocation","textError","ControlNumberInput","borderBottomRightRadius","borderBottomLeftRadius","borderLeftWidth","TouchableRipple","addButtonContainer","disabledButton","addButtonWrap","userSelect","ControlSingleSelect","menuItems","Select","MenuItem","CurrentCampaignForm","draftCampaignDetails","InputLabel","ReportingForm","updateWeeklyReport","useUpdateWeeklyReportMutation","useSubmitWeeklyReportMutation","trigger","useWatch","dayjs","isAfter","useFieldArray","activityFields","fields","appendActivity","append","removeActivity","remove","cityFields","appendCity","removeCity","locationsFields","appendLocations","removeLocation","handleFormatAPI","cities","cityName","locations","location","address","handleSaveOnChange","debounce","Ionicons","Colors","grey500","textDecorationLine","clearOnBlur","localeCompare","isOptionEqualToValue","ReportingFormSectionsScreen","isWeeklyActivityLoading","CardItem","activityDTO","showDeleteModal","setShowDeleteModal","deleteActivityMutation","useDeleteWeeklyReportMutation","WeekRoute","addNewActivity","slice","dateCreated","refreshControl","RefreshControl","contentContainerStyle","WeekTab","isPartialActivity","isSubmittedActivity","fadeAnim","easing","Easing","out","ease","Pressable","FormList","dates","setDates","selectedDate","setSelectedDate","checkPartialReportDate","formattedDate","checkSubmittedReportDate","getPreviousSevenDaysIntervalTab","initialScrollIndex","background","getItemLayout","WeeklyActivityListScreen","campaignTitle","campaignLocation","campaignItemWrapper","campaignItemBottom","campaignItemProgressBg","campaignItemProgress","campaignProgressText","reportListButton","reportName","reportFilters","reportItemChevron","reportListWrapper","reportList","statHeaderRow","statHeaderCell","statHeaderCellText","nameButton","nameChevron","statHeaderWrapper","verticalScroller","statNamesList","campaignDetailsRow","campaignDetailsWrap","campaignDetailsText","contentFooter","tabContainer","scrollWrapper","statText","divider","subHeaderText","topStats","topLeftStat","dayBox","dayText","dayLabelText","topRightStat","smallChartWrapper","statSectionWrapper","statSectionHeader","statSectionHeaderText","statSectionSubHeaderText","statSectionRow","statItemText","statItemLabelText","statSectionDivider","statSectionSubSectionHeader","WeeklyFormsStack","TabWeeklyFormsNavigator","isBetween","CustomPickersDay","styled","PickersDay","shouldForwardProp","prop","dayIsBetween","isFirstDay","isLastDay","borderTop","borderBottom","borderLeft","borderRight","border","ControlWeekDatePicker","AdapterDayjs","DatePicker","openTo","maxDate","endOf","renderDay","pickersDayProps","disableMargin","startOf","isSame","DialogProps","PopperProps","AddReportingFormScreen","leadUserCustom","fullName","isAgentsLoading","addWeeklyReportMutation","useAddWeeklyReportMutation","createCampaignMutation","isActivityInTheDB","setIsActivityInTheDB","onSubmit","checkIfCampaignNew","handleNewCampaign","handleExistingCampaign","createActivityReport","reportedWeeks","existingReports","lastDayOfCurrentWeek","getLatestAvailableReportDate","getDay","inActiveDays","AddLocalScreen","useCreateLocal","useCreateLocalMutation","CampaignInputForm","preElectionEvaluation","nlrbActivity","electionInfo","ballotsImpounded","CampaignInputDetailsScreen","ViewPdfScreen","cacheTime","direction","cursor","OARFormStack","OARNavigator","AgentsDetailsScreen","ActivityAgentScreen","Navigation","webPosition","NavigationContainer","linking","LinkingConfiguration","documentTitle","formatter","textContent","RootNavigator","Stack","appInsights","useAppInsightsContext","loadingAuth","setLoadingAuth","setIsError","jwt","tokenJson","decoded","jwt_decode","warn","Error","trackException","exception","initAuth","href","cardOverlayEnabled","cardStyle","animationEnabled","browserHistory","createBrowserHistory","reactPlugin","ReactPlugin","ApplicationInsights","instrumentationKey","enableAutoRouteTracking","extensions","extensionConfig","identifier","loadAppInsights","createTheme","adaptV4Theme","palette","main","overrides","MuiPaper","root","MuiChip","MuiSelect","outlined","MuiAutocomplete","MuiFormLabel","MuiOutlinedInput","boxShadow","notchedOutline","MuiFormControl","App","client","AppInsightsContext","Provider","StyledEngineProvider","injectFirst","ThemeProvider","__esModule","default","___CSS_LOADER_API_IMPORT___"],"mappings":"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","file":"static/js/app.32890d62.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/ufcw-logo.e4fe5fbb.png\";","module.exports = __webpack_public_path__ + \"static/media/ADP-WN.f497d673.png\";","import ky from \"ky\";\nimport Constants from \"expo-constants\";\nimport { parse, parseISO, subMinutes, toDate } from \"date-fns\";\nimport { endsWith } from \"lodash\";\nimport {\n QueryClient,\n QueryFunction,\n QueryKey,\n QueryObserverResult,\n UseQueryOptions,\n} from \"react-query\";\n\nconst jwt = \"\";\n\nexport let api = ky.extend({\n prefixUrl: Constants.manifest.extra.apiUrl + \"/api\",\n timeout: 1 * 60 * 1000, // 1 minute\n headers: {\n Authorization: jwt ? `Bearer ${jwt}` : \"\",\n },\n hooks: {\n afterResponse: [\n (_request, _options, response) => {\n if (response.status === 401) {\n // TODO: handle 401s here\n }\n },\n ],\n },\n});\n\nexport function updateApiToken(token: string) {\n api = api.extend({\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n}\n\nexport function toUTC(date: Date) {\n var utcDate = subMinutes(date, date.getTimezoneOffset());\n return utcDate;\n}\n\nexport function jsonParse(toParse: string): T | undefined {\n try {\n return JSON.parse(toParse);\n } catch (e) {\n return undefined;\n }\n}\n\nexport function fromUTC(date: string | number | Date) {\n let dt: Date;\n // If a date is a string, we gotta do some gymnastics...\n if (typeof date === \"string\") {\n const dateStr = date.toUpperCase();\n\n // If there is no time, assume it's a date\n if (/[0-9-]{10}T0{2}:0{2}:0{2}/i.test(dateStr)) {\n // If it's a UTC time, make it local\n if (endsWith(dateStr, \"Z\")) {\n const localDate = dateStr.substring(0, dateStr.length - 1);\n dt = parseISO(localDate);\n } else {\n dt = parseISO(dateStr);\n }\n // otherwise, let it be parsed as local\n\n // If it's utc, we don't need to do anything, since it should parse fine\n } else if (endsWith(dateStr, \"Z\")) {\n dt = parseISO(dateStr);\n } else if (/\\d{2}\\/\\d{2}\\/\\d{4}/.test(dateStr)) {\n const newDate = parse(dateStr, \"MM/dd/yyyy\", new Date());\n dt = newDate;\n }\n // otherwise, if we get a time that doesn't have a Z, assume it's local\n else {\n const newDate = parseISO(date);\n dt = subMinutes(newDate, new Date().getTimezoneOffset());\n }\n }\n // If it's a number or a Date, we'll assume that the client has already done the right thing\n else {\n dt = toDate(date);\n }\n\n return dt;\n}\n\nexport const numberWithCommas = (x: number) => {\n return x?.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n};\nexport const defaultQueryfunction: QueryFunction = async ({ queryKey }) => {\n const response = await api.get(`${queryKey}`).json();\n return response;\n};\nexport const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n queryFn: defaultQueryfunction,\n // staleTime: 60 * 1000,\n // cacheTime: 60 * 60 * 1000,\n },\n },\n});\n\n(window as any)[\"queryClient\"] = queryClient;\n\ninterface QueryProperties {\n queryKey: string;\n}\n\nexport type QueryFnParams<\n TQueryKey = QueryKey,\n TData = unknown,\n TError = unknown,\n TSelectorData = unknown\n> = {\n additionalKey?: TQueryKey;\n options?: UseQueryOptions;\n};\n\nexport type QueryFn = <\n TSelectorData = TData,\n TError = TQError\n>(\n params?: QueryFnParams\n) => QueryObserverResult;\n\n/**\n * Create a useQuery function.\n * @param getQueryKey\n * @param fn\n */\n\n// maybe change this for a more stable one\nexport const createQuery = <\n TData extends unknown,\n TAdditionalQueryKey = undefined\n>(\n getQueryKey: (() => string) | string,\n fn: (queryKey: string) => QueryFn\n) => {\n const queryKey =\n typeof getQueryKey === \"string\" ? getQueryKey : getQueryKey();\n const queryHook = fn(queryKey) as ReturnType & QueryProperties;\n queryHook.queryKey = queryKey;\n\n return queryHook;\n};\n\nexport const guidGenerator = (): string => {\n var S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return (\n S4() +\n S4() +\n \"-\" +\n S4() +\n \"-\" +\n S4() +\n \"-\" +\n S4() +\n \"-\" +\n S4() +\n S4() +\n S4()\n );\n};\n","import { keyBy } from \"lodash\";\nimport { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { api } from \"../../../system/utils\";\nimport { Local } from \"./Local\";\n\ntype Props = {\n locals: {\n [localId: number]: Local;\n };\n};\n\nconst initialState: Props = {\n locals: {},\n};\n\nexport const getLocalsAndRegions = createAsyncThunk(\n \"local/getLocalsAndRegions\",\n async () => {\n const locals: Local[] = await api.get(\"oar/local/locals\").json();\n return keyBy(locals, \"id\");\n }\n);\n\nexport const localSlice = createSlice({\n name: \"local\",\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n return builder.addCase(getLocalsAndRegions.fulfilled, (state, action) => {\n state.locals = action.payload;\n });\n },\n});\n","import { CallMadeDTO } from \"./../weekly_activity/WeeklyActivityTypes\";\nimport { AgentCampaign, AgentWithStats, User } from \"./../agents/agentTypes\";\nimport {\n createAsyncThunk,\n createSlice,\n PayloadAction,\n unwrapResult,\n} from \"@reduxjs/toolkit\";\nimport {\n AddCampaignDTO,\n Campaign,\n CampaignDTO,\n CampaignOverviewStats,\n Status,\n} from \"./campaignTypes\";\nimport { api } from \"../../../system/utils\";\nimport { cloneDeep, keyBy } from \"lodash\";\n\ninterface CampaignSliceTypes {\n selectedCampaignId: number;\n campaigns: {\n [campaignId: number]: CampaignDTO;\n };\n campaignAgentsWithStats: {\n [campaignId: number]: {\n [agentId: number]: AgentWithStats;\n };\n };\n agentsWithStats: {\n [agentId: number]: AgentWithStats;\n };\n campaignOverviewStats: {\n [campaignId: number]: CampaignOverviewStats;\n };\n campaignAgents: AgentCampaign[];\n callsMade: {\n [campaignId: number]: CallMadeDTO[];\n };\n}\n\nconst initialState: CampaignSliceTypes = {\n selectedCampaignId: 0,\n campaigns: {},\n campaignAgentsWithStats: {},\n agentsWithStats: {},\n campaignOverviewStats: {},\n campaignAgents: [],\n callsMade: {},\n};\n\nexport const addCampaign = createAsyncThunk(\n \"campaign/add\",\n async (campaign: Campaign) => {\n const response: CampaignDTO = await api\n .post(\"oar/campaign\", {\n json: campaign,\n })\n .json();\n return response;\n }\n);\nexport const updateCampaign = createAsyncThunk(\n \"campaign/update\",\n async (campaign: AddCampaignDTO, thunkAPI) => {\n const response = await api\n .post(`oar/campaign/${campaign.id}`, {\n json: campaign,\n })\n .json();\n await thunkAPI\n .dispatch(getCampaignAgentsWithStats(campaign.id))\n .then(unwrapResult);\n\n const camp: CampaignDTO = { ...response, agentIds: [], leadAgentIds: [] };\n return camp;\n }\n);\nexport const getCampaigns = createAsyncThunk(\n \"campaign/getCampaigns\",\n async () => {\n const campaigns: CampaignDTO[] = await api.get(\"oar/campaign\").json();\n const data = keyBy(campaigns, \"id\");\n return data as {\n [campaignId: number]: CampaignDTO;\n };\n }\n);\n\nexport const AddNotes = createAsyncThunk(\n \"campaign/addNotes\",\n ({ campaignId, notes }: { campaignId: number; notes?: string }) => {\n api.post(`oar/campaign/${campaignId}/notes`, {\n json: notes,\n }).json;\n\n return { campaignId, notes };\n }\n);\n\nexport const getCampaignOverview = createAsyncThunk(\n \"campaign/getCampaignOverview\",\n async ({ campaignId, isLive }: { campaignId: number; isLive: boolean }) => {\n const response: CampaignOverviewStats = await api\n .get(\n `oar/campaign/${campaignId}/overview/?includeUnsubmittedReports=${isLive}`\n )\n .json();\n\n return {\n campaignId,\n campaignOverviewStats: response,\n };\n }\n);\n\nexport const getCampaignAgentsWithStats = createAsyncThunk(\n \"campaign/getCampaignAgentsWithStats\",\n async (campaignId: number) => {\n const response: AgentWithStats[] = await api\n .post(\"oar/agent/search\", {\n json: {\n searchValue: \"\",\n filters: {\n region: [],\n local: [],\n campaignId: [campaignId],\n reportStartDate: null,\n reportDueDate: null,\n },\n },\n })\n .json();\n\n const agentWithNames = response.map((a) => {\n const data = cloneDeep(a);\n data.agent.name = `${a.agent.firstName} ${a.agent.lastName}`;\n return data;\n });\n\n const agentStats = keyBy(agentWithNames, \"agent.id\");\n\n return {\n campaignId,\n agentStats,\n };\n }\n);\n\nexport const getCampaignAgents = createAsyncThunk(\n \"campaign/getCampaignAgent\",\n async (campaign: Campaign) => {\n const response: User[] = await api\n .get(`oar/campaign/${campaign.id}/agents`)\n .json();\n\n const agentCampaigns: AgentCampaign[] = response\n .flatMap((a) => a.agentCampaigns)\n .filter((a) => a.campaignId === campaign.id);\n\n return agentCampaigns;\n }\n);\n\nexport const deleteCampaign = createAsyncThunk(\n \"campaign/delete\",\n (campaignId: number) => {\n api.delete(`oar/campaign/${campaignId}`);\n return campaignId;\n }\n);\n\nexport const updateStatus = createAsyncThunk(\n \"campaign/updateStatus\",\n ({ campaignId, status }: { campaignId: number; status: string }) => {\n api.post(`oar/campaign/${campaignId}/status`, {\n json: status,\n });\n return {\n campaignId: campaignId,\n status: status,\n };\n }\n);\n\nexport const assignAgents = createAsyncThunk(\n \"campaign/assign\",\n async ({\n campaign,\n agentsWithStats,\n }: {\n campaign: Campaign;\n agentsWithStats: AgentWithStats[];\n }) => {\n const agentIds = agentsWithStats.map((a) => a.agent.id);\n await api.post(`oar/campaign/${campaign.id}/assign`, {\n json: agentIds,\n });\n return {\n campaignId: campaign.id,\n agentStats: agentsWithStats,\n };\n }\n);\n\nexport const getCallsMade = createAsyncThunk(\n \"campaign/getCallsMade\",\n async (campaignId: number) => {\n const callsMade = await api\n .get(`oar/campaign/${campaignId}/getCallsMade`)\n .json();\n return {\n campaignId,\n callsMade,\n };\n }\n);\n\nexport const campaignSlice = createSlice({\n name: \"campaign\",\n initialState,\n reducers: {\n setSelectedCampaignId: (\n state,\n action: PayloadAction<{ campaignId: number }>\n ) => {\n state.selectedCampaignId = action.payload.campaignId;\n },\n },\n extraReducers: (builder) => {\n builder\n .addCase(getCampaigns.fulfilled, (state, action) => {\n state.campaigns = action.payload;\n })\n .addCase(getCampaignOverview.fulfilled, (state, action) => {\n state.campaignOverviewStats[action.payload.campaignId] =\n action.payload.campaignOverviewStats;\n })\n .addCase(addCampaign.fulfilled, (state, action) => {\n state.campaigns[action.payload.id] = action.payload;\n })\n .addCase(getCampaignAgentsWithStats.fulfilled, (state, action) => {\n state.campaignAgentsWithStats[action.payload.campaignId] = keyBy(\n action.payload.agentStats,\n \"agent.id\"\n );\n })\n .addCase(deleteCampaign.fulfilled, (state, action) => {\n delete state.campaigns[action.payload];\n })\n .addCase(getCampaignAgents.fulfilled, (state, action) => {\n state.campaignAgents = action.payload;\n })\n .addCase(updateStatus.fulfilled, (state, action) => {\n state.campaigns[action.payload.campaignId].status = action.payload\n .status as Status;\n })\n .addCase(assignAgents.fulfilled, (state, action) => {\n state.campaignAgentsWithStats[action.payload.campaignId] = keyBy(\n action.payload.agentStats,\n \"agent.id\"\n );\n })\n .addCase(updateCampaign.fulfilled, (state, action) => {\n state.campaigns[action.payload.id] = action.payload;\n })\n .addCase(getCallsMade.fulfilled, (state, action) => {\n state.callsMade[action.payload.campaignId] = action.payload.callsMade;\n });\n },\n});\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { api } from \"../../../system/utils\";\nimport { AddReportDTO, Report, ReportListDTO } from \"./reportTypes\";\nimport { keyBy } from \"lodash-es\";\nimport { WeeklyActivityStats } from \"../agents/agentTypes\";\n\ntype Props = {\n reports: {\n [reportId: number]: ReportListDTO;\n };\n selectedReportId?: number;\n weeklyActivityStats: {\n [reportDate: string]: WeeklyActivityStats;\n };\n};\n\nconst initialState: Props = {\n reports: {},\n selectedReportId: undefined,\n weeklyActivityStats: {},\n};\n\nexport const createNewReport = createAsyncThunk(\n \"report/createNewReport\",\n async (report: AddReportDTO) => {\n const response: Report = await api\n .post(\"oar/report\", {\n json: report,\n })\n .json();\n\n return response;\n }\n);\n\nexport const getReports = createAsyncThunk(\"report/getReports\", async () => {\n const reports: ReportListDTO[] = await api.get(\"oar/report\").json();\n return keyBy(reports, \"id\");\n});\n\nexport const getReportById = createAsyncThunk(\n \"report/getReportById\",\n async (reportId: number) => {\n const weeklyActivityStats: WeeklyActivityStats[] = await api\n .get(`oar/report/${reportId}`)\n .json();\n\n const data = keyBy(weeklyActivityStats, \"reportDate\");\n return data;\n }\n);\n\nexport const reportSlice = createSlice({\n name: \"report\",\n initialState,\n reducers: {},\n extraReducers: (builder) =>\n builder\n .addCase(getReports.fulfilled, (state, action) => {\n state.reports = action.payload;\n })\n // .addCase(createNewReport.fulfilled, (state, action) => {\n // state.reports[action.payload.id] = action.payload;\n // })\n .addCase(getReportById.fulfilled, (state, action) => {\n state.weeklyActivityStats = action.payload;\n }),\n});\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport format from \"date-fns/format\";\nimport { api, fromUTC } from \"../../../system/utils\";\nimport { ActivityDTO, WeeklyActivity } from \"./WeeklyActivityTypes\";\nimport { createSelector } from \"reselect\";\nimport { RootState } from \"../../../store\";\nimport { keyBy } from \"lodash-es\";\n\ntype Props = {\n weeklyActivities: {\n [weeklyActivityId: number]: ActivityDTO;\n };\n reportDate: string;\n selectedActivityId: number;\n isHome: boolean;\n};\n\nconst initialState: Props = {\n weeklyActivities: {},\n reportDate: \"\",\n selectedActivityId: 0,\n isHome: false,\n};\n\nexport const createWeeklyReport = createAsyncThunk(\n \"weeklyActivity/createWeeklyReport\",\n async (weeklyActivity: WeeklyActivity) => {\n const dto = await api\n .post(\"oar/weeklyActivity/add\", {\n json: weeklyActivity,\n })\n .json();\n return dto;\n }\n);\n\nexport const getActivityById = createAsyncThunk(\n \"weeklyActivity/getActivityId\",\n async (activityId: number) => {\n const dto = await api\n .get(`oar/weeklyActivity/${activityId}`)\n .json();\n\n return dto;\n }\n);\n\nexport const updateWeeklyReport = createAsyncThunk(\n \"weeklyActivity/updateWeeklyReport\",\n async (weeklyActivity: WeeklyActivity) => {\n api\n .post(\"oar/weeklyActivity\", {\n json: weeklyActivity,\n })\n .catch((e: Error) => console.error(e.message));\n\n // return activityDTO;\n }\n);\n\nexport const submitWeeklyReport = createAsyncThunk(\n \"weeklyActivity/submitWeeklyReport\",\n async (dto: ActivityDTO) => {\n const weeklyActivity: WeeklyActivity = { ...dto };\n const response = await api\n .post(\"oar/weeklyActivity/submit\", {\n json: weeklyActivity,\n })\n .json();\n\n const data: ActivityDTO = {\n ...response,\n campaignInfo: dto.campaignInfo,\n agentInfo: dto.agentInfo,\n };\n\n return data;\n }\n);\n\nexport const getActivityByWeekEndDate = createAsyncThunk(\n \"weeklyActivity/getActivityByWeekEndDate\",\n async (reportDate: string, thunkAPI) => {\n const response: ActivityDTO[] = await api\n .post(\"oar/weeklyActivity/search\", {\n json: {\n reportDate,\n },\n })\n .json();\n\n thunkAPI.dispatch(weeklyActivitySlice.actions.setReportDate(reportDate));\n const data = keyBy(response, \"id\");\n return data as {\n [weeklyActivityId: number]: ActivityDTO;\n };\n }\n);\n\nexport const weeklyActivitySlice = createSlice({\n name: \"weeklyActivity\",\n initialState,\n reducers: {\n setReportDate: (state, action: PayloadAction) => {\n state.reportDate = action.payload;\n },\n setSelectedActivityId: (state, action: PayloadAction) => {\n state.selectedActivityId = action.payload;\n },\n setIsHome: (state, action: PayloadAction) => {\n state.isHome = action.payload;\n },\n },\n extraReducers: (builder) => {\n builder\n .addCase(getActivityById.fulfilled, (state, action) => {\n state.weeklyActivities[action.payload.id] = action.payload;\n })\n .addCase(getActivityByWeekEndDate.fulfilled, (state, action) => {\n state.weeklyActivities = action.payload;\n })\n // .addCase(updateWeeklyReport.fulfilled, (state, action) => {\n // state.weeklyActivities[action.payload.id] = action.payload;\n // })\n .addCase(submitWeeklyReport.fulfilled, (state, action) => {\n state.weeklyActivities[action.payload.id] = action.payload;\n })\n .addCase(createWeeklyReport.fulfilled, (state, action) => {\n if (typeof action.payload != \"string\") {\n state.weeklyActivities[action.payload.id] = action.payload;\n }\n });\n },\n});\n\nexport const getWeeklyActivitiesByWeek = createSelector(\n [\n (rootState: RootState) => rootState.weeklyActivitySlice.weeklyActivities,\n (rootState: RootState) => rootState.weeklyActivitySlice.reportDate,\n ],\n (weeklyActivities, reportDate): { [week: string]: ActivityDTO[] } => {\n return {\n [format(fromUTC(reportDate || new Date()), \"MM/dd/yyyy\")]:\n Object.values(weeklyActivities),\n };\n }\n);\n","export enum LocalStorageKey {\n JWT = \"jwt\",\n AccessToken = \"access_token\",\n IdToken = \"id_token\",\n Token = \"token\",\n}\n\nexport const Regions: {\n [regionId: number]: {\n id: number;\n name: string;\n };\n} = {\n 1: {\n id: 1,\n name: \"Region 1 - New England\",\n },\n 2: {\n name: \"Region 2 - Mid Atlantic\",\n id: 2,\n },\n 3: {\n name: \"Region 4 - Midwest\",\n id: 4,\n },\n 4: {\n name: \"Region 5 - South\",\n id: 5,\n },\n 5: {\n name: \"Region 6 - Midwest\",\n id: 6,\n },\n 6: {\n name: \"Region 7 - Pacific Northwest\",\n id: 7,\n },\n 7: {\n name: \"Region 8 - West\",\n id: 8,\n },\n 8: {\n name: \"Canada\",\n id: 3,\n },\n};\n\nexport const ProgramTypes = [\n \"Accretion\",\n \"Card Check\",\n \"Recognition Election\",\n \"Decert Employee\",\n \"Decert Management\",\n \"Union Security de-auth\",\n \"Alternative Election\",\n \"Other\",\n];\n\nexport const TradeDivisions = [\n \"Warehouse/Distribution\",\n \"Retail Food\",\n \"Public Sector - Government/Schools\",\n \"Professional\",\n \"Other/General Services\",\n \"Retail Non-Food or Drug Store\",\n \"Health Care\",\n \"Food Processing, Packing & Manufacturing\",\n \"Cannabis\",\n];\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport {\n AuthToken,\n Claim,\n TokenData,\n UserClaimsResponse,\n UserToken,\n} from \"./authTypes\";\nimport axios from \"axios\";\nimport { RootState } from \"../../../store\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport { api, updateApiToken } from \"../../../system/utils\";\nimport { User } from \"../../oar/agents/agentTypes\";\nimport { RecentActivityDTO } from \"../../oar/weekly_activity/WeeklyActivityTypes\";\nimport { LocalStorageKey } from \"../../../system/constants\";\nimport Constants from \"expo-constants\";\n\ninterface AuthState {\n token?: string;\n id_token?: string;\n domain: string;\n user?: User;\n claims: Claim[];\n userToken?: UserToken;\n spinner: boolean;\n recentActivities: RecentActivityDTO[];\n}\n\nconst initialState: AuthState = {\n token: undefined,\n domain: `https://${Constants.manifest.extra.auth0.domain}`,\n user: undefined,\n claims: [],\n userToken: undefined,\n spinner: false,\n recentActivities: [],\n};\n\nexport const signIn = createAsyncThunk(\"auth/signIn\", async () => {\n return \"I'm a placeholder\";\n});\n\nexport const signUp = createAsyncThunk(\"auth/signIn\", async () => {\n const response = await axios.get(\n \"https://jsonplaceholder.typicode.com/todos/1\"\n );\n return response.data;\n});\n\nexport const initUser = createAsyncThunk(\"auth/initUser\", async () => {\n const credentials = await api.get(\"user/init\").json();\n return credentials;\n});\n\nexport const setAuthToken = createAsyncThunk(\n \"auth/setAuthToken\",\n async ({ token }: AuthToken, thunkAPI) => {\n updateApiToken(token.id_token);\n try {\n await thunkAPI.dispatch(initUser());\n } catch (error) {\n console.error(error);\n }\n\n return token;\n }\n);\n\nexport const logout = createAsyncThunk<\n Promise,\n string,\n { state: RootState }\n>(\"auth/logout\", async () => {\n AsyncStorage.clear();\n});\n\nexport const getUser = createAsyncThunk(\n \"auth/getUser\",\n async (userId: number) => {\n const response = await api.get(`/user/${userId}`).json();\n return response as User;\n }\n);\n\nexport const updateUser = createAsyncThunk(\n \"auth/updateUser\",\n async (user: User) => {\n const response: User = await api\n .post(\"user\", {\n json: user,\n })\n .json();\n return response;\n }\n);\n\nexport const getUserProfile = createAsyncThunk(\n \"auth/getUserProfile\",\n async () => {\n const user = await api.get(\"user\").json();\n return user;\n }\n);\n\nexport const getAllRecentActivities = createAsyncThunk(\n \"auth/getAllRecentActivity\",\n async () => {\n const activities = await api\n .get(`user/recentActivities/${true}`)\n .json();\n\n return activities;\n }\n);\n\nexport const setToken = createAsyncThunk(\n \"auth/loginAsync\",\n async (\n { domain, formData }: { domain: string; formData: URLSearchParams },\n thunkAPI\n ) => {\n const tokenResp = await fetch(\n `${domain}/${Constants.manifest.extra.tokenUrl}`,\n {\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n method: \"POST\",\n body: formData.toString(),\n }\n );\n const tokenData: TokenData = await tokenResp.json();\n await AsyncStorage.setItem(LocalStorageKey.AccessToken, tokenData.id_token);\n await AsyncStorage.setItem(LocalStorageKey.IdToken, tokenData.id_token);\n await AsyncStorage.setItem(\n LocalStorageKey.Token,\n JSON.stringify(tokenData)\n );\n thunkAPI.dispatch(setAuthToken({ token: tokenData }));\n }\n);\n\nexport const toggleClaims = createAsyncThunk(\"auth/toggleClaims\", async () => {\n const claims = await api.get(\"user/toggleClaims\").json();\n return claims;\n});\n\nexport const isLeadAgent = createAsyncThunk(\"auth/isLeadAgent\", async () => {\n const isLead = await api.get(\"user/isLeadAgent\").json();\n return isLead;\n});\n\nexport const authSlice = createSlice({\n name: \"auth\",\n initialState,\n reducers: {\n setClaims: (state, action: PayloadAction) => {\n state.claims = action.payload;\n },\n setSpinner: (state, action: PayloadAction) => {\n state.spinner = action.payload;\n },\n setAllRecentActivities: (\n state,\n action: PayloadAction<{ userId: number }>\n ) => {\n state.recentActivities = state.recentActivities.filter(\n (r) => r.userId === action.payload.userId\n );\n },\n },\n extraReducers: (builder) => {\n builder\n .addCase(signIn.fulfilled, (state, action) => {\n state.token = action.payload;\n })\n .addCase(logout.fulfilled, (state) => {\n state.token = undefined;\n state.id_token = undefined;\n })\n .addCase(setAuthToken.fulfilled, (state, action) => {\n state.token = action.payload.id_token;\n })\n .addCase(initUser.fulfilled, (state, action) => {\n state.user = action.payload.user;\n state.claims = action.payload.claims;\n })\n .addCase(getUser.fulfilled, (state, action) => {\n state.user = action.payload;\n })\n .addCase(getAllRecentActivities.fulfilled, (state, action) => {\n state.recentActivities = action.payload;\n })\n .addCase(updateUser.fulfilled, (state, action) => {\n state.user = action.payload;\n })\n .addCase(toggleClaims.fulfilled, (state, action) => {\n state.claims = action.payload;\n });\n },\n});\n\nexport const authActions = authSlice.actions;\n","import { User } from \"./agentTypes\";\n\nclass AgentService {\n getUserName(user: User): User {\n return { ...user, name: user.firstName + \" \" + user.lastName };\n }\n\n getUserNames(users: User[]): User[] {\n return users.map((agent) => ({\n ...agent,\n name: `${agent.firstName} ${agent.lastName}`,\n }));\n }\n\n addUserFormat(user: User): User {\n const usr = { ...user };\n usr.isAgent = true;\n usr.phoneNumber = user.phoneNumber.replace(/\\D/g, \"\");\n usr.userName = `${user.firstName}${user.lastName}`;\n return usr;\n }\n}\n\nexport default new AgentService();\n","import {\n addDays,\n addWeeks,\n differenceInCalendarDays,\n eachWeekOfInterval,\n format,\n startOfWeek,\n subDays,\n subWeeks,\n} from \"date-fns\";\nimport { SingleSelectType } from \"./systemTypes\";\nimport { WeeklyActivityNavigationTabType } from \"../screens/oar/weekly_activity/WeeklyActivityTypes\";\nimport { fromUTC, guidGenerator, numberWithCommas, toUTC } from \"./utils\";\n\nclass DateService {\n getPreviousSevenDaysInterval(): SingleSelectType[] {\n const weeks = new Array(52).fill(undefined);\n const lastSunday = startOfWeek(addDays(new Date(), 7));\n const nextSunday = addWeeks(lastSunday, 1);\n const nextSaturday = subDays(nextSunday, 1);\n return weeks.map((_, i): SingleSelectType => {\n return {\n key: subWeeks(nextSaturday, i + 1).toISOString(),\n label: format(subWeeks(nextSaturday, i + 1), \"MM/dd/yyyy\"),\n value: format(subWeeks(nextSaturday, i + 1), \"MM/dd/yyyy\"),\n };\n });\n }\n\n getPreviousSevenDaysIntervalTab(): WeeklyActivityNavigationTabType[] {\n const weeks = new Array(52).fill(undefined);\n let lastSunday = startOfWeek(addDays(new Date(), 7));\n const lastSaturday = addWeeks(subDays(lastSunday, 1), 1);\n const formatedWeeks = weeks\n .map((_, i): WeeklyActivityNavigationTabType => {\n return {\n id: guidGenerator(),\n title: format(subWeeks(lastSaturday, i + 1), \"MM/d\"),\n value: toUTC(subWeeks(lastSaturday, i + 1)).toISOString(),\n };\n })\n .reverse();\n return formatedWeeks;\n }\n\n getLastSaturday(): string {\n const lastSunday = startOfWeek(new Date());\n const lastSaturday = format(\n subDays(lastSunday, 1),\n \"MM/dd/yyyy\"\n ).toString();\n return lastSaturday;\n }\n\n getBeginningOfTheWeek(reportDate: string): Date {\n return startOfWeek(fromUTC(reportDate ?? null));\n }\n\n getNextSaturday(date?: Date): string {\n const lastSunday = startOfWeek(date ? date : new Date());\n const nextSaturday = format(\n addDays(lastSunday, 6),\n \"MM/dd/yyyy\"\n ).toString();\n return nextSaturday;\n }\n\n getDaysDifference(electionDate: string): string {\n return numberWithCommas(\n differenceInCalendarDays(new Date(electionDate), new Date())\n );\n }\n\n getWeeks(startDate: string, endDate: string): Date[] {\n const start = fromUTC(startDate);\n const end = fromUTC(endDate);\n\n return eachWeekOfInterval({\n start,\n end,\n });\n }\n\n // get all the dates except saturdays\n}\n\nexport default new DateService();\n","import { keyBy } from \"lodash-es\";\nimport { Campaign } from \"./../campaigns/campaignTypes\";\nimport { WeeklyActivity } from \"./../weekly_activity/WeeklyActivityTypes\";\nimport {\n createAsyncThunk,\n createSlice,\n PayloadAction,\n unwrapResult,\n} from \"@reduxjs/toolkit\";\nimport {\n AgentSearch,\n AgentSearchFilters,\n AgentWithStats,\n User,\n WeeklyActivityStats,\n} from \"./agentTypes\";\nimport { api } from \"../../../system/utils\";\nimport _, { cloneDeep } from \"lodash\";\nimport AgentService from \"./AgentService\";\nimport DateService from \"../../../system/DateService\";\n\ntype Props = {\n agents: {\n [agentId: number]: User;\n };\n selectedAgentId?: number;\n agentsWithStats: {\n [agentId: number]: AgentWithStats;\n };\n campaigns: {\n [agentId: number]: {\n [campaignId: number]: Campaign;\n };\n };\n reportOptions: AgentSearchFilters[];\n agentSearch: AgentSearch | undefined;\n weeklyActivityStats: {\n [agentId: number]: WeeklyActivityStats[];\n };\n weeklyActivities: {\n [agentId: number]: WeeklyActivity[];\n };\n};\n\nconst initialState: Props = {\n agents: {},\n campaigns: {},\n selectedAgentId: undefined,\n agentsWithStats: {},\n reportOptions: [],\n agentSearch: undefined,\n weeklyActivities: {},\n weeklyActivityStats: {},\n};\n\nexport const getAgents = createAsyncThunk(\"agent/getAgents\", async () => {\n const agents: User[] = await api.get(\"oar/agent\").json();\n const agentsWithNames = agents.map((a) => ({\n ...a,\n name: `${a.firstName} ${a.lastName}`,\n }));\n const data = keyBy(agentsWithNames, \"id\");\n return data as {\n [agentId: number]: User;\n };\n});\n\nexport const getAgentCampaigns = createAsyncThunk(\n \"agent/getAgentCampaigns\",\n async (agentId: number) => {\n const campaigns: Campaign[] = await api\n .get(`oar/agent/${agentId}/campaigns`)\n .json();\n\n return {\n agentId,\n campaigns,\n };\n }\n);\n\nexport const agentAuthInit = createAsyncThunk(\n \"agent/agentAuthInit\",\n async () => {\n const response = await api.post(\"agent/init\", {}).json();\n return response as User;\n }\n);\n\nexport const updateUser = createAsyncThunk(\n \"agent/updateUser\",\n async (agent: User) => {\n const user: User = await api\n .post(\"oar/agent\", {\n json: agent,\n })\n .json();\n return AgentService.getUserName(user);\n }\n);\n\nexport const AddNewAgent = createAsyncThunk(\n \"agent/addNewAgent\",\n async (agent: User, thunkAPI) => {\n const doc = { ...agent };\n doc.isAgent = true;\n doc.phoneNumber = doc.phoneNumber.replace(/\\D/g, \"\");\n await api.post(\"oar/agent\", {\n json: doc,\n });\n\n if (agent.email.includes(\"ufcw\") || agent.email.includes(\"thirtytech\")) {\n const query: AgentSearch = {\n searchValue: \"\",\n filters: {\n campaignId: 0,\n local: \"\",\n region: \"\",\n reportDueDate: DateService.getNextSaturday(),\n reportStartDate: DateService.getBeginningOfTheWeek(\n DateService.getNextSaturday()\n ).toISOString(),\n },\n };\n thunkAPI\n .dispatch(searchAgents(query))\n .then(unwrapResult)\n .catch((e: Error) => console.error(\"searchAgents \" + e.name));\n }\n }\n);\n\nexport const getAgentActivityForms = createAsyncThunk(\n \"agent/getAgentActivityForms\",\n async (agentId: number) => {\n const response: WeeklyActivity[] = await api\n .get(`oar/agent/${agentId}/activityForms`)\n .json();\n const sorted = [...response]?.sort(\n (a, b) =>\n new Date(b.reportDate).getTime() - new Date(a.reportDate).getTime()\n );\n\n return {\n agentId: agentId,\n weeklyActivities: sorted,\n };\n }\n);\n\nexport const assignCampaigns = createAsyncThunk(\n \"agent/assign\",\n async ({ agent, campaigns }: { agent: User; campaigns: Campaign[] }) => {\n const campaignIds = campaigns.map((c) => c.id);\n await api.post(`oar/agent/${agent.id}/assign`, {\n json: campaignIds,\n });\n return {\n agentId: agent.id,\n campaigns,\n };\n }\n);\n\nexport const getAgentById = createAsyncThunk(\n \"agent/getAgentById\",\n async (agentId: number) => {\n const response: User = await api.get(`oar/agent/${agentId}`).json();\n\n return {\n ...response,\n name: response.firstName.concat(\" \", response.lastName),\n };\n }\n);\n\nexport const searchAgents = createAsyncThunk(\n \"agent/searchAgents\",\n async (agentSearch?: AgentSearch) => {\n const response: AgentWithStats[] = await api\n .post(\"oar/agent/search\", {\n json: {\n searchValue: agentSearch?.searchValue || \"\",\n filters: {\n region: agentSearch?.filters?.region\n ? [agentSearch?.filters.region]\n : [],\n local: agentSearch?.filters?.local\n ? [agentSearch?.filters.local]\n : [],\n campaignId: agentSearch?.filters?.campaignId\n ? [agentSearch?.filters.campaignId]\n : [],\n reportStartDate: agentSearch?.filters?.reportStartDate ?? null,\n reportDueDate: agentSearch?.filters?.reportDueDate ?? null,\n },\n },\n })\n .json();\n\n const responseWithName = response.map((a) => {\n const data = cloneDeep(a);\n data.agent.name = `${a.agent.firstName} ${a.agent.lastName}`;\n return data;\n });\n\n const data = _.keyBy(responseWithName, \"agent.id\");\n return data as {\n [agentId: number]: AgentWithStats;\n };\n }\n);\n\nexport const getReportOptions = createAsyncThunk(\n \"agent/getReportOptions\",\n async () => {\n const response: AgentSearchFilters[] = await api.get(\"oar/local\").json();\n return response;\n }\n);\n\nexport const getWeeklyActivityReportsByAgentId = createAsyncThunk(\n \"agent/getWeeklyActivityReportsByAgentId\",\n async (agentId: number) => {\n const response: WeeklyActivityStats[] = await api\n .get(`oar/agent/${agentId}/weeklyLog`)\n .json();\n\n const sorted = [...response]?.sort(\n (a, b) =>\n new Date(b.reportDate).getTime() - new Date(a.reportDate).getTime()\n );\n return {\n agentId,\n weeklyActivityStats: sorted,\n };\n }\n);\n\nexport const agentSlice = createSlice({\n name: \"agent\",\n initialState,\n reducers: {\n setAgentSearch: (state, action: PayloadAction) => {\n state.agentSearch = action.payload;\n },\n },\n extraReducers: (builder) => {\n return builder\n .addCase(getAgents.fulfilled, (state, action) => {\n state.agents = action.payload;\n })\n .addCase(searchAgents.fulfilled, (state, action) => {\n state.agentsWithStats = action.payload;\n })\n .addCase(getReportOptions.fulfilled, (state, action) => {\n state.reportOptions = action.payload;\n })\n .addCase(updateUser.fulfilled, (state, action) => {\n state.agents[action.payload.id] = action.payload;\n })\n .addCase(getAgentActivityForms.fulfilled, (state, action) => {\n state.weeklyActivities[action.payload.agentId] =\n action.payload.weeklyActivities;\n })\n .addCase(getAgentCampaigns.fulfilled, (state, action) => {\n state.campaigns[action.payload.agentId] = keyBy(\n action.payload.campaigns,\n \"id\"\n );\n })\n .addCase(getWeeklyActivityReportsByAgentId.fulfilled, (state, action) => {\n state.weeklyActivityStats[action.payload.agentId] =\n action.payload.weeklyActivityStats;\n })\n .addCase(getAgentById.fulfilled, (state, action) => {\n state.agents[action.payload.id] = action.payload;\n })\n .addCase(assignCampaigns.fulfilled, (state, action) => {\n state.campaigns[action.payload.agentId] = keyBy(\n action.payload.campaigns,\n \"id\"\n );\n });\n },\n});\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { api } from \"../../system/utils\";\nimport { User } from \"../oar/agents/agentTypes\";\nimport { LM2Form } from \"./types\";\n\ntype Props = {\n projectsWorked?: number[];\n workingLm2?: LM2Form;\n selectedLM2FormId: number;\n users: {\n [userId: number]: User;\n };\n};\n\nconst initialState: Props = {\n projectsWorked: undefined,\n workingLm2: undefined,\n users: {},\n selectedLM2FormId: 0,\n};\n\nexport const rejectForm = createAsyncThunk(\n \"lm2/reject\",\n async (lm2FormId: number): Promise => {\n return await api.post(`lm2/${lm2FormId}/reject`).json();\n }\n);\n\nexport const isLm2Valid = createAsyncThunk(\n \"lm/isLm2Valid\",\n async (weekEndingDate: string) => {\n const response = await api\n .post(`lm2/isLm2Valid`, {\n json: weekEndingDate,\n })\n .json();\n return response;\n }\n);\n\nexport const lm2Slice = createSlice({\n name: \"lm2\",\n initialState,\n reducers: {\n setProjectsWorked: (state, action: PayloadAction) => {\n state.projectsWorked = action.payload;\n },\n setPartialLM2Form: (state, action: PayloadAction) => {\n state.workingLm2 = action.payload;\n },\n clearLm2Form: (state) => {\n state.projectsWorked = undefined;\n state.workingLm2 = undefined;\n },\n setSelectedLM2FormId: (\n state,\n action: PayloadAction<{ lm2FormId: number }>\n ) => {\n state.selectedLM2FormId = action.payload.lm2FormId;\n },\n },\n});\n\nexport const lm2Reducer = lm2Slice.reducer;\nexport const lm2Actions = lm2Slice.actions;\n","import { localSlice } from \"./screens/oar/locals/localSlice\";\nimport { combineReducers } from \"@reduxjs/toolkit\";\nimport { campaignSlice } from \"./screens/oar/campaigns/campaignSlice\";\nimport { reportSlice } from \"./screens/oar/reports/reportSlice\";\nimport { weeklyActivitySlice } from \"./screens/oar/weekly_activity/weeklyActivitySlice\";\nimport { authSlice } from \"./screens/root/auth/authSlice\";\nimport { agentSlice } from \"./screens/oar/agents/agentSlice\";\nimport { lm2Reducer } from \"./screens/lm2/lm2Slice\";\n\nexport default combineReducers({\n authSlice: authSlice.reducer,\n campaignSlice: campaignSlice.reducer,\n weeklyActivitySlice: weeklyActivitySlice.reducer,\n reportSlice: reportSlice.reducer,\n agentSlice: agentSlice.reducer,\n lm2Slice: lm2Reducer,\n localSlice: localSlice.reducer,\n});\n","import {\n Action,\n configureStore,\n getDefaultMiddleware,\n ThunkAction,\n} from \"@reduxjs/toolkit\";\nimport rootReducer from \"./rootReducer\";\nimport { createSelectorHook, useDispatch } from \"react-redux\";\n\nconst middleware = [...getDefaultMiddleware()];\n\nconst store = configureStore({\n reducer: rootReducer,\n middleware,\n});\n\nexport type RootState = ReturnType;\nexport type AppDispatch = typeof store.dispatch;\nexport type AppThunk = ThunkAction>;\n\nexport const useTypedSelector = createSelectorHook();\nexport const useAppDispatch = () => useDispatch();\n\n(window as any)[\"ufcwStore\"] = store;\n\nexport default store;\n","import * as Linking from \"expo-linking\";\n\nexport default {\n prefixes: [Linking.makeUrl(\"/\")],\n config: {\n screens: {\n Home: \"Home\",\n Splash: \"Splash\",\n Account: \"Account\",\n GoScreen: \"GoScreen\",\n OAR: {\n path: \"OAR\",\n screens: {\n ReportingFormAdd: \"ReportingFormAdd\",\n CampaignAdd: \"CampaignAdd\",\n CampaignInputDetails: \"CampaignInputDetails\",\n ReportingFormSections: \"ReportingFormSections\",\n EditCampaign: \"EditCampaign\",\n AssignAgents: \"AssignAgents\",\n AgentDetails: \"AgentDetails\",\n Tabs: {\n path: \"Tabs\",\n screens: {\n MyForms: {\n path: \"MyForms\",\n screens: {\n WeeklyFormsScreen: \"WeeklyFormsScreen\",\n },\n },\n Agents: {\n path: \"Agents\",\n screens: {\n AgentsScreen: \"AgentsScreen\",\n },\n },\n Campaigns: {\n path: \"Campaigns\",\n screens: {\n CampaignsScreen: \"CampaignsScreen\",\n },\n },\n CampaignDetails: {\n path: \"CampaignDetails\",\n screens: {\n CampaignDetailsScreen: \"CampaignDetailsScreen\",\n },\n },\n Reports: {\n path: \"Reports\",\n screens: {\n ReportListScreen: \"ReportListScreen\",\n },\n },\n },\n },\n },\n },\n LM2: {\n path: \"LM2\",\n screens: {\n LM2New: \"LM2New\",\n LM2Categories: \"LM2Categories\",\n LM2Projects: \"LM2Projects\",\n LM2ProjectsPercentages: \"LM2ProjectsPercentages\",\n LM2ReadOnly: \"LM2ReadOnly\",\n MyLM2List: \"MyLM2List\",\n Tabs: {\n path: \"Tabs\",\n screens: {\n MyLM2: {\n path: \"MyLM2\",\n screens: {\n WeeklyLM2FormsScreen: \"WeeklyLM2FormsScreen\",\n },\n },\n Search: {\n path: \"Search\",\n screens: {\n SearchLM2Screen: \"SearchLM2Screen\",\n },\n },\n },\n },\n },\n },\n NotFound: \"*\",\n },\n },\n};\n","import React from \"react\";\nimport {\n ActivityIndicator,\n Platform,\n StyleProp,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n ViewStyle,\n} from \"react-native\";\n\ninterface ButtonProps {\n buttonText: string;\n buttonType:\n | \"primary\"\n | \"secondary\"\n | \"outlined\"\n | \"small-primary\"\n | \"small-danger\"\n | \"small-secondary\"\n | \"small-outlined\";\n onPress?: () => void;\n buttonStyle?: StyleProp;\n loading?: boolean;\n}\n\nconst Button = ({\n buttonText,\n buttonType,\n onPress,\n buttonStyle,\n loading,\n}: ButtonProps) => {\n if (buttonType == \"primary\") {\n return (\n \n {loading ? (\n \n ) : (\n {buttonText}\n )}\n \n );\n } else if (buttonType == \"secondary\") {\n return (\n \n {loading ? (\n \n ) : (\n {buttonText}\n )}\n \n );\n } else if (buttonType == \"outlined\") {\n return (\n \n {loading ? (\n \n ) : (\n {buttonText}\n )}\n \n );\n } else if (buttonType == \"small-primary\") {\n return (\n \n {loading ? (\n \n ) : (\n {buttonText}\n )}\n \n );\n } else if (buttonType == \"small-secondary\") {\n return (\n \n {loading ? (\n \n ) : (\n {buttonText}\n )}\n \n );\n } else if (buttonType == \"small-danger\") {\n return (\n \n {loading ? (\n \n ) : (\n {buttonText}\n )}\n \n );\n } else if (buttonType == \"small-outlined\") {\n return (\n \n {loading ? (\n \n ) : (\n {buttonText}\n )}\n \n );\n } else {\n return (\n \n Button Type not set\n \n );\n }\n};\n\nexport default Button;\n\nconst styles = StyleSheet.create({\n activityIndicatorSmall: {\n transform: [{ scale: 0.75 }],\n marginTop: Platform.OS === \"android\" ? -1 : -2,\n marginBottom: Platform.OS === \"android\" ? -1 : -2,\n },\n\n activityIndicatorLarge: {\n marginTop: Platform.OS === \"android\" ? 0 : -2,\n marginBottom: -1,\n },\n primaryButton: {\n backgroundColor: \"#EFC83C\",\n borderWidth: 2,\n borderColor: \"#EFC83C\",\n borderRadius: 100,\n padding: 11,\n margin: 0,\n textAlign: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n },\n primaryButtonText: {\n color: \"#011B36\",\n fontSize: 15,\n fontWeight: \"600\",\n letterSpacing: -0.25,\n },\n secondaryButton: {\n backgroundColor: \"#CFD5DB\",\n borderWidth: 2,\n borderColor: \"#CFD5DB\",\n borderRadius: 100,\n padding: 11,\n margin: 0,\n textAlign: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n },\n secondaryButtonText: {\n color: \"#011B36\",\n fontSize: 15,\n fontWeight: \"600\",\n letterSpacing: -0.25,\n },\n outlinedButton: {\n backgroundColor: \"transparent\",\n borderColor: \"#CFD5DB\",\n borderWidth: 2,\n borderRadius: 100,\n padding: 12,\n margin: 0,\n textAlign: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n },\n sideButton: {\n backgroundColor: \"#CFD5DB\",\n borderRadius: 100,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n },\n sideButtonDanger: {\n backgroundColor: \"#CFD5DB\",\n borderRadius: 100,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n },\n sideButtonContinue: {\n backgroundColor: \"#EFC83C\",\n borderRadius: 100,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n textAlign: \"center\",\n alignContent: \"center\",\n alignItems: \"center\",\n },\n sideButtonText: {\n color: \"#011B36\",\n fontSize: 13,\n fontWeight: \"600\",\n letterSpacing: -0.25,\n },\n sideButtonOutline: {\n backgroundColor: \"white\",\n borderColor: \"#CFD5DB\",\n borderWidth: 1,\n borderRadius: 100,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n },\n});\n","import { Platform, StatusBar, StyleSheet } from \"react-native\";\n\nlet styles: any = \"\";\n\nif (Platform.OS == \"web\") {\n styles = {\n AndroidSafeArea: {\n flex: 1,\n backgroundColor: \"transparent\",\n },\n bgImage: {\n resizeMode: \"cover\",\n justifyContent: \"center\",\n marginTop: 0,\n padding: 0,\n height: \"100%\",\n width: \"100%\",\n },\n checkBox: {\n borderColor: \"black\",\n },\n textInput: {\n height: 38,\n borderColor: \"#D2D6DC\",\n borderWidth: 1,\n borderRadius: 6,\n padding: 8,\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n backgroundColor: \"white\",\n elevation: 1,\n },\n section: {\n backgroundColor: \"white\",\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n marginTop: 16,\n borderRadius: 12,\n padding: 16,\n elevation: 1,\n },\n safeArea: {\n display: \"flex\",\n flexDirection: \"column\",\n padding: 44,\n justifyContent: \"space-between\",\n flex: 1,\n },\n workingAmerica: {\n color: \"white\",\n fontSize: 11,\n letterSpacing: 1,\n textTransform: \"uppercase\",\n },\n logo: {\n height: 22,\n width: 104,\n marginBottom: 16,\n },\n buttonContainer: {\n backgroundColor: \"white\",\n width: \"100%\",\n display: \"flex\",\n height: 78,\n flexDirection: \"row\",\n paddingLeft: 20,\n paddingRight: 20,\n alignItems: \"center\",\n },\n appTitle: {\n color: \"white\",\n fontSize: 24,\n fontWeight: \"bold\",\n },\n coverBottomBg: {\n display: \"none\",\n },\n };\n} else {\n styles = {\n AndroidSafeArea: {\n flex: 1,\n backgroundColor: \"transparent\",\n paddingTop: Platform.OS === \"android\" ? StatusBar.currentHeight : 0,\n },\n bgImage: {\n resizeMode: \"cover\",\n justifyContent: \"center\",\n marginTop: 0,\n padding: 0,\n height: \"100%\",\n width: \"100%\",\n },\n checkBox: {\n borderColor: \"black\",\n },\n textInput: {\n height: 38,\n borderColor: \"#D2D6DC\",\n borderWidth: 1,\n borderRadius: 6,\n padding: 8,\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n backgroundColor: \"white\",\n elevation: 1,\n },\n section: {\n backgroundColor: \"white\",\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n marginTop: 16,\n borderRadius: 12,\n padding: 16,\n elevation: 1,\n },\n safeArea: {\n display: \"flex\",\n flexDirection: \"column\",\n padding: 44,\n justifyContent: \"space-between\",\n flex: 1,\n },\n workingAmerica: {\n color: \"white\",\n fontSize: 11,\n letterSpacing: 1,\n textTransform: \"uppercase\",\n },\n logo: {\n height: 22,\n width: 104,\n marginBottom: 16,\n },\n buttonContainer: {\n backgroundColor: \"white\",\n width: \"100%\",\n display: \"flex\",\n height: 78,\n flexDirection: \"row\",\n paddingLeft: 20,\n paddingRight: 20,\n alignItems: \"center\",\n },\n appTitle: {\n color: \"white\",\n fontSize: 24,\n fontWeight: \"bold\",\n },\n coverBottomBg: {\n backgroundColor: \"white\",\n position: \"absolute\",\n height: 40,\n width: \"100%\",\n bottom: 0,\n },\n };\n}\n\nexport default StyleSheet.create(styles);\n","import React, { useEffect, useRef, useState } from \"react\";\nimport {\n ActivityIndicator,\n Animated,\n Dimensions,\n Image,\n ImageBackground,\n Keyboard,\n KeyboardAvoidingView,\n Platform,\n SafeAreaView,\n Text,\n TextInput,\n TouchableOpacity,\n View,\n} from \"react-native\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport Button from \"../../../components/shared/Button\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport {\n makeRedirectUri,\n Prompt,\n ResponseType,\n useAuthRequest,\n useAutoDiscovery,\n} from \"expo-auth-session\";\nimport { maybeCompleteAuthSession } from \"expo-web-browser\";\nimport styles from \"./SplashScreen.style\";\nimport { authActions, setToken } from \"./authSlice\";\nimport { useAppDispatch, useTypedSelector } from \"../../../store\";\nimport Constants from \"expo-constants\";\n\nconst client_id = Constants.manifest.extra.auth0.clientId;\nmaybeCompleteAuthSession();\n\nfunction Splash() {\n const dispatch = useAppDispatch();\n const [email, setEmail] = useState(\"\");\n const domain = useTypedSelector((state) => state.authSlice.domain);\n const token = useTypedSelector((state) => state.authSlice.token);\n const navigation = useNavigation();\n\n useEffect(() => {\n if (token) {\n navigation.navigate(\"Home\");\n }\n }, [navigation, token]);\n\n const redirectUri = makeRedirectUri({\n native: \"ufcw-oar://redirect\",\n });\n const discovery = useAutoDiscovery(domain);\n const [request, , promptAsync] = useAuthRequest(\n {\n clientId: client_id,\n scopes: [\"openid\", \"profile\", \"email\"],\n redirectUri,\n extraParams: {\n email,\n },\n prompt: Prompt.Login,\n responseType: ResponseType.Code,\n },\n discovery\n );\n const [leftOffset] = useState(new Animated.Value(0));\n const emailRef = useRef();\n\n const showEmail = () => {\n if (Platform.OS === \"web\") {\n loginAsync();\n return;\n }\n Animated.timing(leftOffset, {\n toValue: -Dimensions.get(\"window\").width,\n duration: 300,\n useNativeDriver: true,\n }).start();\n\n if (emailRef.current) {\n emailRef.current.focus();\n }\n };\n\n const hideEmail = () => {\n Animated.timing(leftOffset, {\n toValue: 0,\n duration: 300,\n useNativeDriver: true,\n }).start();\n Keyboard.dismiss();\n };\n\n const loginAsync = async () => {\n try {\n const resp = await promptAsync();\n hideEmail();\n if (resp.type == \"success\") {\n dispatch(authActions.setSpinner(true));\n let code = resp.params.code;\n let formData = new URLSearchParams({\n code: code,\n grant_type: \"authorization_code\",\n redirect_uri: redirectUri,\n client_id: client_id,\n code_verifier: request?.codeVerifier as string,\n });\n dispatch(setToken({ domain, formData }));\n dispatch(authActions.setSpinner(false));\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n const showLoading = async () => {\n await loginAsync();\n // duration: 300,\n // useNativeDriver: true,\n // }).start();\n Keyboard.dismiss();\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n America's Food and Retail Union\n \n \n Organizing Activity Report\n \n \n \n \n \n \n \n \n \n \n \n setEmail(text)}\n keyboardType={\"email-address\"}\n returnKeyType={\"go\"}\n onSubmitEditing={loginAsync}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default Splash;\n","import { User } from \"../../oar/agents/agentTypes\";\n\nexport interface Auth {\n email: string;\n password: string;\n}\n\nexport interface AuthToken {\n token: TokenData;\n}\n\nexport enum AppName {\n OAR = \"OAR\",\n LM2 = \"LM2\",\n}\n\nexport interface Claim {\n issuer: string;\n originalIssuer: string;\n properties: object;\n subject?: string;\n type: string;\n value: AppName;\n valueType: string;\n}\n\nexport interface UserClaimsResponse {\n user: User;\n claims: Claim[];\n}\n\nexport interface TokenData {\n access_token: string;\n expires_in: number;\n id_token: string;\n scope: string;\n token_type: string;\n}\n\nexport interface UserToken {\n nbf: number;\n exp: number;\n iss: string;\n aud: string;\n client_id: string;\n sub: string;\n auth_time: number;\n idp: string;\n email: string;\n role: string;\n jti: string;\n sid: string;\n iat: number;\n scope: string[];\n amr: string[];\n}\n","import { Platform, StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n headerBar: {\n backgroundColor: \"#012447\",\n },\n bottom: {\n alignItems: \"center\",\n fontFamily: \"Inter\",\n fontWeight: Platform.OS === \"web\" ? \"500\" : \"600\",\n },\n menuList: {\n width: \"100%\",\n zIndex: 0,\n },\n menuBackgroundWrapper: {\n backgroundColor: \"#012447\",\n flex: 1,\n width: \"100%\",\n },\n menuBackground: {\n backgroundColor: \"#012447\",\n flex: 1,\n },\n centeredView: {\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n modalView: {\n margin: 20,\n backgroundColor: \"white\",\n borderRadius: 20,\n padding: 35,\n alignItems: \"center\",\n shadowColor: \"#000\",\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.25,\n shadowRadius: 3.84,\n elevation: 5,\n },\n closeButton: {\n color: \"white\",\n position: \"absolute\",\n top: Platform.OS === \"ios\" ? 3 : 8,\n left: 8,\n textAlign: \"center\",\n opacity: 0.75,\n height: 40,\n width: 40,\n display: \"flex\",\n alignItems: \"center\",\n alignContent: \"center\",\n justifyContent: \"center\",\n zIndex: 1,\n },\n openButton: {\n padding: Platform.OS === \"web\" ? 6 : 10,\n marginLeft: \"12%\",\n color: \"white\",\n textAlign: \"left\",\n width: \"78%\",\n },\n textStyle: {\n color: \"white\",\n fontWeight: \"600\",\n textAlign: \"left\",\n },\n modalText: {\n marginBottom: 15,\n textAlign: \"left\",\n },\n logo: {\n height: 20,\n width: 94,\n resizeMode: \"contain\",\n },\n topImage: {\n height: 20,\n width: 94,\n marginTop: 4,\n alignItems: \"center\",\n },\n menuIcon: {\n backgroundColor: \"transparent\",\n height: 24,\n width: 24,\n marginRight: 10,\n marginTop: Platform.OS === \"web\" ? -2 : 0,\n },\n menuButton: {\n display: \"flex\",\n flexDirection: \"row\",\n },\n menuItemText: {\n color: \"white\",\n fontSize: Platform.OS === \"web\" ? 16 : 18,\n fontWeight: Platform.OS === \"web\" ? \"500\" : \"600\",\n textAlign: \"left\",\n },\n menuItemDivider: {\n marginTop: 16,\n marginBottom: 12,\n borderTopColor: \"rgba(255,255,255,.15)\",\n borderTopWidth: 1,\n width: \"78%\",\n marginLeft: \"12%\",\n },\n menuFooter: {\n padding: 10,\n marginLeft: \"12%\",\n color: \"white\",\n textAlign: \"left\",\n width: \"78%\",\n },\n menuFooterText: {\n color: \"white\",\n fontSize: 11,\n letterSpacing: 1,\n textTransform: \"uppercase\",\n opacity: 0.5,\n },\n});\n","import React from \"react\";\nimport { Avatar, Text } from \"react-native-paper\";\nimport { Platform, SafeAreaView, TouchableOpacity, View } from \"react-native\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport { BlurView } from \"expo-blur\";\nimport styles from \"./MainMenu.style\";\nimport { useAppDispatch, useTypedSelector } from \"../../store\";\nimport { logout } from \"../../screens/root/auth/authSlice\";\nimport { makeRedirectUri } from \"expo-auth-session\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\nimport { AppName } from \"../../screens/root/auth/authTypes\";\n\nconst MainMenu = ({\n setMenuVisible,\n}: {\n setMenuVisible: (value: boolean) => void;\n}) => {\n const dispatch = useAppDispatch();\n const navigation = useNavigation();\n\n const claims = useTypedSelector((state) => state.authSlice.claims);\n const user = useTypedSelector((state) => state.authSlice.user);\n const handleLogout = async () => {\n setMenuVisible(false);\n const redirectUri = makeRedirectUri({\n native: \"ufcw-oar://redirect\",\n });\n await dispatch(logout(redirectUri)).then(unwrapResult);\n\n setTimeout(() => {\n navigation.navigate(\"Splash\");\n }, 0);\n };\n\n if (Platform.OS === \"ios\" || Platform.OS === \"android\") {\n return (\n \n \n \n \n {\n setMenuVisible(false);\n }}\n >\n \n \n {\n setMenuVisible(false);\n navigation.navigate(\"Home\");\n }}\n >\n \n \n Home\n \n \n \n {claims.some((c) => c.value === AppName.OAR) && (\n {\n setMenuVisible(false);\n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n });\n }}\n >\n \n \n Organizing\n \n \n )}\n {/* {claims.some((c) => c.value === AppName.LM2) && (\n {\n setMenuVisible(false);\n navigation.navigate(\"LM2\", {\n screen: \"Tabs\",\n });\n }}\n >\n \n \n LM-2 Reporting\n \n \n )} */}\n \n {\n setMenuVisible(false);\n navigation.navigate(\"Account\");\n }}\n >\n \n \n Account\n \n \n \n \n \n \n Log Out\n \n \n \n \n {user?.local && (\n \n UFCW Local {user?.local}\n \n )}\n \n \n \n \n \n );\n } else {\n return (\n \n \n \n \n {\n setMenuVisible(false);\n }}\n >\n \n \n \n \n \n Organizing / Activity Reports\n \n \n {/* {\n setMenuVisible(false);\n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n params: {\n screen: \"MyForms\",\n },\n });\n }}\n >\n \n \n \n My Activity Report Forms\n \n \n */}\n {/* {\n setMenuVisible(false);\n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n params: {\n screen: \"Agents\",\n },\n });\n }}\n >\n \n \n Agents\n \n */}\n {/* {\n setMenuVisible(false);\n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n params: {\n screen: \"Campaigns\",\n },\n });\n }}\n >\n \n \n Campaigns\n \n */}\n {/* {\n setMenuVisible(false);\n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n params: {\n screen: \"Reports\",\n },\n });\n }}\n >\n \n \n Reports\n \n */}\n {/* */}\n {/* \n LM-2 Reporting\n */}\n {/* {\n setMenuVisible(false);\n navigation.navigate(\"LM2\", {\n screen: \"Tabs\",\n params: { screen: \"MyLM2\" },\n });\n }}\n >\n \n \n My LM-2 Forms\n \n \n {\n setMenuVisible(false);\n navigation.navigate(\"LM2\", {\n screen: \"Tabs\",\n params: { screen: \"Search\" },\n });\n }}\n >\n \n \n Search\n \n */}\n {/* \n \n Main Menu\n */}\n {\n setMenuVisible(false);\n navigation.navigate(\"Home\");\n }}\n >\n \n \n Home\n \n \n {\n setMenuVisible(false);\n navigation.navigate(\"Account\");\n }}\n >\n \n \n Account\n \n \n \n \n \n Log Out\n \n \n \n \n \n \n \n );\n }\n};\n\nexport default MainMenu;\n","import React from \"react\";\nimport { Share, View } from \"react-native\";\nimport { Appbar } from \"react-native-paper\";\n\nconst ShareExample = () => {\n const onShare = async () => {\n try {\n const result = await Share.share({\n message: \"UFCW Organizing Activity Report | Reporting PDF\",\n url: \"https://ufcw.dev/war/temp-pdf.pdf\",\n });\n if (result.action === Share.sharedAction) {\n if (result.activityType) {\n // shared with activity type of result.activityType\n } else {\n // shared\n }\n } else if (result.action === Share.dismissedAction) {\n // dismissed\n }\n } catch (error: any) {\n alert(error.message);\n }\n };\n return (\n \n \n \n );\n};\n\nexport default ShareExample;\n","import React, { ReactNode, useEffect, useState } from \"react\";\nimport { Alert, Platform, StyleProp, View, ViewStyle } from \"react-native\";\nimport { Button, Dialog, Paragraph, Portal } from \"react-native-paper\";\n\nexport const isSliderValid = (sliderTotal: number): boolean => {\n if (sliderTotal !== 100) {\n Alert.alert(\n \"Invalid Entry\",\n \"Total percentages must equal 100%\",\n [{ text: \"OK\", onPress: () => null }],\n { cancelable: false }\n );\n return false;\n } else {\n return true;\n }\n};\n\ntype Props2 = {\n containerStyle?: StyleProp;\n message: string;\n showDialog: boolean;\n};\n\nexport const TTDialog = ({ containerStyle, message, showDialog }: Props2) => {\n const [visible, setVisible] = useState(showDialog);\n const hideDialog = () => setVisible(false);\n\n useEffect(() => {\n setVisible(showDialog);\n }, [showDialog]);\n\n return (\n \n \n \n Invalid Entry\n \n {message}\n \n \n \n \n \n \n \n );\n};\n\ntype Props = {\n message: string;\n buttonText?: string;\n _handleOnPress?: () => void;\n cancelable?: boolean;\n subject?: string;\n};\n\nexport const TTAlert = ({\n message,\n buttonText,\n _handleOnPress,\n cancelable,\n subject,\n}: Props) => {\n if (Platform.OS === \"web\") {\n const result = confirm(message);\n if (result) {\n _handleOnPress?.();\n }\n } else {\n Alert.alert(\n subject ?? \"Invalid Entry\",\n message,\n [\n { text: buttonText ?? \"Ok\", onPress: _handleOnPress },\n cancelable\n ? {\n text: \"Cancel\",\n style: \"cancel\",\n }\n : {},\n ],\n {\n cancelable,\n }\n );\n }\n};\n\ntype TTConfirmationProps = {\n message: string;\n buttonText?: string;\n onPress: () => void;\n subject?: string;\n};\n\nexport const TTConfirmation = ({\n message,\n buttonText,\n onPress,\n subject,\n}: TTConfirmationProps) => {\n if (Platform.OS === \"web\") {\n const result = confirm();\n if (result) {\n onPress();\n }\n } else {\n Alert.alert(subject ?? \"Invalid Entry\", message, [\n { text: buttonText ?? \"Ok\", onPress: onPress },\n {\n text: \"Cancel\",\n style: \"cancel\",\n },\n ]);\n }\n};\n\ninterface ModalProps {\n visible: boolean;\n onDismiss: () => void;\n children?: ReactNode;\n title: string;\n content: ReactNode;\n}\n\nexport const Modal = ({\n visible,\n onDismiss,\n title,\n content,\n children,\n}: ModalProps) => {\n return (\n \n \n {title}\n {content}\n {children}\n \n \n );\n};\n","import { Platform, StyleSheet } from \"react-native\";\n\nlet styles: any = \"\";\n\nif (Platform.OS === \"web\") {\n styles = {\n headerBar: {\n backgroundColor: \"#012447\",\n elevation: 0, // remove shadow on Android\n shadowOpacity: 0, // remove shadow on iOS\n },\n bottom: {\n alignItems: \"center\",\n fontFamily: \"Inter\",\n fontWeight: \"900\",\n color: \"yellow\",\n },\n menuList: {\n width: \"100%\",\n zIndex: 0,\n },\n menuBackgroundWrapper: {\n backgroundColor: \"#012447\",\n flex: 1,\n width: \"100%\",\n },\n menuBackground: {\n backgroundColor: \"#012447\",\n flex: 1,\n },\n centeredView: {\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n modalView: {\n margin: 20,\n backgroundColor: \"white\",\n borderRadius: 20,\n padding: 35,\n alignItems: \"center\",\n shadowColor: \"#000\",\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.25,\n shadowRadius: 3.84,\n elevation: 5,\n },\n closeButton: {\n color: \"white\",\n position: \"absolute\",\n top: 8,\n left: 8,\n textAlign: \"center\",\n opacity: 0.75,\n height: 40,\n width: 40,\n display: \"flex\",\n alignItems: \"center\",\n alignContent: \"center\",\n justifyContent: \"center\",\n zIndex: 1,\n },\n openButton: {\n padding: 10,\n marginLeft: \"20%\",\n color: \"white\",\n textAlign: \"left\",\n width: \"80%\",\n },\n textStyle: {\n color: \"white\",\n fontWeight: \"600\",\n textAlign: \"left\",\n },\n modalText: {\n marginBottom: 15,\n textAlign: \"left\",\n },\n logo: {\n height: 25,\n width: 100,\n resizeMode: \"contain\",\n },\n topImage: {\n height: 20,\n width: 94,\n marginTop: 4,\n alignItems: \"center\",\n },\n menuIcon: {\n backgroundColor: \"transparent\",\n height: 24,\n width: 24,\n marginRight: 10,\n },\n menuButton: {\n display: \"flex\",\n flexDirection: \"row\",\n },\n menuBoxItem: {\n padding: 4,\n paddingLeft: 0,\n paddingRight: 8,\n },\n menuItemText: {\n color: \"#034990\",\n fontSize: 16,\n fontWeight: \"500\",\n textAlign: \"left\",\n padding: 6,\n },\n menuItemDivider: {\n marginTop: 16,\n marginBottom: 12,\n borderTopColor: \"rgba(255,255,255,.15)\",\n borderTopWidth: 1,\n width: \"80%\",\n marginLeft: \"20%\",\n },\n menuFooter: {\n padding: 10,\n marginLeft: \"20%\",\n color: \"white\",\n textAlign: \"left\",\n width: \"80%\",\n },\n menuFooterText: {\n color: \"white\",\n fontSize: 11,\n letterSpacing: 1,\n textTransform: \"uppercase\",\n opacity: 0.5,\n },\n appbarContentTitle: {\n color: \"white\",\n fontSize: 16,\n fontWeight: \"600\",\n textAlign: \"center\",\n },\n appbarContentSubTitle: {\n color: \"white\",\n fontSize: 12,\n textAlign: \"center\",\n opacity: 0.5,\n },\n };\n} else {\n styles = {\n headerBar: {\n backgroundColor: \"#012447\",\n elevation: 0, // remove shadow on Android\n shadowOpacity: 0, // remove shadow on iOS\n height: Platform.OS === \"ios\" ? 44 : 56,\n },\n bottom: {\n alignItems: \"center\",\n fontFamily: \"Inter\",\n fontWeight: \"900\",\n color: \"yellow\",\n },\n menuBackgroundWrapper: {\n backgroundColor: \"rgba(1, 36, 71,.95)\",\n flex: 1,\n },\n menuBackground: {\n backgroundColor: \"#012447\",\n flex: 1,\n },\n centeredView: {\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n modalView: {\n margin: 20,\n backgroundColor: \"white\",\n borderRadius: 20,\n padding: 35,\n alignItems: \"center\",\n shadowColor: \"#000\",\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.25,\n shadowRadius: 3.84,\n elevation: 5,\n },\n closeButton: {\n color: \"white\",\n position: \"absolute\",\n top: 8,\n left: 8,\n textAlign: \"center\",\n opacity: 0.75,\n height: 40,\n width: 40,\n display: \"flex\",\n alignItems: \"center\",\n alignContent: \"center\",\n justifyContent: \"center\",\n },\n openButton: {\n padding: 10,\n marginLeft: \"20%\",\n color: \"white\",\n textAlign: \"left\",\n width: \"80%\",\n },\n textStyle: {\n color: \"white\",\n fontWeight: \"600\",\n textAlign: \"left\",\n },\n modalText: {\n marginBottom: 15,\n textAlign: \"left\",\n },\n logo: {\n height: 25,\n width: 100,\n resizeMode: \"contain\",\n },\n topImage: {\n height: 16,\n width: 75,\n marginTop: 4,\n alignItems: \"center\",\n },\n menuIcon: {\n backgroundColor: \"transparent\",\n height: 24,\n width: 24,\n marginRight: 10,\n },\n menuButton: {\n color: \"#034990\",\n display: \"flex\",\n flexDirection: \"row\",\n },\n menuBoxItem: {\n color: \"#034990\",\n padding: 4,\n paddingLeft: 0,\n paddingRight: 8,\n },\n menuItemText: {\n color: \"#034990\",\n fontSize: 16,\n fontWeight: \"600\",\n textAlign: \"left\",\n padding: 6,\n //textTransform: \"uppercase\",\n },\n menuItemDivider: {\n marginTop: 16,\n marginBottom: 12,\n borderTopColor: \"rgba(255,255,255,.15)\",\n borderTopWidth: 1,\n width: \"80%\",\n marginLeft: \"20%\",\n },\n menuFooter: {\n padding: 10,\n marginLeft: \"20%\",\n color: \"white\",\n textAlign: \"left\",\n width: \"80%\",\n },\n menuFooterText: {\n color: \"white\",\n fontSize: 11,\n letterSpacing: 1,\n textTransform: \"uppercase\",\n opacity: 0.5,\n },\n appbarContentTitle: {\n color: \"white\",\n fontSize: 16,\n fontWeight: \"600\",\n textAlign: \"center\",\n },\n appbarContentSubTitle: {\n color: \"white\",\n fontSize: 12,\n textAlign: \"center\",\n opacity: 0.5,\n },\n };\n}\n\nexport default StyleSheet.create(styles);\n","import { unwrapResult } from \"@reduxjs/toolkit\";\nimport React, { useState } from \"react\";\nimport {\n Image,\n StyleProp,\n Text,\n TouchableOpacity,\n View,\n ViewStyle,\n} from \"react-native\";\nimport { Appbar } from \"react-native-paper\";\nimport { toggleClaims } from \"../../screens/root/auth/authSlice\";\nimport { useAppDispatch, useTypedSelector } from \"../../store\";\nimport { TTAlert } from \"../../system/notifications\";\nimport styles from \"./MainAppBar.style\";\n\ninterface TitleProps {\n title: string;\n subTitle?: string;\n style: StyleProp;\n}\n\nconst ContentTitle = (props: TitleProps) => {\n const [counter, setCounter] = useState(1);\n const dispatch = useAppDispatch();\n const claims = useTypedSelector((state) => state.authSlice.claims);\n const user = useTypedSelector((state) => state.authSlice.user);\n\n const count = () => {\n if (user?.email.includes(\"thirtytech\") || user?.email.includes(\"ufcw\")) {\n setCounter(counter + 1);\n if (counter === 10) {\n const lm2Claim = claims.some((c) => c.value === \"LM2\");\n\n TTAlert({\n subject: \"\",\n message: lm2Claim ? \"LM2 Access Removed\" : \"LM2 Access Granted\",\n });\n\n dispatch(toggleClaims())\n .then(unwrapResult)\n .catch((e: Error) => console.error(e.message));\n setCounter(1);\n }\n }\n };\n\n if (props.subTitle) {\n return (\n \n {props.title}\n {props.subTitle}\n \n }\n style={styles.bottom}\n />\n );\n } else {\n if (props.title == \"UFCW\") {\n return (\n \n count()}>\n \n \n \n );\n } else {\n return (\n {props.title} }\n style={styles.bottom}\n />\n );\n }\n }\n};\n\nexport default ContentTitle;\n","import { useMutation, UseMutationOptions, useQuery } from \"react-query\";\nimport {\n ActivityDTO,\n AddReportFormDTO,\n WeeklyActivity,\n} from \"../../screens/oar/weekly_activity/WeeklyActivityTypes\";\nimport { api, createQuery, queryClient } from \"../../system/utils\";\n\nexport const useGetActivityByWeekEndDate = createQuery<\n ActivityDTO[],\n {\n reportDate: string;\n }\n>(\"oar/weeklyActivity/search\", (queryKey) => ({ additionalKey } = {}) => {\n return useQuery(queryKey, async () => {\n const response: ActivityDTO[] = await api\n .post(\"oar/weeklyActivity/search\", {\n json: {\n reportDate: additionalKey?.reportDate,\n },\n })\n .json();\n\n return response;\n });\n});\n\nexport const useAddWeeklyReportMutation = ({\n onSuccess,\n ...options\n}: UseMutationOptions = {}) =>\n useMutation(\n async (value: AddReportFormDTO) => {\n return await api\n .post(\"oar/weeklyActivity/add\", { json: value })\n .json();\n },\n {\n onSuccess: (...params) => {\n queryClient.invalidateQueries([\n useGetWeeklyReport.queryKey + \"/\" + params[0].id,\n ]);\n queryClient.invalidateQueries([useGetActivityByWeekEndDate.queryKey]);\n queryClient.invalidateQueries([\"oar/campaigns\"]);\n onSuccess?.(...params);\n },\n ...options,\n }\n );\n\nexport const useGetWeeklyReport = createQuery<\n ActivityDTO,\n {\n activityId: number;\n }\n>(\"oar/weeklyActivity\", (queryKey) => ({ options, additionalKey } = {}) => {\n const url = `${queryKey}/${additionalKey?.activityId}`;\n return useQuery(url, options);\n});\n\nexport const useUpdateWeeklyReportMutation = ({\n onSuccess,\n ...options\n}: UseMutationOptions = {}) =>\n useMutation(\n async (value: WeeklyActivity) => {\n return await api\n .post(`oar/weeklyActivity`, { json: value })\n .json();\n },\n {\n onSuccess: (...params) => {\n queryClient.invalidateQueries([\n useGetWeeklyReport.queryKey + \"/\" + params[0].id,\n ]);\n queryClient.invalidateQueries([useGetActivityByWeekEndDate.queryKey]);\n onSuccess?.(...params);\n },\n ...options,\n }\n );\n\nexport const useSubmitWeeklyReportMutation = ({\n onSuccess,\n ...options\n}: UseMutationOptions = {}) =>\n useMutation(\n async (value: WeeklyActivity) => {\n return await api\n .post(`oar/weeklyActivity/submit`, { json: value })\n .json();\n },\n {\n onSuccess: (...params) => {\n queryClient.invalidateQueries([\n useGetWeeklyReport.queryKey + \"/\" + params[0].id,\n ]);\n queryClient.invalidateQueries([useGetActivityByWeekEndDate.queryKey]);\n onSuccess?.(...params);\n },\n ...options,\n }\n );\n\nexport const useDeleteWeeklyReportMutation = ({\n onSuccess,\n ...options\n}: UseMutationOptions<\n ActivityDTO,\n unknown,\n {\n activityId: number;\n }\n> = {}) =>\n useMutation(\n async (value: { activityId: number }) => {\n return await api\n .delete(`oar/weeklyActivity?activityId=${value.activityId}`)\n .json();\n },\n {\n onSuccess: (...params) => {\n queryClient.invalidateQueries(useGetActivityByWeekEndDate.queryKey);\n onSuccess?.(...params);\n },\n ...options,\n }\n );\n\nexport const useGetActivityReports = createQuery<\n WeeklyActivity[],\n {\n startDate: string;\n endDate: string;\n }\n>(\n \"oar/weeklyActivity/getActivityReports\",\n (queryKey) =>\n ({ additionalKey } = {}) => {\n return useQuery([queryKey], async () => {\n const response = await api\n .get(\n `oar/weeklyActivity/getActivityReports?startDate=${additionalKey?.startDate}&endDate=${additionalKey?.endDate}`\n )\n .json();\n\n return response;\n });\n }\n);\n","import { useMutation, UseMutationOptions, useQuery } from \"react-query\";\nimport {\n Campaign,\n CampaignOverviewStats,\n} from \"../../screens/oar/campaigns/campaignTypes\";\nimport { api, createQuery, queryClient } from \"../../system/utils\";\nimport { AgentCampaign, User } from \"../../screens/oar/agents/agentTypes\";\nimport { useGetActivityByWeekEndDate } from \"./useWeeklyActivity\";\n\nexport const useGetCampaigns = createQuery(\n \"oar/campaign\",\n (queryKey) => {\n return ({ options } = {}) => {\n return useQuery(queryKey, options);\n };\n }\n);\n\nexport const useCreateCampaignMutation = ({\n onSuccess,\n ...options\n}: UseMutationOptions> = {}) =>\n useMutation(\n async (value: Partial) => {\n return await api.post(\"oar/campaign\", { json: value }).json();\n },\n {\n onSuccess: (...params) => {\n queryClient.invalidateQueries(useGetCampaigns.queryKey);\n queryClient.invalidateQueries([]);\n onSuccess?.(...params);\n },\n ...options,\n }\n );\n\nexport const useDeleteCampaignMutation = ({\n onSuccess,\n ...options\n}: UseMutationOptions = {}) =>\n useMutation(\n async (campaignId: number) => {\n return await api.delete(`oar/campaign/${campaignId}`);\n },\n {\n onSuccess: (...params) => {\n queryClient.invalidateQueries([useGetCampaigns.queryKey]);\n queryClient.invalidateQueries([useGetActivityByWeekEndDate.queryKey]);\n onSuccess?.(...params);\n },\n ...options,\n }\n );\n\nexport const useGetCampaignById = createQuery<\n Campaign,\n {\n campaignId: number;\n }\n>(\"oar/campaign\", () => ({ additionalKey } = {}) => {\n return useQuery([\"oar/campaign\", additionalKey?.campaignId], () => {\n return api\n .get(`oar/campaign/${additionalKey?.campaignId}`)\n .json();\n });\n\n // return useQuery(url, options);\n // const url = `${queryKey}/${additionalKey?.campaignId}`;\n});\n\nexport const useGetCampaignOverview = createQuery<\n CampaignOverviewStats,\n {\n campaignId: number;\n isLive: boolean;\n }\n>(\"oar/campaign\", (queryKey) => ({ options, additionalKey } = {}) => {\n return useQuery(\n [queryKey, additionalKey?.campaignId, \"overview\"],\n async () =>\n await api\n .get(\n `oar/campaign/${additionalKey?.campaignId}/overview/?includeUnsubmittedReports=${additionalKey?.isLive}`\n )\n .json(),\n options\n );\n});\n\nexport const useGetCampaignAgents = createQuery<\n AgentCampaign[],\n {\n campaignId: number;\n }\n>(\"oar/campaign\", (queryKey) => ({ options, additionalKey } = {}) => {\n const url = `${queryKey}/${additionalKey?.campaignId}/agents`;\n return useQuery(url, options);\n});\n\nexport const useIsUserCampaignLeadAgent = createQuery<\n boolean,\n {\n campaignId: number;\n }\n>(\"oar/campaign\", (queryKey) => ({ options, additionalKey } = {}) => {\n const url = `${queryKey}/${additionalKey?.campaignId}/leadAgent`;\n return useQuery(url, options);\n});\n\nexport const useGetCampaignLeadAgentsFromCampaignId = createQuery<\n User[],\n { campaignId: number }\n>(\"oar/campaign\", (queryKey) => ({ options, additionalKey } = {}) => {\n const url = `${queryKey}/${additionalKey?.campaignId}/leadAgents`;\n return useQuery(url, options);\n});\n\ninterface AssignAgentsPayload {\n agentIds: number[];\n campaignId: number;\n}\n\nexport const useAssignAgentsMutation = ({\n onSuccess,\n ...options\n}: UseMutationOptions = {}) =>\n useMutation(\n async (value: AssignAgentsPayload) => {\n return await api.post(`oar/campaign/${value.campaignId}/assign`, {\n json: value.agentIds,\n });\n },\n {\n onSuccess: (...params) => {\n queryClient.invalidateQueries(useAssignedAgents.queryKey);\n onSuccess?.(...params);\n },\n ...options,\n }\n );\n\nexport const useAssignedAgents = createQuery(\n \"oar/campaign\",\n (queryKey) =>\n ({ options, additionalKey } = {}) => {\n const url = `${queryKey}/${additionalKey?.campaignId}/agents`;\n return useQuery(url, options);\n }\n);\n\nexport const useAddNotesMutation = ({\n onSuccess,\n ...options\n}: UseMutationOptions<\n any,\n unknown,\n { campaignId: number; notes?: string }\n> = {}) =>\n useMutation(\n async ({ campaignId, notes }: { campaignId: number; notes?: string }) => {\n return await api.post(`oar/campaign/${campaignId}/notes`, {\n json: notes,\n });\n },\n {\n onSuccess: (...params) => {\n queryClient.invalidateQueries(useGetCampaigns.queryKey);\n onSuccess?.(...params);\n },\n ...options,\n }\n );\n","import { EntityBase } from \"../../../system/systemTypes\";\nimport { AgentCampaign } from \"../agents/agentTypes\";\n\nexport interface Campaign extends EntityBase {\n local: Local;\n campaignName: string;\n startDate: string;\n endDate: string;\n status: Status;\n notes?: string;\n agentCampaigns: AgentCampaign[];\n agentCampaignDtos: AgentCampaign[];\n nlrbActivity: NLRBActivity;\n preElectionEvaluation: PreElectionEvaluation;\n electionInfo: ElectionInfo;\n leadAgentIds: number[];\n agentIds: number[];\n existingReports: ExistingReports[];\n campaignOverview: CampaignOverview;\n}\n\ninterface CampaignOverview {\n id: number;\n unitSize: number;\n cardsSigned: number;\n ufcw: number;\n otherUnion: number;\n questionable: number;\n notContacted: number;\n namesCount: number;\n addressesCount: number;\n company: number;\n}\n\ninterface ExistingReports {\n id: number;\n reportDate: string;\n}\n\ninterface PreElectionEvaluation {\n id: number;\n votes: number;\n noUnion: number;\n otherUnion: number;\n emptyVote: number;\n recognitionDateDemand: string;\n dateOfCardChecked: string;\n petitionFiledDate: string;\n typeOfPetition: string;\n petitioner: string;\n}\n\nexport interface NLRBActivity {\n id: number;\n typeOfCharges: string;\n dateFiled: string;\n filedBy: string;\n ulpHearingDate: string;\n representationHearingDate: string;\n hearingDate: string;\n}\n\nexport interface ElectionInfo {\n id: number;\n electionDate: string;\n ballotsImpounded: boolean | string;\n ufcwResults: number;\n otherUnionResults: number;\n noUnionResults: number;\n voidResults: number;\n ufcwChallenges: number;\n companyChallenges: number;\n nlrbChallenges: number;\n otherChallenges: number;\n companyAttorney: string;\n attorneyFirm: string;\n companyPursuaders: string;\n pursuadersFirms: string;\n}\n\nexport enum Status {\n ACTIVE = \"ACTIVE\",\n INACTIVE = \"INACTIVE\",\n COMPLETED = \"COMPLETED\",\n DELETED = \"DELETED\",\n}\n\ninterface Info {\n city: string;\n state: string;\n electionDate: string;\n}\n\ninterface Local {\n id: number;\n region: string;\n localNumber: string;\n location: string;\n}\n\nexport interface CampaignInfo {\n campaignId: number;\n campaignName: string;\n local: Local;\n}\n\nexport interface CompanyInfo {\n id: number;\n company: string;\n parentCompany: string;\n city: string;\n state: string;\n tradeDivision: string;\n programType: string;\n}\n\nexport interface CampaignDTO extends Campaign {\n info: Info;\n}\n\ninterface CircleGraphPoints {\n totalCardsSigned: number;\n totalCards: number;\n}\n\nexport interface AddCampaignDTO extends Campaign {\n agentInfos?: AddAgentTimespan[];\n info: Info;\n}\n\nexport interface PreAddCampaignDTO extends AddCampaignDTO {}\n\nexport interface AddAgentTimespan {\n agentId?: number;\n isLead: boolean;\n agentAccessTimespans?: AgentTimespan[];\n}\n\nexport interface AgentTimespan {\n start: Date;\n end: Date;\n}\n\nexport interface CampaignOverviewStats {\n totalCardsSigned: number;\n totalUFCW: number;\n totalCompany: number;\n totalOtherUnion: number;\n totalQuestionable: number;\n totalNotContacted: number;\n totalNamesCount: number;\n totalAddressesCount: number;\n unitSize: number;\n recDemandDate: string;\n petFiledDate: string;\n dateOfCardChecked: string;\n petitioner: string;\n petitionType: string;\n totalUFCWResults: number;\n totalNoUnionResults: number;\n totalOtherUnionResults: number;\n totalVoidResults: number;\n totalUFCWChallenges: number;\n totalCompanyChallenges: number;\n totalNLRBChallenges: number;\n totalOtherChallenges: number;\n electionDate: string;\n ballotsImpounded: string;\n companyInfo: CompanyInfo;\n nlrbActivity: NLRBActivity;\n companyAttorney: string;\n companyPursuaders: string;\n attorneyFirm: string;\n pursuadersFirms: string;\n lastStatSubmitted: string;\n addressesCount: number;\n petitionsTotalHomeCalls: number;\n petitionsTotalMeetings: number;\n petitionsTotalParkingLot: number;\n petitionsTotalOther: number;\n}\n","import * as React from \"react\";\nimport Button from \"@mui/material/Button\";\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\n\ninterface Props extends DialogProps {\n title?: string;\n content?: string;\n cancelText?: string;\n confirmText?: string;\n onConfirm: () => void;\n onCancel: () => void;\n}\n\nexport default function ConfirmDialog({\n title,\n content,\n cancelText,\n confirmText,\n onConfirm,\n onCancel,\n ...props\n}: Props) {\n return (\n \n {title || \"Confirm\"}\n \n \n {content || \"Are you sure?\"}\n \n \n \n {\n onCancel();\n onCancel();\n }}\n >\n {cancelText ?? \"Cancel\"}\n \n {\n onConfirm();\n onCancel();\n }}\n autoFocus\n >\n {confirmText ?? \"Confirm\"}\n \n \n \n );\n}\n","import { useNavigation, useRoute } from \"@react-navigation/native\";\nimport React, { useState } from \"react\";\nimport { Text, TouchableOpacity, View } from \"react-native\";\nimport { Appbar, Menu } from \"react-native-paper\";\nimport {\n useCreateCampaignMutation,\n useDeleteCampaignMutation,\n useGetCampaigns,\n} from \"../../hooks/api/useCampaign\";\nimport { Campaign, Status } from \"../../screens/oar/campaigns/campaignTypes\";\nimport ConfirmDialog from \"./ConfirmDialog\";\nimport styles from \"./MainAppBar.style\";\nimport toast from \"react-hot-toast\";\nimport { api } from \"../../system/utils\";\n\ninterface DialogContent {\n content: string;\n cancelText: string;\n confirmText: string;\n}\n\nexport default function MenuBox() {\n const [isMenuBoxOpen, setIsMenuBoxOpen] = useState(false);\n const navigation = useNavigation();\n const route = useRoute();\n const campaignId = route.params.campaignId;\n\n const [isConfirmDialogOpen, setIsConfirmDialogOpen] = useState(false);\n\n const { data: campaigns } = useGetCampaigns();\n\n const campaign = campaigns?.find((c) => c.id == campaignId);\n\n const [dialogContent, setDialogContent] = useState();\n\n const [typeOfActions, setTypeOfActions] = useState<\n \"delete\" | \"change_status\"\n >();\n\n const deleteCampaignMutation = useDeleteCampaignMutation({\n onSuccess: () => {\n toast.success(`${campaign?.campaignName} deleted successfully`, {\n iconTheme: { primary: \"#26A670\", secondary: \"#ffffff\" },\n style: {\n fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n },\n });\n setIsConfirmDialogOpen(false);\n setIsMenuBoxOpen(false);\n navigation.navigate(\"Campaigns\");\n },\n });\n\n const updateCampaignMutation = useCreateCampaignMutation({\n onSuccess: () => {\n toast.success(`${campaign?.campaignName} updated successfully`, {\n iconTheme: { primary: \"#26A670\", secondary: \"#ffffff\" },\n style: {\n fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n },\n });\n setIsConfirmDialogOpen(false);\n setIsMenuBoxOpen(false);\n navigation.navigate(\"Campaigns\");\n },\n });\n\n const handleEditCampaign = async () => {\n setIsMenuBoxOpen(false);\n navigation.navigate(\"OAR\", {\n screen: \"EditCampaign\",\n params: {\n campaignId: campaignId,\n },\n });\n };\n\n const handleAssignAgent = () => {\n setIsMenuBoxOpen(false);\n navigation.navigate(\"OAR\", {\n screen: \"AssignAgents\",\n params: {\n campaignId: campaignId,\n },\n });\n };\n\n const handleCampaignNotes = () => {\n navigation.navigate(\"OAR\", {\n screen: \"CampaignNotes\",\n params: { campaignId },\n });\n\n setIsMenuBoxOpen(false);\n };\n\n const handleCampaignDetails = () => {\n navigation.navigate(\"OAR\", {\n screen: \"CampaignInputDetails\",\n params: {\n campaignId: campaignId,\n },\n });\n\n setIsMenuBoxOpen(false);\n };\n\n const onDeleteCampaign = () => {\n setIsConfirmDialogOpen(true);\n setDialogContent({\n content: `Are you sure you want to delete ${campaign?.campaignName}?`,\n cancelText: \"Cancel\",\n confirmText: \"Delete\",\n });\n setTypeOfActions(\"delete\");\n };\n\n const onCampaignStatusChange = () => {\n setIsConfirmDialogOpen(true);\n setDialogContent({\n content: `Are you sure you want to change the status of ${campaign?.campaignName}?`,\n cancelText: \"Cancel\",\n confirmText: \"Change\",\n });\n setTypeOfActions(\"change_status\");\n };\n\n const onConfirm = () => {\n if (typeOfActions === \"delete\") {\n deleteCampaignMutation.mutate(campaignId);\n } else if (typeOfActions === \"change_status\") {\n const updatedCampaign: Partial = {\n ...campaign,\n status:\n campaign?.status === Status.ACTIVE ? Status.INACTIVE : Status.ACTIVE,\n };\n updateCampaignMutation.mutate(updatedCampaign);\n }\n };\n\n const onCancel = () => {\n setIsConfirmDialogOpen(false);\n };\n\n const onPressStaffPDF = async () => {\n setIsMenuBoxOpen(false);\n const url = `oar/campaign/${campaignId}/Overview/pdf`;\n\n const response = api(url).blob();\n\n var file = window.URL.createObjectURL(await response);\n\n window.open(file);\n };\n\n return (\n setIsMenuBoxOpen(false)}\n contentStyle={{\n backgroundColor: \"white\",\n paddingLeft: 12,\n borderRadius: 6,\n width: 220,\n }}\n anchor={\n // @ts-ignore\n setIsMenuBoxOpen(true)}\n />\n }\n >\n \n\n \n \n Assign Representatives\n \n \n \n \n \n \n {campaign?.status == Status.ACTIVE\n ? \"Mark Inactive\"\n : \"Mark Active\"}\n \n \n \n\n \n \n Add Notes\n \n \n \n \n Campaign Details\n \n \n \n \n Edit Campaign\n \n \n \n Print Staff PDF\n \n \n \n \n Delete Campaign\n \n \n \n );\n}\n","import React from \"react\";\nimport { Text, TouchableOpacity, View } from \"react-native\";\nimport { Appbar, Menu } from \"react-native-paper\";\nimport styles from \"./MainAppBar.style\";\n\nconst ReportMenuBox = () => {\n const [visible, setVisible] = React.useState(false);\n const openDialog = () => setVisible(true);\n const closeDialog = () => setVisible(false);\n return (\n \n }\n >\n \n \n Export CSV\n \n \n \n \n Edit Report\n \n \n\n \n \n Delete Report\n \n \n \n );\n};\n\nexport default ReportMenuBox;\n","import { useMutation, UseMutationOptions, useQuery } from \"react-query\";\nimport { api, createQuery, queryClient } from \"../../system/utils\";\nimport { User } from \"../oar/agents/agentTypes\";\nimport { LM2Form, LM2FormDto, LM2Program, ReadOnlyProgramDTO } from \"./types\";\n\nconst isFullForm = (form: LM2FormDto | LM2Form): form is LM2Form => {\n return form.hasOwnProperty(\"id\");\n};\n\nexport const useLm2FormMutation = ({\n onSuccess,\n ...options\n}: UseMutationOptions = {}) =>\n useMutation(\n async (value: LM2FormDto | LM2Form) => {\n if (isFullForm(value)) {\n return await api\n .post(`lm2/${value.id}`, {\n json: value,\n })\n .json();\n } else {\n return await api.post(\"lm2\", { json: value }).json();\n }\n },\n {\n onSuccess: (...params) => {\n queryClient.invalidateQueries(useLM2Forms.queryKey);\n onSuccess?.(...params);\n },\n ...options,\n }\n );\n\nexport const useLM2Programs = createQuery(\n \"lm2/programs\",\n (queryKey) =>\n ({ options } = {}) => {\n return useQuery(queryKey, options);\n }\n);\n\nexport const useLM2Forms = createQuery(\n \"lm2\",\n (queryKey) =>\n ({ options } = {}) => {\n return useQuery(queryKey, options);\n }\n);\n\nexport const useLM2Users = createQuery(\n \"user/getUsers\",\n (queryKey) =>\n ({ options } = {}) => {\n return useQuery(queryKey, options);\n }\n);\n\nexport const useLM2User = createQuery<\n User,\n {\n userId: number;\n }\n>(\"user\", (queryKey) => ({ options, additionalKey } = {}) => {\n const url = `${queryKey}/${additionalKey?.userId}`;\n return useQuery(url, options);\n});\n\nexport const getLM2ProgramByLM2Id = createQuery<\n ReadOnlyProgramDTO[],\n {\n lm2Id: number;\n }\n>(\"lm2\", (queryKey) => ({ options, additionalKey } = {}) => {\n const url = `${queryKey}/${additionalKey?.lm2Id}/getLM2Programs`;\n return useQuery(url, options);\n});\n\nexport const useDeleteLm2 = ({\n onSuccess,\n ...options\n}: UseMutationOptions = {}) =>\n useMutation(\n async (value) => {\n const url = `lm2/${value.lm2Id}`;\n const form = await api.delete(url).json();\n return form;\n },\n {\n onSuccess: (...params) => {\n queryClient.invalidateQueries(useLM2Forms.queryKey);\n onSuccess?.(...params);\n },\n ...options,\n }\n );\n\n// export const deleteLM2 = useMutation<\n// LM2Form[],\n// {\n// lm2Id: number;\n// }\n// >(\"lm2\", (queryKey) => ({ options, additionalKey } = {}) => {\n// const url = `${queryKey}/${additionalKey?.lm2Id}/delete`;\n// return useQuery(url, options);\n// });\n\nexport const useLM2ByUserId = createQuery<\n LM2Form[],\n {\n userId: number;\n }\n>(\"lm2\", (queryKey) => ({ options, additionalKey } = {}) => {\n const url = `${queryKey}/${additionalKey?.userId}/getLM2ByUserId `;\n return useQuery(url, options);\n});\n\nexport const useGetLM2Form = createQuery<\n LM2Form,\n {\n formId: number;\n }\n>(\"lm2\", (queryKey) => ({ options, additionalKey } = {}) => {\n const url = `${queryKey}/${additionalKey?.formId}/getLM2Form`;\n return useQuery(url, options);\n});\n","import { useNavigation } from \"@react-navigation/native\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\nimport React from \"react\";\nimport { Text, TouchableOpacity, View } from \"react-native\";\nimport { Appbar, Menu } from \"react-native-paper\";\nimport { useLM2Forms } from \"../../screens/lm2/lm2Hooks\";\nimport { rejectForm } from \"../../screens/lm2/lm2Slice\";\nimport { LM2Form } from \"../../screens/lm2/types\";\nimport { useAppDispatch, useTypedSelector } from \"../../store\";\nimport { queryClient } from \"../../system/utils\";\nimport styles from \"./MainAppBar.style\";\n\nconst LM2FormMenuBox = () => {\n const dispatch = useAppDispatch();\n const navigation = useNavigation();\n const [visible, setVisible] = React.useState(false);\n const openDialog = () => setVisible(true);\n const closeDialog = () => setVisible(false);\n const selectedLM2FormId = useTypedSelector(\n (state) => state.lm2Slice.selectedLM2FormId\n );\n\n const handleRejectForm = () => {\n setVisible(false);\n dispatch(rejectForm(selectedLM2FormId))\n .then(unwrapResult)\n .then((res) => {\n queryClient.setQueryData(useLM2Forms.queryKey, (old?: LM2Form[]) => {\n const newForms = old?.filter((o) => o.id !== res.id);\n return newForms ?? [];\n });\n return navigation.goBack();\n })\n .catch((e: Error) => console.error(e.message));\n };\n\n return (\n \n }\n >\n \n \n \n Reject Form\n \n \n \n \n );\n};\n\nexport default LM2FormMenuBox;\n","import React, { useState } from \"react\";\nimport { Modal, Platform, TouchableOpacity, View } from \"react-native\";\nimport { Appbar, Text } from \"react-native-paper\";\nimport MainMenu from \"./MainMenu\";\nimport ShareExample from \"./ShareExample\";\nimport ContentTitle from \"./ContentTitle\";\nimport MenuBox from \"./MenuBox\";\nimport ReportMenuBox from \"./ReportMenuBox\";\nimport LM2FormMenuBox from \"./LM2FormMenuBox\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport styles from \"./MainAppBar.style\";\nimport { useAppDispatch } from \"../../store\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\nimport { getAgents } from \"../../screens/oar/agents/agentSlice\";\nimport { getCampaigns } from \"../../screens/oar/campaigns/campaignSlice\";\nimport { getLocalsAndRegions } from \"../../screens/oar/locals/localSlice\";\nimport { weeklyActivitySlice } from \"../../screens/oar/weekly_activity/weeklyActivitySlice\";\n\ntype Props = {\n titleBar: any;\n subTitle?: string;\n rightButton?: any;\n leftButton?: any;\n rightItemType?: any;\n rightItemOnPress?: () => void;\n};\n\nexport default function MainAppBar({\n titleBar,\n subTitle,\n leftButton,\n rightButton,\n rightItemType,\n rightItemOnPress,\n}: Props) {\n const [menuVisible, setMenuVisible] = useState(false);\n const dispatch = useAppDispatch();\n let menuDisplay = \"\";\n const navigation = useNavigation();\n\n if (menuVisible === true) {\n menuDisplay = \"block\";\n } else {\n menuDisplay = \"none\";\n }\n\n const _showMenu = () => {\n setMenuVisible(true);\n };\n\n const handleReportAddNavigation = async () => {\n await dispatch(getCampaigns()).then(unwrapResult);\n await dispatch(getLocalsAndRegions()).then(unwrapResult);\n await dispatch(getAgents()).then(unwrapResult);\n navigation.navigate(\"OAR\", {\n screen: \"ReportAdd\",\n });\n };\n\n if (rightItemType == \"add\") {\n ;\n }\n\n const _handleAdd = () => {\n if (rightButton == \"account\") {\n navigation.navigate(\"Account\");\n } else if (rightButton == \"add\") {\n navigation.navigate(\"OAR\", {\n screen: \"ReportingFormAdd\",\n });\n } else if (rightButton == \"add-campaign\") {\n navigation.navigate(\"OAR\", {\n screen: \"CampaignAdd\",\n });\n } else if (rightButton == \"add-agent\") {\n navigation.navigate(\"OAR\", {\n screen: \"AgentAdd\",\n });\n } else if (rightButton == \"add-report\") {\n handleReportAddNavigation();\n } else if (rightButton == \"share\") {\n console.log(\"share\");\n } else {\n }\n };\n\n let acctButton = null;\n if (rightButton == \"add\") {\n acctButton = (\n \n );\n } else if (rightButton == \"account\") {\n acctButton = (\n \n );\n } else if (rightButton == \"add-campaign\") {\n acctButton = (\n \n );\n } else if (rightButton == \"add-agent\") {\n acctButton = (\n \n );\n } else if (rightButton == \"add-report\") {\n acctButton = (\n \n );\n } else if (rightButton == \"more-campaign\") {\n acctButton = ;\n } else if (rightButton == \"more-report\") {\n acctButton = ;\n } else if (rightButton == \"more-lm2form\") {\n acctButton = ;\n } else if (rightButton == \"share\") {\n acctButton = ;\n } else {\n if (leftButton == \"cancel\") {\n // @ts-ignore\n acctButton = ;\n } else {\n // @ts-ignore\n acctButton = ;\n }\n }\n\n let menuButton = null;\n if (leftButton == \"menu\") {\n menuButton = (\n \n );\n } else if (leftButton == \"cancel\") {\n menuButton = (\n {\n dispatch(weeklyActivitySlice.actions.setSelectedActivityId(0));\n if (Platform.OS !== \"web\") {\n navigation.goBack();\n } else {\n window.history.back();\n }\n }}\n >\n Cancel\n \n );\n } else {\n menuButton = (\n {\n if (Platform.OS !== \"web\") {\n navigation.goBack();\n } else {\n window.history.back();\n }\n }}\n />\n );\n }\n\n return (\n <>\n {Platform.OS == \"web\" ? (\n // @ts-ignore\n \n \n \n ) : (\n \n \n \n )}\n\n \n {menuButton}\n \n {acctButton}\n \n \n );\n}\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n inputIOS: {\n fontSize: 16,\n paddingVertical: 8,\n paddingHorizontal: 10,\n color: \"black\",\n height: 38,\n backgroundColor: \"white\",\n },\n inputAndroid: {\n height: 38,\n margin: 0,\n padding: 0,\n color: \"black\",\n backgroundColor: \"white\",\n },\n inputWeb: {\n borderWidth: 0,\n height: 38,\n },\n wrapper: {\n borderWidth: 1,\n borderColor: \"#D2D6DC\",\n borderRadius: 8,\n height: 40,\n paddingRight: 8,\n paddingLeft: 4,\n elevation: 1,\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n backgroundColor: \"white\",\n width: \"100%\",\n },\n});\n","class AccountService {\n getAllStates() {\n return [\n \"Alabama\",\n \"Alaska\",\n \"Arizona\",\n \"Arkansas\",\n \"California\",\n \"Colorado\",\n \"Connecticut\",\n \"Delaware\",\n \"District Of Columbia\",\n \"Florida\",\n \"Georgia\",\n \"Guam\",\n \"Hawaii\",\n \"Idaho\",\n \"Illinois\",\n \"Indiana\",\n \"Iowa\",\n \"Kansas\",\n \"Kentucky\",\n \"Louisiana\",\n \"Maine\",\n \"Marshall Islands\",\n \"Maryland\",\n \"Massachusetts\",\n \"Michigan\",\n \"Minnesota\",\n \"Mississippi\",\n \"Montana\",\n \"Nebraska\",\n \"Nevada\",\n \"New Hampshire\",\n \"New Jersey\",\n \"New Mexico\",\n \"New York\",\n \"North Carolina\",\n \"North Dakota\",\n \"Ohio\",\n \"Oregon\",\n \"Pennsylvania\",\n \"Puerto Rico\",\n \"Rhode Island\",\n \"South Carolina\",\n \"South Dakota\",\n \"Tennessee\",\n \"Texas\",\n \"Utah\",\n \"Vermont\",\n \"Virginia\",\n \"Washington\",\n \"West Virginia\",\n \"Wisconsin\",\n \"Wyoming\",\n ];\n }\n\n getCanadianProvidences() {\n return [\n \"Alberta\",\n \"British Columbia\",\n \"Manitoba\",\n \"New Brunswick\",\n \"Newfoundland and Labrador\",\n \"Northwest Territories\",\n \"Nova Scotia\",\n \"Nunavut\",\n \"Ontario\",\n \"Prince Edward Island\",\n \"Quebec\",\n \"Saskatchewan\",\n \"Yukon Territory\",\n ];\n }\n\n getUnitedStatesAndCanadaStates() {\n return [...this.getAllStates(), ...this.getCanadianProvidences()];\n }\n}\n\nexport default new AccountService();\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n primaryButton: {\n backgroundColor: \"#EFC83C\",\n borderRadius: 100,\n padding: 13,\n margin: 0,\n textAlign: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n },\n primaryButtonText: {\n color: \"#011B36\",\n fontSize: 14,\n fontWeight: \"600\",\n letterSpacing: -0.25,\n },\n secondaryButton: {\n backgroundColor: \"#CFD5DB\",\n borderRadius: 100,\n padding: 13,\n margin: 0,\n textAlign: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n },\n secondaryButtonText: {\n color: \"#011B36\",\n fontSize: 14,\n fontWeight: \"600\",\n letterSpacing: -0.25,\n },\n container: {\n flex: 1,\n backgroundColor: \"#fff\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n textInput: {\n height: 40,\n borderColor: \"#D2D6DC\",\n borderWidth: 1,\n borderRadius: 6,\n padding: 0,\n paddingLeft: 12,\n paddingRight: 12,\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n backgroundColor: \"white\",\n elevation: 1,\n fontSize: 16,\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n section: {\n backgroundColor: \"white\",\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n marginTop: 8,\n borderRadius: 12,\n padding: 16,\n elevation: 1,\n maxWidth: 500,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n width: \"100%\",\n },\n});\n","import React from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport {\n Dimensions,\n Platform,\n ScrollView,\n StyleSheet,\n Text,\n TextInput,\n View,\n} from \"react-native\";\nimport { Avatar } from \"react-native-paper\";\nimport Button from \"../../shared/Button\";\nimport { User } from \"../../../screens/oar/agents/agentTypes\";\nimport RNPickerSelect from \"react-native-picker-select\";\nimport pickerSelectStyles from \"../../shared/PickerSelect.style\";\nimport AccountService from \"../../../screens/root/account/AccountService\";\nimport { useAppDispatch } from \"../../../store\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\nimport globalStyles from \"../../shared/Global.styles\";\nimport { updateUser } from \"../../../screens/root/auth/authSlice\";\n\ninterface EditProfileTypes {\n user: User | undefined;\n toggle: () => void;\n}\n\nconst EditProfile = ({ user, toggle }: EditProfileTypes) => {\n const dispatch = useAppDispatch();\n const {\n handleSubmit,\n control,\n\n formState: { errors },\n } = useForm();\n\n const onSubmit = (formValues: User) => {\n const doc = { ...user, ...formValues };\n dispatch(updateUser(doc))\n .then(unwrapResult)\n .then(() => toggle())\n .catch((e: Error) => console.error(e.message));\n };\n\n return (\n \n \n \n \n \n \n {user?.firstName} {user?.lastName}\n \n \n {user?.city && user?.city + \", \"} {user?.state}\n \n \n \n \n \n \n \n \n \n \n Email Address\n \n \n \n \n \n \n \n First Name\n \n \n {\n return (\n onChange(value)}\n returnKeyType=\"done\"\n returnKeyLabel=\"done\"\n />\n );\n }}\n />\n \n {errors.firstName?.message}\n \n \n \n Last Name\n \n \n {\n return (\n onChange(value)}\n returnKeyType=\"done\"\n returnKeyLabel=\"done\"\n />\n );\n }}\n />\n \n {errors.lastName?.message}\n \n \n \n Phone Number\n \n \n {\n return (\n onChange(value)}\n returnKeyType=\"done\"\n returnKeyLabel=\"done\"\n />\n );\n }}\n />\n \n \n \n \n Address\n \n \n {\n return (\n onChange(value)}\n returnKeyType=\"done\"\n returnKeyLabel=\"done\"\n />\n );\n }}\n />\n \n \n \n \n City\n \n \n {\n return (\n onChange(value)}\n returnKeyType=\"done\"\n returnKeyLabel=\"done\"\n />\n );\n }}\n />\n \n \n \n \n State\n \n \n \n {\n return (\n onChange(value)}\n value={value}\n items={AccountService.getUnitedStatesAndCanadaStates().map(\n (x) => ({ label: x, value: x })\n )}\n style={pickerSelectStyles}\n itemKey=\"value\"\n Icon={() => {\n if (\n Platform.OS === \"ios\" ||\n Platform.OS === \"android\"\n ) {\n return (\n \n );\n } else {\n return ;\n }\n }}\n />\n );\n }}\n />\n \n \n \n \n \n Zip Code\n \n \n {\n return (\n onChange(value)}\n returnKeyType=\"done\"\n returnKeyLabel=\"done\"\n />\n );\n }}\n />\n \n \n \n \n \n \n );\n};\n\nexport default EditProfile;\n\nconst styles = StyleSheet.create({\n bold: {\n fontWeight: \"bold\",\n },\n container: {\n flex: 1,\n backgroundColor: \"#fff\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n tabContentWrapper: {\n backgroundColor: \"white\",\n //flex: 1,\n //paddingLeft: 16,\n height: \"100%\",\n },\n tabContent: {\n paddingBottom: 36,\n },\n centeredView: {\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n marginTop: 0,\n backgroundColor: \"blue\",\n },\n notificationItem: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n padding: 16,\n paddingLeft: 0,\n },\n notificationItemTitle: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n marginBottom: 2,\n },\n notificationItemTitleText: {\n fontWeight: \"bold\",\n color: \"#012447\",\n fontSize: 14,\n },\n notificationItemDescriptionText: {\n fontSize: 12,\n },\n sideButtonOutline: {\n backgroundColor: \"white\",\n borderColor: \"#CFD5DB\",\n borderWidth: 1,\n borderRadius: 100,\n position: \"absolute\",\n right: 16,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n },\n sideButtonText: {\n color: \"#08223C\",\n fontSize: 13,\n fontWeight: \"bold\",\n },\n profileHeader: {\n paddingLeft: 16,\n borderBottomWidth: 5,\n borderBottomColor: \"#D2D6DC\",\n backgroundColor: \"white\",\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n profileRow: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingBottom: 16,\n paddingTop: 16,\n paddingLeft: 16,\n paddingRight: 16,\n },\n profileRowLabel: {\n fontSize: 13,\n marginBottom: 2,\n },\n formRow: {\n backgroundColor: \"white\",\n borderBottomWidth: 5,\n borderBottomColor: \"#D2D6DC\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: 16,\n paddingTop: 12,\n paddingBottom: 12,\n },\n inputContainer: {\n paddingRight: 12,\n },\n});\n","import React from \"react\";\nimport {\n Dimensions,\n Platform,\n ScrollView,\n StyleSheet,\n Text,\n View,\n} from \"react-native\";\nimport { Avatar } from \"react-native-paper\";\nimport Button from \"../../shared/Button\";\nimport { User } from \"../../../screens/oar/agents/agentTypes\";\n\ninterface ProfileDetailsTypes {\n user: User | undefined;\n toggle: () => void;\n}\n\nconst ProfileDetails = ({ user, toggle }: ProfileDetailsTypes) => {\n return (\n \n \n \n \n \n \n {user?.firstName} {user?.lastName}\n \n \n {user?.city && user?.city + \", \"} {user?.state}\n \n \n \n \n \n \n \n \n \n \n Email Address\n \n \n {user?.email}\n \n \n \n \n Name\n \n \n \n {user?.firstName + \" \" + user?.lastName}\n \n \n \n \n \n Phone Number\n \n \n {user?.phoneNumber}\n \n \n \n \n Address\n \n \n {user?.address1}\n \n \n \n \n City\n \n \n {user?.city}\n \n \n \n \n State\n \n \n {user?.state}\n \n \n \n \n Zip Code\n \n \n {user?.zipCode}\n \n \n \n \n \n \n );\n};\n\nexport default ProfileDetails;\n\nconst styles = StyleSheet.create({\n bold: {\n fontWeight: \"bold\",\n },\n container: {\n flex: 1,\n backgroundColor: \"#fff\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n tabContentWrapper: {\n backgroundColor: \"white\",\n //flex: 1,\n //paddingLeft: 16,\n height: \"100%\",\n },\n tabContent: {\n paddingBottom: 36,\n paddingLeft: 16,\n paddingRight: 16,\n },\n centeredView: {\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n marginTop: 0,\n backgroundColor: \"blue\",\n },\n notificationItem: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n padding: 16,\n paddingLeft: 0,\n },\n notificationItemTitle: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n marginBottom: 2,\n },\n notificationItemTitleText: {\n fontWeight: \"bold\",\n color: \"#012447\",\n fontSize: 14,\n },\n notificationItemDescriptionText: {\n fontSize: 12,\n },\n sideButtonOutline: {\n backgroundColor: \"white\",\n borderColor: \"#CFD5DB\",\n borderWidth: 1,\n borderRadius: 100,\n position: \"absolute\",\n right: 16,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n },\n sideButtonText: {\n color: \"#08223C\",\n fontSize: 13,\n fontWeight: \"bold\",\n },\n profileHeader: {\n paddingLeft: 16,\n borderBottomWidth: 5,\n borderBottomColor: \"#D2D6DC\",\n backgroundColor: \"white\",\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n profileRow: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingBottom: 16,\n paddingTop: 16,\n },\n profileRowLabel: {\n fontSize: 13,\n marginBottom: 2,\n },\n formRow: {\n backgroundColor: \"white\",\n borderBottomWidth: 5,\n borderBottomColor: \"#D2D6DC\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: 16,\n paddingTop: 12,\n paddingBottom: 12,\n },\n});\n","import React, { useState } from \"react\";\nimport { View } from \"react-native\";\nimport { useTypedSelector } from \"../../../store\";\nimport EditProfile from \"./EditProfile\";\nimport ProfileDetails from \"./ProfileDetails\";\n\nconst Profile = () => {\n const user = useTypedSelector((state) => state.authSlice.user);\n\n const [editMode, setEditMode] = useState(false);\n\n const toggle = () => {\n setEditMode(!editMode);\n };\n\n return (\n <>\n \n {editMode ? (\n \n ) : (\n \n )}\n \n \n );\n};\n\nexport default Profile;\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n headerBar: {\n backgroundColor: \"#012447\",\n },\n bottom: {\n alignItems: \"center\",\n fontFamily: \"Inter\",\n fontWeight: \"900\",\n color: \"yellow\",\n },\n emptyIcon: {\n backgroundColor: \"transparent\",\n height: 48,\n width: 48,\n marginBottom: 12,\n },\n buttonHolder: {\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n tabWrapper: {\n width: \"100%\",\n alignItems: \"center\",\n alignContent: \"center\",\n height: \"100%\",\n justifyContent: \"center\",\n flex: 1,\n },\n scene: {\n flex: 1,\n },\n});\n","import React from \"react\";\nimport { Dimensions, Text, View } from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport styles from \"./FormDetails.style\";\n\ninterface EmptyStateProps {\n emptyText: string;\n emptyDescription?: string;\n iconName: string;\n fullHeight?: boolean;\n topOffset?: number;\n}\n\nconst EmptyState = ({\n emptyText,\n emptyDescription,\n iconName,\n fullHeight,\n topOffset,\n}: EmptyStateProps) => {\n const insets = useSafeAreaInsets();\n return (\n \n \n \n {emptyText}\n \n \n {emptyDescription}\n \n \n );\n};\n\nexport default EmptyState;\n","import React from \"react\";\nimport { Platform, ScrollView, StyleSheet, View } from \"react-native\";\nimport EmptyState from \"../../../components/oar/forms/EmptyState\";\n\nconst Notifications = () => {\n return (\n \n \n \n \n \n );\n};\n\nexport default Notifications;\n\nconst styles = StyleSheet.create({\n bold: {\n fontWeight: \"bold\",\n },\n container: {\n flex: 1,\n backgroundColor: \"#fff\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n tabContentWrapper: {\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n flex: 1,\n marginTop: Platform.OS === \"web\" ? 8 : 0,\n marginBottom: 8,\n borderRadius: 6,\n backgroundColor: \"transparent\",\n overflow: \"hidden\",\n },\n centeredView: {\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n marginTop: 0,\n backgroundColor: \"blue\",\n },\n notificationItem: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n padding: 16,\n paddingLeft: 0,\n },\n notificationItemTitle: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n marginBottom: 2,\n },\n notificationItemTitleText: {\n fontWeight: \"bold\",\n color: \"#012447\",\n fontSize: 14,\n },\n notificationItemDescriptionText: {\n fontSize: 12,\n },\n sideButtonOutline: {\n backgroundColor: \"white\",\n borderColor: \"#CFD5DB\",\n borderWidth: 1,\n borderRadius: 100,\n position: \"absolute\",\n right: 16,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n },\n sideButtonText: {\n color: \"#08223C\",\n fontSize: 13,\n fontWeight: \"bold\",\n },\n profileHeader: {\n padding: 16,\n borderBottomWidth: 5,\n borderBottomColor: \"#D2D6DC\",\n backgroundColor: \"white\",\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n profileRow: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingBottom: 16,\n paddingTop: 16,\n },\n profileRowLabel: {\n fontSize: 13,\n marginBottom: 2,\n },\n formRow: {\n backgroundColor: \"white\",\n borderBottomWidth: 5,\n borderBottomColor: \"#D2D6DC\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: 16,\n paddingTop: 12,\n paddingBottom: 12,\n },\n});\n","import React from \"react\";\nimport {\n Dimensions,\n KeyboardAvoidingView,\n Platform,\n Text,\n View,\n} from \"react-native\";\nimport MainAppBar from \"../../../components/shared/MainAppBar\";\nimport { SceneMap, TabBar, TabView } from \"react-native-tab-view\";\nimport Profile from \"../../../components/oar/account/Profile\";\nimport Notifications from \"../../../components/oar/account/Notifications\";\n\nconst initialLayout = { width: Dimensions.get(\"window\").width };\n\nconst AccountScreen = () => {\n const [index, setIndex] = React.useState(0);\n\n const renderScene = SceneMap({\n profile: Profile,\n notifications: Notifications,\n });\n return (\n <>\n \n \n \n {\n return (\n (\n \n \n {route.title}\n \n \n )}\n />\n );\n }}\n />\n \n \n \n );\n};\n\nexport default AccountScreen;\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n headerBar: {\n backgroundColor: \"#012447\",\n },\n bottom: {\n alignItems: \"center\",\n fontFamily: \"Inter\",\n fontWeight: \"900\",\n color: \"yellow\",\n },\n menuBackgroundWrapper: {\n backgroundColor: \"rgba(0, 0, 0,.5)\",\n flex: 1,\n },\n menuBackground: {\n flex: 1,\n },\n centeredView: {\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n modalView: {\n margin: 20,\n backgroundColor: \"white\",\n borderRadius: 20,\n padding: 35,\n alignItems: \"center\",\n shadowColor: \"#000\",\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.25,\n shadowRadius: 3.84,\n elevation: 5,\n },\n closeButton: {\n color: \"black\",\n position: \"absolute\",\n top: 8,\n left: 8,\n textAlign: \"center\",\n opacity: 0.75,\n height: 40,\n width: 40,\n display: \"flex\",\n alignItems: \"center\",\n alignContent: \"center\",\n justifyContent: \"center\",\n },\n openButton: {\n padding: 10,\n color: \"black\",\n textAlign: \"left\",\n },\n textStyle: {\n color: \"black\",\n fontWeight: \"bold\",\n textAlign: \"left\",\n },\n modalText: {\n marginBottom: 15,\n textAlign: \"left\",\n },\n logo: {\n height: 20,\n width: 94,\n resizeMode: \"contain\",\n },\n topImage: {\n height: 20,\n width: 94,\n marginTop: 4,\n alignItems: \"center\",\n },\n menuIcon: {\n backgroundColor: \"transparent\",\n height: 24,\n width: 24,\n marginRight: 10,\n },\n menuButton: {\n display: \"flex\",\n flexDirection: \"row\",\n },\n menuItemText: {\n color: \"black\",\n fontSize: 18,\n fontWeight: \"bold\",\n textAlign: \"left\",\n },\n menuItemDivider: {\n marginTop: 16,\n marginBottom: 12,\n borderTopColor: \"rgba(255,255,255,.15)\",\n borderTopWidth: 1,\n width: \"80%\",\n marginLeft: \"20%\",\n },\n});\n","import React from \"react\";\nimport { Text } from \"react-native-paper\";\nimport {\n Dimensions,\n ImageBackground,\n Linking,\n Platform,\n SafeAreaView,\n ScrollView,\n StatusBar,\n TouchableHighlight,\n TouchableOpacity,\n View,\n} from \"react-native\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport styles from \"./GoScreen.style\";\n\nfunction GoScreen() {\n const navigation = useNavigation();\n const _handleOutlookLink = () => {\n Linking.openURL(\"https://outlook.office365.com/\");\n };\n const _handleEICLink = () => {\n Linking.openURL(\"https://home.ufcw.org/empeinfo/eifoIndex.asp\");\n };\n const _handleAppPortalLink = () => {\n Linking.openURL(\"https://home.ufcw.org/login.aspx\");\n };\n const _handleCrystalReportsLink = () => {\n Linking.openURL(\n \"http://ufcw-crystal/businessobjects/Enterprise11/Infoview/logon.aspx?action=logoff\"\n );\n };\n const _handleINTLSharePointLink = () => {\n Linking.openURL(\n \"https://ufcwinternationalunion.sharepoint.com/default.aspx\"\n );\n };\n const _handleADPiPayStatementsLink = () => {\n Linking.openURL(\"https://ipay.adp.com/\");\n };\n const _handleUFCWorgLink = () => {\n Linking.openURL(\"http://ufcw.org/\");\n };\n const _handleLocalSharePointLink = () => {\n Linking.openURL(\n \"https://ufcwinternationalunion.sharepoint.com/sites/locals/SitePages/Home.aspx\"\n );\n };\n return (\n \n \n \n \n \n \n \n UFCW GO\n \n {\n navigation.goBack();\n }}\n style={{ position: \"absolute\", top: 12, right: 12 }}\n >\n \n \n \n \n \n {\n //setMenuVisible(false);\n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n });\n }}\n >\n \n \n \n OAR\n \n \n \n Organizing\n \n \n \n {\n //setMenuVisible(false);\n navigation.navigate(\"LM2\");\n }}\n >\n \n \n \n LM2\n \n \n \n LM-2 Forms\n \n \n \n \n \n \n External Quick Links{\" \"}\n \n (will open in web browser)\n \n\n \n \n \n \n Outlook on the Web\n \n \n \n \n \n Employee Info Center\n \n \n \n \n \n \n \n UFCW App Portal\n \n \n \n \n \n UFCW Crystal Reports\n \n \n \n \n \n \n \n INTL SharePoint\n \n \n \n \n \n ADP iPay Statements\n \n \n \n \n \n \n \n Locals SharePoint\n \n \n \n \n \n ADP Workforce Now\n \n \n \n \n \n \n \n Fidelity 401k\n \n \n \n \n \n Mimecast\n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default GoScreen;\n","import React, { ReactNode } from \"react\";\nimport {\n Dimensions,\n Keyboard,\n Platform,\n SafeAreaView,\n ScrollView,\n StyleSheet,\n TouchableWithoutFeedback,\n View,\n} from \"react-native\";\nimport Button from \"../../../components/shared/Button\";\nimport MainAppBar from \"../../../components/shared/MainAppBar\";\n\nconst height = Dimensions.get(\"window\").height;\n\ninterface Props {\n title: string;\n subtitle?: string;\n buttonText: string;\n buttonType:\n | \"primary\"\n | \"secondary\"\n | \"outlined\"\n | \"small-primary\"\n | \"small-secondary\"\n | \"small-outlined\";\n _handleSubmit: () => void;\n children: ReactNode;\n rightButton?:\n | \"account\"\n | \"add\"\n | \"add-campaign\"\n | \"add-agent\"\n | \"add-report\"\n | \"share\"\n | \"account\"\n | \"more-campaign\"\n | \"more-report\"\n | \"more-lm2form\";\n leftButton?: \"cancel\" | \"menu\" | \"\";\n isLoading?: boolean;\n onAddButtonPress?: () => void;\n}\n\nconst AddContainer = ({\n title,\n subtitle,\n buttonText,\n buttonType,\n _handleSubmit,\n children,\n rightButton,\n leftButton,\n isLoading,\n}: Props) => {\n return (\n \n \n \n {/* */}\n \n \n \n \n \n {Platform.OS === \"web\" ? (\n {children}\n ) : (\n \n {children}\n \n )}\n \n \n \n \n {/* */}\n \n \n \n \n \n \n );\n};\n\nexport default AddContainer;\n\nconst styles = StyleSheet.create({\n darkBg: {\n backgroundColor: \"#F2F6F9\",\n flex: 1,\n },\n topDarkBg: {\n backgroundColor: \"#012447\",\n position: \"absolute\",\n height: 200,\n width: \"100%\",\n top: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n opacity: Platform.OS === \"web\" ? 0 : 1,\n },\n bottomWhiteBg: {\n backgroundColor: \"#ffffff\",\n position: \"absolute\",\n height: 200,\n width: \"100%\",\n maxWidth: 480,\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n opacity: Platform.OS === \"web\" ? 0 : 1,\n },\n safeArea: {\n flex: 1,\n zIndex: 1,\n },\n addFormContainer: {\n backgroundColor: Platform.OS === \"android\" ? \"white\" : \"transparent\",\n width: \"100%\",\n zIndex: 100,\n position: \"relative\",\n flex: 1,\n height: \"100%\",\n },\n webWrapper: {\n paddingBottom: 32,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n backgroundColor: \"white\",\n borderTopStartRadius: 12,\n borderTopEndRadius: 12,\n padding: 16,\n flex: 1,\n justifyContent: \"flex-start\",\n minHeight:\n Platform.OS === \"web\" ? Dimensions.get(\"window\").height - 150 : \"100%\",\n },\n addFormBottomBar: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderColor: \"#DDE1E4\",\n padding: 16,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n});\n","import React from \"react\";\nimport {\n KeyboardType,\n Platform,\n StyleProp,\n StyleSheet,\n Text,\n View,\n ViewStyle,\n} from \"react-native\";\nimport {\n Control,\n Controller,\n FieldValues,\n Path,\n PathValue,\n} from \"react-hook-form\";\nimport Slider from \"@react-native-community/slider\";\n\ntype Props = {\n label: string;\n name: Path;\n control: Control;\n containerStyle?: StyleProp;\n defaultValue?: PathValue>;\n keyboardType?: KeyboardType;\n sliderColor?: string;\n handleFinish: (name: Path) => void;\n};\n\nconst ControlSlider = ({\n label,\n name,\n control,\n containerStyle,\n defaultValue,\n sliderColor,\n handleFinish,\n}: Props) => {\n return (\n {\n return (\n \n \n {Platform.OS !== \"web\" ? (\n <>\n {label}\n \n \n \n {value}\n \n %\n \n \n ) : (\n <>\n {label}\n \n {\n onChange(val);\n }}\n minimumValue={0}\n maximumValue={100}\n step={5}\n onSlidingComplete={() => handleFinish(name)}\n minimumTrackTintColor={\n sliderColor ? sliderColor : \"#012447\"\n }\n maximumTrackTintColor=\"#CFD5DB\"\n style={{\n height: 40,\n }}\n thumbTintColor=\"#666666\"\n />\n \n \n \n {value}\n \n %\n \n \n )}\n \n \n );\n }}\n />\n );\n};\n\nexport default ControlSlider;\n\nconst styles = StyleSheet.create({\n sliderResultWrapper: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n sliderResult: {\n borderWidth: 1,\n borderColor: \"#D2D6DC\",\n borderRadius: 6,\n width: 50,\n height: 38,\n padding: 8,\n },\n content: { width: 120, marginRight: 16 },\n sliderResultLabel: {\n backgroundColor: \"white\",\n color: \"#D2D6DC\",\n position: \"absolute\",\n right: -5,\n },\n categoryRow: {\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingBottom: 16,\n paddingTop: 16,\n paddingRight: 0,\n width: \"100%\",\n },\n});\n","import { get } from \"lodash-es\";\nimport React from \"react\";\nimport {\n Control,\n Controller,\n FieldValues,\n Path,\n PathValue,\n} from \"react-hook-form\";\nimport {\n KeyboardType,\n Platform,\n StyleProp,\n StyleSheet,\n Text,\n TextInput,\n View,\n ViewStyle,\n} from \"react-native\";\nimport globalStyles from \"../../Global.styles\";\n\ntype Props = {\n label: string;\n name: Path;\n control: Control;\n errors?: any;\n containerStyle?: StyleProp;\n defaultValue?: PathValue>;\n required?: boolean;\n keyboardType?: KeyboardType;\n _onBlur?: (text: string) => void;\n maxNumber?: number;\n errorMessage?: string;\n};\n\nconst ControlFlatTextInput = ({\n label,\n name,\n control,\n errors,\n containerStyle,\n defaultValue,\n required,\n keyboardType,\n _onBlur,\n maxNumber,\n errorMessage,\n}: Props) => {\n const errName = get(errors, name);\n const errorMsg = errorMessage\n ? errorMessage\n : `The ${label} field is required`;\n\n return (\n {\n return (\n \n \n {`${label} ${required ? \"*\" : \"\"}:`}\n \n {\n if (keyboardType === \"email-address\") {\n onChange(text.toLowerCase());\n } else {\n onChange(text);\n }\n }}\n keyboardType={keyboardType}\n returnKeyType=\"done\"\n returnKeyLabel=\"done\"\n value={value}\n onEndEditing={(e) => {\n if (_onBlur) {\n onChange(e.nativeEvent.text);\n _onBlur(e.nativeEvent.text);\n }\n }}\n />\n {errName && {errName.message}}\n \n );\n }}\n />\n );\n};\n\nexport default ControlFlatTextInput;\n\nconst styles = StyleSheet.create({\n addFormLabel: {\n fontWeight: \"bold\",\n color: \"black\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n letterSpacing: -0.25,\n },\n field: {\n height: 38,\n padding: 8,\n marginRight: 0,\n marginLeft: 0,\n margin: 0,\n backgroundColor: \"white\",\n borderWidth: 1,\n borderColor: \"#D2D6DC\",\n borderRadius: 6,\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n elevation: 1,\n },\n fieldLabel: {\n fontSize: 12,\n position: \"absolute\",\n backgroundColor: \"white\",\n top: -14,\n left: 6,\n padding: 4,\n },\n fieldInput: {\n height: 24,\n display: \"flex\",\n },\n});\n","import React, { useState } from \"react\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport { Platform, StyleSheet, Text, View } from \"react-native\";\nimport { Path, useForm } from \"react-hook-form\";\nimport { LM2Form } from \"./types\";\nimport DateService from \"../../system/DateService\";\nimport { useLm2FormMutation } from \"./lm2Hooks\";\nimport { useAppDispatch } from \"../../store\";\nimport { isLm2Valid, lm2Actions } from \"./lm2Slice\";\nimport AddContainer from \"../../components/shared/containers/AddContainer\";\nimport { Switch } from \"react-native-paper\";\nimport { isSliderValid, TTDialog } from \"../../system/notifications\";\nimport ControlSingleSelect from \"../../components/shared/inputs/control/ControlSingleSelect\";\nimport ControlSlider from \"../../components/shared/inputs/control/ControlSlider\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\nimport { authActions } from \"../root/auth/authSlice\";\nimport ControlFlatTextInput from \"../../components/shared/inputs/control/ControlFlatTextInput\";\n\ntype LM2FormDTO = Omit & {\n daysWorked: string;\n weekEndingDate: string;\n};\n\nconst AddLM2ReportingFormScreen = () => {\n const dispatch = useAppDispatch();\n const navigation = useNavigation();\n const { mutate: upsertForm, isLoading } = useLm2FormMutation({\n onSuccess: () => {\n navigation.goBack();\n },\n onError: () => showAlert(),\n });\n\n const [showDialog, setShowDialog] = useState(false);\n const [showLm2Failed, setShowLm2Failed] = useState(false);\n\n const {\n handleSubmit,\n control,\n watch,\n getValues,\n setValue,\n formState: { errors },\n } = useForm();\n\n const [showCampaignsPage, setShowCampaignsPage] = useState(false);\n\n const sliderValues = watch([\n \"representation\",\n \"admin\",\n \"overhead\",\n \"activities\",\n \"contribution\",\n ]);\n\n const showAlert = () => {\n setShowLm2Failed(true);\n };\n\n const onSubmit = () => {\n if (Platform.OS === \"web\") {\n if (isSliderWebValid()) {\n handleSave();\n }\n } else {\n if (isSliderValid(percentageTotal)) {\n handleSave();\n }\n }\n };\n\n const isSliderWebValid = (): boolean => {\n if (percentageTotal > 100) {\n setShowDialog(true);\n return false;\n }\n return true;\n };\n\n const handleSave = async () => {\n const values = getValues();\n const daysWorked = parseInt(values.daysWorked);\n const form: LM2Form = {\n ...values,\n daysWorked,\n };\n if (showCampaignsPage) {\n dispatch(authActions.setSpinner(true));\n const res = await handleIsLM2Unique(values.weekEndingDate);\n if (res) {\n dispatch(authActions.setSpinner(false));\n setShowLm2Failed(true);\n } else {\n dispatch(authActions.setSpinner(false));\n setShowLm2Failed(false);\n dispatch(lm2Actions.setPartialLM2Form(form));\n navigation.navigate(\"LM2Projects\", {\n screen: \"LM2Projects\",\n });\n }\n } else {\n upsertForm(form);\n }\n };\n\n const percentageTotal = Object.values(sliderValues).reduce(\n (acc, val) => Number(acc) + Number(val),\n 0\n );\n\n let totalColor = \"#D2D6DC\";\n let fontColor = \"#000000\";\n\n if (percentageTotal === 100) {\n totalColor = \"#26A670\"; //success green\n fontColor = \"#ffffff\";\n } else if (percentageTotal > 100) {\n totalColor = \"#D83831\"; //error red\n fontColor = \"#ffffff\";\n }\n\n const handleIsLM2Unique = (weekEndingDate: string): Promise => {\n return dispatch(isLm2Valid(weekEndingDate)).then(unwrapResult);\n };\n\n const handleFinish = (name: Path) => {\n const representation = getValues(\"representation\") ?? 0;\n const admin = getValues(\"admin\") ?? 0;\n const contribution = getValues(\"contribution\") ?? 0;\n const overhead = getValues(\"overhead\") ?? 0;\n const activities = getValues(\"activities\") ?? 0;\n const total = admin + contribution + overhead + representation + activities;\n\n if (total > 100) {\n const amount = total - 100;\n const currentVal: any = getValues(name);\n const revision: any = currentVal - amount;\n setValue(name, revision);\n }\n };\n\n return (\n \n \n \n \n {/* \n label=\"For the week ending\"\n name=\"weekEndingDate\"\n control={control}\n errors={errors}\n defaultValue={DateService.getNextSaturday()}\n items={DateService.getPreviousSevenDaysInterval()}\n placeholder=\"Please make a selection...\"\n required\n /> */}\n \n label=\"Number of Days Worked\"\n name=\"daysWorked\"\n errors={errors}\n control={control}\n keyboardType=\"number-pad\"\n errorMessage=\"Number of Days Worked can not be empty or the number be greater than 7\"\n required\n />\n {/* \n \n Number of days Worked: *\n \n \n */}\n \n \n \n Please indicate a percentage beside the categories you worked during\n this week:\n \n \n \n \n label=\"Representation\"\n name=\"representation\"\n control={control}\n sliderColor=\"#034990\"\n handleFinish={handleFinish}\n />\n \n label=\"Administration\"\n name=\"admin\"\n control={control}\n sliderColor=\"#D83831\"\n handleFinish={handleFinish}\n />\n \n label=\"Overhead\"\n name=\"overhead\"\n control={control}\n sliderColor=\"#EFC83C\"\n handleFinish={handleFinish}\n />\n \n label=\"Political\"\n name=\"activities\"\n control={control}\n sliderColor=\"#26A67F\"\n handleFinish={handleFinish}\n />\n \n label=\"Contribution\"\n name=\"contribution\"\n control={control}\n sliderColor=\"#CFD5DB\"\n handleFinish={handleFinish}\n />\n \n \n \n *All fields together should total 100%\n \n \n \n {isNaN(percentageTotal) ? 0 : percentageTotal}%\n \n \n \n \n \n \n \n \n Did you work on Campaigns or Organizing Programs this week?\n \n \n \n \n \n \n \n \n \n \n \n );\n};\nexport default AddLM2ReportingFormScreen;\n\nconst styles = StyleSheet.create({\n footContainer: {\n borderTopColor: \"#C5C9D0\",\n borderTopWidth: 2,\n opacity: 0.25,\n paddingTop: 16,\n },\n formLabel: {\n fontWeight: \"bold\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n },\n sectionHeader: {\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n padding: 0,\n paddingTop: 16,\n zIndex: 0,\n borderColor: \"#D2D6DC\",\n borderBottomWidth: 0,\n },\n bold: {\n fontWeight: \"bold\",\n },\n categoryFooter: {\n paddingRight: 0,\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignContent: \"center\",\n alignItems: \"center\",\n },\n headingText: {\n borderTopColor: \"#C5C9D0\",\n borderTopWidth: 2,\n marginTop: 16,\n opacity: 0.25,\n },\n inputContainer: {\n padding: 0,\n paddingBottom: 16,\n },\n percentageTotalContainer: {\n borderRadius: 6,\n width: 50,\n paddingTop: 10,\n paddingBottom: 10,\n alignItems: \"center\",\n },\n});\n","import { format } from \"date-fns\";\nimport React from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\nimport { useLM2User } from \"../../../../screens/lm2/lm2Hooks\";\nimport { LM2Form } from \"../../../../screens/lm2/types\";\nimport DateService from \"../../../../system/DateService\";\nimport { fromUTC } from \"../../../../system/utils\";\n\ntype Props = {\n form: LM2Form;\n};\n\nconst ReadOnlyTitle = ({ form }: Props) => {\n const { data: user } = useLM2User({\n additionalKey: {\n userId: form.userId,\n },\n options: {\n select: (res) => {\n return {\n ...res,\n name: `${res.firstName} ${res.lastName}`,\n };\n },\n },\n });\n\n const getDate = (): string => {\n if (form?.weekEndingDate) {\n const begining = DateService.getBeginningOfTheWeek(form?.weekEndingDate);\n return `${format(begining, \"MMMM dd\")} - ${format(\n fromUTC(form.weekEndingDate),\n \"dd, yyyy\"\n )}`;\n }\n return \"\";\n };\n\n return (\n \n \n {user?.name}\n {getDate()}\n \n \n );\n};\n\nexport default ReadOnlyTitle;\n\nconst styles = StyleSheet.create({\n wrapper: {\n backgroundColor: \"#F2F6F9\",\n width: \"100%\",\n },\n container: {\n padding: 20,\n backgroundColor: \"#F2F6F9\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n width: \"100%\",\n },\n content: {\n color: \"#212121\",\n fontWeight: \"bold\",\n fontSize: 15,\n letterSpacing: -0.25,\n },\n text: {\n color: \"#8193A4\",\n fontSize: 13,\n fontWeight: \"normal\",\n },\n});\n","import React from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\nimport { LM2Form } from \"../../../../screens/lm2/types\";\n\ntype Props = {\n form: LM2Form;\n};\n\nconst DaysWorked = ({ form }: Props) => {\n const getSelectedBalls = () => {\n const arr = [1, 2, 3, 4, 5, 6, 7];\n return arr.map((num, i) => {\n if (form.daysWorked >= num) {\n return ;\n }\n });\n };\n\n const getUnSelectedBalls = () => {\n const arr = [1, 2, 3, 4, 5, 6, 7];\n return arr.map((num, i) => {\n if (form.daysWorked < num) {\n return ;\n }\n });\n };\n\n return (\n \n \n \n \n {form?.daysWorked}\n \n \n Days Worked\n \n \n {getSelectedBalls()}\n {getUnSelectedBalls()}\n \n \n );\n};\n\nexport default DaysWorked;\n\nconst styles = StyleSheet.create({\n container: {\n borderBottomColor: \"#E9EBEE\",\n borderBottomWidth: 1,\n padding: 16,\n paddingLeft: 0,\n paddingRight: 20,\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n selectedBalls: {\n height: 7,\n width: 7,\n backgroundColor: \"#034990\",\n marginLeft: 4,\n borderRadius: 100,\n },\n ballsContainer: {\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexDirection: \"row\",\n },\n unSelectedBalls: {\n height: 7,\n width: 7,\n backgroundColor: \"#CFD5DB\",\n marginLeft: 4,\n borderRadius: 100,\n },\n heading: {\n flexDirection: \"row\",\n alignContent: \"center\",\n alignItems: \"center\",\n },\n content: {\n borderRadius: 6,\n backgroundColor: \"#F2F6F9\",\n height: 24,\n width: 24,\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginRight: 8,\n },\n});\n","import { useRoute } from \"@react-navigation/native\";\nimport React from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\nimport { FlatList } from \"react-native-gesture-handler\";\nimport { getLM2ProgramByLM2Id } from \"../../../../screens/lm2/lm2Hooks\";\n\nconst Programs = () => {\n const route = useRoute();\n const formId: number = route.params?.formId;\n\n const { data: programs, isFetching } = getLM2ProgramByLM2Id({\n additionalKey: {\n lm2Id: formId,\n },\n });\n\n return (\n \n Projects ({programs?.length})\n index.toString()}\n refreshing={isFetching}\n renderItem={({ item }) => (\n \n \n \n {`${item.program.tradeDivision} - ${item.program.programName}`}\n \n \n \n {`${item.percentage}%`}\n \n \n )}\n />\n \n );\n};\n\nexport default Programs;\n\nconst styles = StyleSheet.create({\n container: {\n paddingTop: 24,\n paddingBottom: 24,\n borderBottomColor: \"#E9EBEE\",\n borderBottomWidth: 1,\n },\n contentContainer: {\n color: \"#909090\",\n fontSize: 11,\n fontWeight: \"500\",\n letterSpacing: 0.5,\n textTransform: \"uppercase\",\n marginBottom: 12,\n },\n unitSeperator: {\n flexDirection: \"row\",\n paddingTop: 12,\n paddingBottom: 12,\n paddingRight: 20,\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n widthContainer: {\n width: 60,\n paddingRight: 0,\n alignContent: \"flex-end\",\n alignItems: \"flex-end\",\n },\n middle: {\n flexDirection: \"row\",\n paddingTop: 12,\n paddingBottom: 12,\n paddingRight: 20,\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n footer: {\n width: 60,\n paddingRight: 0,\n alignContent: \"flex-end\",\n alignItems: \"flex-end\",\n },\n});\n","import React from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\nimport { LM2Form } from \"../../../../screens/lm2/types\";\n\ntype Props = {\n form: LM2Form;\n};\n\nconst CategoryBars = ({ form }: Props) => {\n return (\n \n Categories (5)\n \n \n \n \n \n \n \n \n );\n};\n\nexport default CategoryBars;\n\nconst styles = StyleSheet.create({\n container: {\n paddingTop: 24,\n paddingBottom: 24,\n paddingRight: 24,\n borderBottomColor: \"#E9EBEE\",\n borderBottomWidth: 1,\n },\n categories: {\n color: \"#909090\",\n fontSize: 11,\n fontWeight: \"500\",\n letterSpacing: 0.5,\n textTransform: \"uppercase\",\n marginBottom: 16,\n },\n representative: {\n height: 6,\n backgroundColor: \"#034990\",\n borderColor: \"white\",\n borderRightWidth: 1,\n },\n political: {\n height: 6,\n backgroundColor: \"#D83831\",\n borderColor: \"white\",\n borderRightWidth: 1,\n },\n union: {\n height: 6,\n width: \"20%\",\n backgroundColor: \"#EFC83C\",\n borderColor: \"white\",\n borderRightWidth: 1,\n },\n contribution: {\n height: 6,\n backgroundColor: \"#26A670\",\n borderColor: \"white\",\n borderRightWidth: 1,\n },\n overhead: {\n height: 6,\n width: \"20%\",\n backgroundColor: \"#CFD5DB\",\n borderColor: \"white\",\n },\n});\n","import React from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\nimport { LM2Form } from \"../../../../screens/lm2/types\";\n\ntype Props = {\n form: LM2Form;\n};\n\nconst CategoryList = ({ form }: Props) => {\n return (\n \n \n \n \n \n \n Representative Activities\n \n \n {form?.representation + \"%\"}\n \n \n \n \n \n \n \n \n Political Activities\n \n \n \n \n {form?.activities + \"%\"}\n \n \n \n \n \n \n \n \n \n Union Administration\n \n \n \n \n {form?.admin + \"%\"}\n \n \n \n \n \n \n \n \n \n Contributions\n \n \n \n \n {form?.contribution + \"%\"}\n \n \n \n \n \n \n \n \n \n General Overhead\n \n \n \n \n {form?.overhead + \"%\"}\n \n \n \n \n );\n};\n\nexport default CategoryList;\n\nconst styles = StyleSheet.create({\n container: { paddingTop: 12 },\n conttent: {\n flexDirection: \"row\",\n paddingTop: 12,\n paddingBottom: 12,\n paddingRight: 20,\n justifyContent: \"space-between\",\n },\n footContent: {\n borderRadius: 1,\n borderColor: \"#034990\",\n borderWidth: 2,\n borderStyle: \"dotted\",\n position: \"absolute\",\n left: 30,\n top: 12,\n right: 20,\n height: 14,\n width: \"auto\",\n },\n spacing: {\n backgroundColor: \"white\",\n position: \"absolute\",\n left: 30,\n top: 12,\n right: 20,\n height: 10,\n width: \"auto\",\n },\n row: {\n flexDirection: \"row\",\n },\n rowContainer: {\n height: 16,\n width: 16,\n backgroundColor: \"#034990\",\n borderRadius: 100,\n marginRight: 12,\n },\n rowSpacing: {\n backgroundColor: \"white\",\n fontWeight: \"500\",\n paddingRight: 4,\n },\n rowLine: {\n backgroundColor: \"white\",\n fontWeight: \"bold\",\n paddingLeft: 4,\n },\n rowContent: {\n flexDirection: \"row\",\n paddingTop: 12,\n paddingBottom: 12,\n paddingRight: 20,\n justifyContent: \"space-between\",\n },\n});\n","import React from \"react\";\nimport { ActivityIndicator, StyleSheet, View } from \"react-native\";\n\nconst Spinner = () => {\n return (\n \n \n \n );\n};\n\nexport default Spinner;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: \"center\",\n },\n horizontal: {\n flexDirection: \"row\",\n justifyContent: \"space-around\",\n padding: 10,\n },\n});\n","import React, { useEffect } from \"react\";\nimport {\n Dimensions,\n Platform,\n SafeAreaView,\n ScrollView,\n StyleSheet,\n Text,\n View,\n} from \"react-native\";\nimport { useRoute } from \"@react-navigation/native\";\nimport MainAppBar from \"../../../components/shared/MainAppBar\";\nimport { useAppDispatch } from \"../../../store\";\nimport { format } from \"date-fns\";\nimport { fromUTC } from \"../../../system/utils\";\nimport { lm2Actions } from \"../lm2Slice\";\nimport ReadOnlyTitle from \"../../../components/lm2/weekly_activity/weekly_activity/ReadOnlyTitle\";\nimport DaysWorked from \"../../../components/lm2/weekly_activity/weekly_activity/DaysWorked\";\nimport Programs from \"../../../components/lm2/weekly_activity/weekly_activity/Programs\";\nimport CategoryBars from \"../../../components/lm2/weekly_activity/weekly_activity/CategoryBars\";\nimport CategoryList from \"../../../components/lm2/weekly_activity/weekly_activity/CategoryList\";\nimport { useGetLM2Form } from \"../lm2Hooks\";\nimport Spinner from \"../../../components/lm2/weekly_activity/shared/Loading\";\n\nconst height = Dimensions.get(\"window\").height;\n\nconst LM2ReadOnlyScreen = () => {\n const dispatch = useAppDispatch();\n const route = useRoute();\n const formId: number = route.params?.formId;\n\n const { data: form, isFetching } = useGetLM2Form({\n additionalKey: {\n formId,\n },\n });\n\n useEffect(() => {\n dispatch(lm2Actions.setSelectedLM2FormId({ lm2FormId: formId }));\n }, []);\n\n if (isFetching || !form) {\n return ;\n }\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Submitted on{\" \"}\n {form?.dateSubmitted &&\n format(fromUTC(form?.dateSubmitted), \"MM/dd/yyyy\")}\n \n \n \n \n \n \n \n \n \n \n );\n};\nexport default LM2ReadOnlyScreen;\n\nconst styles = StyleSheet.create({\n darkBg: {\n backgroundColor: \"#F2F6F9\",\n flex: 1,\n },\n topDarkBg: {\n backgroundColor: \"#012447\",\n position: \"absolute\",\n height: 200,\n width: \"100%\",\n top: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n opacity: Platform.OS === \"web\" ? 0 : 1,\n },\n bottomWhiteBg: {\n backgroundColor: \"#ffffff\",\n position: \"absolute\",\n height: 200,\n width: \"100%\",\n maxWidth: 480,\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n opacity: Platform.OS === \"web\" ? 0 : 1,\n },\n safeArea: {\n flex: 1,\n zIndex: 1,\n },\n addFormContainer: {\n width: \"100%\",\n zIndex: 100,\n position: \"relative\",\n flex: 1,\n },\n webWrapper: {\n paddingBottom: 32,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n backgroundColor: \"white\",\n borderTopStartRadius: 12,\n borderTopEndRadius: 12,\n flex: 1,\n justifyContent: \"flex-start\",\n minHeight:\n Platform.OS === \"web\" ? Dimensions.get(\"window\").height - 150 : \"100%\",\n },\n addFormBottomBar: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderColor: \"#DDE1E4\",\n padding: 16,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n addFormBottomFill: {\n backgroundColor: \"white\",\n position: \"absolute\",\n height: 40,\n width: \"100%\",\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n },\n container: {\n paddingTop: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingBottom: 0,\n },\n scrollContainer: {\n marginLeft: 20,\n paddingBottom: 32,\n },\n footer: {\n padding: 20,\n alignContent: \"center\",\n alignItems: \"center\",\n paddingRight: 40,\n },\n});\n","import React, { useEffect, useState } from \"react\";\nimport { SafeAreaView, StyleSheet, Text, View } from \"react-native\";\nimport Button from \"../../components/shared/Button\";\nimport { ScrollView } from \"react-native-gesture-handler\";\nimport MainAppBar from \"../../components/shared/MainAppBar\";\n\nconst LM2FormCategoriesScreen = () => {\n const [sliderOneValue] = useState(0);\n const [sliderTwoValue] = useState(0);\n const [sliderThreeValue] = useState(0);\n const [sliderFourValue] = useState(0);\n const [sliderFiveValue] = useState(0);\n\n const [percentageTotal, setPercentageTotal] = useState(0);\n let totalColor = \"#D2D6DC\";\n let fontColor = \"#000000\";\n if (percentageTotal === 100) {\n totalColor = \"#26A670\"; //success green\n fontColor = \"#ffffff\";\n } else if (percentageTotal > 100) {\n totalColor = \"#D83831\"; //error red\n fontColor = \"#ffffff\";\n }\n useEffect(() => {\n setPercentageTotal(\n sliderOneValue +\n sliderTwoValue +\n sliderThreeValue +\n sliderFourValue +\n sliderFiveValue\n );\n });\n const _handleButtonPress = () => {};\n\n return (\n \n \n \n \n \n \n \n Please indicate a percentage beside the categories you worked\n during this week:\n \n \n \n \n \n *All fields together should total 100%\n \n \n \n {percentageTotal}%\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\nexport default LM2FormCategoriesScreen;\n\nconst styles = StyleSheet.create({\n safeArea: {\n flex: 1,\n zIndex: 1,\n },\n darkBg: {\n flex: 1,\n backgroundColor: \"#012447\",\n },\n contentWrapper: {\n backgroundColor: \"white\",\n borderRadius: 12,\n zIndex: 100,\n position: \"relative\",\n padding: 16,\n flex: 1,\n },\n addFormBottomFill: {\n backgroundColor: \"white\",\n position: \"absolute\",\n height: 40,\n width: \"100%\",\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n },\n formLabel: {\n fontWeight: \"bold\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n },\n buttonHolder: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderColor: \"#DDE1E4\",\n padding: 16,\n },\n section: {\n backgroundColor: \"white\",\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n marginTop: 16,\n borderRadius: 12,\n padding: 16,\n elevation: 1,\n },\n sectionHeader: {\n backgroundColor: \"#F2F6F9\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n padding: 24,\n paddingLeft: 16,\n paddingRight: 16,\n zIndex: 0,\n borderColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n },\n sectionHeaderText: {\n fontWeight: \"bold\",\n },\n formDivider: {\n borderBottomColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n marginLeft: 24,\n marginTop: 12,\n marginBottom: 12,\n },\n formFrame: {\n backgroundColor: \"white\",\n flex: 1,\n overflow: \"hidden\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n formFrameInnter: {\n overflow: \"hidden\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n comments: {\n borderColor: \"#D2D6DC\",\n borderWidth: 0,\n borderRadius: 6,\n height: 200,\n padding: 24,\n paddingTop: 8,\n alignItems: \"flex-start\",\n alignContent: \"flex-start\",\n justifyContent: \"flex-start\",\n },\n sectionSubHeaderText: {\n color: \"#415B75\",\n textTransform: \"uppercase\",\n letterSpacing: 0.5,\n padding: 16,\n fontSize: 12,\n },\n lowerSectionWrapper: {\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 12,\n paddingBottom: 12,\n },\n bold: {\n fontWeight: \"bold\",\n },\n categoryRow: {\n flexDirection: \"row\",\n alignItems: \"center\",\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingBottom: 16,\n paddingTop: 16,\n },\n categoryFooter: {\n paddingRight: 24,\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignContent: \"center\",\n alignItems: \"center\",\n },\n categoryLabel: {\n width: 210,\n paddingRight: 16,\n flexDirection: \"row\",\n },\n sliderContainer: {\n paddingLeft: 16,\n paddingRight: 0,\n paddingTop: 0,\n paddingBottom: 0,\n },\n});\n","import { Platform, StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n safeArea: {\n flex: 1,\n zIndex: 1,\n },\n darkBg: {\n flex: 1,\n backgroundColor: Platform.OS === \"web\" ? \"#F2F6F9\" : \"#012447\",\n },\n\n content: {\n padding: 0,\n paddingBottom: 16,\n paddingLeft: 16,\n flex: 1,\n },\n textWrapper: {\n flex: 1,\n paddingRight: 20,\n fontSize: 13,\n },\n contentWrapper: {\n backgroundColor: \"white\",\n borderRadius: 12,\n zIndex: 100,\n position: \"relative\",\n padding: 16,\n flex: 1,\n },\n addFormBottomFill: {\n backgroundColor: \"white\",\n position: \"absolute\",\n height: Platform.OS === \"web\" ? 0 : 40,\n width: \"100%\",\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n },\n formLabel: {\n fontWeight: \"bold\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n },\n buttonHolder: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderColor: \"#DDE1E4\",\n padding: 16,\n },\n section: {\n backgroundColor: \"white\",\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n marginTop: 16,\n borderRadius: 12,\n padding: 16,\n elevation: 1,\n },\n sectionHeader: {\n backgroundColor: \"#F2F6F9\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n padding: 24,\n paddingLeft: 16,\n paddingRight: 16,\n zIndex: 0,\n borderColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n },\n sectionHeaderText: {\n fontWeight: \"bold\",\n },\n formDivider: {\n borderBottomColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n marginLeft: 24,\n marginTop: 12,\n marginBottom: 12,\n },\n formFrame: {\n backgroundColor: \"white\",\n flex: 1,\n overflow: \"hidden\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n marginTop: Platform.OS === \"web\" ? 16 : 0,\n },\n formFrameInnter: {\n overflow: \"hidden\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n comments: {\n borderColor: \"#D2D6DC\",\n borderWidth: 0,\n borderRadius: 6,\n height: 200,\n padding: 24,\n paddingTop: 8,\n alignItems: \"flex-start\",\n alignContent: \"flex-start\",\n justifyContent: \"flex-start\",\n },\n sectionSubHeaderText: {\n color: \"#415B75\",\n textTransform: \"uppercase\",\n letterSpacing: 0.5,\n padding: 16,\n fontSize: 12,\n },\n lowerSectionWrapper: {\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 12,\n paddingBottom: 12,\n },\n bold: {\n fontWeight: \"bold\",\n },\n categoryRow: {\n flexDirection: \"row\",\n alignItems: \"center\",\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingBottom: 16,\n paddingTop: 16,\n },\n categoryFooter: {\n paddingRight: 24,\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignContent: \"center\",\n alignItems: \"center\",\n },\n categoryLabel: {\n width: 210,\n paddingRight: 16,\n flexDirection: \"row\",\n },\n subHeaderContainer: {\n backgroundColor: \"#F2F6F9\",\n display: \"flex\",\n flexDirection: \"row\",\n alignContent: \"center\",\n alignItems: \"center\",\n padding: 4,\n paddingLeft: 16,\n paddingRight: 16,\n paddingBottom: 8,\n paddingTop: 8,\n borderBottomColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n },\n searchBox: {\n height: 36,\n width: \"100%\",\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n borderColor: \"#D2D6DC\",\n borderWidth: 1,\n elevation: 1,\n backgroundColor: \"white\",\n color: \"#212121\",\n },\n addFormBottomBar: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderColor: \"#DDE1E4\",\n padding: 16,\n },\n headerTextContainer: {\n alignItems: \"center\",\n flexDirection: \"column\",\n marginTop: 0,\n padding: 16,\n paddingTop: 8,\n paddingBottom: 8,\n },\n headerText: {\n color: \"white\",\n fontWeight: \"bold\",\n fontSize: 16,\n letterSpacing: -0.25,\n },\n addHeaderLeft: {\n position: \"absolute\",\n zIndex: 100,\n top: 18,\n left: 12,\n height: 32,\n width: \"auto\",\n },\n addButton: {\n borderColor: \"#CFD5DB\",\n borderWidth: 1,\n backgroundColor: \"white\",\n width: 60,\n height: 26,\n },\n addedButton: {\n borderColor: \"#26A670\",\n borderWidth: 1,\n backgroundColor: \"#26A670\",\n width: 60,\n height: 26,\n },\n listItem: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n listItemTitle: {\n color: \"#212121\",\n fontSize: 14,\n fontWeight: \"bold\",\n marginBottom: 4,\n letterSpacing: -0.25,\n },\n listItemDesc: {\n color: \"#8091A3\",\n fontSize: 12,\n letterSpacing: -0.25,\n fontWeight: \"500\",\n },\n item: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n itemTitle: {\n color: \"#212121\",\n fontSize: 14,\n fontWeight: \"normal\",\n letterSpacing: -0.25,\n flexWrap: \"wrap\",\n flexDirection: \"row\",\n },\n itemSideAction: {\n width: 60,\n marginRight: 20,\n },\n itemDescription: {\n color: \"#8091A3\",\n fontSize: 12,\n letterSpacing: -0.25,\n fontWeight: \"500\",\n },\n});\n","import React from \"react\";\nimport { StyleSheet, TouchableOpacity } from \"react-native\";\nimport { Avatar } from \"react-native-paper\";\n\ninterface ButtonAssingProps {\n onPress: () => void;\n isCheck?: boolean;\n}\n\nconst ButtonAssign = ({ onPress, isCheck }: ButtonAssingProps) => {\n const handleOnPress = () => {\n onPress();\n };\n\n if (isCheck) {\n return (\n \n \n \n );\n } else {\n return (\n \n \n \n );\n }\n};\n\nexport default ButtonAssign;\n\nconst styles = StyleSheet.create({\n addButton: {\n borderColor: \"#CFD5DB\",\n borderWidth: 1,\n backgroundColor: \"white\",\n width: 60,\n height: 26,\n },\n addedButton: {\n borderColor: \"#26A670\",\n borderWidth: 1,\n backgroundColor: \"#26A670\",\n width: 60,\n height: 26,\n },\n});\n","import React from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\nimport ButtonAssign from \"../../../shared/ButtonAssign\";\n\ntype Props = {\n title: string;\n name: string;\n isSelected: boolean;\n onAssignClick: () => void;\n};\n\nconst ProjectItem = ({ title, name, isSelected, onAssignClick }: Props) => {\n return (\n \n \n \n {title} - {name}\n \n \n \n \n \n \n );\n};\n\nexport default ProjectItem;\n\nconst styles = StyleSheet.create({\n item: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n itemTitle: {\n color: \"#212121\",\n fontSize: 14,\n fontWeight: \"normal\",\n letterSpacing: -0.25,\n flexWrap: \"wrap\",\n flexDirection: \"row\",\n },\n itemSideAction: {\n width: 60,\n marginRight: 20,\n },\n});\n","import React, { useState } from \"react\";\nimport {\n FlatList,\n ListRenderItemInfo,\n SafeAreaView,\n Text,\n View,\n} from \"react-native\";\nimport Button from \"../../components/shared/Button\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport MainAppBar from \"../../components/shared/MainAppBar\";\nimport styles from \"./LM2FormProjectsScreen.style\";\nimport { useLM2Programs } from \"./lm2Hooks\";\nimport { LM2Program } from \"./types\";\nimport { ActivityIndicator } from \"react-native-paper\";\nimport { useAppDispatch, useTypedSelector } from \"../../store\";\nimport { lm2Actions } from \"./lm2Slice\";\nimport ProjectItem from \"../../components/lm2/weekly_activity/weekly_activity/ProjectItem\";\nimport { format } from \"date-fns\";\nimport DateService from \"../../system/DateService\";\n\nconst LM2FormProjectsScreen = () => {\n const navigation = useNavigation();\n const dispatch = useAppDispatch();\n\n const { data: programs, isLoading: isLoadingPrograms } = useLM2Programs();\n\n const [selectedPrograms, setSelectedPrograms] = useState([]);\n\n const workingLm2 = useTypedSelector((state) => state.lm2Slice.workingLm2);\n\n const handleContinue = () => {\n dispatch(lm2Actions.setProjectsWorked(selectedPrograms));\n navigation.navigate(\"LM2\", { screen: \"LM2ProjectsPercentages\" });\n };\n\n const getDate = (): string => {\n if (workingLm2?.weekEndingDate) {\n const beginingOfTheWeek = DateService.getBeginningOfTheWeek(\n workingLm2.weekEndingDate\n );\n return (\n format(beginingOfTheWeek, \"MMM dd\") +\n \" - \" +\n format(new Date(workingLm2.weekEndingDate), \"dd\")\n );\n }\n return \"\";\n };\n\n return (\n \n \n \n \n \n \n Please select the projects you worked on during this week:\n \n \n {isLoadingPrograms ? (\n \n \n \n ) : (\n ) => (\n {\n if (selectedPrograms.includes(item.id)) {\n const newPrograms = selectedPrograms.filter(\n (progId) => progId !== item.id\n );\n\n setSelectedPrograms(newPrograms);\n } else {\n setSelectedPrograms([...selectedPrograms, item.id]);\n }\n }}\n />\n )}\n keyExtractor={(item) => item.id.toString()}\n style={{\n paddingLeft: 20,\n flex: 1,\n }}\n />\n )}\n \n \n \n \n \n \n \n );\n};\nexport default LM2FormProjectsScreen;\n","import React from \"react\";\nimport { Avatar, Text } from \"react-native-paper\";\nimport { StyleSheet, View } from \"react-native\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport Button from \"../../components/shared/Button\";\nimport { LM2Form } from \"./types\";\nimport { addDays, format } from \"date-fns\";\nimport { fromUTC } from \"../../system/utils\";\n\ntype Props = {\n form: LM2Form;\n};\n\nconst LM2CardItem = ({ form }: Props) => {\n const navigation = useNavigation();\n\n const _handleViewButtonPress = () => {\n navigation.navigate(\"LM2\", {\n screen: \"LM2ReadOnly\",\n params: {\n formId: form.id,\n },\n });\n };\n\n const getTitle = () => {\n const week = form.weekEndingDate;\n if (!week) {\n return \"No End Date\";\n }\n\n const endDate = fromUTC(week);\n const startDate = addDays(endDate, -6);\n const startDay = format(startDate, \"dd\");\n const endDay = format(endDate, \"dd\");\n const startMonth = format(startDate, \"MMM\").toUpperCase();\n const endMonth = format(endDate, \"MMM\").toUpperCase();\n const areMonthsSame = startMonth === endMonth;\n\n return `${startMonth} ${startDay} - ${\n areMonthsSame ? \"\" : endMonth + \" \"\n }${endDay}`;\n };\n\n const cardEntry = (\n <>\n \n \n \n \n \n \n \n \n \n \n );\n\n const dateSubmitted =\n form.dateSubmitted && format(fromUTC(form.dateSubmitted), \"MM/dd/yyyy\");\n\n return (\n \n \n \n {getTitle()}\n Submitted {dateSubmitted}\n \n {cardEntry}\n \n \n );\n};\n\nexport default LM2CardItem;\n\nconst styles = StyleSheet.create({\n formCard: {\n width: \"100%\",\n borderRadius: 12,\n marginTop: 0,\n marginBottom: 0,\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n paddingTop: 20,\n paddingBottom: 20,\n justifyContent: \"center\",\n elevation: 1,\n backgroundColor: \"white\",\n maxWidth: 460,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n formList: {\n paddingTop: 4,\n },\n formFooter: {\n marginBottom: 72,\n },\n sideButton: {\n backgroundColor: \"#CFD5DB\",\n borderRadius: 100,\n position: \"absolute\",\n right: 16,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n },\n sideButtonContinue: {\n backgroundColor: \"#EFC83C\",\n borderRadius: 100,\n position: \"absolute\",\n right: 16,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n },\n sideButtonText: {\n color: \"#08223C\",\n fontSize: 13,\n fontWeight: \"bold\",\n },\n checkmark: {\n backgroundColor: \"#26A670\",\n position: \"absolute\",\n right: 90,\n marginTop: 10,\n height: 16,\n width: 16,\n },\n bottomProgressBg: {\n borderBottomColor: \"#C2D5DE\",\n borderBottomWidth: 2,\n position: \"absolute\",\n bottom: 0,\n left: 16,\n right: 16,\n width: \"auto\",\n borderRadius: 100,\n height: 2,\n display: \"flex\",\n flexDirection: \"row\",\n },\n reProgress: {\n height: 2,\n backgroundColor: \"#034990\",\n },\n adProgress: {\n height: 2,\n backgroundColor: \"#D83831\",\n },\n ovProgress: {\n height: 2,\n backgroundColor: \"#EFC83C\",\n },\n poProgress: {\n height: 2,\n backgroundColor: \"#26A670\",\n },\n coProgress: {\n height: 2,\n backgroundColor: \"#CFD5DB\",\n },\n cardsWrap: {\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingTop: 4,\n paddingBottom: 4,\n paddingLeft: 8,\n paddingRight: 8,\n },\n cardTitleText: {\n fontWeight: \"bold\",\n fontSize: 15,\n color: \"#27344F\",\n marginBottom: 2,\n letterSpacing: -0.2,\n },\n cardLocationText: {\n fontWeight: \"normal\",\n fontSize: 13,\n color: \"#8091A3\",\n },\n});\n``;\n","import { Dimensions, Platform, StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n container: {\n flex: 1,\n width: \"100%\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n height:\n Platform.OS === \"web\" ? Dimensions.get(\"window\").height - 150 : \"100%\",\n },\n formCard: {\n width: \"100%\",\n borderRadius: 12,\n marginTop: 0,\n marginBottom: 0,\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n paddingTop: 20,\n paddingBottom: 20,\n justifyContent: \"center\",\n elevation: 1,\n backgroundColor: \"white\",\n maxWidth: 460,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n formList: {\n paddingTop: 4,\n },\n formFooter: {},\n sideButton: {\n backgroundColor: \"#CFD5DB\",\n borderRadius: 100,\n position: \"absolute\",\n right: 16,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n },\n sideButtonContinue: {\n backgroundColor: \"#EFC83C\",\n borderRadius: 100,\n position: \"absolute\",\n right: 16,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n },\n sideButtonText: {\n color: \"#08223C\",\n fontSize: 13,\n fontWeight: \"bold\",\n },\n checkmark: {\n backgroundColor: \"#26A670\",\n position: \"absolute\",\n right: 90,\n marginTop: 10,\n height: 16,\n width: 16,\n },\n bottomProgressBg: {\n borderBottomColor: \"#C2D5DE\",\n borderBottomWidth: 2,\n position: \"absolute\",\n bottom: 0,\n left: 16,\n right: 16,\n width: \"auto\",\n borderRadius: 100,\n },\n bottomProgress: {\n borderRadius: 100,\n borderBottomColor: \"#034990\",\n borderBottomWidth: 2,\n position: \"absolute\",\n bottom: 0,\n left: 16,\n right: \"auto\",\n },\n cardsWrap: {\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingTop: 4,\n paddingBottom: 4,\n paddingLeft: 8,\n paddingRight: 8,\n },\n cardTitleText: {\n fontWeight: \"bold\",\n fontSize: 16,\n color: \"#27344F\",\n marginBottom: 2,\n },\n cardLocationText: {\n fontWeight: \"normal\",\n fontSize: 13,\n color: \"#8091A3\",\n },\n});\n","import React, { useEffect } from \"react\";\nimport { Text } from \"react-native-paper\";\nimport { FlatList, LogBox, Platform, View } from \"react-native\";\nimport LM2CardItem from \"../LM2CardItem\";\nimport styles from \"../../oar/weekly_activity/Week.style\";\nimport { useDeleteLm2 as useDeleteLM2Mutation, useLM2Forms } from \"../lm2Hooks\";\nimport { addDays, compareDesc, format } from \"date-fns\";\nimport EmptyState from \"../../../components/oar/forms/EmptyState\";\nimport { TouchableOpacity } from \"react-native-gesture-handler\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport Swipeable from \"react-native-gesture-handler/Swipeable\";\nimport { TTConfirmation } from \"../../../system/notifications\";\nimport { LM2Form } from \"../types\";\nimport { fromUTC } from \"../../../system/utils\";\n\nconst MyLM2List = () => {\n const { data, refetch, isFetching } = useLM2Forms({\n options: {\n select: (res) => {\n return [...res].sort((a, b) =>\n compareDesc(\n new Date(a.weekEndingDate ?? 0),\n new Date(b.weekEndingDate ?? 0)\n )\n );\n },\n },\n });\n\n const { mutate: deleteLM2 } = useDeleteLM2Mutation();\n\n const remoteItem = (form: LM2Form) => {\n TTConfirmation({\n subject: getTitle(form),\n message: `Are you sure you want to delete?`,\n onPress: () => {\n deleteLM2({ lm2Id: form.id });\n },\n });\n };\n\n const getTitle = (form: LM2Form) => {\n const week = form.weekEndingDate;\n const endDate = fromUTC(week);\n const startDate = addDays(endDate, -6);\n const startDay = format(startDate, \"dd\");\n const endDay = format(endDate, \"dd\");\n const startMonth = format(startDate, \"MMM\").toUpperCase();\n const endMonth = format(endDate, \"MMM\").toUpperCase();\n const areMonthsSame = startMonth === endMonth;\n\n return `${startMonth} ${startDay} - ${\n areMonthsSame ? \"\" : endMonth + \" \"\n }${endDay}`;\n };\n\n useEffect(() => {\n if (Platform.OS !== \"web\") {\n LogBox.ignoreLogs([\"Animated: `useNativeDriver`\"]);\n }\n }, []);\n\n return (\n \n item?.id?.toString()}\n data={data}\n ListEmptyComponent={() => (\n \n )}\n refreshing={isFetching}\n style={styles.formList}\n onRefresh={() => {\n refetch();\n }}\n ListFooterComponent={() => }\n renderItem={({ item }) => {\n return (\n [\n \n remoteItem(item)}>\n \n \n ,\n ]}\n >\n \n \n );\n }}\n />\n \n );\n};\n\nexport default MyLM2List;\n","import React, { useState } from \"react\";\nimport { Modal, Platform, Text, TouchableOpacity, View } from \"react-native\";\nimport { Appbar } from \"react-native-paper\";\nimport MainMenu from \"./MainMenu\";\nimport ContentTitle from \"./ContentTitle\";\nimport styles from \"./MainAppBar.style\";\nimport { useNavigation, useRoute } from \"@react-navigation/native\";\nimport MenuBox from \"./MenuBox\";\nimport { useIsUserCampaignLeadAgent } from \"../../hooks/api/useCampaign\";\n\ntype Props = {\n title: string;\n subtitle?: string;\n rightButtonType?: \"add\" | \"more-campaign\";\n rightButtonOnPress?: () => void;\n leftButtonType?: \"menu\" | \"back\" | \"cancel\";\n};\n\nconst MainBar = ({\n title,\n subtitle,\n rightButtonType,\n rightButtonOnPress,\n leftButtonType,\n}: Props) => {\n const navigation = useNavigation();\n const [menuVisible, setMenuVisible] = useState(false);\n const route = useRoute();\n const campaignId = route.params?.campaignId;\n let menuDisplay: \"flex\" | \"none\" = \"none\";\n\n const { data: isLead } = useIsUserCampaignLeadAgent({\n additionalKey: {\n campaignId,\n },\n options: {\n enabled: !!campaignId,\n },\n });\n\n if (menuVisible === true) {\n menuDisplay = \"flex\";\n } else {\n menuDisplay = \"none\";\n }\n\n const getLeftButton = () => {\n if (leftButtonType === \"back\") {\n return (\n {\n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n params: {\n screen: \"Campaigns\",\n },\n });\n }}\n />\n );\n } else if (leftButtonType === \"menu\") {\n return (\n setMenuVisible(true)}\n />\n );\n } else if (leftButtonType === \"cancel\") {\n return (\n {\n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n params: {\n screen: \"MyForms\",\n },\n });\n }}\n >\n Cancel\n \n );\n }\n };\n\n const getRightButton = () => {\n if (rightButtonType === \"add\" && rightButtonOnPress) {\n return (\n rightButtonOnPress()}\n />\n );\n } else if (rightButtonType === \"more-campaign\") {\n return isLead && ;\n } else {\n // @ts-ignore\n return ;\n }\n };\n\n return (\n <>\n {Platform.OS == \"web\" ? (\n \n \n \n ) : (\n \n \n \n )}\n\n \n {getLeftButton()}\n \n {getRightButton()}\n \n \n );\n};\n\nexport default MainBar;\n","import React, { useEffect } from \"react\";\nimport { Platform, StyleSheet, View } from \"react-native\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport Button from \"../../../components/shared/Button\";\nimport MyLM2List from \"./MyLM2List\";\nimport MainBar from \"../../../components/shared/MainBar\";\nimport { useAppDispatch } from \"../../../store\";\nimport { getAgents } from \"../../oar/agents/agentSlice\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\n\nconst LM2FormListScreen = () => {\n const navigation = useNavigation();\n const dispatch = useAppDispatch();\n\n const handleNavigation = () => {\n navigation.navigate(\"LM2\", { screen: \"LM2New\" });\n };\n\n useEffect(() => {\n dispatch(getAgents()).then(unwrapResult);\n }, []);\n\n return (\n <>\n \n \n \n \n \n \n \n \n );\n};\n\nexport default LM2FormListScreen;\n\nconst styles = StyleSheet.create({\n buttonHolder: {\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n padding: 16,\n backgroundColor: \"white\",\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n elevation: 1,\n display: Platform.OS === \"web\" ? \"none\" : \"flex\",\n },\n});\n","import React from \"react\";\nimport { View } from \"react-native\";\n\nconst SectionSwitcher = () => {\n return ;\n};\n\nexport default SectionSwitcher;\n","import { useNavigation } from \"@react-navigation/native\";\nimport React from \"react\";\nimport {\n Dimensions,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n} from \"react-native\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport Animated from \"react-native-reanimated\";\nimport { User } from \"../../../../screens/oar/agents/agentTypes\";\nimport { format } from \"date-fns\";\nimport { fromUTC } from \"../../../../system/utils\";\n\ntype Props = {\n user: User;\n};\n\nconst StatHeaderItem = ({ user }: Props) => {\n const navigation = useNavigation();\n\n const handleNavigation = () => {\n navigation.navigate(\"LM2\", {\n screen: \"MyLM2List\",\n params: {\n userId: user.id,\n name: user.name,\n },\n });\n };\n\n return (\n <>\n \n \n \n {user.name}\n \n Last Updated {format(fromUTC(user.dateUpdated), \"M/dd/yyyy\")}\n \n \n \n \n \n \n \n \n );\n};\n\nexport default StatHeaderItem;\n\nconst styles = StyleSheet.create({\n headerBar: {\n backgroundColor: \"#012447\",\n },\n headerContainer: {\n backgroundColor: \"white\",\n width: \"100%\",\n flex: 1,\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n statHeaderItem: {\n flexDirection: \"row\",\n paddingTop: 4,\n paddingBottom: 4,\n paddingLeft: 16,\n height: 30,\n borderColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n backgroundColor: \"white\",\n },\n statItem: {\n backgroundColor: \"white\",\n borderBottomColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n zIndex: 10,\n marginLeft: 16,\n paddingBottom: 16,\n paddingTop: 16,\n width: Dimensions.get(\"screen\").width - 16,\n flex: 1,\n justifyContent: \"space-between\",\n flexDirection: \"row\",\n },\n nameButtonText: {\n fontSize: 14,\n color: \"#012447\",\n fontWeight: \"bold\",\n marginTop: 0,\n },\n rowChevronWrapper: {\n padding: 16,\n paddingBottom: 0,\n paddingTop: 0,\n height: \"100%\",\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n rowChevron: {\n height: 24,\n marginTop: -1,\n backgroundColor: \"white\",\n paddingLeft: 0,\n marginLeft: 4,\n width: 24,\n },\n campaignText: {\n color: \"#798DA0\",\n fontWeight: \"500\",\n fontSize: 12,\n },\n});\n","import React, { useEffect, useState } from \"react\";\nimport { StyleSheet } from \"react-native\";\nimport { Searchbar } from \"react-native-paper\";\nimport { User } from \"../../../../screens/oar/agents/agentTypes\";\n\ntype Props = {\n users: User[];\n setUsers: (user: User[]) => void;\n};\n\nconst UserSearchBar = ({ users, setUsers }: Props) => {\n const [searchString, setSearchString] = useState(\"\");\n\n useEffect(() => {\n const filteredCampaigns = users.filter((users) =>\n users.name.toLowerCase().includes(searchString.toLowerCase())\n );\n setUsers(filteredCampaigns);\n }, [searchString]);\n\n return (\n setSearchString(value)}\n iconColor=\"#8F97A4\"\n placeholderTextColor=\"#8F97A4\"\n />\n );\n};\n\nexport default UserSearchBar;\nconst styles = StyleSheet.create({\n searchBox: {\n height: 36,\n width: \"100%\",\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n borderColor: \"#D2D6DC\",\n borderWidth: 1,\n elevation: 1,\n backgroundColor: \"white\",\n color: \"#212121\",\n },\n inputStyle: {\n fontSize: 15,\n paddingLeft: 0,\n color: \"#212121\",\n },\n});\n","import { Dimensions, FlatList, Platform, StyleSheet, View } from \"react-native\";\nimport React, { useState } from \"react\";\nimport StatHeaderItem from \"../../../components/lm2/weekly_activity/weekly_activity/StatHeaderItem\";\nimport UserSearchBar from \"../../../components/lm2/weekly_activity/search/UserSearchBar\";\nimport MainBar from \"../../../components/shared/MainBar\";\nimport { User } from \"../../oar/agents/agentTypes\";\nimport { useLM2Users } from \"../lm2Hooks\";\nimport { compareDesc } from \"date-fns\";\nimport EmptyState from \"../../../components/oar/forms/EmptyState\";\n\nconst SearchScreen = () => {\n const {\n data: allUsers,\n refetch,\n isFetching,\n } = useLM2Users({\n options: {\n select: (res): User[] => {\n return res\n .sort((a, b) =>\n compareDesc(\n new Date(a.dateUpdated ?? 0),\n new Date(b.dateUpdated ?? 0)\n )\n )\n .map((u) => {\n return {\n ...u,\n name: u.firstName.concat(\" \", u.lastName),\n };\n });\n },\n onSuccess: (data) => {\n setUsrs(data);\n },\n },\n });\n\n const [usrs, setUsrs] = useState();\n\n const handleFilter = (users: User[]) => {\n setUsrs(users);\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n (\n \n )}\n bounces={true}\n refreshing={isFetching}\n showsVerticalScrollIndicator={false}\n renderItem={({ item }) => }\n style={{ width: \"100%\", height: \"100%\", minHeight: 420 }}\n onRefresh={() => {\n refetch();\n }}\n keyExtractor={(item) => item.id.toString()}\n />\n \n \n \n \n );\n};\n\nexport default SearchScreen;\n\nconst styles = StyleSheet.create({\n mainContentBg: {\n width: \"100%\",\n flex: 1,\n backgroundColor: \"#F2F6F9\",\n },\n content: {\n backgroundColor: \"white\",\n height: \"100%\",\n minHeight: 420,\n },\n subHeaderContainer: {\n backgroundColor: \"#F2F6F9\",\n display: \"flex\",\n flexDirection: \"row\",\n alignContent: \"center\",\n alignItems: \"center\",\n padding: 8,\n paddingLeft: Platform.OS === \"web\" ? 0 : 16,\n paddingRight: Platform.OS === \"web\" ? 0 : 16,\n borderBottomColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n },\n webWrapper: {\n width: \"100%\",\n maxWidth: Platform.OS === \"web\" ? 480 : Dimensions.get(\"window\").width,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n});\n","import React, { useState } from \"react\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport { Image, Modal, Platform, View } from \"react-native\";\nimport { createBottomTabNavigator } from \"@react-navigation/bottom-tabs\";\nimport { createStackNavigator } from \"@react-navigation/stack\";\nimport {\n SwitcherParamList,\n WeeklyLM2FormsParamList,\n} from \"../root/navigationTypes\";\nimport LM2FormListScreen from \"../../screens/lm2/lm2_weekly_form/LM2FormListScreen\";\nimport SectionSwitcher from \"../../components/shared/SectionSwitcher\";\nimport {\n LM2BottomTabParamList,\n SearchLM2ParamList,\n} from \"./LM2NavigationTypes\";\nimport SearchScreen from \"../../screens/lm2/search/SearchScreen\";\n\nconst BottomTab = createBottomTabNavigator();\n\nexport default function LM2BottomTabNavigator() {\n const [modalVisible, setModalVisible] = useState(false);\n return (\n <>\n \n \n \n \n (\n <>\n \n \n \n ),\n }}\n />\n ({\n tabPress: (e) => {\n e.preventDefault();\n setModalVisible(true);\n },\n })}\n options={{\n tabBarIcon: () => (\n \n ),\n tabBarLabel: \"\",\n }}\n />\n (\n <>\n \n \n \n ),\n }}\n />\n \n \n );\n}\n\nfunction TabBarIcon(props: { name: string; color: string }) {\n return ;\n}\n\nconst WeeklyLM2FormsStack = createStackNavigator();\n\nfunction TabLM2WeeklyFormsNavigator() {\n return (\n \n \n \n );\n}\n\nconst SwitcherStack = createStackNavigator();\n\nfunction TabSwitcherNavigator() {\n return (\n \n \n \n );\n}\n\nconst SearchStack = createStackNavigator();\n\nfunction TabSearchNavigator() {\n return (\n \n \n \n );\n}\n","import * as React from \"react\";\nimport Svg, { Path } from \"react-native-svg\";\n\nfunction SvgComponent() {\n return (\n \n \n \n // \n );\n}\n\nexport default SvgComponent;\n","import React, { useEffect } from \"react\";\nimport { Dimensions, Platform, Text, View } from \"react-native\";\nimport { Portal, Snackbar } from \"react-native-paper\";\nimport * as Haptics from \"expo-haptics\";\nimport SvgComponent from \"./Checkmark\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\n\n\ntype Props = {\n isVisible: boolean;\n onDismiss: any;\n message: string;\n isError?: boolean;\n};\n\nconst TTSnackBar = ({ isVisible, onDismiss, message, isError }: Props) => {\n useEffect(() => {\n if (isVisible && Platform.OS !== \"web\") {\n Haptics.selectionAsync();\n }\n }, [isVisible]);\n\n return (\n \n \n \n {!isError && (\n \n {Platform.OS !== \"web\" && }\n \n )}\n {!isError && (\n \n )}\n \n {message}\n \n \n \n \n );\n};\n\nexport default TTSnackBar;\n","import React, { useState } from \"react\";\nimport { SafeAreaView, Text, View } from \"react-native\";\nimport Button from \"../../components/shared/Button\";\nimport { ScrollView } from \"react-native-gesture-handler\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport MainAppBar from \"../../components/shared/MainAppBar\";\nimport styles from \"./LM2FormProjectsScreen.style\";\nimport { useForm } from \"react-hook-form\";\nimport { useAppDispatch, useTypedSelector } from \"../../store\";\nimport { useLm2FormMutation, useLM2Programs } from \"./lm2Hooks\";\nimport { LM2FormDto, LM2FormProgramBase } from \"./types\";\nimport { lm2Actions } from \"./lm2Slice\";\nimport DateService from \"../../system/DateService\";\nimport { format } from \"date-fns\";\nimport { isSliderValid } from \"../../system/notifications\";\nimport ControlSlider from \"../../components/shared/inputs/control/ControlSlider\";\nimport TTSnackBar from \"../../components/shared/TTSnackBar\";\n\nfunction LM2FormProjectsPercentagesScreen() {\n const dispatch = useAppDispatch();\n const navigation = useNavigation();\n\n const createForm = useLm2FormMutation({\n onSuccess: () => {\n onToggleSnackBar();\n navigation.navigate(\"MyLM2\");\n dispatch(lm2Actions.clearLm2Form());\n },\n });\n const { data: programs } = useLM2Programs();\n const [isVisible, setIsVisible] = useState(false);\n\n const onToggleSnackBar = () => setIsVisible(!isVisible);\n\n const onDismissSnackBar = () => setIsVisible(false);\n\n const projectsWorked = useTypedSelector(\n (state) => state.lm2Slice.projectsWorked\n );\n const workingLm2 = useTypedSelector((state) => state.lm2Slice.workingLm2);\n\n const { control, watch, handleSubmit, getValues } = useForm();\n\n const onSubmit = () => {\n if (!workingLm2) {\n alert(\"Something went wrong\");\n return;\n }\n\n const programPercentages = getValues();\n\n const programs: LM2FormProgramBase[] = Object.keys(\n programPercentages\n ).reduce((acc, key) => {\n acc.push({\n programId: parseInt(key),\n percentage: programPercentages[key],\n });\n\n return acc;\n }, [] as LM2FormProgramBase[]);\n\n const form: LM2FormDto = {\n ...workingLm2,\n programs: programs,\n programsWorked: projectsWorked ?? [],\n };\n\n if (isSliderValid(totalPercentage)) {\n createForm.mutate(form);\n }\n };\n\n const sliderValues = watch();\n\n const totalPercentage = Object.values(sliderValues).reduce(\n (acc, val) => acc + val,\n 0\n );\n\n let totalColor = \"#D2D6DC\";\n let fontColor = \"#000000\";\n if (totalPercentage === 100) {\n totalColor = \"#26A670\"; //success green\n fontColor = \"#ffffff\";\n } else if (totalPercentage > 100) {\n totalColor = \"#D83831\"; //error red\n fontColor = \"#ffffff\";\n }\n\n const getDate = (): string => {\n if (workingLm2?.weekEndingDate) {\n const beginingOfTheWeek = DateService.getBeginningOfTheWeek(\n workingLm2.weekEndingDate\n );\n return (\n format(beginingOfTheWeek, \"MMM dd\") +\n \" - \" +\n format(new Date(workingLm2.weekEndingDate), \"dd\")\n );\n }\n return \"\";\n };\n\n const handleFinish = () => {};\n\n return (\n \n \n \n \n \n \n Please indicate a percentage beside the projects you worked during\n this week:\n \n \n \n {projectsWorked?.map((projId) => {\n const project = programs?.find((prog) => prog.id === projId);\n return (\n \n // \n // \n // {project?.programName} - {project?.tradeDivision}\n // \n // \n // (\n // {\n // onChange(newValue);\n // }}\n // />\n // )}\n // />\n // \n // \n );\n })}\n\n \n \n *All fields together should total 100%\n \n \n \n {totalPercentage}%\n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default LM2FormProjectsPercentagesScreen;\n","import React from \"react\";\nimport { Text } from \"react-native-paper\";\nimport { FlatList, View } from \"react-native\";\nimport { useRoute } from \"@react-navigation/native\";\nimport styles from \"../oar/weekly_activity/Week.style\";\nimport MainBar from \"../../components/shared/MainBar\";\nimport { compareDesc } from \"date-fns\";\nimport { useLM2ByUserId } from \"./lm2Hooks\";\nimport LM2CardItem from \"./LM2CardItem\";\nimport EmptyState from \"../../components/oar/forms/EmptyState\";\n\nexport default function MyLM2ListScreen() {\n const userId = useRoute().params.userId;\n const name = useRoute().params.name;\n const {\n data: forms,\n isFetching,\n refetch,\n } = useLM2ByUserId({\n additionalKey: {\n userId,\n },\n options: {\n select: (res) => {\n return res.sort((a, b) =>\n compareDesc(\n new Date(a.weekEndingDate ?? 0),\n new Date(b.weekEndingDate ?? 0)\n )\n );\n },\n },\n });\n\n return (\n <>\n \n \n item?.id?.toString()}\n data={forms}\n ListEmptyComponent={() => (\n \n )}\n refreshing={isFetching}\n style={styles.formList}\n onRefresh={() => {\n refetch();\n }}\n ListFooterComponent={() => }\n renderItem={({ item }) => (\n \n )}\n />\n \n \n );\n}\n","import React from \"react\";\nimport { createStackNavigator } from \"@react-navigation/stack\";\nimport LM2ReportingFormScreen from \"../../screens/lm2/AddLM2ReportingFormScreen\";\nimport LM2ReadOnlyScreen from \"../../screens/lm2/lm2_weekly_form/LM2ReadOnlyScreen\";\nimport LM2FormCategoriesScreen from \"../../screens/lm2/LM2FormCategoriesScreen\";\nimport LM2FormProjectsScreen from \"../../screens/lm2/LM2FormProjectsScreen\";\nimport LM2BottomTabNavigator from \"./LM2BottomTabNavigation\";\nimport { LM2StackParamList } from \"./LM2NavigationTypes\";\nimport LM2FormProjectsPercentagesScreen from \"../../screens/lm2/LM2FormProjectsPercentagesScreen\";\nimport MyLM2ListScreen from \"../../screens/lm2/MyLM2ListScreen\";\n\nconst LM2Stack = createStackNavigator();\n\nconst LM2Navigator = () => {\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default LM2Navigator;\n","import React from \"react\";\nimport {\n FieldValues,\n useController,\n UseControllerProps,\n} from \"react-hook-form\";\nimport TextField, { TextFieldProps } from \"@mui/material/TextField\";\n\ninterface Props extends UseControllerProps {\n onChange?: (value: string) => void;\n onBlur?: () => void;\n}\n\nexport default function ControlTextInput({\n ...props\n}: Props & TextFieldProps) {\n const {\n field: { onChange, onBlur, value },\n } = useController(props);\n\n return (\n {\n onBlur();\n if (props.onBlur) {\n props.onBlur();\n }\n }}\n onChange={(e) => {\n onChange(e.target.value);\n if (props.onChange) {\n props.onChange(e.target.value);\n }\n }}\n />\n );\n}\n","import React from \"react\";\nimport { StyleProp, Text, View, ViewStyle } from \"react-native\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Checkbox } from \"@mui/material\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport CheckBoxOutlineBlankIcon from \"@mui/icons-material/CheckBoxOutlineBlank\";\nimport CheckBoxIcon from \"@mui/icons-material/CheckBox\";\nimport { MultiSelectProps } from \"../../../../screens/oar/weekly_activity/WeeklyActivityTypes\";\nimport { ComboboxOption } from \"../../../../system/systemTypes\";\n\nconst icon = ;\nconst checkedIcon = ;\n\ninterface Props {\n _onChange: (values: string[]) => void;\n items: MultiSelectProps[];\n errName: any;\n label?: string;\n containerStyle?: StyleProp;\n defaultValue?: any;\n freeSolo?: boolean;\n multiple?: boolean;\n onChange?: (\n value:\n | string\n | MultiSelectProps\n | MultiSelectProps[]\n | (string | MultiSelectProps | MultiSelectProps)[]\n | null\n ) => void;\n onBlur?: () => void;\n}\n\nexport default function ControlMultiSelectWeb({\n items,\n errName,\n label,\n containerStyle,\n defaultValue,\n}: Props) {\n const useStyles = makeStyles(() =>\n createStyles({\n formControl: {\n minWidth: 120,\n maxWidth: \"100%\",\n width: \"100%\",\n },\n noLabel: {},\n inputLabel: {\n padding: 0,\n \"margin-top\": \"-12px\",\n \"margin-left\": \"12px\",\n \"&.MuiInputLabel-shrink\": {\n opacity: 0,\n },\n },\n inputBox: {\n \"&.MuiOutlinedInput-notchedOutline\": {\n //height: 30,\n },\n \"& .MuiOutlinedInput-input\": {\n height: \"auto\",\n minHeight: 20,\n // padding:0\n },\n \"& .MuiAutocomplete-inputRoot[class*='MuiOutlinedInput-root']\": {\n paddingTop: 0,\n paddingBottom: 0,\n },\n \"& .MuiOutlinedInput-notchedOutline\": {\n //height: 42,\n marginTop: 0,\n },\n },\n })\n );\n\n const classes = useStyles();\n\n const isComboboxOption = (\n opt: string | ComboboxOption\n ): opt is ComboboxOption => {\n if (typeof opt === \"string\") {\n return false;\n }\n\n return true;\n };\n\n return (\n \n \n multiple\n options={items}\n freeSolo\n className=\"flex-1\"\n getOptionLabel={(opt) => (isComboboxOption(opt) ? opt.name : opt)}\n value={defaultValue ?? []}\n onChange={(_e) => {}}\n size=\"small\"\n renderInput={(params) => (\n \n )}\n renderOption={(_, option, { selected }) => (\n <>\n \n {isComboboxOption(option) ? option.name : option}\n \n )}\n />\n\n {errName && {errName.message}}\n \n );\n}\n","import { get } from \"lodash-es\";\nimport React from \"react\";\nimport {\n Control,\n Controller,\n FieldValues,\n Path,\n PathValue,\n} from \"react-hook-form\";\nimport { StyleProp, StyleSheet, Text, View, ViewStyle } from \"react-native\";\nimport { MultiSelectProps } from \"../../../../screens/oar/weekly_activity/WeeklyActivityTypes\";\nimport ControlMultiSelectWeb from \"./ControlMultiSelectWeb\";\n\ntype Props = {\n label?: string;\n name: Path;\n control: Control;\n errors?: any;\n containerStyle?: StyleProp;\n defaultValue?: PathValue>;\n placeholder?: string;\n items: MultiSelectProps[];\n required?: boolean;\n onChangeText?: (\n value:\n | string\n | MultiSelectProps\n | MultiSelectProps[]\n | (string | MultiSelectProps | MultiSelectProps[])[]\n | null\n ) => void;\n freeSolo?: boolean;\n multiple?: boolean;\n onBlur?: () => void;\n};\n\nexport default function ControlMultiSelect({\n label,\n name,\n control,\n errors,\n freeSolo,\n containerStyle,\n defaultValue,\n items = [],\n required,\n onChangeText,\n multiple,\n onBlur,\n}: Props) {\n const errName = get(errors, name);\n\n return (\n \n {label && (\n \n {`${label} ${required ? \"*\" : \"\"}:`}\n \n )}\n {\n return (\n {\n onChangeText && onChangeText(selectedItems);\n }}\n freeSolo={freeSolo}\n items={items}\n onChange={(data) => {\n onChange(data);\n onChangeText && onChangeText(data);\n }}\n multiple={multiple}\n errName={errName}\n label={label}\n onBlur={onBlur}\n />\n );\n }}\n />\n \n );\n}\n\nconst styles = StyleSheet.create({\n addFormLabel: {\n fontWeight: \"bold\",\n color: \"black\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n letterSpacing: -0.25,\n },\n});\n","import React, { useEffect, useState } from \"react\";\nimport { LogBox, Platform, View } from \"react-native\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport { useForm } from \"react-hook-form\";\nimport { useAppDispatch, useTypedSelector } from \"../../../store\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\nimport { getCampaigns } from \"../campaigns/campaignSlice\";\nimport { AddAgent, User } from \"./agentTypes\";\nimport { AddNewAgent } from \"./agentSlice\";\nimport AddContainer from \"../../../components/shared/containers/AddContainer\";\nimport ControlTextInput from \"../../../components/shared/inputs/control/ControlTextInput\";\nimport ControlMultiSelect from \"../../../components/shared/inputs/control/ControlMultiSelect\";\nimport TTSnackBar from \"../../../components/shared/TTSnackBar\";\n\nfunction AddAgentScreen() {\n const dispatch = useAppDispatch();\n const navigation = useNavigation();\n const {\n handleSubmit,\n control,\n\n formState: { errors },\n } = useForm();\n const [isLoading, setIsLoading] = useState(false);\n\n const campaigns = useTypedSelector((state) => state.campaignSlice.campaigns);\n const [isVisible, setIsVisible] = useState(false);\n\n const onToggleSnackBar = () => setIsVisible(!isVisible);\n\n const onDismissSnackBar = () => setIsVisible(false);\n\n const onSubmit = (agent: User) => {\n setIsLoading(true);\n dispatch(AddNewAgent(agent))\n .then(unwrapResult)\n .then(handleSuccess)\n .catch(handleError);\n };\n\n const handleSuccess = () => {\n setIsLoading(false);\n onToggleSnackBar();\n navigation.goBack();\n };\n\n const handleError = (e: Error) => {\n console.error(e.message);\n };\n\n useEffect(() => {\n dispatch(getCampaigns())\n .then(unwrapResult)\n .catch((e: Error) => console.error(e.message));\n if (Platform.OS !== \"web\") {\n LogBox.ignoreLogs([\"VirtualizedLists should never be nested\"]);\n }\n }, []);\n return (\n \n \n \n label=\"First Name\"\n name=\"firstName\"\n control={control}\n required\n />\n \n label=\"Last Name\"\n name=\"lastName\"\n control={control}\n required\n />\n \n label=\"Email\"\n name=\"email\"\n control={control}\n // keyboardType=\"email-address\"\n required\n />\n \n label=\"Cell Phone\"\n name=\"phoneNumber\"\n control={control}\n // keyboardType=\"phone-pad\"\n />\n\n \n label=\"Region\"\n name=\"local.region\"\n control={control}\n required\n />\n \n label=\"Local Number\"\n name=\"local.localNumber\"\n control={control}\n required\n />\n \n label=\"Select campaign(s)\"\n name=\"campaignIds\"\n control={control}\n errors={errors}\n placeholder=\"Search Campaigns...\"\n items={Object.values(campaigns).map((c) => ({\n id: c?.id?.toString(),\n name: c?.campaignName,\n }))}\n />\n \n \n \n );\n}\n\nexport default AddAgentScreen;\n","import React, { ReactNode } from \"react\";\nimport {\n Dimensions,\n Platform,\n SafeAreaView,\n StatusBar,\n StyleSheet,\n View,\n} from \"react-native\";\n\nconst height = Dimensions.get(\"window\").height;\nconst width = Dimensions.get(\"window\").width;\n\nconst AgentDetailsContainer = ({ children }: { children: ReactNode }) => {\n return (\n \n \n {children}\n \n \n );\n};\n\nexport default AgentDetailsContainer;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: \"transparent\",\n },\n child: { width, justifyContent: \"center\" },\n});\n","import { Dimensions, Platform, StyleSheet } from \"react-native\";\n\nconst width = Dimensions.get(\"window\").width;\nconst elemWidth = width - 32;\n\nlet styles: any = \"\";\n\nif (Platform.OS == \"web\") {\n styles = {\n overlayWrapper: {\n backgroundColor: \"transparent\",\n flex: 1,\n width: width,\n height: \"100%\",\n alignItems: \"center\",\n },\n webContainer: {\n backgroundColor: \"white\",\n borderRadius: 12,\n flex: 1,\n height: \"100%\",\n margin: 10,\n marginLeft: 16,\n marginRight: 16,\n overflow: \"hidden\",\n width: elemWidth,\n maxWidth: 480,\n },\n headerWrapper: {\n backgroundColor: \"#F2F6F9\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n borderBottomWidth: 0,\n borderBottomColor: \"#D0D6DC\",\n padding: 16,\n paddingBottom: 12,\n },\n header: {\n width: \"100%\",\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n headerText: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 2,\n },\n descText: {\n fontSize: 12,\n color: \"#3F3F3F\",\n },\n close: {\n position: \"absolute\",\n top: 12,\n right: 16,\n },\n cardScrollContainer: {\n flex: 1,\n width: \"100%\",\n borderTopColor: \"#D0D6DC\",\n borderTopWidth: 1,\n },\n campaignsList: {\n paddingLeft: 20,\n height: \"100%\",\n },\n logHeaderList: {\n flexDirection: \"row\",\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 8,\n paddingBottom: 8,\n },\n logFirstHeaderCell: {\n width: 60,\n padding: 4,\n paddingLeft: 10,\n },\n logHeaderCellTextBold: {\n fontSize: 11,\n fontWeight: \"bold\",\n },\n logHeaderCellText: {\n fontSize: 11,\n fontWeight: \"bold\",\n },\n bottomButtonContainer: {\n borderTopWidth: 1,\n borderColor: \"#F2F6F9\",\n display: \"flex\",\n height: 56,\n flexDirection: \"row\",\n },\n bottomButton: {\n alignItems: \"center\",\n alignContent: \"center\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"50%\",\n borderRightWidth: 1,\n borderRightColor: \"#F2F6F9\",\n },\n bottomButtonText: {\n textTransform: \"uppercase\",\n fontSize: 12,\n fontWeight: \"600\",\n },\n listItemCampaign: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n listItemCampaignTitle: {\n color: \"#212121\",\n fontSize: 14,\n fontWeight: \"bold\",\n marginBottom: 4,\n letterSpacing: -0.25,\n },\n listItemCampaignDescription: {\n color: \"#8091A3\",\n fontSize: 12,\n letterSpacing: -0.25,\n fontWeight: \"500\",\n },\n menuHolder: {\n width: 24,\n marginRight: 20,\n },\n statScroll: {\n borderBottomWidth: 0,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 12,\n flexDirection: \"row\",\n },\n listItemForm: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n listItemFormTitle: {\n color: \"#212121\",\n fontSize: 14,\n fontWeight: \"bold\",\n marginBottom: 4,\n letterSpacing: -0.25,\n },\n listItemFormDescription: {\n color: \"#8091A3\",\n fontSize: 12,\n letterSpacing: -0.25,\n fontWeight: \"500\",\n },\n menuItem: {\n color: \"#212121\",\n padding: 8,\n paddingLeft: 16,\n paddingRight: 16,\n backgroundColor: \"white\",\n },\n logHeaderCell: {\n width: 100,\n padding: 4,\n paddingLeft: 10,\n },\n };\n} else {\n styles = {\n overlayWrapper: {\n backgroundColor: \"white\",\n borderRadius: 12,\n flex: 1,\n width: elemWidth,\n margin: 10,\n marginLeft: 16,\n marginRight: 16,\n overflow: \"hidden\",\n },\n webContainer: {\n flex: 1,\n },\n headerWrapper: {\n backgroundColor: \"#F2F6F9\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n borderBottomWidth: 0,\n borderBottomColor: \"#D0D6DC\",\n padding: 16,\n paddingBottom: 12,\n },\n header: {\n width: \"100%\",\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n headerText: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 2,\n },\n descText: {\n fontSize: 12,\n color: \"#3F3F3F\",\n },\n close: {\n position: \"absolute\",\n top: 12,\n right: 16,\n },\n cardScrollContainer: {\n flex: 1,\n width: \"100%\",\n borderTopColor: \"#D0D6DC\",\n borderTopWidth: 1,\n },\n campaignsList: {\n paddingLeft: 20,\n height: \"100%\",\n },\n logHeaderList: {\n flexDirection: \"row\",\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 8,\n paddingBottom: 8,\n },\n logFirstHeaderCell: {\n width: 60,\n padding: 4,\n paddingLeft: 10,\n },\n logHeaderCellTextBold: {\n fontSize: 11,\n fontWeight: \"bold\",\n },\n logHeaderCellText: {\n fontSize: 11,\n fontWeight: \"bold\",\n },\n bottomButtonContainer: {\n borderTopWidth: 1,\n borderColor: \"#F2F6F9\",\n display: \"flex\",\n height: 56,\n flexDirection: \"row\",\n },\n bottomButton: {\n alignItems: \"center\",\n alignContent: \"center\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"50%\",\n borderRightWidth: 1,\n borderRightColor: \"#F2F6F9\",\n },\n bottomButtonText: {\n textTransform: \"uppercase\",\n fontSize: 12,\n fontWeight: \"600\",\n },\n listItemCampaign: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n listItemCampaignTitle: {\n color: \"#212121\",\n fontSize: 14,\n fontWeight: \"bold\",\n marginBottom: 4,\n letterSpacing: -0.25,\n },\n listItemCampaignDescription: {\n color: \"#8091A3\",\n fontSize: 12,\n letterSpacing: -0.25,\n fontWeight: \"500\",\n },\n menuHolder: {\n width: 24,\n marginRight: 20,\n },\n statScroll: {\n borderBottomWidth: 0,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 12,\n flexDirection: \"row\",\n },\n listItemForm: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n listItemFormTitle: {\n color: \"#212121\",\n fontSize: 14,\n fontWeight: \"bold\",\n marginBottom: 4,\n letterSpacing: -0.25,\n },\n listItemFormDescription: {\n color: \"#8091A3\",\n fontSize: 12,\n letterSpacing: -0.25,\n fontWeight: \"500\",\n },\n menuItem: {\n color: \"#212121\",\n padding: 8,\n paddingLeft: 16,\n paddingRight: 16,\n backgroundColor: \"white\",\n },\n logHeaderCell: {\n width: 50,\n padding: 4,\n paddingLeft: 10,\n },\n };\n}\n\nexport default StyleSheet.create(styles);\n","import { ActivityIndicator, StyleSheet, View } from \"react-native\";\nimport React from \"react\";\n\nexport const Spinner = () => {\n return (\n \n \n \n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignContent: \"center\",\n alignItems: \"center\",\n padding: 24,\n borderTopWidth: 1,\n borderTopColor: \"#F1F1F1\",\n width: \"100%\",\n },\n message: {\n fontWeight: \"bold\",\n color: \"#8E96A3\",\n },\n});\n","import React from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\n\ninterface NoDataProps {\n message: string;\n}\n\nconst NoData = ({ message }: NoDataProps) => {\n return (\n \n {message}\n \n );\n};\n\nexport default NoData;\n\nconst styles = StyleSheet.create({\n container: {\n alignContent: \"center\",\n alignItems: \"center\",\n padding: 24,\n borderTopWidth: 1,\n borderTopColor: \"#F1F1F1\",\n width: \"100%\",\n },\n message: {\n fontWeight: \"bold\",\n color: \"#8E96A3\",\n },\n});\n","import React from \"react\";\nimport { Text, View } from \"react-native\";\nimport { numberWithCommas } from \"../../../system/utils\";\nimport styles from \"./agentsCard.style\";\n\ninterface AgentStatRowProps {\n week: string;\n stat1: number;\n stat2: number;\n stat3: number;\n stat4: number;\n stat5: number;\n stat6: number;\n stat7: number;\n stat8: number;\n stat9: number;\n stat10: number;\n stat11: number;\n stat12: number;\n stat13: number;\n stat14: number;\n stat15: number;\n stat16: number;\n stat17: number;\n stat18: number;\n rowId: number;\n}\n\nconst AgentStatRow = ({\n week,\n stat1,\n stat2,\n stat3,\n stat4,\n stat5,\n stat6,\n stat7,\n stat8,\n stat9,\n stat10,\n stat11,\n stat12,\n stat13,\n stat14,\n stat15,\n stat16,\n stat17,\n stat18,\n rowId,\n}: AgentStatRowProps) => {\n const bgRowColors = [\"#ffffff\", \"#f6f6f6\"];\n return (\n \n \n {week}\n \n \n {numberWithCommas(stat1)}\n \n \n {numberWithCommas(stat2)}\n \n \n {numberWithCommas(stat3)}\n \n \n {numberWithCommas(stat4)}\n \n \n {numberWithCommas(stat5)}\n \n \n {numberWithCommas(stat6)}\n \n \n {numberWithCommas(stat7)}\n \n \n {numberWithCommas(stat8)}\n \n \n {numberWithCommas(stat9)}\n \n \n {numberWithCommas(stat10)}\n \n \n {numberWithCommas(stat11)}\n \n \n {numberWithCommas(stat12)}\n \n \n {numberWithCommas(stat13)}\n \n \n {numberWithCommas(stat14)}\n \n \n {numberWithCommas(stat15)}\n \n \n {numberWithCommas(stat16)}\n \n \n {numberWithCommas(stat17)}\n \n \n {numberWithCommas(stat18)}\n \n \n );\n};\nexport default AgentStatRow;\n","import { format } from \"date-fns\";\nimport React from \"react\";\nimport { FlatList, Text, View } from \"react-native\";\nimport { ScrollView } from \"react-native-gesture-handler\";\nimport { WeeklyActivityStats } from \"../../../screens/oar/agents/agentTypes\";\nimport { Spinner } from \"../../../screens/oar/feedback/Spinner\";\nimport { fromUTC } from \"../../../system/utils\";\nimport NoData from \"../../shared/NoData\";\nimport styles from \"./agentsCard.style\";\nimport AgentStatRow from \"./AgentStatRow\";\n\ninterface Props {\n weeklyLogs: WeeklyActivityStats[];\n isLoading: boolean;\n}\n\nconst WeeklyLogTab = ({ weeklyLogs, isLoading }: Props) => {\n if (isLoading) {\n return ;\n }\n\n if (weeklyLogs?.length === 0) {\n return ;\n }\n\n return (\n \n \n index.toString()}\n renderItem={({ item, index }) => (\n \n )}\n style={{\n height: \"100%\",\n }}\n ListHeaderComponent={\n \n \n Week\n \n \n Card/Pet. HC\n \n \n Card/Pet. MT\n \n \n Card/Pet. PL\n \n \n Card/Pet. OT\n \n \n Commits\n \n \n Attended\n \n \n Gen. Commits\n \n \n Gen. Attended\n \n \n Act. Commits\n \n \n Act Attended\n \n \n Att. Cont HC\n \n \n Att. Cont MT\n \n \n Att. Cont PL\n \n \n Att. Cont OT\n \n \n Com. Cont HC\n \n \n Com. Cont MT\n \n \n Com. Cont PL\n \n \n Com. Cont OT\n \n \n }\n />\n \n \n );\n};\n\nexport default WeeklyLogTab;\n","import { useQuery } from \"react-query\";\nimport {\n AgentWithStats,\n CampaignAgentsWithStatsFilter,\n User,\n WeeklyActivityStats,\n} from \"../../screens/oar/agents/agentTypes\";\nimport { Campaign } from \"../../screens/oar/campaigns/campaignTypes\";\nimport {\n RecentActivityDTO,\n WeeklyActivity,\n} from \"../../screens/oar/weekly_activity/WeeklyActivityTypes\";\nimport { api, createQuery } from \"../../system/utils\";\n\nexport const useGetAgents = createQuery(\n \"oar/agent\",\n (queryKey) =>\n ({ options } = {}) => {\n return useQuery(queryKey, options);\n }\n);\n\nexport const useGetCampaignAgentsWithStats = createQuery<\n AgentWithStats[],\n CampaignAgentsWithStatsFilter\n>(\"oar/agent/search\", (queryKey) => ({ additionalKey, options } = {}) => {\n return useQuery(\n [queryKey, additionalKey],\n async () => {\n const response: AgentWithStats[] = await api\n .post(\"oar/agent/search\", {\n json: additionalKey,\n })\n .json();\n\n return response;\n },\n options\n );\n});\n\nexport const useGetAgentCampaigns = createQuery<\n Campaign[],\n {\n agentId: number;\n }\n>(\n \"oar/agent/:agentId/campaigns\",\n (queryKey) =>\n ({ additionalKey, options } = {}) => {\n return useQuery(\n [queryKey, additionalKey],\n async () => {\n const response: Campaign[] = await api\n .get(`oar/agent/${additionalKey?.agentId}/campaigns`)\n .json();\n\n return response;\n },\n options\n );\n }\n);\n\nexport const useGetWeeklyActivityReportsByAgentId = createQuery<\n WeeklyActivityStats[],\n {\n agentId: number;\n }\n>(\n \"oar/agent/:agentId/weeklyLog\",\n (queryKey) =>\n ({ additionalKey, options } = {}) => {\n return useQuery(\n [queryKey, additionalKey],\n async () => {\n const response: WeeklyActivityStats[] = await api\n .get(`oar/agent/${additionalKey?.agentId}/weeklyLog`)\n .json();\n\n return response;\n },\n options\n );\n }\n);\n\nexport const useGetAgentActivityForms = createQuery<\n WeeklyActivity[],\n {\n agentId: number;\n campaignId?: number;\n }\n>(\n \"oar/agent/:agentId/activityForms\",\n (queryKey) =>\n ({ additionalKey, options } = {}) => {\n return useQuery(\n [queryKey, additionalKey],\n async () => {\n const response: WeeklyActivity[] = await api\n .get(\n `oar/agent/${additionalKey?.agentId}/activityForms?campaignId=${\n additionalKey?.campaignId || \"\"\n }`\n )\n .json();\n const sorted = [...response]?.sort(\n (a, b) =>\n new Date(b.reportDate).getTime() -\n new Date(a.reportDate).getTime()\n );\n\n return sorted;\n },\n options\n );\n }\n);\n\nexport const useGetAgentById = createQuery(\n \"oar/agent\",\n (queryKey) =>\n ({ additionalKey, options } = {}) => {\n return useQuery(\n [queryKey, additionalKey],\n async () => {\n const response: User = await api\n .get(`oar/agent/${additionalKey?.agentId}`)\n .json();\n\n return response;\n },\n options\n );\n }\n);\n\nexport const useGetAgentAssignedCampaigns = createQuery<\n Campaign[],\n {\n agentId: number;\n }\n>(\n \"oar/agent/:agentId/assignedCampaigns\",\n (queryKey) =>\n ({ additionalKey, options } = {}) => {\n return useQuery(\n [queryKey, additionalKey],\n async () => {\n const response: Campaign[] = await api\n .get(`oar/agent/${additionalKey?.agentId}/assignedCampaigns`)\n .json();\n\n return response;\n },\n options\n );\n }\n);\n\nexport const useIsLeadAgent = createQuery(\n \"user/isLeadAgent\",\n (queryKey) =>\n ({ options } = {}) => {\n return useQuery(queryKey, options);\n }\n);\n\nexport const useGetAllRecentActivities = createQuery(\n \"user/recentActivities\",\n (queryKey) =>\n ({ options } = {}) => {\n const url = `user/recentActivities/${true}`;\n\n return useQuery(\n [queryKey],\n async () => {\n const response: RecentActivityDTO[] = await api.get(url).json();\n\n return response;\n },\n options\n );\n }\n);\n","import { format } from \"date-fns\";\nimport React, { useState } from \"react\";\nimport { FlatList, Platform, Text, View } from \"react-native\";\nimport styles from \"./agentsCard.style\";\nimport { useNavigation, useRoute } from \"@react-navigation/native\";\nimport DateService from \"../../../system/DateService\";\nimport NoData from \"../../shared/NoData\";\nimport Button from \"../../shared/Button\";\nimport { api, fromUTC } from \"../../../system/utils\";\nimport { useGetAgentActivityForms } from \"../../../hooks/api/useUser\";\nimport { Spinner } from \"../../../screens/oar/feedback/Spinner\";\n\ninterface ActivityFormsTabType {\n agentId: number;\n}\n\nfunction ActivityFormsTab({ agentId }: ActivityFormsTabType) {\n const [isFormLoading, setIsFormLoading] = useState(0);\n const navigation = useNavigation();\n const route = useRoute();\n const campaignId = route.params.campaignId;\n const { data: weeklyActivities, isLoading } = useGetAgentActivityForms({\n additionalKey: {\n agentId,\n campaignId,\n },\n });\n\n const _handleViewButtonPress = async (activityId: number) => {\n if (Platform.OS !== \"web\") {\n navigation.navigate(\"OAR\", {\n screen: \"PDF\",\n params: {\n activityId: activityId,\n },\n });\n } else {\n const url = `oar/weeklyActivity/${activityId}/view`;\n\n setIsFormLoading(activityId);\n const response = await api(url).blob();\n var file = window.URL.createObjectURL(response);\n window.open(file);\n setIsFormLoading(0);\n }\n };\n\n if (isLoading) {\n return ;\n }\n\n if (weeklyActivities?.length === 0) {\n return ;\n }\n return (\n \n item.id.toString()}\n data={weeklyActivities}\n style={styles.campaignsList}\n renderItem={({ item }) => {\n return (\n \n \n \n {format(\n DateService.getBeginningOfTheWeek(item.reportDate),\n \"MM/dd/yyyy\"\n )}\n {\" - \"}\n {format(fromUTC(item.reportDate), \"MM/dd/yyyy\")}\n \n \n {/* Hello */}\n {item.campaignInfo.campaignName}\n {item.activityDescriptions.map((activity, i) => {\n return {activity.description};\n })}\n \n \n \n _handleViewButtonPress(item.id)}\n />\n \n \n );\n }}\n />\n \n );\n}\n\nexport default ActivityFormsTab;\n","import { format } from \"date-fns\";\nimport React from \"react\";\nimport { FlatList, Text, TouchableOpacity, View } from \"react-native\";\nimport styles from \"./agentsCard.style\";\nimport { Avatar } from \"react-native-paper\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport { Campaign } from \"../../../screens/oar/campaigns/campaignTypes\";\nimport { Spinner } from \"../../../screens/oar/feedback/Spinner\";\n\ninterface Props {\n agentId: number;\n isFetching: boolean;\n campaigns: Campaign[];\n}\n\nexport const CampaignsTab = ({ isFetching, campaigns }: Props) => {\n const navigation = useNavigation();\n\n const handleDetails = async (campaign: Campaign) => {\n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n params: {\n screen: \"CampaignDetails\",\n params: {\n campaignId: campaign.id,\n },\n },\n });\n };\n\n if (isFetching) {\n return (\n \n \n \n );\n }\n\n return (\n \n item.id.toString()}\n data={campaigns}\n style={styles.campaignsList}\n renderItem={({ item }: { item: Campaign }) => {\n return (\n handleDetails(item)}>\n \n \n \n {item.campaignName}\n \n \n {format(new Date(item.startDate), \"MM/dd/yyyy\")}\n {item.local?.localNumber && \" - \"}\n {item.local?.region}\n \n \n \n \n {/* */}\n \n \n \n );\n }}\n />\n \n );\n};\n","import {\n Dimensions,\n Platform,\n Text,\n TouchableOpacity,\n View,\n} from \"react-native\";\nimport { Avatar } from \"react-native-paper\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { SceneMap, TabBar, TabView } from \"react-native-tab-view\";\nimport styles from \"./agentsCard.style\";\nimport WeeklyLogTab from \"./WeeklyLogTab\";\nimport ActivityFormsTab from \"./ActivityFormsTab\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport { CampaignsTab } from \"./CampaignsTab\";\nimport { User } from \"../../../screens/oar/agents/agentTypes\";\nimport {\n useGetAgentCampaigns,\n useGetWeeklyActivityReportsByAgentId,\n} from \"../../../hooks/api/useUser\";\n\ntype Props = {\n isFocus: boolean;\n totalCards: number;\n agent: User;\n};\n\nconst AgentsCard = ({ isFocus, totalCards, agent }: Props) => {\n const [index, setIndex] = useState(0);\n\n const navigation = useNavigation();\n\n const {\n data: campaigns,\n isLoading: isCampaignLoading,\n refetch: refetchCampaigns,\n } = useGetAgentCampaigns({\n additionalKey: {\n agentId: agent.id,\n },\n options: {\n enabled: false,\n },\n });\n\n const {\n data: weeklyLogs,\n isLoading: isWeeklyLogsLoading,\n refetch: refetchWeeklyLogs,\n } = useGetWeeklyActivityReportsByAgentId({\n additionalKey: {\n agentId: agent.id,\n },\n options: {\n enabled: false,\n },\n });\n\n const [routes] = useState([\n { key: \"CampaignsTab\", title: \"Campaigns\" },\n { key: \"WeeklyLogTab\", title: \"Weekly Log\" },\n { key: \"ActivityFormsTab\", title: \"Activity Forms\" },\n ]);\n\n totalCards = totalCards - 1;\n\n const initialLayout = { width: Dimensions.get(\"window\").width * 2 };\n\n const handleGoBack = () => {\n if (Platform.OS === \"web\") {\n history.back();\n } else {\n navigation.goBack();\n }\n };\n\n const renderScene = useMemo(\n () =>\n SceneMap({\n CampaignsTab: () => (\n \n ),\n WeeklyLogTab: () => (\n \n ),\n ActivityFormsTab: () => ,\n }),\n [agent, isCampaignLoading, isWeeklyLogsLoading]\n );\n\n useEffect(() => {\n if (isFocus) {\n refetchCampaigns();\n refetchWeeklyLogs();\n }\n }, [isFocus]);\n\n return (\n <>\n \n \n \n \n \n {agent.firstName + \" \" + agent.lastName}\n \n {/* Pittsburn, PA */}\n \n \n \n \n \n {\n return (\n (\n \n \n {route.title}\n \n \n )}\n />\n );\n }}\n />\n {/* Temp hiding this view component until feature is needed */}\n {/* \n \n Assign to Campaign\n \n \n Send Message\n \n */}\n \n \n \n );\n};\n\nexport default AgentsCard;\n","import { Dimensions } from \"react-native\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { ScrollView } from \"react-native-gesture-handler\";\nimport { useRoute } from \"@react-navigation/native\";\nimport { AgentWithStats } from \"./agentTypes\";\nimport { SwiperFlatList } from \"react-native-swiper-flatlist\";\nimport AgentDetailsContainer from \"../../../components/oar/agents/AgentDetailsContainer\";\nimport AgentsCard from \"../../../components/oar/agents/AgentsCard\";\nimport { useGetCampaignAgentsWithStats } from \"../../../hooks/api/useUser\";\nimport DateService from \"../../../system/DateService\";\nimport { Spinner } from \"../feedback/Spinner\";\n\nconst width = Dimensions.get(\"window\").width;\n\nconst AgentDetailsScreen = () => {\n const route = useRoute();\n const scrollView = useRef(null);\n const [position, setPosition] = useState(route.params.position);\n const campaignId = route.params.campaignId;\n\n const { data: agentsWithStats, isLoading } = useGetCampaignAgentsWithStats({\n additionalKey: {\n searchValue: \"\",\n filters: {\n region: [],\n local: [],\n campaignId: [campaignId],\n reportDueDate: DateService.getNextSaturday(),\n reportStartDate: DateService.getBeginningOfTheWeek(\n DateService.getNextSaturday()\n ).toISOString(),\n },\n },\n });\n\n useEffect(() => {\n scrollView.current?.scrollTo({\n x: width * position,\n y: 0,\n animated: false,\n });\n }, []);\n\n if (!agentsWithStats || isLoading) {\n return (\n \n \n \n );\n }\n\n return (\n \n setPosition(position.index)}\n renderItem={({\n item,\n index,\n }: {\n item: AgentWithStats;\n index: number;\n }) => {\n return (\n \n );\n }}\n />\n \n );\n};\n\nexport default AgentDetailsScreen;\n","export default function AssignCampaignsScreen() {\n return null;\n\n // const { data: agent, isLoading: isAgentLoading } = useGetAgentById({\n // additionalKey: {\n // campaignId,\n // },\n // });\n\n // const { data: assignCampaigns, isLoading: isAssignCampaignsLoading } =\n // useGetAgentAssignedCampaigns({\n // additionalKey: {\n // agentId,\n // },\n // });\n\n // const { data: assignedAgents } = useGetCampaignAgents({\n // additionalKey: {\n // campaignId,\n // },\n // });\n\n // const _handleDone = async () => {\n // const assignAgents: AssignAgentsPayload = {\n // campaignId:\n // };\n // dispatch(\n // assignCampaigns({\n // agent,\n // campaigns: Object.values(assignedCamps[agent.id]),\n // })\n // )\n // .then(unwrapResult)\n // .then(() => navigation.goBack())\n // .catch((e: Error) => console.error(\"Assign Campaigns\" + \" \" + e.name));\n // };\n\n // const handleAssignCampaign = (campaign: Campaign) => {\n // if (localAssignCampaigns.some((camp) => camp.id === campaign.id)) {\n // setLocalAssignCampaigns(\n // localAssignCampaigns.filter((camp) => camp.id !== campaign.id)\n // );\n // } else {\n // setLocalAssignCampaigns([...localAssignCampaigns, campaign]);\n // }\n // };\n\n // const handleSearchFilter = useCallback(() => {\n // if (searchValue === \"\") {\n // return campaigns;\n // } else {\n // return campaigns?.filter((campaign) => {\n // return campaign.campaignName\n // .toLowerCase()\n // .includes(searchValue.toLowerCase());\n // });\n // }\n // }, [searchValue, campaigns]);\n\n // useEffect(() => {\n // if (assignCampaigns) {\n // setLocalAssignCampaigns(assignCampaigns);\n // }\n // }, [assignCampaigns]);\n\n // if (\n // !agent ||\n // !campaigns ||\n // isLoading ||\n // isAgentLoading ||\n // isAssignCampaignsLoading\n // ) {\n // return (\n // \n // \n // \n // \n // \n // \n // \n // \n // \n // \n // );\n // }\n\n // return (\n // \n // \n // \n // \n // \n // \n // \n // setSearchValue(text)}\n // />\n // \n // \n // {\n // return (\n // \n // \n // \n // {item.campaignName}\n // \n // \n // {format(new Date(item.startDate), \"MM/dd\")} -{\" \"}\n // {format(new Date(item.endDate), \"MM/dd\")}{\" \"}\n // {item.local?.localNumber && \"-\"}{\" \"}\n // {item.local?.localNumber}\n // \n // \n // \n // campaign.id === item.id\n // )?.id === item.id\n // }\n // onPress={() => handleAssignCampaign(item)}\n // />\n // \n // \n // );\n // }}\n // keyExtractor={(item) => item.id.toString()}\n // style={{\n // paddingLeft: 20,\n // flex: 1,\n // }}\n // />\n // \n // \n // \n // \n // \n // \n // \n // \n // \n // \n // );\n}\n","import { Platform, StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n subHeaderContainer: {\n backgroundColor: \"#F2F6F9\",\n display: \"flex\",\n flexDirection: \"row\",\n alignContent: \"center\",\n alignItems: \"center\",\n padding: 4,\n paddingLeft: 16,\n paddingRight: 16,\n paddingBottom: 8,\n paddingTop: 8,\n borderBottomColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n },\n searchBox: {\n height: 36,\n width: \"100%\",\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n borderColor: \"#D2D6DC\",\n borderWidth: 1,\n elevation: 1,\n backgroundColor: \"white\",\n color: \"#212121\",\n },\n addFormBottomBar: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderColor: \"#DDE1E4\",\n padding: 16,\n },\n addFormBottomFill: {\n backgroundColor: \"white\",\n position: \"absolute\",\n height: 40,\n width: \"100%\",\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n },\n headerTextContainer: {\n alignItems: \"center\",\n flexDirection: \"column\",\n marginTop: 0,\n padding: 16,\n paddingTop: 8,\n paddingBottom: 8,\n },\n headerText: {\n color: \"white\",\n fontWeight: \"bold\",\n fontSize: 16,\n letterSpacing: -0.25,\n },\n addHeaderLeft: {\n position: \"absolute\",\n zIndex: 100,\n top: 18,\n left: 12,\n height: 32,\n width: \"auto\",\n },\n safeArea: {\n flex: 1,\n position: \"relative\",\n zIndex: 1,\n },\n darkBg: {\n backgroundColor: Platform.OS === \"web\" ? \"#F2F6F9\" : \"#012447\",\n flex: 1,\n },\n webBg: {\n backgroundColor: \"#F2F6F9\",\n width: \"100%\",\n flex: 1,\n },\n webContain: {\n marginLeft: \"auto\",\n marginRight: \"auto\",\n maxWidth: 480,\n width: \"100%\",\n flex: 1,\n },\n addButton: {\n borderColor: \"#CFD5DB\",\n borderWidth: 1,\n backgroundColor: \"white\",\n width: 60,\n height: 26,\n },\n addedButton: {\n borderColor: \"#26A670\",\n borderWidth: 1,\n backgroundColor: \"#26A670\",\n width: 60,\n height: 26,\n },\n listItem: {\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n listItemTitle: {\n color: \"#212121\",\n fontSize: 14,\n fontWeight: \"bold\",\n marginBottom: 4,\n letterSpacing: -0.25,\n },\n listItemDesc: {\n color: \"#8091A3\",\n fontSize: 12,\n letterSpacing: -0.25,\n fontWeight: \"500\",\n },\n});\n","import React from \"react\";\nimport { StyleSheet } from \"react-native\";\nimport { Searchbar } from \"react-native-paper\";\n\ninterface Props {\n value: string;\n onChangeText: (value: string) => void;\n}\n\nexport default function AgentSearchBar({ onChangeText, value }: Props) {\n return (\n \n );\n}\n\nconst styles = StyleSheet.create({\n searchBox: {\n height: 36,\n width: \"100%\",\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n borderColor: \"#D2D6DC\",\n borderWidth: 1,\n elevation: 1,\n backgroundColor: \"white\",\n color: \"#212121\",\n },\n});\n","import { FlatList, SafeAreaView, Text, View } from \"react-native\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { useNavigation, useRoute } from \"@react-navigation/native\";\nimport MainAppBar from \"../../../components/shared/MainAppBar\";\nimport Button from \"../../../components/shared/Button\";\nimport styles from \"./AssignUsersScreen.style\";\nimport ButtonAssign from \"../../../components/shared/ButtonAssign\";\nimport { User } from \"../agents/agentTypes\";\nimport AgentSearchBar from \"../../../components/oar/agents/AgentSearchBar\";\nimport {\n useAssignAgentsMutation,\n useGetCampaignById,\n} from \"../../../hooks/api/useCampaign\";\nimport { Spinner } from \"../feedback/Spinner\";\nimport { useGetAgents } from \"../../../hooks/api/useUser\";\nimport { useQuery } from \"react-query\";\nimport { api, queryClient } from \"../../../system/utils\";\n\nexport default function AssignAgentsScreen() {\n const navigation = useNavigation();\n const route = useRoute();\n\n const campaignId = route.params?.campaignId;\n\n const { data: campaign } = useGetCampaignById({\n additionalKey: { campaignId },\n });\n\n const { data: agents } = useGetAgents();\n\n const { data: assignedAgents } = useQuery(\n [\"campaign-agents\", campaignId],\n () => api.get(`oar/campaign/${campaignId}/agents`).json()\n );\n\n const [localAssignAgents, setLocalAssignAgents] = useState([]);\n\n const [searchValue, setSearchValue] = useState(\"\");\n\n const assignAgentsMutation = useAssignAgentsMutation({\n onSuccess: () => {\n queryClient.invalidateQueries([\"campaign-agents\", campaignId]);\n navigation.goBack();\n },\n });\n\n const onSubmit = () => {\n const payload = {\n campaignId,\n agentIds: localAssignAgents.map((agent) => agent.id),\n };\n\n assignAgentsMutation.mutate(payload);\n };\n\n const handleAssignAgent = (agent: User) => {\n if (localAssignAgents.some((ag) => ag.id === agent.id)) {\n setLocalAssignAgents(\n localAssignAgents.filter((ag) => ag.id !== agent.id)\n );\n } else {\n setLocalAssignAgents([...localAssignAgents, agent]);\n }\n };\n\n const handleSearchFilter = useCallback(() => {\n if (searchValue === \"\") {\n return agents;\n } else {\n return agents?.filter((agent) => {\n return (\n agent.firstName.toLowerCase().includes(searchValue.toLowerCase()) ||\n agent.lastName.toLowerCase().includes(searchValue.toLowerCase())\n );\n });\n }\n }, [searchValue, agents]);\n\n useEffect(() => {\n if (assignedAgents) {\n setLocalAssignAgents(assignedAgents);\n }\n }, [assignedAgents]);\n\n if (!campaign || !assignedAgents) {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n }\n\n return (\n \n \n \n \n \n \n \n setSearchValue(text)}\n />\n \n \n item.id.toString()}\n style={{\n paddingLeft: 20,\n flex: 1,\n }}\n renderItem={({ item }) => (\n \n \n {`${item.firstName} ${item.lastName}`}\n \n \n agent.id === item.id\n )?.id === item.id\n }\n onPress={() => handleAssignAgent(item)}\n />\n \n \n )}\n />\n \n \n \n \n \n \n \n \n \n \n );\n}\n","import React from \"react\";\nimport {\n FieldValues,\n useController,\n UseControllerProps,\n} from \"react-hook-form\";\nimport { StyleProp, View, ViewStyle } from \"react-native\";\nimport TextField, { TextFieldProps } from \"@mui/material/TextField\";\nimport { DesktopDatePicker } from \"@mui/x-date-pickers/DesktopDatePicker\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { FormControl } from \"@mui/material\";\n\ninterface Props extends UseControllerProps {\n containerStyle?: StyleProp;\n onChange?: (date: Date | null) => void;\n minDate?: Date;\n shouldDisableDate?: (date: Date) => boolean;\n}\n\nexport default function ControlDatePicker({\n ...props\n}: Props & TextFieldProps) {\n const {\n field: { onChange, onBlur, value },\n fieldState: { error },\n } = useController(props);\n\n const { shouldDisableDate, minDate, disabled, ...rest } = props;\n\n return (\n \n \n \n {\n onChange(data);\n if (props.onChange) {\n props.onChange(data);\n }\n }}\n renderInput={(params) => (\n \n )}\n />\n \n \n \n );\n}\n","import { CheckBox, CheckBoxOutlineBlank } from \"@mui/icons-material\";\nimport Autocomplete, {\n AutocompleteProps,\n createFilterOptions,\n} from \"@mui/material/Autocomplete\";\nimport TextField from \"@mui/material/TextField\";\nimport { AutocompleteFreeSoloValueMapping, Checkbox } from \"@mui/material\";\nimport React from \"react\";\nimport { FieldError } from \"react-hook-form\";\n\nconst icon = ;\nconst checkedIcon = ;\n\ntype WithRequiredProperty = Type & {\n [Property in Key]-?: Type[Property];\n};\n\nexport function CustomSelect<\n T extends object | (string | number | null),\n Multiple extends boolean | undefined = undefined,\n DisableClearable extends boolean | undefined = undefined,\n FreeSolo extends boolean | undefined = undefined\n>(\n props: WithRequiredProperty<\n Omit<\n AutocompleteProps,\n \"renderInput\"\n >,\n \"onChange\" | \"value\"\n > & {\n label?: string;\n error?: FieldError | undefined;\n } & (T extends object\n ? {\n optionName: keyof typeof props.options[0] | ((option: T) => string);\n }\n : { optionName?: never })\n) {\n // Need to peal custom properties off to make HTML React compliant\n const {\n label,\n placeholder,\n error,\n optionName,\n getOptionLabel,\n filterOptions,\n ...slimProps\n } = props;\n\n const innerOptionLabel = (\n option: T | AutocompleteFreeSoloValueMapping\n ): string => {\n let optionLabel;\n if (\n optionName &&\n option &&\n typeof optionName === \"function\" &&\n typeof option === \"object\"\n ) {\n optionLabel = optionName(option);\n } else if (\n optionName &&\n typeof option === \"object\" &&\n typeof optionName !== \"function\"\n ) {\n optionLabel = option?.[optionName];\n } else {\n optionLabel = option;\n }\n return optionLabel as string;\n };\n\n return (\n (\n \n )}\n filterOptions={\n filterOptions ??\n createFilterOptions({\n matchFrom: \"any\",\n limit: 20,\n })\n }\n getOptionLabel={getOptionLabel ?? innerOptionLabel}\n renderOption={(renderProps, option, { selected }) => {\n return (\n
  • \n <>\n \n {(getOptionLabel && getOptionLabel(option)) ??\n innerOptionLabel(option)}\n \n
  • \n );\n }}\n />\n );\n}\n","import { StyleProp, StyleSheet, Text, TextStyle } from \"react-native\";\nimport React, { PropsWithChildren, ReactNode } from \"react\";\nimport { FieldError } from \"react-hook-form\";\n\ntype Props = {\n fieldError?: FieldError | undefined;\n style?: StyleProp;\n};\n\nexport default function Label({ children, style }: PropsWithChildren) {\n return {children};\n}\n\nconst styles = StyleSheet.create({\n addFormLabel: {\n color: \"black\",\n marginBottom: 8,\n letterSpacing: -0.25,\n fontSize: 15,\n fontWeight: \"bold\",\n fontFamily:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif',\n },\n});\n","import React, { useState } from \"react\";\nimport { Platform, View } from \"react-native\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport { Campaign } from \"./campaignTypes\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport AddContainer from \"../../../components/shared/containers/AddContainer\";\nimport ControlTextInput from \"../../../components/shared/inputs/control/ControlTextInput\";\nimport TTSnackBar from \"../../../components/shared/TTSnackBar\";\nimport { useCreateCampaignMutation } from \"../../../hooks/api/useCampaign\";\nimport ControlDatePicker from \"../../../components/shared/inputs/control/ControlDatePicker\";\nimport { CustomSelect } from \"../../../components/shared/inputs/control/CustomSelect\";\nimport { User } from \"../agents/agentTypes\";\nimport Label from \"../../../components/shared/inputs/control/Label\";\nimport { isBefore } from \"date-fns\";\n\nexport interface BallotsImpoundedOptions {\n label: string;\n value: boolean;\n}\n\ninterface Props {\n agents: User[];\n title: string;\n campaign?: Campaign;\n}\n\nexport const CampaignForm = ({ agents, title, campaign }: Props) => {\n const leadAgentIds = campaign?.agentCampaignDtos\n .filter((a) => a.leadAgent)\n .map((a) => a.agentId);\n const agentIds = campaign?.agentCampaignDtos\n .filter((a) => !a.leadAgent)\n .map((a) => a.agentId);\n\n const defaultEndDate = new Date();\n\n defaultEndDate.setFullYear(defaultEndDate.getFullYear() + 1);\n\n const {\n handleSubmit,\n control,\n formState: { errors },\n getValues,\n } = useForm({\n defaultValues: {\n ...campaign,\n campaignName: campaign?.campaignName || \"\",\n startDate: campaign?.startDate || new Date().toISOString(),\n endDate: campaign?.endDate || defaultEndDate.toISOString(),\n leadAgentIds: leadAgentIds || [],\n agentIds: agentIds || [],\n },\n });\n\n const addCampaign = useCreateCampaignMutation();\n\n const navigation = useNavigation();\n\n const [isVisible, setIsVisible] = useState(false);\n\n const onToggleSnackBar = () => setIsVisible(!isVisible);\n\n const onDismissSnackBar = () => setIsVisible(false);\n\n const onSubmit = async (formValue: Campaign) => {\n try {\n const formData: Campaign = {\n ...campaign,\n ...formValue,\n agentCampaigns: formValue.agentIds\n ?.map((agentId) => {\n return {\n agentId,\n campaignId: campaign?.id,\n leadAgent: false,\n };\n })\n .concat(\n formValue.leadAgentIds?.map((agentId) => {\n return {\n agentId,\n campaignId: campaign?.id,\n leadAgent: true,\n };\n })\n ),\n };\n\n await addCampaign.mutateAsync(formData);\n\n onToggleSnackBar();\n if (Platform.OS !== \"web\") {\n navigation.goBack();\n } else {\n window.history.back();\n }\n } catch (e) {\n console.error(e);\n }\n };\n\n return (\n \n \n \n \n {\n if (typeof value === \"string\") {\n if (value.trim() === \"\") {\n return \"Campaign name is required\";\n }\n }\n return true;\n },\n }}\n error={!!errors.campaignName}\n helperText={errors.campaignName?.message}\n />\n \n \n \n \n \n \n \n {\n const startDate = new Date(getValues(\"startDate\"));\n const endDate = new Date(value);\n const isBeforeDate = isBefore(endDate, startDate);\n\n if (isBeforeDate) {\n return \"End date must be after start date\";\n }\n\n return true;\n },\n }}\n error={!!errors.endDate}\n helperText={errors.endDate?.message}\n />\n \n \n \n {\n if (value.length === 0) {\n return \"Lead agent is required\";\n }\n return true;\n },\n }}\n render={({ field: { value, onChange }, fieldState: { error } }) => (\n \n multiple\n options={agents?.map((agent) => agent.id) || []}\n placeholder=\"Search Representatives...\"\n value={value}\n error={error}\n onChange={(_, value) => {\n if (typeof value === \"string\") {\n onChange(value);\n } else {\n const ids = value.map((v) => v);\n onChange(ids);\n }\n }}\n getOptionLabel={(option) => {\n const agent = agents.find((a) => a.id === option);\n return `${agent?.firstName} ${agent?.lastName}`;\n }}\n />\n )}\n />\n \n \n \n (\n \n multiple\n options={agents?.map((agent) => agent.id) || []}\n placeholder=\"Search Representatives...\"\n value={value ?? []}\n error={error}\n onChange={(_, value) => {\n if (typeof value === \"string\") {\n onChange(value);\n } else {\n const ids = value.map((v) => v);\n onChange(ids);\n }\n }}\n getOptionLabel={(option) => {\n const agent = agents.find((a) => a.id === option);\n return `${agent?.firstName} ${agent?.lastName}`;\n }}\n />\n )}\n />\n \n \n \n \n );\n};\n","import React from \"react\";\nimport { useGetAgents } from \"../../../hooks/api/useUser\";\nimport Spinner from \"react-native-loading-spinner-overlay\";\nimport { CampaignForm } from \"./CampaignForm\";\n\nexport default function AddCampaignScreen() {\n const { data: agents, isLoading } = useGetAgents();\n\n if (!agents || isLoading) {\n return ;\n }\n\n return ;\n}\n","import React from \"react\";\nimport { useGetAgents } from \"../../../hooks/api/useUser\";\nimport Spinner from \"../../../components/lm2/weekly_activity/shared/Loading\";\nimport { CampaignForm } from \"./CampaignForm\";\nimport { useRoute } from \"@react-navigation/native\";\nimport { useGetCampaigns } from \"../../../hooks/api/useCampaign\";\n\nexport default function EditCampaignScreen() {\n const { data: agents, isLoading: isLoadingAgents } = useGetAgents();\n const route = useRoute();\n const campaignId = route.params.campaignId;\n\n const { data: campaigns, isLoading: isCampaignLoading } = useGetCampaigns();\n\n if (!agents || isLoadingAgents || !campaigns || isCampaignLoading) {\n return ;\n }\n\n const campaign = campaigns.find((c) => c.id == campaignId);\n\n return (\n \n );\n}\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n safeArea: {\n flex: 1,\n zIndex: 1,\n },\n darkBg: {\n flex: 1,\n },\n topDarkBg: {\n backgroundColor: \"#012447\",\n position: \"absolute\",\n height: 200,\n width: \"100%\",\n top: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n },\n contentWrapper: {\n backgroundColor: \"white\",\n borderRadius: 12,\n zIndex: 100,\n position: \"relative\",\n padding: 16,\n flex: 1,\n },\n inputContainer: {\n flexDirection: \"row\",\n alignItems: \"center\",\n marginVertical: 16,\n marginHorizontal: 16,\n },\n webScroll: {\n backgroundColor: \"white\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n paddingBottom: 32,\n },\n addFormBottomFill: {\n backgroundColor: \"white\",\n position: \"absolute\",\n height: 40,\n width: \"100%\",\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n },\n formLabel: {\n fontWeight: \"bold\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n },\n buttonHolder: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderColor: \"#DDE1E4\",\n padding: 16,\n },\n section: {\n backgroundColor: \"white\",\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n marginTop: 16,\n borderRadius: 12,\n padding: 16,\n elevation: 1,\n },\n sectionHeader: {\n backgroundColor: \"#FFFFFF\",\n // borderTopLeftRadius: 12,\n // borderTopRightRadius: 12,\n paddingLeft: 16,\n paddingRight: 16,\n flexDirection: \"row\",\n alignContent: \"center\",\n alignItems: \"center\",\n zIndex: 100,\n height: 36,\n elevation: 1,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n sectionHeaderText: {\n fontWeight: \"bold\",\n fontSize: 16,\n },\n sectionTitleText: {\n fontWeight: \"bold\",\n color: \"black\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n letterSpacing: -0.25,\n },\n formSection: {\n backgroundColor: \"white\",\n paddingTop: 12,\n paddingBottom: 12,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n formDivider: {\n borderBottomColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n marginLeft: 20,\n marginTop: 12,\n marginBottom: 12,\n marginRight: -8,\n },\n formFrame: {\n backgroundColor: \"white\",\n flex: 1,\n overflow: \"hidden\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n formFrameInner: {\n overflow: \"hidden\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n backgroundColor: \"white\",\n },\n comments: {\n borderColor: \"#D2D6DC\",\n borderWidth: 1,\n borderRadius: 6,\n height: 200,\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n padding: 8,\n width: \"100%\",\n },\n sectionSubHeaderText: {\n color: \"#415B75\",\n textTransform: \"uppercase\",\n letterSpacing: 0.5,\n fontSize: 12,\n paddingVertical: 16,\n },\n rowSpacer: {\n height: 16,\n width: \"100%\",\n },\n webMaxWidth: {\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n});\n","import React, { ReactNode, useEffect, useRef } from \"react\";\nimport {\n Dimensions,\n KeyboardAvoidingView,\n Platform,\n SafeAreaView,\n ScrollView,\n StyleSheet,\n View,\n} from \"react-native\";\nimport MainAppBar from \"../MainAppBar\";\nimport Button from \"../Button\";\n\nconst height = Dimensions.get(\"window\").height;\ntype Props = {\n title: string;\n subtitle?: string;\n buttonText: string;\n buttonType:\n | \"primary\"\n | \"secondary\"\n | \"outlined\"\n | \"small-primary\"\n | \"small-secondary\"\n | \"small-outlined\";\n _handleSubmit: () => void;\n children: ReactNode;\n rightButton?:\n | \"account\"\n | \"add\"\n | \"add-campaign\"\n | \"add-agent\"\n | \"add-report\"\n | \"share\"\n | \"account\"\n | \"more-campaign\"\n | \"more-report\"\n | \"more-lm2form\";\n leftButton?: \"cancel\" | \"menu\" | \"\" | \"back\";\n isSecondaryButton?: boolean;\n _handleSecondaryButton?: () => void;\n isLoading?: boolean;\n};\nexport default function StickyHeader({\n title,\n subtitle,\n buttonText,\n buttonType,\n _handleSubmit,\n children,\n rightButton,\n leftButton,\n isSecondaryButton,\n isLoading,\n _handleSecondaryButton,\n}: Props) {\n const viewRef = useRef(null);\n const [width, setWidth] = React.useState(0);\n // Note: I don't know how to do this with CSS. So I'm doing it with JS.\n useEffect(() => {\n if (viewRef.current) {\n setWidth(viewRef.current.getInnerViewNode().offsetWidth);\n }\n }, [viewRef]);\n return (\n \n \n \n \n \n \n \n \n {children}\n \n \n \n \n \n \n {isSecondaryButton && (\n \n )}\n \n \n \n \n \n \n );\n}\n\nconst styles = StyleSheet.create({\n safeArea: {\n flex: 1,\n zIndex: 1,\n },\n darkBg: {\n flex: 1,\n },\n topDarkBg: {\n backgroundColor: Platform.OS === \"web\" ? \"#F2F6F9\" : \"#012447\",\n position: \"absolute\",\n height: 200,\n width: \"100%\",\n top: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n },\n contentWrapper: {\n backgroundColor: \"white\",\n borderRadius: 12,\n zIndex: 100,\n position: \"relative\",\n padding: 16,\n flex: 1,\n },\n addFormBottomFill: {\n backgroundColor: \"white\",\n position: \"absolute\",\n height: 40,\n width: \"100%\",\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n opacity: Platform.OS === \"web\" ? 0 : 1,\n },\n formLabel: {\n fontWeight: \"bold\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n },\n buttonHolderBg: {\n backgroundColor: \"#F2F6F9\",\n width: \"100%\",\n },\n buttonHolder: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderColor: \"#DDE1E4\",\n padding: 16,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n section: {\n backgroundColor: \"white\",\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n marginTop: 16,\n borderRadius: 12,\n padding: 16,\n elevation: 1,\n },\n sectionHeader: {\n backgroundColor: \"#F2F6F9\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n paddingLeft: 16,\n paddingRight: 16,\n flexDirection: \"row\",\n alignContent: \"center\",\n alignItems: \"center\",\n zIndex: 100,\n height: 36,\n elevation: 1,\n },\n sectionHeaderText: {\n fontWeight: \"bold\",\n },\n formDivider: {\n borderBottomColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n marginLeft: 24,\n marginTop: 12,\n marginBottom: 12,\n },\n formFrame: {\n backgroundColor: Platform.OS === \"web\" ? \"transparent\" : \"white\",\n flex: 1,\n overflow: \"hidden\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n width: \"100%\",\n\n // maxWidth:480,\n // marginLeft:'auto',\n // marginRight:'auto',\n // paddingTop:8,\n\n marginTop: Platform.OS === \"web\" ? 16 : 0,\n },\n formFrameInner: {\n overflow: \"hidden\",\n height: height - 250,\n // backgroundColor:'white',\n },\n formContainer: {\n backgroundColor: \"white\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n maxWidth: 480,\n width: \"100%\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n paddingTop: 8,\n minHeight: Platform.OS === \"web\" ? \"calc(100vh - 149px)\" : \"100%\",\n },\n comments: {\n borderColor: \"#D2D6DC\",\n borderWidth: 0,\n borderRadius: 6,\n height: 200,\n padding: 24,\n paddingTop: 8,\n alignItems: \"flex-start\",\n alignContent: \"flex-start\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n sectionSubHeaderText: {\n color: \"#415B75\",\n textTransform: \"uppercase\",\n letterSpacing: 0.5,\n padding: 16,\n fontSize: 12,\n },\n lowerSectionWrapper: {\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 12,\n paddingBottom: 12,\n },\n rowSpacer: {\n height: 16,\n width: \"100%\",\n },\n webScroll: {\n backgroundColor: \"white\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n paddingBottom: 32,\n },\n});\n","import React from \"react\";\nimport {\n FieldValues,\n useController,\n UseControllerProps,\n} from \"react-hook-form\";\nimport {\n Platform,\n StyleProp,\n TextInput,\n TextInputProps,\n View,\n ViewStyle,\n} from \"react-native\";\n\ninterface Props extends UseControllerProps {\n containerStyle?: StyleProp;\n inputStyles?: StyleProp;\n onChange?: (data: string) => void;\n onBlur?: () => void;\n}\n\nexport default function ControlTextArea({\n ...props\n}: Props & TextInputProps) {\n const {\n field: { onChange, onBlur, value },\n } = useController(props);\n\n return (\n \n {\n onChange(data);\n if (props.onChange) {\n props.onChange(data);\n }\n }}\n onBlur={() => {\n onBlur();\n if (props.onBlur) {\n props.onBlur();\n }\n }}\n value={value}\n style={[\n props.inputStyles,\n { fontSize: 16 },\n props.editable === false && {\n backgroundColor: \"rgba(242,242,242,1)\",\n color: \"rgba(0, 0, 0, 0.38)\",\n },\n // @ts-ignore\n Platform.OS === \"web\" && { outlineColor: \"#034990\" },\n ]}\n placeholderTextColor={\"#A2A2A2\"}\n multiline={true}\n textAlignVertical=\"top\"\n returnKeyLabel=\"done\"\n returnKeyType=\"done\"\n />\n \n );\n}\n","import React from \"react\";\nimport styles from \"./CampaignNotes.style\";\nimport { Campaign } from \"./campaignTypes\";\nimport StickyHeader from \"../../../components/shared/containers/StickyHeader\";\nimport { Text, View } from \"react-native\";\nimport ControlTextArea from \"../../../components/shared/inputs/control/ControlTextArea\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport { useForm } from \"react-hook-form\";\nimport { useAddNotesMutation } from \"../../../hooks/api/useCampaign\";\n\ninterface Props {\n campaign: Campaign;\n}\n\nexport default function CampaignNotesForm({ campaign }: Props) {\n const navigation = useNavigation();\n\n const addNotesMutation = useAddNotesMutation();\n\n const { handleSubmit, control } = useForm({\n defaultValues: {\n ...campaign,\n notes: campaign?.notes || \"\",\n },\n });\n\n const onSubmit = async (formData: Campaign) => {\n try {\n await addNotesMutation.mutateAsync({\n campaignId: campaign.id,\n notes: formData.notes,\n });\n navigation.goBack();\n } catch (err) {\n console.log(err);\n }\n };\n\n return (\n \n \n Notes\n \n \n \n \n \n \n \n );\n}\n","import React from \"react\";\nimport { useRoute } from \"@react-navigation/native\";\nimport { useGetCampaigns } from \"../../../hooks/api/useCampaign\";\nimport Spinner from \"../../../components/lm2/weekly_activity/shared/Loading\";\nimport CampaignNotesForm from \"./CampaignNotesForm\";\n\nexport default function CampaignNotesScreen() {\n const route = useRoute();\n const campaignId = route.params.campaignId;\n\n const { data: campaigns } = useGetCampaigns();\n\n const campaign = campaigns?.find((c) => c.id == campaignId);\n\n if (!campaign) {\n return ;\n }\n return ;\n}\n","import React from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { AddReportDTO } from \"./reportTypes\";\nimport AddContainer from \"../../../components/shared/containers/AddContainer\";\nimport { useAppDispatch, useTypedSelector } from \"../../../store\";\nimport { createNewReport } from \"./reportSlice\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport ControlMultiSelect from \"../../../components/shared/inputs/control/ControlMultiSelect\";\nimport ControlTextInput from \"../../../components/shared/inputs/control/ControlTextInput\";\nimport { CustomSelect } from \"../../../components/shared/inputs/control/CustomSelect\";\nimport { Local } from \"../locals/Local\";\n\nfunction AddReportScreen() {\n const dispatch = useAppDispatch();\n const navigation = useNavigation();\n const {\n control,\n handleSubmit,\n formState: { errors },\n } = useForm();\n\n const campaigns = useTypedSelector((state) => state.campaignSlice.campaigns);\n const locals = useTypedSelector((state) =>\n Object.values(state.localSlice.locals)\n );\n const agents = useTypedSelector((state) => state.agentSlice.agents);\n\n const onSubmit = (formData: AddReportDTO) => {\n dispatch(createNewReport(formData))\n .then(unwrapResult)\n .then(() => navigation.goBack())\n .catch((e: Error) => console.error(e.message));\n };\n\n return (\n \n \n \n Filter base on:\n (\n \n options={locals}\n label=\"Select locals\"\n placeholder={\"All Locals\"}\n freeSolo\n multiple\n value={value}\n optionName=\"localNumber\"\n onChange={(_, value) => {\n if (typeof value === \"string\") {\n onChange(value);\n } else {\n onChange(value);\n }\n }}\n getOptionLabel={(option) =>\n typeof option === \"object\" ? option.localNumber : option\n }\n />\n )}\n />\n \n name=\"campaignIds\"\n control={control}\n errors={errors}\n multiple\n placeholder=\"All Campaigns\"\n items={Object.values(campaigns).map((c) => ({\n id: c?.id?.toString(),\n name: c?.campaignName,\n }))}\n required\n containerStyle={{ marginTop: 20 }}\n />\n \n name=\"agentIds\"\n control={control}\n multiple\n errors={errors}\n placeholder=\"All Agents\"\n items={Object.values(agents).map((a) => ({\n id: a?.id?.toString(),\n name: a.name,\n }))}\n required\n containerStyle={{ marginTop: 20 }}\n />\n \n \n );\n}\n\nexport default AddReportScreen;\n\nconst styles = StyleSheet.create({\n addFormLabel: {\n fontWeight: \"bold\",\n color: \"black\",\n fontSize: 15,\n marginTop: 20,\n letterSpacing: -0.25,\n },\n});\n","import React from \"react\";\nimport { LineChart } from \"react-native-chart-kit\";\nimport { Dimensions, Platform, StyleSheet, Text, View } from \"react-native\";\nimport { format } from \"date-fns\";\nimport { fromUTC } from \"../../system/utils\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport { useTypedSelector } from \"../../store\";\nimport { useRoute } from \"@react-navigation/native\";\n\nconst width = Dimensions.get(\"window\").width;\n\n\nconst CardsOverTimeChart = () => {\n const route = useRoute();\n const campaignId = route.params.campaignId;\n\n const callsMade = useTypedSelector((state) => state.campaignSlice.callsMade)[\n campaignId\n ];\n\n return (\n \n \n \n \n Calls Made\n \n \n\n \n {callsMade?.length === 0 && (\n \n \n \n \n \n This chart will populate once enough data has been entered\n \n \n \n \n )}\n 0\n ? callsMade?.map((c) => format(fromUTC(c.reportDate), \"M/dd\"))\n : [\"M/D\", \"M/D\", \"M/D\", \"M/D\", \"M/D\"],\n datasets: [\n {\n data:\n callsMade?.length > 0\n ? callsMade?.map((c) => c.calls)\n : [0, 12, 40, 75, 100],\n },\n ],\n }}\n width={width > 480 ? 480 : width - 0} // from react-native\n height={200}\n withVerticalLines={false}\n yAxisLabel=\"\"\n yAxisInterval={100} // optional, defaults to 1\n yLabelsOffset={20}\n chartConfig={{\n backgroundColor: \"#FFFFFF\",\n backgroundGradientFrom: \"#FFFFFF\",\n backgroundGradientTo: \"#FFFFFF\",\n decimalPlaces: 0, // optional, defaults to 2dp\n color:\n callsMade && callsMade.length\n ? (opacity = 1) => `rgba(38, 166, 127, ${opacity})`\n : (opacity = 1) => `rgba(219, 219, 219, ${opacity})`,\n labelColor:\n callsMade && callsMade.length\n ? (opacity = 1) => `rgba(1, 36, 71, ${opacity})`\n : (opacity = 1) => `rgba(219, 219, 219, ${opacity})`,\n style: {\n borderRadius: 0,\n },\n propsForDots: {\n r: \"6\",\n strokeWidth: \"2\",\n stroke: \"#ffffff\",\n },\n propsForBackgroundLines: {\n strokeDasharray: \"\",\n stroke: \"#f6f6f6\",\n },\n }}\n style={{\n marginVertical: 8,\n marginHorizontal: 0,\n borderRadius: 0,\n opacity: callsMade ? 1 : 1,\n }}\n />\n \n \n );\n};\n\nexport default CardsOverTimeChart;\n\nconst styles = StyleSheet.create({\n mainChartWrapper: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderTopColor: \"#D2D6DC\",\n paddingTop: 16,\n paddingBottom: 16,\n maxWidth: 480,\n width: \"100%\",\n },\n content: {\n paddingLeft: 20,\n paddingRight: 20,\n paddingBottom: 4,\n justifyContent: \"space-between\",\n flexDirection: \"row\",\n },\n container: {\n flexDirection: \"row\",\n alignContent: \"center\",\n alignItems: \"center\",\n },\n callContainer: {\n color: \"#212121\",\n textTransform: \"uppercase\",\n fontSize: 13,\n fontWeight: \"bold\",\n letterSpacing: 0.25,\n },\n chartOuterOverlay: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 100,\n alignItems: \"center\",\n alignContent: \"center\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n },\n chartInnerOverlay: {\n backgroundColor:\n Platform.OS === \"android\"\n ? \"rgba(255,255,255,1)\"\n : \"rgba(255,255,255, .85)\",\n alignItems: \"center\",\n alignContent: \"center\",\n justifyContent: \"center\",\n borderRadius: 12,\n marginTop: -8,\n padding: 12,\n paddingBottom: 20,\n paddingHorizontal: 24,\n borderWidth: 1,\n borderColor: \"#e6e6e6\",\n shadowColor: \"#000\",\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.06,\n shadowRadius: 3.84,\n\n elevation: 1,\n },\n});\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n formCard: {\n width: \"100%\",\n borderRadius: 12,\n marginTop: 0,\n marginBottom: 10,\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n justifyContent: \"center\",\n elevation: 1,\n },\n formList: {\n paddingTop: 4,\n },\n formFooter: {\n marginBottom: 72,\n },\n statRow: {\n borderBottomWidth: 0,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 12,\n flexDirection: \"row\",\n },\n statCell: {\n width: 50,\n },\n statCellText: {\n fontSize: 12,\n },\n bold: {\n fontWeight: \"bold\",\n },\n reportHeader: {\n alignItems: \"center\",\n alignContent: \"center\",\n justifyContent: \"center\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n width: \"100%\",\n padding: 16,\n paddingLeft: 48,\n paddingRight: 48,\n backgroundColor: \"#F2F6F9\",\n },\n chartWrap: {\n paddingTop: 16,\n backgroundColor: \"white\",\n },\n statsWrap: {\n backgroundColor: \"white\",\n flex: 1,\n borderTopColor: \"#F9F9FA\",\n borderTopWidth: 4,\n },\n statsHeaderScroll: {\n flexDirection: \"row\",\n borderBottomWidth: 1,\n borderBottomColor: \"#ccc\",\n height: 50,\n alignContent: \"center\",\n },\n statsHeader: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n statsHeaderCell: {\n width: 50,\n padding: 0,\n paddingLeft: 10,\n },\n statsHeaderCellText: {\n fontSize: 12,\n },\n logHeaderList: {\n flexDirection: \"row\",\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 8,\n paddingBottom: 8,\n },\n logHeaderCell: {\n width: 50,\n padding: 4,\n paddingLeft: 10,\n },\n logHeaderCellTextBold: {\n fontSize: 12,\n fontWeight: \"bold\",\n },\n logHeaderCellText: {\n fontSize: 12,\n fontWeight: \"bold\",\n },\n statScroll: {\n borderBottomWidth: 0,\n borderBottomColor: \"#D2D6DC\",\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 12,\n flexDirection: \"row\",\n },\n});\n","import { FlatList, Text, View } from \"react-native\";\nimport MainAppBar from \"../../../components/shared/MainAppBar\";\nimport React, { useEffect } from \"react\";\nimport { useRoute } from \"@react-navigation/native\";\nimport { ScrollView } from \"react-native-gesture-handler\";\nimport CardsOverTimeChart from \"../../../components/shared/CardsOverTimeChart\";\nimport styles from \"./ReportDetailsScreen.style\";\nimport { useAppDispatch, useTypedSelector } from \"../../../store\";\nimport { getReportById } from \"./reportSlice\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\nimport { format } from \"date-fns\";\nimport { fromUTC } from \"../../../system/utils\";\nimport AgentStatRow from \"../../../components/oar/agents/AgentStatRow\";\nimport { ReportListDTO } from \"./reportTypes\";\n\nfunction ReportDetailsScreen() {\n const dispatch = useAppDispatch();\n const report: ReportListDTO = useRoute().params.report;\n\n const weeklyLogs = useTypedSelector((state) =>\n Object.values(state.reportSlice.weeklyActivityStats)\n );\n\n const getDate = (): string => {\n const startDate = format(fromUTC(report.dateFrom), \"MM/dd/yy\");\n const endDate = format(fromUTC(report.dateTo), \"MM/dd/yy\");\n return `${startDate} - ${endDate}`;\n };\n\n useEffect(() => {\n dispatch(getReportById(report.id))\n .then(unwrapResult)\n .catch((e: Error) => console.error(e.message));\n }, []);\n\n return (\n <>\n \n \n \n Showing \n \n {report.agentIds.length}\n {\" Agents \"}\n \n in \n \n {report.campaignIds.length} Campaigns\n \n\n from \n {report.locals.length}\n for \n \n Region {report.regions.length}\n \n from \n {getDate()}\n \n \n \n \n \n \n index.toString()}\n renderItem={({ item, index }) => (\n \n )}\n style={{\n height: \"100%\",\n }}\n ListHeaderComponent={\n \n \n Week\n \n \n Card/Pet. HC\n \n \n Card/Pet. MT\n \n \n Card/Pet. PL\n \n \n Card/Pet. OT\n \n \n Commits\n \n \n Attended\n \n \n Gen. Commits\n \n \n Gen. Attended\n \n \n Act. Commits\n \n \n Act Attended\n \n \n Att. Cont HC\n \n \n Att. Cont MT\n \n \n Att. Cont PL\n \n \n Att. Cont OT\n \n \n Com. Cont HC\n \n \n Com. Cont MT\n \n \n Com. Cont PL\n \n \n Com. Cont OT\n \n \n }\n />\n \n \n
    \n \n );\n}\n\nexport default ReportDetailsScreen;\n","import { useRoute } from \"@react-navigation/native\";\nimport React, { useState } from \"react\";\nimport { Dimensions, Platform, View } from \"react-native\";\nimport PDFReader from \"rn-pdf-reader-js\";\nimport MainAppBar from \"../../../components/shared/MainAppBar\";\nimport { useTypedSelector } from \"../../../store\";\nimport { WebView } from \"react-native-webview\";\nimport Constants from \"expo-constants\";\n\nconst PdfScreen = () => {\n const route = useRoute();\n\n const activityId = route.params.activityId;\n\n const [pdfSource] = useState(\n `${Constants.manifest.extra.apiUrl}/api/oar/weeklyActivity/${activityId}/view`\n );\n const token = useTypedSelector((state) => state.authSlice.token);\n\n if (Platform.OS === \"android\") {\n return (\n <>\n \n \n \n \n \n );\n } else {\n return (\n <>\n \n \n \n \n \n );\n }\n};\nexport default PdfScreen;\n","import { Dimensions, Platform, StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n safeArea: {\n flex: 1,\n zIndex: 1,\n },\n darkBg: {\n backgroundColor: \"#F2F6F9\",\n flex: 1,\n },\n topDarkBg: {\n backgroundColor: \"#012447\",\n position: \"absolute\",\n height: 200,\n width: \"100%\",\n top: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n opacity: Platform.OS === \"web\" ? 0 : 1,\n },\n contentWrapper: {\n backgroundColor: \"white\",\n borderRadius: 12,\n zIndex: 100,\n position: \"relative\",\n padding: 16,\n flex: 1,\n },\n addFormContainer: {\n backgroundColor: Platform.OS === \"android\" ? \"white\" : \"transparent\",\n width: \"100%\",\n zIndex: 100,\n position: \"relative\",\n flex: 1,\n height: \"100%\",\n },\n webWrapper: {\n paddingBottom: 32,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n backgroundColor: \"white\",\n borderTopStartRadius: 12,\n borderTopEndRadius: 12,\n padding: 16,\n paddingTop: 0,\n flex: 1,\n justifyContent: \"flex-start\",\n minHeight:\n Platform.OS === \"web\" ? Dimensions.get(\"window\").height - 150 : \"100%\",\n },\n addFormBottomFill: {\n backgroundColor: \"white\",\n position: \"absolute\",\n height: 40,\n width: \"100%\",\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n },\n formLabel: {\n fontWeight: \"bold\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n },\n addFormBottomBar: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderColor: \"#DDE1E4\",\n padding: 16,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n buttonHolder: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderColor: \"#DDE1E4\",\n padding: 16,\n },\n section: {\n backgroundColor: \"white\",\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n marginTop: 16,\n borderRadius: 12,\n padding: 16,\n elevation: 1,\n },\n sectionHeader: {\n backgroundColor: \"#F2F6F9\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n padding: 24,\n paddingLeft: 16,\n paddingRight: 16,\n zIndex: 0,\n borderColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n marginLeft: -16,\n marginRight: -16,\n },\n sectionHeaderText: {\n fontWeight: \"bold\",\n },\n formDivider: {\n borderBottomColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n marginLeft: 24,\n marginTop: 12,\n marginBottom: 12,\n },\n formFrame: {\n backgroundColor: \"white\",\n flex: 1,\n overflow: \"hidden\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n formFrameInnter: {\n overflow: \"hidden\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n comments: {\n borderColor: \"#D2D6DC\",\n borderWidth: 0,\n borderRadius: 6,\n height: 200,\n padding: 24,\n paddingTop: 8,\n alignItems: \"flex-start\",\n alignContent: \"flex-start\",\n justifyContent: \"flex-start\",\n },\n sectionSubHeaderText: {\n color: \"#415B75\",\n textTransform: \"uppercase\",\n letterSpacing: 0.5,\n padding: 16,\n fontSize: 12,\n },\n lowerSectionWrapper: {\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 12,\n paddingBottom: 12,\n },\n bold: {\n fontWeight: \"bold\",\n },\n categoryRow: {\n flexDirection: \"row\",\n alignItems: \"center\",\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n paddingBottom: 16,\n paddingTop: 16,\n },\n categoryFooter: {\n paddingRight: 0,\n paddingTop: 16,\n paddingBottom: 16,\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignContent: \"center\",\n alignItems: \"center\",\n },\n categoryLabel: {\n width: 210,\n paddingRight: 16,\n flexDirection: \"row\",\n },\n sliderContainer: {\n paddingLeft: 16,\n paddingRight: 0,\n paddingTop: 0,\n paddingBottom: 0,\n },\n});\n","import {\n addDays,\n addWeeks,\n format,\n startOfWeek,\n subDays,\n subWeeks,\n} from \"date-fns\";\nimport { SingleSelectType } from \"../../../system/systemTypes\";\nimport {\n WeeklyActivity,\n WeeklyActivityNavigationTabType,\n} from \"./WeeklyActivityTypes\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport { guidGenerator, toUTC } from \"../../../system/utils\";\n\nclass WeeklyActivityService {\n getPreviousSevenDaysInterval(): SingleSelectType[] {\n const weeks = new Array(52).fill(undefined);\n const lastSunday = startOfWeek(addDays(new Date(), 7));\n const nextSunday = addWeeks(lastSunday, 1);\n const nextSaturday = subDays(nextSunday, 1);\n return weeks.map((_, i): SingleSelectType => {\n return {\n key: subWeeks(nextSaturday, i + 1).toISOString(),\n label: format(subWeeks(nextSaturday, i + 1), \"MM/dd/yyyy\"),\n value: toUTC(subWeeks(nextSaturday, i + 1)).toISOString(),\n };\n });\n }\n\n async setLocalStorage(weeklyActivity: WeeklyActivity) {\n const jsonValue = JSON.stringify(weeklyActivity);\n await AsyncStorage.setItem(\"@storage_Key\", jsonValue);\n }\n\n async getLocalStorage(): Promise {\n const jsonValue = await AsyncStorage.getItem(\"@storage_Key\");\n const data = jsonValue != null ? JSON.parse(jsonValue) : null;\n return data as WeeklyActivity;\n }\n\n getPreviousSevenDaysIntervalTab(): WeeklyActivityNavigationTabType[] {\n const weeks = new Array(52).fill(undefined);\n let lastSunday = startOfWeek(addDays(new Date(), 7));\n const lastSaturday = addWeeks(subDays(lastSunday, 1), 1);\n const formatedWeeks = weeks\n .map((_, i): WeeklyActivityNavigationTabType => {\n return {\n id: guidGenerator(), \n title: format(subWeeks(lastSaturday, i + 1), \"MM/d\"),\n value: toUTC(subWeeks(lastSaturday, i + 1)).toISOString(),\n };\n })\n .reverse();\n return formatedWeeks;\n }\n\n getLastSaturday(): Date {\n const lastSunday = startOfWeek(new Date());\n const lastSaturday = subDays(lastSunday, 1);\n return lastSaturday;\n }\n\n getBeginningOfTheWeek(reportDate: string): Date {\n return startOfWeek(new Date(reportDate));\n }\n}\n\nexport default new WeeklyActivityService();\n","import React, { useState } from \"react\";\nimport { Dimensions, Platform, SafeAreaView, Text, View } from \"react-native\";\nimport Button from \"../../../components/shared/Button\";\nimport { ScrollView } from \"react-native-gesture-handler\";\nimport { useNavigation, useRoute } from \"@react-navigation/native\";\nimport MainAppBar from \"../../../components/shared/MainAppBar\";\nimport styles from \"./ReportingFormCategoriesScreen.style\";\nimport { Path, useForm } from \"react-hook-form\";\nimport { WeeklyActivity } from \"./WeeklyActivityTypes\";\nimport { useAppDispatch, useTypedSelector } from \"../../../store\";\nimport _ from \"lodash\";\nimport { submitWeeklyReport, weeklyActivitySlice } from \"./weeklyActivitySlice\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\nimport WeeklyActivityService from \"./WeeklyActivityService\";\nimport { format } from \"date-fns\";\nimport { isSliderValid } from \"../../../system/notifications\";\nimport { fromUTC } from \"../../../system/utils\";\nimport ControlSlider from \"../../../components/shared/inputs/control/ControlSlider\";\nimport TTSnackBar from \"../../../components/shared/TTSnackBar\";\nimport { useGetWeeklyReport } from \"../../../hooks/api/useWeeklyActivity\";\nimport Spinner from \"react-native-loading-spinner-overlay\";\n\nconst ReportingFormCategoriesScreen = () => {\n const dispatch = useAppDispatch();\n const navigation = useNavigation();\n const route = useRoute();\n\n const [isVisible, setIsVisible] = useState(false);\n\n const onToggleSnackBar = () => {\n setIsVisible(!isVisible);\n };\n\n const onDismissSnackBar = () => setIsVisible(true);\n\n const activityId: number = route.params.activityId;\n\n const { data: weeklyActivity, isLoading } = useGetWeeklyReport({\n additionalKey: {\n activityId,\n },\n });\n\n const isHome = useTypedSelector((state) => state.weeklyActivitySlice.isHome);\n\n const { handleSubmit, control, watch, getValues, setValue } =\n useForm();\n\n const sliderValues = watch([\n \"workedPercentages.repActivities\",\n \"workedPercentages.politicalActivities\",\n \"workedPercentages.unionAdmin\",\n \"workedPercentages.contributions\",\n \"workedPercentages.genOverhead\",\n ]);\n\n const onSubmit = async () => {\n const formValues = getValues();\n const merged = _.merge({}, weeklyActivity, formValues);\n if (isSliderValid(percentageTotal)) {\n // setIsLoading(true);\n dispatch(submitWeeklyReport(merged))\n .then(unwrapResult)\n .then(handleSuccess)\n .catch(handleError);\n }\n };\n\n const handleSuccess = () => {\n onToggleSnackBar();\n if (isHome) {\n dispatch(weeklyActivitySlice.actions.setSelectedActivityId(0));\n dispatch(weeklyActivitySlice.actions.setIsHome(false));\n setTimeout(() => {\n navigation.navigate(\"Home\");\n }, 750);\n } else {\n dispatch(weeklyActivitySlice.actions.setSelectedActivityId(0));\n setTimeout(() => {\n navigation.popToTop();\n }, 750);\n }\n };\n\n const handleError = (e: Error) => {\n // setIsLoading(false);\n console.error(e);\n };\n\n const handleFinish = (name: Path) => {\n const repActivities: number =\n getValues(\"workedPercentages.repActivities\") ?? 0;\n const politicalActivities: number =\n getValues(\"workedPercentages.politicalActivities\") ?? 0;\n const unionAdmin: number = getValues(\"workedPercentages.unionAdmin\") ?? 0;\n const contributions: number =\n getValues(\"workedPercentages.contributions\") ?? 0;\n const genOverhead: number = getValues(\"workedPercentages.genOverhead\") ?? 0;\n const total =\n repActivities +\n politicalActivities +\n unionAdmin +\n contributions +\n genOverhead;\n\n if (total > 100) {\n const amount = total - 100;\n const currentVal: any = getValues(name);\n const revision: any = currentVal - amount;\n setValue(name, revision);\n }\n };\n\n const percentageTotal: any = Object.values(sliderValues).reduce(\n (acc, val) => Number(acc ?? 0) + Number(val ?? 0),\n 0\n );\n\n let totalColor = \"#D2D6DC\";\n let fontColor = \"#000000\";\n\n if (percentageTotal === 100) {\n totalColor = \"#26A670\"; //success green\n fontColor = \"#ffffff\";\n } else if (percentageTotal! > 100) {\n totalColor = \"#D83831\"; //error red\n fontColor = \"#ffffff\";\n }\n const height = Dimensions.get(\"window\").height;\n\n if (isLoading || !weeklyActivity) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n \n \n\n \n \n \n \n \n \n Please indicate a percentage beside the categories you\n worked during this week:\n \n \n \n \n label=\"Rep. Activities\"\n name=\"workedPercentages.repActivities\"\n control={control}\n sliderColor=\"#034990\"\n handleFinish={handleFinish}\n />\n \n label=\"Political Activities\"\n name=\"workedPercentages.politicalActivities\"\n control={control}\n sliderColor=\"#D83831\"\n handleFinish={handleFinish}\n />\n \n label=\"Union Admin\"\n name=\"workedPercentages.unionAdmin\"\n control={control}\n sliderColor=\"#EFC83C\"\n handleFinish={handleFinish}\n />\n \n label=\"Contributions\"\n name=\"workedPercentages.contributions\"\n control={control}\n sliderColor=\"#26A67F\"\n handleFinish={handleFinish}\n />\n \n label=\"General Overhead\"\n name=\"workedPercentages.genOverhead\"\n control={control}\n sliderColor=\"#CFD5DB\"\n handleFinish={handleFinish}\n />\n \n \n *All fields together should total 100%\n \n \n \n {percentageTotal}%\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\nexport default ReportingFormCategoriesScreen;\n","import { useMutation, UseMutationOptions, useQuery } from \"react-query\";\nimport { Local } from \"../../screens/oar/locals/Local\";\nimport { api, createQuery, queryClient } from \"../../system/utils\";\n\nexport const useGetLocals = createQuery(\n \"oar/local/locals\",\n (queryKey) =>\n ({ options } = {}) => {\n return useQuery(queryKey, options);\n }\n);\n\nexport const useCreateLocalMutation = ({\n onSuccess,\n ...options\n}: UseMutationOptions = {}) =>\n useMutation(\n async (value: Local) => {\n return await api.post(\"oar/local\", { json: value }).json();\n },\n {\n onSuccess: (...params) => {\n queryClient.invalidateQueries(useGetLocals.queryKey);\n onSuccess?.(...params);\n },\n ...options,\n }\n );\n\nexport const useGetLocationsByLocalId = createQuery<\n Location[],\n {\n localId: number;\n }\n>(\n \"oar/local/:localId/locations\",\n (queryKey) =>\n ({ additionalKey, options } = {}) => {\n return useQuery(\n [queryKey, additionalKey],\n async () => {\n const response: Location[] = await api\n .get(`oar/local/${additionalKey?.localId}/locations`)\n .json();\n return response;\n },\n options\n );\n }\n);\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n safeArea: {\n flex: 1,\n zIndex: 1,\n },\n darkBg: {\n flex: 1,\n },\n TTinputContainer: {\n display: \"flex\",\n height: 44,\n flexDirection: \"row\",\n alignItems: \"center\",\n margin: 16,\n },\n inputContainer: {\n flexDirection: \"row\",\n alignItems: \"center\",\n marginVertical: 16,\n marginHorizontal: 16,\n },\n sectionContainer: {\n padding: 14,\n },\n inputRowContainer: {\n // width: 220,\n flexGrow: 1,\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n maxWidth: \"100%\",\n },\n singleField: {\n width: 220,\n maxWidth: 220,\n alignItems: \"flex-end\",\n justifyContent: \"flex-end\",\n },\n doubleFields: {},\n doubleFieldsInline: {\n width: 220,\n maxWidth: 220,\n },\n fullWidthField: {\n width: \"100%\",\n maxWidth: \"100%\",\n alignItems: \"flex-end\",\n justifyContent: \"flex-end\",\n },\n textLabel: {\n fontWeight: \"normal\",\n fontSize: 14,\n },\n topDarkBg: {\n backgroundColor: \"#012447\",\n position: \"absolute\",\n height: 200,\n width: \"100%\",\n top: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n },\n contentWrapper: {\n backgroundColor: \"white\",\n borderRadius: 12,\n zIndex: 100,\n position: \"relative\",\n padding: 16,\n flex: 1,\n },\n addFormBottomFill: {\n backgroundColor: \"white\",\n position: \"absolute\",\n height: 40,\n width: \"100%\",\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 0,\n },\n formLabel: {\n fontWeight: \"bold\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n },\n buttonHolder: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderColor: \"#DDE1E4\",\n padding: 16,\n },\n section: {\n backgroundColor: \"white\",\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n marginTop: 16,\n borderRadius: 12,\n padding: 16,\n elevation: 1,\n },\n sectionHeader: {\n backgroundColor: \"#FFFFFF\",\n // borderTopLeftRadius: 12,\n // borderTopRightRadius: 12,\n paddingLeft: 16,\n paddingRight: 16,\n flexDirection: \"row\",\n alignContent: \"center\",\n alignItems: \"center\",\n zIndex: 100,\n height: 36,\n elevation: 1,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n sectionHeaderText: {\n fontWeight: \"bold\",\n fontSize: 16,\n },\n sectionTitleText: {\n fontWeight: \"bold\",\n color: \"black\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n letterSpacing: -0.25,\n },\n formSection: {\n backgroundColor: \"white\",\n paddingTop: 12,\n paddingBottom: 12,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n formDivider: {\n borderBottomColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n marginLeft: 20,\n marginTop: 12,\n marginBottom: 12,\n marginRight: 20,\n },\n formFrame: {\n backgroundColor: \"white\",\n flex: 1,\n overflow: \"hidden\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n formFrameInner: {\n overflow: \"hidden\",\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n comments: {\n borderColor: \"#D2D6DC\",\n borderWidth: 1,\n borderRadius: 6,\n height: 200,\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n padding: 8,\n width: \"100%\",\n },\n sectionSubHeaderText: {\n color: \"#415B75\",\n textTransform: \"uppercase\",\n letterSpacing: 0.5,\n fontSize: 12,\n paddingVertical: 16,\n },\n lowerSectionWrapper: {\n paddingLeft: 16,\n paddingRight: 16,\n paddingTop: 12,\n paddingBottom: 12,\n },\n webMaxWidth: {\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n});\n","import * as React from \"react\";\nimport { useEffect, useMemo } from \"react\";\nimport Box from \"@mui/material/Box\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport LocationOnIcon from \"@mui/icons-material/LocationOn\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport parse from \"autosuggest-highlight/parse\";\nimport throttle from \"lodash/throttle\";\n\n// This key was created specifically for the demo in mui.com.\n// You need to create a new one for your application.\n// \"https://maps.googleapis.com/maps/api/js?key=AIzaSyDOugrTuEDKl3Is8wh4ct-3XNs3dxNnkEg&libraries=places\",\nconst GOOGLE_MAPS_API_KEY = \"AIzaSyDOugrTuEDKl3Is8wh4ct-3XNs3dxNnkEg\";\n\nfunction loadScript(src: string, position: HTMLElement | null, id: string) {\n if (!position) {\n return;\n }\n\n const script = document.createElement(\"script\");\n script.setAttribute(\"async\", \"\");\n script.setAttribute(\"id\", id);\n script.src = src;\n position.appendChild(script);\n}\n\nconst autocompleteService = { current: null };\n\ninterface MainTextMatchedSubstrings {\n offset: number;\n length: number;\n}\n\ninterface StructuredFormatting {\n main_text: string;\n secondary_text: string;\n main_text_matched_substrings: readonly MainTextMatchedSubstrings[];\n}\n\ninterface PlaceType {\n description: string;\n structured_formatting: StructuredFormatting;\n}\n\nexport interface onChangeValues {\n description?: string;\n googleData: object;\n}\n\ninterface Props {\n defaultValue: any;\n placeholder?: string;\n types?: string[];\n onBlur?: (e?: string) => void;\n onChange: ({ description, googleData }: onChangeValues) => void;\n}\n\nexport default function GoogleMaps({ ...props }: Props) {\n const [value, setValue] = React.useState(null);\n const [inputValue, setInputValue] = React.useState(\"\");\n const [options, setOptions] = React.useState([]);\n const loaded = React.useRef(false);\n const { onChange, defaultValue, placeholder, onBlur, types } = props;\n\n if (typeof window !== \"undefined\" && !loaded.current) {\n if (!document.querySelector(\"#google-maps\")) {\n loadScript(\n `https://maps.googleapis.com/maps/api/js?key=${GOOGLE_MAPS_API_KEY}&libraries=places`,\n document.querySelector(\"head\"),\n \"google-maps\"\n );\n }\n\n loaded.current = true;\n }\n\n const fetch = useMemo(\n () =>\n throttle(\n (\n request: { input: string },\n callback: (results?: readonly PlaceType[]) => void\n ) => {\n (autocompleteService.current as any).getPlacePredictions(\n {\n input: request.input,\n types: types,\n componentRestrictions: { country: \"us\" },\n },\n callback\n );\n },\n 200\n ),\n []\n );\n\n useEffect(() => {\n let active = true;\n\n if (!autocompleteService.current && (window as any).google) {\n autocompleteService.current = new (\n window as any\n ).google.maps.places.AutocompleteService();\n }\n if (!autocompleteService.current) {\n return undefined;\n }\n\n if (inputValue === \"\") {\n setOptions(value ? [value] : []);\n return undefined;\n }\n\n fetch({ input: inputValue }, (results?: readonly PlaceType[]) => {\n if (active) {\n let newOptions: readonly PlaceType[] = [];\n\n if (value) {\n newOptions = [value];\n }\n\n if (results) {\n newOptions = [...newOptions, ...results];\n }\n\n setOptions(newOptions);\n }\n });\n\n return () => {\n active = false;\n };\n }, [value, inputValue, fetch]);\n\n const inputFieldRef = React.useRef();\n useEffect(() => {\n if (inputFieldRef.current) {\n inputFieldRef.current.autocomplete = \"new-city\";\n }\n }, [inputFieldRef]);\n\n return (\n \n sx={{ width: \"100%\" }}\n getOptionLabel={(option) =>\n typeof option === \"string\" ? option : option.description\n }\n filterOptions={(x) => x}\n options={options}\n includeInputInList\n freeSolo\n filterSelectedOptions\n value={defaultValue}\n onChange={(_, newValue) => {\n if (typeof newValue !== \"string\" && newValue != null) {\n const opts = newValue ? [newValue, ...options] : options;\n setOptions(opts);\n setValue(value);\n\n onChange &&\n onChange({\n description: newValue.description,\n googleData: newValue,\n });\n }\n }}\n onInputChange={(_, newInputValue, reason) => {\n if (reason === \"clear\") {\n onChange && onChange({ description: undefined, googleData: {} });\n } else {\n onChange && onChange({ description: newInputValue, googleData: {} });\n }\n setInputValue(newInputValue);\n }}\n renderInput={(params) => (\n {\n onBlur && onBlur(e.target.value);\n }}\n />\n )}\n renderOption={(props, option) => {\n if (typeof option === \"string\") {\n return;\n }\n const matches =\n option.structured_formatting.main_text_matched_substrings;\n const parts = parse(\n option.structured_formatting.main_text,\n matches.map((match: any) => [\n match.offset,\n match.offset + match.length,\n ])\n );\n\n return (\n
  • \n \n \n \n \n \n {parts.map((part, index) => (\n \n {part.text}\n \n ))}\n \n {option.structured_formatting.secondary_text}\n \n \n \n
  • \n );\n }}\n />\n );\n}\n","import React from \"react\";\nimport {\n FieldValues,\n useController,\n UseControllerProps,\n} from \"react-hook-form\";\nimport { StyleProp, StyleSheet, Text, View, ViewStyle } from \"react-native\";\nimport GoogleMaps, { onChangeValues } from \"./GoogleMaps\";\n\ninterface Props extends UseControllerProps {\n inputStyle?: \"flat\" | \"outlined\";\n types?: string[];\n onChange: ({ description, googleData }: onChangeValues) => void;\n label?: string;\n containerStyle?: StyleProp;\n placeholder?: string;\n required?: boolean;\n onBlur?: (value?: string) => void;\n}\n\nexport default function ControlGoogleLocation({\n ...props\n}: Props) {\n const { label, containerStyle, placeholder, types } = props;\n\n const {\n field,\n fieldState: { error },\n } = useController({\n name: props.name,\n control: props.control,\n rules: props.rules,\n defaultValue: props.defaultValue,\n });\n\n return (\n \n {label && (\n \n {`${label} ${props.rules?.required ? \"*\" : \"\"}:`}\n \n )}\n\n \n {\n // react hook form onChange\n field.onChange(description);\n // parent onChange\n props.onChange({ description, googleData });\n }}\n onBlur={(value) => {\n field.onBlur();\n if (props.onBlur) {\n props.onBlur(value);\n }\n }}\n types={types}\n defaultValue={field.value}\n placeholder={placeholder}\n />\n \n \n );\n}\n\n// styles\nconst styles = StyleSheet.create({\n addFormLabel: {\n fontWeight: \"bold\",\n color: \"black\",\n fontSize: 15,\n marginTop: 12,\n marginBottom: 8,\n letterSpacing: -0.25,\n },\n textError: {\n borderColor: \"red\",\n },\n textAlign: {\n paddingTop: 8,\n },\n});\n","import React from \"react\";\nimport {\n FieldError,\n FieldValues,\n useController,\n UseControllerProps,\n} from \"react-hook-form\";\nimport {\n Platform,\n StyleProp,\n StyleSheet,\n Text,\n TextInput,\n TextInputProps,\n View,\n ViewStyle,\n} from \"react-native\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport * as Haptics from \"expo-haptics\";\nimport { TouchableRipple } from \"react-native-paper\";\n\ninterface Props extends UseControllerProps {\n inputStyle?: \"flat\" | \"outlined\";\n types?: string[];\n key?: string;\n label?: string;\n containerStyle?: StyleProp;\n placeholder?: string;\n error?: FieldError | undefined;\n size?: \"small\" | \"medium\";\n icon: \"left\" | \"right\" | \"none\";\n}\n\nexport default function ControlNumberInput({\n ...props\n}: Props & TextInputProps) {\n const { size, containerStyle, icon, label } = props;\n\n const { field } = useController(props);\n\n return (\n \n \n {label}\n {\n field.onChange(text);\n }}\n onBlur={(e) => {\n if (isNaN(parseInt(e.nativeEvent.text))) {\n field.onChange(0);\n } else {\n field.onChange(parseInt(e.nativeEvent.text));\n props.onBlur && props.onBlur(e);\n }\n }}\n />\n {/* @ts-ignore */}\n {\n field.onChange(field.value + 1);\n props.onBlur && props.onBlur(\"weird\" as any);\n {\n Platform.OS !== \"web\" && Haptics.selectionAsync();\n }\n }}\n style={[\n styles.addButtonContainer,\n props.editable === false && styles.disabledButton,\n ]}\n >\n \n \n \n \n \n \n );\n}\n\nconst styles = StyleSheet.create({\n fieldInput: {\n height: Platform.OS === \"web\" ? 44 : 28,\n display: \"flex\",\n fontSize: 16,\n paddingHorizontal: Platform.OS === \"web\" ? 8 : 0,\n },\n field: {\n height: 44,\n padding: Platform.OS === \"web\" ? 0 : 8,\n paddingTop: Platform.OS === \"web\" ? 0 : 4,\n paddingBottom: Platform.OS === \"web\" ? 0 : 4,\n margin: 0,\n backgroundColor: \"white\",\n borderWidth: 1,\n borderColor: \"#D2D6DC\",\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n elevation: 1,\n width: \"100%\",\n },\n fieldLabel: {\n fontSize: 12,\n position: \"absolute\",\n backgroundColor: \"white\",\n top: -14,\n left: 6,\n padding: 4,\n color: \"#6C727F\",\n },\n disabledButton: {\n opacity: 0.25,\n },\n addButtonContainer: {\n margin: 0,\n padding: 0,\n borderWidth: 0,\n height: 44,\n width: 48,\n position: \"absolute\",\n right: 0,\n top: 0,\n display: \"flex\",\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginRight: 0,\n elevation: 0,\n },\n addButtonWrap: {\n backgroundColor: \"#ffffff\",\n margin: 0,\n padding: 0,\n borderColor: \"#e6e6e6\",\n borderWidth: 2,\n borderRadius: 100,\n height: 28,\n width: 28,\n position: \"absolute\",\n right: 8,\n top: 7,\n display: \"flex\",\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginRight: 0,\n elevation: 1,\n },\n addButton: {\n backgroundColor: \"transparent\",\n padding: 0,\n margin: 0,\n height: 24,\n width: 24,\n userSelect: \"none\",\n },\n});\n","import React from \"react\";\nimport {\n FieldValues,\n useController,\n UseControllerProps,\n} from \"react-hook-form\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Select, { SelectChangeEvent, SelectProps } from \"@mui/material/Select\";\n\ninterface Props extends UseControllerProps {\n onChange?: (value: string) => void;\n onBlur?: () => void;\n label?: string;\n menuItems: { value: any; label: string }[];\n}\n\nexport default function ControlSingleSelect({\n ...props\n}: Props & SelectProps) {\n const {\n field: { onChange, onBlur, value },\n } = useController(props);\n\n const { menuItems, ...rest } = props;\n\n return (\n {\n onChange(e.target.value);\n if (props.onChange) {\n props.onChange(e.target.value);\n }\n }}\n onBlur={() => {\n onBlur();\n if (props.onBlur) {\n props.onBlur();\n }\n }}\n >\n {menuItems.map((item, i) => (\n \n {item.label}\n \n ))}\n \n );\n}\n","import React from \"react\";\nimport { Text, View } from \"react-native\";\nimport { useForm } from \"react-hook-form\";\nimport styles from \"./ReportingFormSections.style\";\nimport ControlTextInput from \"../../../components/shared/inputs/control/ControlTextInput\";\nimport { Campaign } from \"../campaigns/campaignTypes\";\nimport ControlDatePicker from \"../../../components/shared/inputs/control/ControlDatePicker\";\nimport ControlNumberInput from \"../../../components/shared/inputs/control/ControlNumberInput\";\nimport ControlSingleSelect from \"../../../components/shared/inputs/control/ControlSingleSelect\";\nimport { FormControl, InputLabel } from \"@mui/material\";\nimport { DraftCampaignDetails } from \"./WeeklyActivityTypes\";\n\ninterface Props {\n draftCampaignDetails: DraftCampaignDetails;\n onBlur: (draftCampaignDetails: DraftCampaignDetails) => void;\n}\n\nexport default function CurrentCampaignForm({\n draftCampaignDetails,\n onBlur,\n}: Props) {\n const { control, getValues } = useForm({\n defaultValues: draftCampaignDetails,\n });\n\n const onChange = () => {\n onBlur(getValues());\n };\n\n return (\n <>\n \n Current Campaign Overview\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Petition Information\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n NLRB Activity\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Election Information\n \n \n \n \n \n \n \n \n Campaign Ballots Impounded\n \n \n \n \n \n \n Election Results\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Challenges\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Attorney / Pursuader Information\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import React, { useEffect } from \"react\";\nimport { Text, TouchableOpacity, View } from \"react-native\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport { Controller, useFieldArray, useForm, useWatch } from \"react-hook-form\";\nimport styles from \"./ReportingFormSections.style\";\nimport { ActivityDTO, WeeklyActivity } from \"./WeeklyActivityTypes\";\nimport { debounce, merge } from \"lodash\";\nimport { format, isBefore } from \"date-fns\";\nimport WeeklyActivityService from \"./WeeklyActivityService\";\nimport StickyHeader from \"../../../components/shared/containers/StickyHeader\";\nimport ControlTextArea from \"../../../components/shared/inputs/control/ControlTextArea\";\nimport ControlTextInput from \"../../../components/shared/inputs/control/ControlTextInput\";\nimport { fromUTC, queryClient } from \"../../../system/utils\";\nimport {\n useSubmitWeeklyReportMutation,\n useUpdateWeeklyReportMutation,\n} from \"../../../hooks/api/useWeeklyActivity\";\nimport Ionicons from \"@expo/vector-icons/Ionicons\";\nimport { Colors } from \"react-native-paper\";\nimport ControlGoogleLocation from \"../../../components/shared/inputs/control/ControlGoogleLocation\";\nimport { CustomSelect } from \"../../../components/shared/inputs/control/CustomSelect\";\nimport { Local } from \"../locals/Local\";\nimport ControlDatePicker from \"../../../components/shared/inputs/control/ControlDatePicker\";\nimport { ProgramTypes, TradeDivisions } from \"../../../system/constants\";\nimport ControlNumberInput from \"../../../components/shared/inputs/control/ControlNumberInput\";\nimport CurrentCampaignForm from \"./CurrentCampaignForm\";\nimport dayjs from \"dayjs\";\n\ninterface Props {\n locals: Local[];\n weeklyActivity: ActivityDTO;\n isLead?: boolean;\n activityId: number;\n}\n\nexport default function ReportingForm({ ...props }: Props) {\n const { locals, weeklyActivity, activityId } = props;\n const navigation = useNavigation();\n const updateWeeklyReport = useUpdateWeeklyReportMutation();\n const submitWeeklyReport = useSubmitWeeklyReportMutation({\n onSuccess: () => {\n navigation.navigate(\"OAR\", {\n screen: \"ViewPDF\",\n params: {\n activityId,\n campaignName: weeklyActivity?.campaignInfo.campaignName,\n },\n });\n },\n onError: (e: any) => console.error(e.message),\n });\n\n const { handleSubmit, control, getValues, setValue, trigger } = useForm({\n defaultValues: {\n ...weeklyActivity,\n comments: weeklyActivity.comments || \"\",\n },\n mode: \"onChange\",\n });\n\n const startDate = useWatch({\n control,\n name: \"startDate\",\n });\n\n useEffect(() => {\n if (dayjs(startDate).isAfter(getValues(\"endDate\"))) {\n setValue(\"endDate\", null);\n // Dependant values need to cascade their validation checks. Can't be done in same center cycle\n trigger(\"endDate\").then(() => trigger(\"startDate\"));\n }\n }, [getValues, setValue, startDate, trigger]);\n\n useEffect(() => {\n // invalidated query key\n // oar/weeklyActivity/getActivityReports\n queryClient.invalidateQueries([\"oar/weeklyActivity/getActivityReports\"]);\n }, []);\n\n const {\n fields: activityFields,\n append: appendActivity,\n remove: removeActivity,\n } = useFieldArray({\n control,\n name: \"activityDescriptions\",\n });\n\n const {\n fields: cityFields,\n append: appendCity,\n remove: removeCity,\n } = useFieldArray({\n control,\n name: \"cities\",\n });\n\n const {\n fields: locationsFields,\n append: appendLocations,\n remove: removeLocation,\n } = useFieldArray({\n control,\n name: \"locations\",\n });\n\n const onSubmit = () => {\n const data = handleFormatAPI(getValues());\n submitWeeklyReport.mutate(data);\n };\n\n const handleFormatAPI = (formValues: WeeklyActivity): ActivityDTO => {\n const data: ActivityDTO = merge({}, weeklyActivity, formValues);\n data.id = activityId;\n data.cities = formValues.cities.filter((city) => city.cityName !== \"\");\n data.locations = formValues.locations.filter(\n (location) => location.address !== \"\"\n );\n data.activityDescriptions = formValues.activityDescriptions.filter(\n (activity) => activity.description !== \"\"\n );\n\n return data;\n };\n\n const handleSaveOnChange = debounce(() => {\n const data = handleFormatAPI(getValues());\n updateWeeklyReport.mutate(data, {\n onError: (e: any) => console.error(e.message),\n });\n }, 700);\n\n return (\n {\n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n });\n }}\n _handleSubmit={handleSubmit(onSubmit)}\n >\n \n Comments\n \n \n \n \n \n \n \n \n Campaign Date\n \n \n \n \n {\n const endDate = getValues(\"endDate\");\n if (endDate) {\n const startDate = new Date(value);\n const isBeforeDate = isBefore(new Date(endDate), startDate);\n if (isBeforeDate) {\n return \"Start date must be before end date\";\n }\n }\n return true;\n },\n }}\n />\n {\n if (startDate && value) {\n const endDate = new Date(value);\n const isBeforeDate = isBefore(endDate, new Date(startDate));\n if (isBeforeDate) {\n return \"End date must be after start date\";\n }\n }\n return true;\n },\n }}\n onChange={(value) => {\n const endDate = value;\n if (startDate && endDate instanceof Date) {\n const isBeforeDate = isBefore(endDate, new Date(startDate));\n if (!isBeforeDate) {\n handleSaveOnChange();\n }\n }\n }}\n style={{ marginBottom: 12 }}\n />\n \n \n \n \n \n \n Activity Log\n \n \n \n \n {activityFields.map((field, index) => {\n return (\n \n \n \n {\n removeActivity(index);\n handleSaveOnChange();\n }}\n >\n {/* @ts-ignore */}\n \n \n \n );\n })}\n {\n const activities = getValues(\"activityDescriptions\");\n const isAnyEmpty = activities?.some(\n (field) => field.description === \"\"\n );\n\n if (!isAnyEmpty) {\n appendActivity({ description: \"\" });\n }\n }}\n >\n \n Add a New Activity\n \n \n \n \n \n \n \n \n \n \n Locals \n \n \n \n \n (\n \n onBlur={(e: any) => {\n const localNumber = e.target.value;\n if (localNumber) {\n const newValue = [\n ...getValues(\"locals\"),\n {\n localNumber,\n },\n ];\n\n onChange(newValue);\n handleSaveOnChange();\n }\n }}\n clearOnBlur={true}\n label=\"\"\n options={\n locals?.sort((a, b) =>\n a.localNumber.localeCompare(b.localNumber)\n ) ?? []\n }\n placeholder={\"Select locals\"}\n freeSolo\n multiple\n value={value}\n optionName=\"localNumber\"\n isOptionEqualToValue={(option, value) =>\n option.id === value.id\n }\n onChange={(_, value) => {\n const result = value?.map((x) =>\n typeof x === \"string\" ? { localNumber: x } : x\n );\n onChange(result);\n handleSaveOnChange();\n }}\n getOptionLabel={(option) =>\n typeof option === \"object\" ? option.localNumber : option\n }\n />\n )}\n />\n \n \n \n \n \n \n \n Cities\n \n \n \n \n {cityFields.map((field, index) => {\n return (\n \n {\n if (description === undefined) {\n removeCity(index);\n handleSaveOnChange();\n } else {\n setValue(`cities.${index}.googleData`, googleData);\n handleSaveOnChange();\n }\n }}\n containerStyle={{\n width: \"100%\",\n flex: 1,\n }}\n />\n \n );\n })}\n {\n const cities = getValues(\"cities\");\n const isAnyEmpty = cities?.some(\n (field) => field.cityName === \"\"\n );\n\n if (!isAnyEmpty) {\n appendCity({ cityName: \"\" });\n }\n }}\n >\n \n Add a New City\n \n \n \n \n \n \n \n \n \n \n Locations\n \n \n \n \n {locationsFields.map((field, index) => {\n return (\n \n {\n if (description === undefined) {\n removeLocation(index);\n handleSaveOnChange();\n } else {\n if (Object.keys(googleData).length !== 0) {\n setValue(\n `locations.${index}.googleData`,\n googleData\n );\n handleSaveOnChange();\n }\n }\n }}\n />\n \n );\n })}\n {\n const locations = getValues(\"locations\");\n const isAnyEmpty = locations?.some(\n (field) => field.address === \"\"\n );\n\n if (!isAnyEmpty) {\n appendLocations({ address: \"\" });\n }\n }}\n >\n \n Add a New Location\n \n \n \n \n \n \n \n \n \n \n Program type, Trade division and BPS\n \n \n \n \n \n (\n \n label=\"Program Type\"\n defaultValue={value}\n value={value}\n options={ProgramTypes}\n onChange={(_, data) => {\n onChange(data);\n handleSaveOnChange();\n }}\n style={{ marginBottom: 12 }}\n />\n )}\n />\n (\n \n style={{ marginTop: 12, marginBottom: 12 }}\n label=\"Trade Division\"\n defaultValue={value}\n value={value}\n options={TradeDivisions}\n onChange={(_, data) => {\n onChange(data);\n handleSaveOnChange();\n }}\n />\n )}\n />\n {\n handleSaveOnChange();\n }}\n />\n \n \n \n \n \n Comment Cards/Rec. Petitions Collected by You\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Worker/Mobilization Commitments to You\n \n \n \n \n Committee Meeting\n \n\n \n \n \n \n \n \n \n General Meeting\n \n \n \n \n \n \n \n \n \n Action (Describe in Comments)\n \n \n\n \n \n \n \n \n \n \n \n \n Attempted Contacts This Week\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Completed Contacts This Week\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <>\n \n Pre-Election\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {weeklyActivity.isLead && (\n {\n setValue(\"draftCampaignDetails\", campaign);\n handleSaveOnChange();\n }}\n />\n )}\n \n );\n}\n","import React from \"react\";\nimport { SafeAreaView } from \"react-native\";\nimport { useRoute } from \"@react-navigation/native\";\nimport { useGetWeeklyReport } from \"../../../hooks/api/useWeeklyActivity\";\nimport { Spinner } from \"../feedback/Spinner\";\nimport { useGetLocals } from \"../../../hooks/api/useLocal\";\nimport ReportingForm from \"./ReportingForm\";\n\nexport default function ReportingFormSectionsScreen() {\n const route = useRoute();\n\n const activityId: number = route.params.activityId;\n\n const { data: locals } = useGetLocals();\n\n const { data: weeklyActivity, isLoading: isWeeklyActivityLoading } =\n useGetWeeklyReport({\n additionalKey: {\n activityId,\n },\n });\n\n if (!locals || !weeklyActivity || isWeeklyActivityLoading) {\n return (\n \n \n \n );\n }\n\n return (\n \n );\n}\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n headerBar: {\n backgroundColor: \"#012447\",\n },\n bottom: {\n alignItems: \"center\",\n fontFamily: \"Inter\",\n fontWeight: \"900\",\n color: \"yellow\",\n },\n emptyIcon: {\n backgroundColor: \"transparent\",\n height: 60,\n width: 60,\n },\n buttonHolder: {\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n padding: 16,\n backgroundColor: \"white\",\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n elevation: 1,\n },\n});\n","import React, { useState } from \"react\";\nimport { Avatar, Text } from \"react-native-paper\";\nimport { Platform, StyleSheet, TouchableOpacity, View } from \"react-native\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport { ActivityDTO } from \"../../../screens/oar/weekly_activity/WeeklyActivityTypes\";\nimport Button from \"../../shared/Button\";\nimport { api } from \"../../../system/utils\";\nimport { Modal } from \"../../../system/notifications\";\nimport { useDeleteWeeklyReportMutation } from \"../../../hooks/api/useWeeklyActivity\";\n\ntype Props = {\n activityDTO: ActivityDTO;\n};\n\nfunction CardItem({ activityDTO }: Props) {\n const navigation = useNavigation();\n\n let cardEntry = null;\n\n const [showDeleteModal, setShowDeleteModal] = useState(false);\n const [isFormLoading, setIsFormLoading] = useState(false);\n\n const _handleContinueButtonPress = () => {\n navigation.navigate(\"OAR\", {\n screen: \"ReportingFormSections\",\n params: {\n activityId: activityDTO.id,\n },\n });\n };\n\n const _handleViewButtonPress = async () => {\n if (Platform.OS !== \"web\") {\n navigation.navigate(\"OAR\", {\n screen: \"PDF\",\n params: {\n activityId: activityDTO.id,\n },\n });\n } else {\n const url = `oar/weeklyActivity/${activityDTO.id}/view`;\n\n setIsFormLoading(true);\n const response = await api(url).blob();\n var file = window.URL.createObjectURL(response);\n window.open(file);\n setIsFormLoading(false);\n }\n };\n\n const deleteActivityMutation = useDeleteWeeklyReportMutation();\n\n const _handleDeleteActivityReport = async () => {\n try {\n await deleteActivityMutation.mutateAsync({\n activityId: activityDTO.id,\n });\n setShowDeleteModal(false);\n } catch (e) {\n console.log(e);\n }\n };\n\n if (activityDTO.dateSubmitted) {\n cardEntry = (\n <>\n \n \n \n );\n } else {\n cardEntry = (\n <>\n setShowDeleteModal(true)}\n accessibilityIgnoresInvertColors={true}\n >\n \n \n \n \n );\n }\n return (\n \n \n \n {activityDTO?.campaignInfo?.campaignName}\n \n {cardEntry}\n \n setShowDeleteModal(false)}\n title=\"Delete Activity Report\"\n content={\n Are you sure you want to delete this activity report?\n }\n >\n setShowDeleteModal(false)}\n buttonStyle={{ marginRight: 8 }}\n />\n \n \n \n );\n}\n\nexport default CardItem;\n\nconst styles = StyleSheet.create({\n formCard: {\n width: \"100%\",\n borderRadius: 12,\n marginTop: 0,\n marginBottom: 0,\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n paddingTop: 10,\n paddingBottom: 10,\n flexDirection: \"row\",\n alignContent: \"space-between\",\n alignItems: \"center\",\n display: \"flex\",\n elevation: 1,\n paddingLeft: 16,\n paddingRight: 16,\n backgroundColor: \"white\",\n maxWidth: 460,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n checkmark: {\n backgroundColor: \"#26A670\",\n margin: 16,\n height: 24,\n width: 24,\n },\n delete: {\n backgroundColor: \"red\",\n margin: 16,\n height: 24,\n width: 24,\n },\n cardsWrap: {\n paddingTop: 4,\n paddingBottom: 4,\n paddingLeft: 8,\n paddingRight: 8,\n },\n cardTitleText: {\n flex: 1,\n fontWeight: \"bold\",\n fontSize: 16,\n color: \"#27344F\",\n marginBottom: 2,\n },\n cardLocationText: {\n fontWeight: \"normal\",\n fontSize: 13,\n color: \"#8091A3\",\n },\n});\n","import React, { useEffect } from \"react\";\nimport { Text } from \"react-native-paper\";\nimport { FlatList, RefreshControl, StyleSheet, View } from \"react-native\";\nimport CardItem from \"./CardItem\";\nimport EmptyState from \"./EmptyState\";\nimport { useGetActivityByWeekEndDate } from \"../../../hooks/api/useWeeklyActivity\";\nimport Button from \"../../shared/Button\";\nimport { useNavigation } from \"@react-navigation/native\";\n\nexport const WeekRoute = ({ date }: { date: string }) => {\n // const [isFocused, setIsFocused] = useState(true);\n const navigation = useNavigation();\n\n const {\n data: weeklyActivities,\n isFetching,\n refetch,\n } = useGetActivityByWeekEndDate({\n additionalKey: {\n reportDate: date,\n },\n });\n\n useEffect(() => {\n refetch();\n }, [date]);\n\n const refresh = () => {\n refetch();\n };\n\n const addNewActivity = () => {\n navigation.navigate(\"OAR\", {\n screen: \"ReportingFormAdd\",\n });\n };\n return (\n \n item?.id?.toString()}\n data={weeklyActivities\n ?.slice()\n ?.sort(\n (a, b) =>\n new Date(b.dateCreated).getTime() -\n new Date(a.dateCreated).getTime()\n )}\n refreshing={isFetching}\n refreshControl={\n \n }\n contentContainerStyle={\n weeklyActivities?.length === 0 && {\n justifyContent: \"center\",\n flexGrow: 1,\n }\n }\n ListEmptyComponent={() => (\n \n \n \n \n \n \n )}\n style={styles.formList}\n ListFooterComponent={() => }\n renderItem={({ item }) => {\n return ;\n }}\n />\n \n );\n};\n\nconst styles = StyleSheet.create({\n formList: {\n paddingTop: 2,\n },\n formFooter: {},\n container: {\n flex: 1,\n backgroundColor: \"#F2F6F9\",\n },\n});\n","import React, { useEffect, useRef } from \"react\";\nimport {\n Animated,\n Easing,\n Pressable,\n StyleSheet,\n Text,\n View,\n} from \"react-native\";\nimport { WeeklyActivityNavigationTabType } from \"../../../screens/oar/weekly_activity/WeeklyActivityTypes\";\n\ntype Props = {\n selected: boolean;\n date: WeeklyActivityNavigationTabType;\n onPress: () => void;\n isPartialActivity: boolean;\n isSubmittedActivity: boolean;\n};\n\nconst TAB_WIDTH = 80;\n\nexport default function WeekTab(props: Props) {\n const { selected, date, onPress, isPartialActivity, isSubmittedActivity } =\n props;\n\n const fadeAnim = useRef(new Animated.Value(selected ? 1 : 0)).current;\n\n useEffect(() => {\n Animated.timing(fadeAnim, {\n toValue: selected ? 1 : 0,\n duration: 150,\n easing: Easing.out(Easing.ease),\n useNativeDriver: true,\n }).start();\n }, [selected]);\n\n return (\n \n \n \n {isPartialActivity ? (\n \n ) : (\n \n )}\n {isSubmittedActivity ? (\n \n ) : (\n \n )}\n \n \n Week of\n \n \n {date.title}\n \n \n \n \n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: \"center\",\n paddingVertical: 12,\n width: TAB_WIDTH,\n },\n footer: {\n backgroundColor: \"#034990\",\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n height: 4,\n borderRadius: 4,\n },\n});\n","import { StyleSheet, View } from \"react-native\";\nimport React, { useEffect, useState } from \"react\";\nimport { WeekRoute } from \"./WeekRoute\";\nimport { FlatList } from \"react-native-gesture-handler\";\nimport {\n WeeklyActivity,\n WeeklyActivityNavigationTabType,\n} from \"../../../screens/oar/weekly_activity/WeeklyActivityTypes\";\nimport DateService from \"../../../system/DateService\";\nimport WeekTab from \"./WeekTab\";\nimport format from \"date-fns/format\";\nimport { fromUTC } from \"../../../system/utils\";\n\nconst TAB_WIDTH = 80;\n\ninterface Props {\n weeklyActivities: WeeklyActivity[];\n}\n\nexport const FormList = ({ weeklyActivities }: Props) => {\n const [dates, setDates] = useState([]);\n const [selectedDate, setSelectedDate] = useState(\n undefined\n );\n\n const checkPartialReportDate = (date: string) => {\n const formattedDate = format(fromUTC(date), \"yyyy-MM-dd\");\n\n const reportedDateNotSubmitted = weeklyActivities.filter(\n (item) => item.dateSubmitted === null\n );\n\n const isPartialReport = reportedDateNotSubmitted.some(\n (item) => format(fromUTC(item.reportDate), \"yyyy-MM-dd\") === formattedDate\n );\n\n return isPartialReport;\n };\n\n const checkSubmittedReportDate = (date: string) => {\n const formattedDate = format(fromUTC(date), \"yyyy-MM-dd\");\n\n const reportedDateSubmitted = weeklyActivities.filter(\n (item) => item.dateSubmitted !== null\n );\n\n const isSubmittedReport = reportedDateSubmitted.some(\n (item) => format(fromUTC(item.reportDate), \"yyyy-MM-dd\") === formattedDate\n );\n\n return isSubmittedReport;\n };\n\n useEffect(() => {\n const dates = DateService.getPreviousSevenDaysIntervalTab();\n setDates(dates);\n setSelectedDate(dates.slice(-1)[0].value);\n }, []);\n\n return (\n <>\n \n item.id}\n horizontal\n initialScrollIndex={51}\n showsHorizontalScrollIndicator={false}\n style={styles.background}\n getItemLayout={(_, index) => {\n return {\n length: TAB_WIDTH,\n offset: index * TAB_WIDTH,\n index,\n };\n }}\n data={dates}\n renderItem={({ item: dt }) => {\n const selected =\n dt.title === format(fromUTC(selectedDate ?? new Date()), \"MM/d\");\n return (\n {\n if (!selected) {\n setSelectedDate(dt.value);\n }\n }}\n />\n );\n }}\n />\n \n {selectedDate && }\n \n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: {\n width: 0,\n height: 1,\n },\n borderBottomColor: \"#e6e6e6\",\n borderBottomWidth: 1,\n elevation: 1,\n paddingBottom: 0,\n },\n background: {\n backgroundColor: \"#F2F6F9\",\n },\n});\n","import { Dimensions, Platform, View } from \"react-native\";\nimport React, { useState } from \"react\";\nimport MainAppBar from \"../../../components/shared/MainAppBar\";\nimport { useNavigation } from \"@react-navigation/native\";\nimport Button from \"../../../components/shared/Button\";\nimport styles from \"./WeeklyActivityListScreen.style\";\nimport { FormList } from \"../../../components/oar/forms/FormList\";\nimport DateService from \"../../../system/DateService\";\nimport { useGetActivityReports } from \"../../../hooks/api/useWeeklyActivity\";\n\nexport default function WeeklyActivityListScreen() {\n const navigation = useNavigation();\n\n const [dates] = useState(DateService.getPreviousSevenDaysIntervalTab());\n\n const { data } = useGetActivityReports({\n additionalKey: {\n startDate: dates[0].value,\n endDate: dates[dates.length - 1].value,\n },\n });\n\n const _handleButtonPress = () => {\n navigation.navigate(\"OAR\", {\n screen: \"ReportingFormAdd\",\n });\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n );\n}\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n wrapper: {\n backgroundColor: \"#F2F6F9\",\n flexDirection: \"column\",\n flex: 1,\n padding: 0,\n },\n sectionHeader: {\n backgroundColor: \"#E1E5E9\",\n marginBottom: 10,\n elevation: 1,\n },\n sectionHeaderText: {\n color: \"#212121\",\n fontWeight: \"bold\",\n padding: 8,\n },\n formCard: {\n width: \"100%\",\n borderRadius: 12,\n marginTop: 0,\n marginBottom: 10,\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n justifyContent: \"center\",\n elevation: 1,\n backgroundColor: \"white\",\n },\n formList: {\n paddingTop: 4,\n },\n formFooter: {\n marginBottom: 72,\n },\n buttonHolder: {\n backgroundColor: \"#fff\",\n borderBottomColor: \"#E2E4E7\",\n borderBottomWidth: 1,\n fontSize: 14,\n fontWeight: \"bold\",\n textTransform: \"lowercase\",\n paddingLeft: 16,\n paddingRight: 16,\n paddingTop: 8,\n paddingBottom: 8,\n margin: 0,\n textAlign: \"center\",\n alignItems: \"center\",\n position: \"absolute\",\n bottom: 0,\n right: 0,\n left: 0,\n zIndex: 100,\n },\n campaignTitle: {\n fontWeight: \"bold\",\n fontSize: 16,\n color: \"#212121\",\n marginBottom: 2,\n },\n campaignLocation: {\n fontWeight: \"normal\",\n fontSize: 13,\n color: \"#8091A3\",\n },\n campaignItemWrapper: {\n padding: 16,\n paddingTop: 20,\n paddingBottom: 20,\n justifyContent: \"center\",\n },\n campaignItemBottom: {\n marginTop: 12,\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n campaignItemProgressBg: {\n borderRadius: 100,\n backgroundColor: \"#E1E5E9\",\n height: 8,\n marginRight: 8,\n width: 108,\n },\n campaignItemProgress: {\n borderRadius: 100,\n height: 8,\n width: \"24%\",\n },\n campaignProgressText: {\n fontSize: 11,\n fontWeight: \"500\",\n },\n});\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n formCard: {\n width: \"100%\",\n borderRadius: 12,\n marginTop: 0,\n marginBottom: 10,\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n justifyContent: \"center\",\n elevation: 1,\n backgroundColor: \"white\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n formList: {\n paddingTop: 4,\n },\n formFooter: {\n marginBottom: 72,\n },\n buttonHolder: {\n backgroundColor: \"#fff\",\n borderBottomColor: \"#E2E4E7\",\n borderBottomWidth: 1,\n fontSize: 14,\n fontWeight: \"bold\",\n textTransform: \"lowercase\",\n paddingLeft: 16,\n paddingRight: 16,\n paddingTop: 8,\n paddingBottom: 8,\n margin: 0,\n textAlign: \"center\",\n alignItems: \"center\",\n position: \"absolute\",\n bottom: 0,\n right: 0,\n left: 0,\n zIndex: 100,\n },\n campaignTitle: {\n fontWeight: \"bold\",\n fontSize: 16,\n color: \"#212121\",\n marginBottom: 2,\n },\n campaignLocation: {\n fontWeight: \"normal\",\n fontSize: 13,\n color: \"#8091A3\",\n },\n campaignItemWrapper: {\n padding: 16,\n paddingTop: 20,\n paddingBottom: 20,\n justifyContent: \"center\",\n },\n campaignItemBottom: {\n marginTop: 12,\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n campaignItemProgressBg: {\n borderRadius: 100,\n backgroundColor: \"#E1E5E9\",\n height: 8,\n marginRight: 8,\n width: 108,\n },\n campaignItemProgress: {\n borderRadius: 100,\n height: 8,\n width: \"24%\",\n },\n campaignProgressText: {\n fontSize: 11,\n fontWeight: \"500\",\n },\n});\n","import { StatusBar } from \"expo-status-bar\";\nimport { Dimensions, Text, View } from \"react-native\";\nimport MainAppBar from \"../../../components/shared/MainAppBar\";\nimport React, { useState } from \"react\";\nimport styles from \"./CampaignListScreen.style\";\nimport { SceneMap, TabBar, TabView } from \"react-native-tab-view\";\nimport CampaignList from \"../../../components/oar/campaigns/CampaignList\";\nimport { useGetCampaigns } from \"../../../hooks/api/useCampaign\";\nimport { Spinner } from \"../feedback/Spinner\";\n\nconst initialLayout = { width: Dimensions.get(\"window\").width };\n\nconst CampaignListScreen = () => {\n const [index, setIndex] = useState(0);\n const [routes] = useState([\n { key: \"ActiveTab\", title: \"Active\" },\n { key: \"InactiveTab\", title: \"Inactive\" },\n ]);\n\n const { data: campaigns, isLoading } = useGetCampaigns();\n\n const renderScene = SceneMap({\n ActiveTab: () => ,\n InactiveTab: () => (\n \n ),\n });\n\n if (isLoading) {\n return ;\n }\n\n return (\n <>\n \n \n \n {\n return (\n \n (\n \n \n {route.title}\n \n \n )}\n />\n \n );\n }}\n />\n \n \n );\n};\n\nexport default CampaignListScreen;\n","import { useNavigation } from \"@react-navigation/native\";\nimport { format } from \"date-fns\";\nimport React from \"react\";\nimport { StyleSheet, Text, TouchableOpacity, View } from \"react-native\";\nimport { Avatar } from \"react-native-paper\";\nimport { ReportListDTO } from \"../../../screens/oar/reports/reportTypes\";\nimport { fromUTC } from \"../../../system/utils\";\n\ntype Props = {\n report: ReportListDTO;\n index: number;\n};\n\nconst ReportListItem = ({ report, index }: Props) => {\n const navigation = useNavigation();\n\n const hanleNavigation = async () => {\n navigation.navigate(\"OAR\", {\n screen: \"ReportDetails\",\n params: {\n report,\n },\n });\n };\n\n const getDate = (): string => {\n const startDate = format(fromUTC(report.dateFrom), \"MM/dd\");\n const endDate = format(fromUTC(report.dateTo), \"MM/dd\");\n return `${startDate} - ${endDate}`;\n };\n\n return (\n \n \n \n {report.reportName}\n {getDate()}\n \n \n \n \n );\n};\n\nexport default ReportListItem;\n\nconst styles = StyleSheet.create({\n formCard: {\n width: \"100%\",\n borderRadius: 12,\n marginTop: 0,\n marginBottom: 10,\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n justifyContent: \"center\",\n elevation: 1,\n backgroundColor: \"white\",\n },\n reportListButton: {\n padding: 16,\n paddingTop: 20,\n paddingBottom: 20,\n justifyContent: \"center\",\n },\n reportName: {\n fontWeight: \"bold\",\n fontSize: 16,\n color: \"#27344F\",\n marginBottom: 2,\n },\n reportFilters: {\n fontWeight: \"normal\",\n fontSize: 13,\n color: \"#8091A3\",\n },\n reportItemChevron: {\n backgroundColor: \"transparent\",\n position: \"absolute\",\n right: 20,\n height: 24,\n width: 24,\n },\n});\n","import { StyleSheet, View } from \"react-native\";\nimport MainAppBar from \"../../../components/shared/MainAppBar\";\nimport React, { useEffect } from \"react\";\nimport { useAppDispatch, useTypedSelector } from \"../../../store\";\nimport { getReports } from \"./reportSlice\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\nimport { FlatList } from \"react-native-gesture-handler\";\nimport ReportListItem from \"../../../components/oar/reports/ReportListItem\";\nimport EmptyState from \"../../../components/oar/forms/EmptyState\";\n\nconst ReportListScreen = () => {\n const dispatch = useAppDispatch();\n const reports = useTypedSelector((state) =>\n Object.values(state.reportSlice.reports)\n );\n\n useEffect(() => {\n dispatch(getReports())\n .then(unwrapResult)\n .catch((e: Error) => console.error(e.message));\n }, []);\n\n return (\n <>\n \n\n \n {reports?.length > 0 ? (\n item?.id?.toString()}\n data={reports}\n renderItem={({ item, index }) => (\n \n )}\n />\n ) : (\n \n )}\n \n \n );\n};\n\nexport default ReportListScreen;\n\nconst styles = StyleSheet.create({\n formCard: {\n width: \"100%\",\n borderRadius: 12,\n marginTop: 0,\n marginBottom: 10,\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n justifyContent: \"center\",\n elevation: 1,\n backgroundColor: \"white\",\n },\n formList: {\n paddingTop: 4,\n },\n formFooter: {\n marginBottom: 72,\n },\n sectionHeader: {\n backgroundColor: \"#E1E5E9\",\n marginBottom: 10,\n elevation: 1,\n },\n sectionHeaderText: {\n color: \"black\",\n fontWeight: \"bold\",\n padding: 8,\n },\n reportListWrapper: {\n backgroundColor: \"#F2F6F9\",\n flexDirection: \"column\",\n flex: 1,\n padding: 0,\n },\n reportListButton: {\n padding: 16,\n paddingTop: 20,\n paddingBottom: 20,\n justifyContent: \"center\",\n },\n reportName: {\n fontWeight: \"bold\",\n fontSize: 16,\n color: \"#27344F\",\n marginBottom: 2,\n },\n reportFilters: {\n fontWeight: \"normal\",\n fontSize: 13,\n color: \"#8091A3\",\n },\n reportItemChevron: {\n backgroundColor: \"transparent\",\n position: \"absolute\",\n right: 20,\n height: 24,\n width: 24,\n },\n reportList: {\n paddingLeft: 8,\n paddingRight: 8,\n },\n});\n","import React, { useState } from \"react\";\nimport { Dimensions, Text, View } from \"react-native\";\nimport { SceneRendererProps, TabBar, TabView } from \"react-native-tab-view\";\n\nconst initialLayout = { width: Dimensions.get(\"window\").width };\n\ninterface Route {\n key: string;\n title: string;\n}\n\ninterface CustomTabViewTypes {\n renderScene: (params: SceneRendererProps & { route: any }) => JSX.Element;\n routes: Route[];\n}\n\nconst CustomTabView = ({ renderScene, routes }: CustomTabViewTypes) => {\n const [index, setIndex] = useState(0);\n return (\n {\n return (\n \n (\n \n \n {route.title}\n \n \n )}\n />\n \n );\n }}\n />\n );\n};\n\nexport default CustomTabView;\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n statHeaderRow: {\n height: 40,\n paddingTop: 13,\n flexDirection: \"row\",\n },\n statHeaderCell: {\n width: 100,\n },\n statHeaderCellText: {\n fontSize: 11,\n fontWeight: \"600\",\n color: \"#555657\",\n },\n statCell: {\n width: 100,\n },\n statCellText: {\n fontSize: 12,\n },\n statHeaderItem: {\n flexDirection: \"row\",\n paddingTop: 4,\n paddingBottom: 4,\n paddingLeft: 16,\n height: 30,\n borderColor: \"#D2D6DC\",\n borderBottomWidth: 1,\n backgroundColor: \"white\",\n },\n statItem: {\n backgroundColor: \"white\",\n height: 45,\n zIndex: 10,\n paddingLeft: 16,\n },\n nameButton: {\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingTop: 10,\n },\n nameButtonText: {\n fontSize: 14,\n color: \"#012447\",\n fontWeight: \"bold\",\n marginTop: 0,\n },\n nameChevron: {\n height: 16,\n marginTop: -1,\n backgroundColor: \"white\",\n paddingLeft: 0,\n marginLeft: 4,\n width: 16,\n },\n campaignText: {\n color: \"#798DA0\",\n fontWeight: \"500\",\n fontSize: 12,\n },\n statHeaderWrapper: {\n backgroundColor: \"white\",\n borderBottomWidth: 1,\n borderBottomColor: \"#D2D6DC\",\n height: 40,\n width: \"100%\",\n zIndex: 2,\n paddingLeft: 16,\n },\n verticalScroller: {\n paddingTop: 0,\n flex: 1,\n height: \"100%\",\n zIndex: 1,\n },\n statNamesList: {\n position: \"absolute\",\n top: 40,\n left: 0,\n bottom: 0,\n right: 0,\n zIndex: 0,\n width: \"100%\",\n },\n});\n","import { useRoute } from \"@react-navigation/native\";\nimport format from \"date-fns/format\";\nimport React from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\nimport { Avatar } from \"react-native-paper\";\nimport { useGetCampaignById } from \"../../../hooks/api/useCampaign\";\nimport { fromUTC } from \"../../../system/utils\";\nimport Spinner from \"../../lm2/weekly_activity/shared/Loading\";\n\nconst CompanyInfoSection = () => {\n const route = useRoute();\n const campaignId = route.params.campaignId;\n const { data: campaign } = useGetCampaignById({\n additionalKey: { campaignId },\n });\n if (!campaign) {\n return ;\n }\n return (\n \n {/* \n \n \n {campaign?.local?.location ?? \"N/A\"}\n \n */}\n \n \n {campaign.startDate && campaign.endDate && (\n \n {format(fromUTC(campaign.startDate), \"MMM dd, yyyy\")} -{\" \"}\n {format(fromUTC(campaign.endDate), \"MMM dd, yyyy\")}\n \n )}\n \n \n );\n};\n\nexport default CompanyInfoSection;\n\nconst styles = StyleSheet.create({\n campaignDetailsRow: {\n borderTopColor: \"#D2D6DC\",\n borderBottomColor: \"#D2D6DC\",\n borderTopWidth: 1,\n borderBottomWidth: 1,\n flexDirection: \"row\",\n justifyContent: \"center\",\n marginLeft: 0,\n padding: 12,\n paddingLeft: 16,\n },\n campaignDetailsWrap: {\n width: \"100%\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textAlign: \"center\",\n },\n campaignDetailsText: {\n color: \"#8091A3\",\n fontSize: 13,\n fontWeight: \"500\",\n },\n content: {\n backgroundColor: \"white\",\n height: 24,\n width: 24,\n marginRight: 4,\n },\n contentFooter: {\n backgroundColor: \"white\",\n height: 24,\n width: 24,\n marginRight: 4,\n },\n});\n","import { StyleSheet } from \"react-native\";\n\nexport default StyleSheet.create({\n tabContainer: {\n backgroundColor: \"white\",\n height: \"100%\",\n paddingTop: 0,\n },\n scrollWrapper: {\n backgroundColor: \"white\",\n flex: 1,\n },\n statRow: {\n flexDirection: \"row\",\n paddingTop: 16,\n },\n statCell: {\n width: \"50%\",\n },\n statText: {\n fontSize: 11,\n },\n divider: {\n borderTopWidth: 1,\n marginTop: 16,\n marginBottom: 16,\n borderTopColor: \"#D2D6DC\",\n opacity: 0.25,\n },\n heading: {\n fontWeight: \"bold\",\n fontSize: 14,\n },\n subHeaderText: {\n color: \"#415B75\",\n textTransform: \"uppercase\",\n letterSpacing: 0.5,\n fontSize: 12,\n },\n topStats: {\n display: \"flex\",\n flexDirection: \"row\",\n padding: 16,\n width: \"100%\",\n },\n topLeftStat: {\n height: 48,\n width: \"50%\",\n flexDirection: \"row\",\n borderRightColor: \"#D2D6DC\",\n borderRightWidth: 1,\n paddingRight: 20,\n marginRight: 20,\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n dayBox: {\n borderWidth: 2,\n borderRadius: 6,\n borderColor: \"#C2D5DE\",\n width: 48,\n height: 48,\n marginRight: 8,\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n dayText: {\n fontWeight: \"bold\",\n fontSize: 18,\n },\n dayLabelText: {\n fontSize: 11,\n fontWeight: \"500\",\n textTransform: \"uppercase\",\n color: \"#8E96A3\",\n },\n topRightStat: {\n height: 48,\n width: \"50%\",\n flexDirection: \"row\",\n borderRightColor: \"#D2D6DC\",\n borderRightWidth: 1,\n paddingRight: 20,\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n smallChartWrapper: {\n borderWidth: 2,\n borderRadius: 12,\n borderColor: \"#C2D5DE\",\n width: 48,\n height: 48,\n marginRight: 8,\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n bold: {\n fontWeight: \"bold\",\n },\n mainChartWrapper: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderTopColor: \"#D2D6DC\",\n paddingTop: 16,\n paddingBottom: 16,\n },\n campaignDetailsRow: {\n borderTopColor: \"#D2D6DC\",\n borderBottomColor: \"#D2D6DC\",\n borderTopWidth: 1,\n borderBottomWidth: 1,\n flexDirection: \"row\",\n marginLeft: 0,\n padding: 12,\n paddingLeft: 16,\n },\n campaignDetailsWrap: {\n width: \"50%\",\n flexDirection: \"row\",\n alignItems: \"center\",\n alignContent: \"center\",\n },\n campaignDetailsText: {\n color: \"#8091A3\",\n fontSize: 13,\n fontWeight: \"500\",\n },\n\n statSectionWrapper: {\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n backgroundColor: \"white\",\n borderRadius: 6,\n padding: 24,\n paddingLeft: 16,\n paddingRight: 16,\n paddingBottom: 12,\n marginBottom: 8,\n },\n statSectionHeader: {\n flexDirection: \"row\",\n paddingBottom: 24,\n },\n statSectionHeaderText: {\n fontSize: 13,\n fontWeight: \"bold\",\n textTransform: \"uppercase\",\n letterSpacing: 0.25,\n },\n statSectionSubHeaderText: {\n color: \"#909090\",\n fontSize: 10,\n fontWeight: \"normal\",\n textTransform: \"uppercase\",\n letterSpacing: 0.25,\n },\n statSectionRow: {\n flexDirection: \"row\",\n marginBottom: 20,\n },\n statItemText: {\n fontSize: 15,\n fontWeight: \"600\",\n },\n statItemLabelText: {\n color: \"#405A74\",\n fontSize: 11,\n },\n statSectionDivider: {\n borderTopWidth: 1,\n borderColor: \"#D2D6DC\",\n width: \"100%\",\n marginTop: 4,\n marginBottom: 20,\n },\n statSectionSubSectionHeader: {\n color: \"#909090\",\n fontSize: 11,\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n letterSpacing: 0.25,\n marginBottom: 16,\n marginTop: 4,\n },\n});\n","import React from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\nimport { CampaignOverviewStats } from \"../../../screens/oar/campaigns/campaignTypes\";\n\ntype Props = {\n campaignOverviewStats: CampaignOverviewStats;\n};\n\nconst CardTotal = ({ campaignOverviewStats }: Props) => {\n return (\n <>\n \n \n \n {campaignOverviewStats.petitionsTotalHomeCalls || \"N/A\"}\n \n # Total Home Calls\n \n \n \n {campaignOverviewStats.petitionsTotalMeetings || \"N/A\"}\n \n # Total Meetings\n \n \n \n \n \n {campaignOverviewStats.petitionsTotalParkingLot || \"N/A\"}\n \n # Total Parking Lot\n \n \n \n {campaignOverviewStats.petitionsTotalOther || \"N/A\"}\n \n # Total Other\n \n \n \n );\n};\n\nexport default CardTotal;\n\nconst styles = StyleSheet.create({\n statSectionRow: {\n flexDirection: \"row\",\n marginBottom: 20,\n },\n statItemText: {\n fontSize: 15,\n fontWeight: \"600\",\n },\n statItemLabelText: {\n color: \"#405A74\",\n fontSize: 11,\n },\n size: { paddingRight: 12, width: \"50%\" },\n});\n","import { format } from \"date-fns\";\nimport React from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\nimport { fromUTC, numberWithCommas } from \"../../../system/utils\";\nimport CampaignStatRow from \"./CampaignStatRow\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport CardTotal from \"./CardTotal\";\nimport { CampaignOverviewStats } from \"../../../screens/oar/campaigns/campaignTypes\";\n\nconst CampaignOverview = ({\n campaignOverviewStats,\n}: {\n campaignOverviewStats: CampaignOverviewStats;\n}) => {\n return (\n <>\n \n \n \n \n Campaign Overview\n \n Updated{\" \"}\n {format(\n fromUTC(campaignOverviewStats.lastStatSubmitted),\n \"M/dd/yyyy\"\n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Pre-Election Counts for This Week\n \n \n \n \n );\n};\n\nexport default CampaignOverview;\n\nconst styles = StyleSheet.create({\n tabContainer: {\n backgroundColor: \"white\",\n height: \"100%\",\n paddingTop: 0,\n },\n scrollWrapper: {\n backgroundColor: \"white\",\n flex: 1,\n },\n statRow: {\n flexDirection: \"row\",\n paddingTop: 16,\n },\n statCell: {\n width: \"50%\",\n },\n statText: {\n fontSize: 11,\n },\n divider: {\n borderTopWidth: 1,\n marginTop: 16,\n marginBottom: 16,\n borderTopColor: \"#D2D6DC\",\n opacity: 0.25,\n },\n heading: {\n fontWeight: \"bold\",\n fontSize: 14,\n },\n subHeaderText: {\n color: \"#415B75\",\n textTransform: \"uppercase\",\n letterSpacing: 0.5,\n fontSize: 12,\n },\n topStats: {\n display: \"flex\",\n flexDirection: \"row\",\n padding: 16,\n width: \"100%\",\n },\n topLeftStat: {\n height: 48,\n width: \"50%\",\n flexDirection: \"row\",\n borderRightColor: \"#D2D6DC\",\n borderRightWidth: 1,\n paddingRight: 20,\n marginRight: 20,\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n dayBox: {\n borderWidth: 2,\n borderRadius: 6,\n borderColor: \"#C2D5DE\",\n width: 48,\n height: 48,\n marginRight: 8,\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n dayText: {\n fontWeight: \"bold\",\n fontSize: 18,\n },\n dayLabelText: {\n fontSize: 11,\n fontWeight: \"500\",\n textTransform: \"uppercase\",\n color: \"#8E96A3\",\n },\n topRightStat: {\n height: 48,\n width: \"50%\",\n flexDirection: \"row\",\n borderRightColor: \"#D2D6DC\",\n borderRightWidth: 1,\n paddingRight: 20,\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n smallChartWrapper: {\n borderWidth: 2,\n borderRadius: 12,\n borderColor: \"#C2D5DE\",\n width: 48,\n height: 48,\n marginRight: 8,\n alignContent: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n bold: {\n fontWeight: \"bold\",\n },\n mainChartWrapper: {\n backgroundColor: \"white\",\n borderTopWidth: 1,\n borderTopColor: \"#D2D6DC\",\n paddingTop: 16,\n paddingBottom: 16,\n },\n campaignDetailsRow: {\n borderTopColor: \"#D2D6DC\",\n borderBottomColor: \"#D2D6DC\",\n borderTopWidth: 1,\n borderBottomWidth: 1,\n flexDirection: \"row\",\n marginLeft: 0,\n padding: 12,\n paddingLeft: 16,\n },\n campaignDetailsWrap: {\n width: \"50%\",\n flexDirection: \"row\",\n alignItems: \"center\",\n alignContent: \"center\",\n },\n campaignDetailsText: {\n color: \"#8091A3\",\n fontSize: 13,\n fontWeight: \"500\",\n },\n\n statSectionWrapper: {\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n backgroundColor: \"white\",\n borderRadius: 6,\n padding: 24,\n paddingLeft: 16,\n paddingRight: 16,\n paddingBottom: 12,\n marginBottom: 8,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n statSectionHeader: {\n flexDirection: \"row\",\n paddingBottom: 24,\n },\n statSectionHeaderText: {\n fontSize: 13,\n fontWeight: \"bold\",\n textTransform: \"uppercase\",\n letterSpacing: 0.25,\n },\n statSectionSubHeaderText: {\n color: \"#909090\",\n fontSize: 10,\n fontWeight: \"normal\",\n textTransform: \"uppercase\",\n letterSpacing: 0.25,\n },\n statSectionRow: {\n flexDirection: \"row\",\n marginBottom: 20,\n },\n statItemText: {\n fontSize: 15,\n fontWeight: \"600\",\n },\n statItemLabelText: {\n color: \"#405A74\",\n fontSize: 11,\n },\n statSectionDivider: {\n borderTopWidth: 1,\n borderColor: \"#D2D6DC\",\n width: \"100%\",\n marginTop: 4,\n marginBottom: 20,\n },\n statSectionSubSectionHeader: {\n color: \"#909090\",\n fontSize: 11,\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n letterSpacing: 0.25,\n marginBottom: 16,\n marginTop: 4,\n },\n});\n","import React, { useState } from \"react\";\nimport {\n ActivityIndicator,\n Dimensions,\n Platform,\n ScrollView,\n StyleSheet,\n Text,\n View,\n} from \"react-native\";\nimport { useRoute } from \"@react-navigation/native\";\nimport CompanyInfoSection from \"./CampaignInfoSection\";\nimport CampaignOverview from \"./CampaignOverview\";\nimport NLRBActivitySection from \"./NLRBActivity\";\nimport ElectionInfoSection from \"./ElectionInformation\";\nimport EmptyState from \"../forms/EmptyState\";\nimport Button from \"../../shared/Button\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport { useGetCampaignOverview } from \"../../../hooks/api/useCampaign\";\nimport { isEmpty } from \"lodash-es\";\n\nexport const OverviewTab = () => {\n const route = useRoute();\n\n const campaignId = route.params?.campaignId;\n const [sfLoading, setSfLoading] = useState(false);\n const [sfButtonText, setSfButtonText] = useState(\"Send Data\");\n\n const sendToSalesforce = () => {\n setSfLoading(true);\n setTimeout(() => {\n setSfLoading(false);\n setSfButtonText(\"Sent\");\n }, 3000);\n };\n\n const { data: campaignOverviewStats, isLoading } = useGetCampaignOverview({\n additionalKey: {\n campaignId,\n isLive: false,\n },\n });\n\n if (isLoading) {\n return (\n \n \n \n );\n }\n\n if (!campaignOverviewStats || isEmpty(campaignOverviewStats)) {\n return (\n \n );\n }\n\n return (\n \n \n \n \n \n \n \n
    \n \n Salesforce Sync\n \n \n \n {sfButtonText === \"Sent\" && (\n \n
    \n \n Sent\n \n \n )}\n {sfButtonText === \"Send Data\" && (\n \n )}\n \n \n \n \n \n \n \n \n \n );\n};\n\nconst styles = StyleSheet.create({\n tabContainer: {\n backgroundColor: \"transparent\",\n flex: 1,\n paddingTop: 0,\n height:\n Platform.OS === \"web\" ? Dimensions.get(\"window\").height - 104 : \"100%\",\n width: \"100%\",\n },\n scrollWrapper: {\n backgroundColor: \"#F2F6F9\",\n flex: 1,\n },\n webWrapper: {\n backgroundColor: \"white\",\n maxWidth: 480,\n width: \"100%\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n // paddingBottom: Platform.OS === \"web\" ? 120 : 0,\n paddingBottom: 0,\n },\n footer: {\n backgroundColor: \"#F2F6F9\",\n padding: 8,\n paddingTop: 12,\n paddingBottom: 36,\n },\n statSectionWrapper: {\n shadowColor: \"black\",\n shadowOpacity: 0.06,\n shadowOffset: { width: 0, height: 2 },\n backgroundColor: \"white\",\n borderRadius: 6,\n padding: 16,\n marginBottom: 8,\n width: \"100%\",\n maxWidth: 480,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n statSectionHeaderText: {\n fontSize: 13,\n fontWeight: \"bold\",\n textTransform: \"uppercase\",\n letterSpacing: 0.25,\n },\n});\n","import React, { useState } from \"react\";\nimport Icons from \"react-native-vector-icons/MaterialCommunityIcons\";\nimport { Modal, Platform, View } from \"react-native\";\nimport { createBottomTabNavigator } from \"@react-navigation/bottom-tabs\";\nimport { createStackNavigator } from \"@react-navigation/stack\";\nimport {\n CampaignsParamList,\n ReportsParamList,\n SwitcherParamList,\n WeeklyFormsParamList,\n} from \"../root/navigationTypes\";\nimport { Text } from \"react-native-paper\";\nimport WeeklyActivityListScreen from \"../../screens/oar/weekly_activity/WeeklyActivityListScreen\";\nimport CampaignListScreen from \"../../screens/oar/campaigns/CampaignListScreen\";\nimport ReportListScreen from \"../../screens/oar/reports/ReportListScreen\";\nimport SectionSwitcher from \"../../components/shared/SectionSwitcher\";\nimport { OARBottomTabParamList } from \"./OARNavigationTypes\";\nimport CampaignDetailsScreen from \"../../screens/oar/campaigns/CampaignDetailsScreen\";\nimport { TouchableOpacity } from \"react-native-gesture-handler\";\nimport { useNavigation } from \"@react-navigation/core\";\n\nconst BottomTab = createBottomTabNavigator();\n\nexport default function OARBottomTabNavigator() {\n const [modalVisible, setModalVisible] = useState(false);\n const navigation = useNavigation();\n\n return (\n <>\n \n \n \n \n (\n <>\n \n \n \n ),\n }}\n />\n {/* {isLead && (\n (\n <>\n \n \n \n ),\n }}\n />\n )} */}\n\n ({\n tabPress: (e) => {\n e.preventDefault();\n setModalVisible(true);\n },\n })}\n options={{\n tabBarIcon: () => (\n {\n navigation.reset({\n index: 0,\n routes: [{ name: \"Home\" }],\n });\n }}\n >\n \n \n OAR\n \n \n \n // \n ),\n tabBarLabel: \"\",\n }}\n />\n\n (\n <>\n \n \n \n ),\n }}\n />\n null,\n }}\n component={CampaignDetailsScreen}\n />\n {\n /* isLead */ false && (\n (\n <>\n \n \n \n ),\n }}\n />\n )\n }\n \n \n );\n}\n\nfunction TabBarIcon(props: { name: string; color: string }) {\n return ;\n}\n\nconst WeeklyFormsStack = createStackNavigator();\n\nexport function TabWeeklyFormsNavigator() {\n return (\n \n \n \n );\n}\n\nconst SwitcherStack = createStackNavigator();\n\nfunction TabSwitcherNavigator() {\n return (\n \n \n \n );\n}\n\nconst CampaignsStack = createStackNavigator();\n\nfunction TabCampaignsNavigator() {\n return (\n \n \n \n );\n}\n\nconst ReportsStack = createStackNavigator();\n\nfunction TabReportsNavigator() {\n return (\n \n \n \n );\n}\n","import { FormControl, styled, TextField, TextFieldProps } from \"@mui/material\";\nimport dayjs, { Dayjs } from \"dayjs\";\nimport isBetween from \"dayjs/plugin/isBetween\";\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\nimport React, { ComponentType } from \"react\";\nimport {\n DatePicker,\n LocalizationProvider,\n PickersDay,\n PickersDayProps,\n} from \"@mui/x-date-pickers\";\nimport {\n FieldValues,\n useController,\n UseControllerProps,\n} from \"react-hook-form\";\nimport \"./ControlWeekDatePicker.css\";\ndayjs.extend(isBetween);\n\ninterface CustomPickerDayProps extends PickersDayProps {\n dayIsBetween: boolean;\n isFirstDay: boolean;\n isLastDay: boolean;\n}\n\nconst CustomPickersDay = styled(PickersDay, {\n shouldForwardProp: (prop) => {\n return (\n prop !== \"dayIsBetween\" && prop !== \"isFirstDay\" && prop !== \"isLastDay\"\n );\n },\n})(({ dayIsBetween, isFirstDay, isLastDay }) => ({\n ...(dayIsBetween && {\n borderRadius: 0,\n color: \"#000000 !important\",\n borderTop: \"2px solid #1B4A8B\",\n borderBottom: \"2px solid #1B4A8B\",\n \"&:hover, &:focus\": {\n backgroundColor: \"#F4F6F9\",\n },\n \"&.MuiPickersDay-today\": {\n borderTop: \"2px solid #1B4A8B !important\",\n borderBottom: \"2px solid #1B4A8B !important\",\n borderLeft: \"0 !important\",\n borderRight: \"0 !important\",\n \"&::after\": {\n backgroundColor: \"#1B4A8B !important\",\n },\n },\n }),\n ...(isFirstDay && {\n borderTopLeftRadius: \"50%\",\n borderBottomLeftRadius: \"50%\",\n borderLeft: \"2px solid #1B4A8B\",\n }),\n ...(isLastDay && {\n borderTopRightRadius: \"50%\",\n borderBottomRightRadius: \"50%\",\n borderTopLeftRadius: \"50%\",\n borderBottomLeftRadius: \"50%\",\n fontWeight: \"bold\",\n color: \"white !important\",\n backgroundColor: \"#1B4A8B !important\",\n border: \"2px solid #1B4A8B\",\n borderLeft: \"none\",\n \" > *\": {\n position: \"relative\",\n zIndex: 1,\n },\n \"&:before\": {\n content: '\"\"',\n position: \"absolute\",\n top: -2,\n left: 0,\n height: 2,\n width: 19,\n backgroundColor: \"#1B4A8B\",\n zIndex: 10,\n },\n \"&:after\": {\n content: '\"\"',\n position: \"absolute\",\n bottom: -2,\n left: 0,\n height: 2,\n width: 19,\n backgroundColor: \"#1B4A8B\",\n zIndex: 10,\n },\n }),\n})) as ComponentType;\n\ninterface Props extends UseControllerProps {\n onChange?: (date: Date | null) => void;\n shouldDisableDate?: (date: Date) => boolean;\n}\n\nexport default function ControlWeekDatePicker({\n ...props\n}: Props & TextFieldProps) {\n const {\n field: { onChange, onBlur, value: defaultValue },\n fieldState: { error },\n } = useController(props);\n\n const value = defaultValue ? dayjs(defaultValue) : null;\n\n const { shouldDisableDate, disabled, ...rest } = props;\n\n const customDayRenderer = (\n date: Dayjs,\n _: any,\n pickersDayProps: PickersDayProps\n ) => {\n if (!value) {\n return (\n \n );\n }\n\n const start = value.startOf(\"week\");\n const end = value.endOf(\"week\");\n\n const dayIsBetween = date.isBetween(start, end, null, \"[]\");\n const isFirstDay = date.isSame(start, \"day\");\n const isLastDay = date.isSame(end, \"day\");\n\n return (\n \n );\n };\n return (\n \n \n {\n onChange(newValue?.toDate() ?? null);\n props.onChange?.(newValue?.toDate() ?? null);\n }}\n maxDate={dayjs().endOf(\"week\")}\n renderDay={customDayRenderer}\n renderInput={(params) => (\n \n )}\n className=\"WeeklyPicker\"\n // Uses a Dialog on mobile, Popper on Desktop\n DialogProps={{ className: \"WeeklyPickerDialog\" }}\n PopperProps={{ className: \"WeeklyPickerPopper\" }}\n />\n \n \n );\n}\n","import React, { useEffect, useState, useMemo, useCallback } from \"react\";\nimport { useFocusEffect, useNavigation } from \"@react-navigation/native\";\nimport { useTypedSelector } from \"../../../store\";\nimport { AddReportFormDTO } from \"./WeeklyActivityTypes\";\nimport AddContainer from \"../../../components/shared/containers/AddContainer\";\nimport { Modal } from \"../../../system/notifications\";\nimport {\n useCreateCampaignMutation,\n useGetCampaigns,\n} from \"../../../hooks/api/useCampaign\";\nimport { Spinner } from \"../feedback/Spinner\";\nimport { LogBox, Platform, StyleSheet, Text, View } from \"react-native\";\nimport { useAddWeeklyReportMutation } from \"../../../hooks/api/useWeeklyActivity\";\nimport { useGetAgents } from \"../../../hooks/api/useUser\";\nimport { CustomSelect } from \"../../../components/shared/inputs/control/CustomSelect\";\nimport { Controller, useForm, useWatch } from \"react-hook-form\";\nimport Button from \"../../../components/shared/Button\";\nimport { format } from \"date-fns\";\nimport ControlTextInput from \"../../../components/shared/inputs/control/ControlTextInput\";\nimport Label from \"../../../components/shared/inputs/control/Label\";\nimport toast from \"react-hot-toast\";\nimport ControlSingleSelect from \"../../../components/shared/inputs/control/ControlSingleSelect\";\nimport { fromUTC } from \"../../../system/utils\";\nimport ControlWeekDatePicker from \"../../../components/shared/inputs/control/ControlWeekDatePicker\";\nimport dayjs from \"dayjs\";\n\ninterface FormValues {\n reportDate: string | null;\n campaignName: string;\n leadUserCustom?: string;\n startDate: string;\n endDate: string;\n isLead: boolean;\n}\n\nexport default function AddReportingFormScreen() {\n const navigation = useNavigation();\n const {\n handleSubmit,\n control,\n setValue,\n getValues,\n watch,\n formState: { errors },\n } = useForm({\n defaultValues: {\n campaignName: \"\",\n leadUserCustom: \"\",\n reportDate: null,\n isLead: false,\n },\n });\n const { data: campaigns, isLoading, refetch } = useGetCampaigns();\n\n const { data: agents, isLoading: isAgentsLoading } = useGetAgents({\n options: {\n select: (data) => {\n return data.map((agent) => {\n return {\n ...agent,\n fullName: `${agent.firstName} ${agent.lastName}`,\n };\n });\n },\n },\n });\n\n const addWeeklyReportMutation = useAddWeeklyReportMutation();\n const createCampaignMutation = useCreateCampaignMutation();\n const user = useTypedSelector((state) => state.authSlice.user);\n const [showDialog, setShowDialog] = useState(false);\n const [isActivityInTheDB, setIsActivityInTheDB] = useState(false);\n\n useEffect(() => {\n refetch();\n }, [refetch]);\n\n const onSubmit = async (formValue: FormValues) => {\n if (!user?.id) {\n console.log(\"user is not logged in\");\n return;\n }\n\n const isANewCampaign = checkIfCampaignNew(formValue.campaignName);\n\n if (isANewCampaign) {\n handleNewCampaign(formValue);\n } else {\n handleExistingCampaign(formValue);\n }\n };\n\n const createActivityReport = async (\n formValue: FormValues,\n campaignId: number\n ) => {\n if (!formValue.reportDate) {\n return;\n }\n\n const activity: AddReportFormDTO = {\n campaignId,\n leadUserCustom: formValue?.leadUserCustom,\n agentId: user?.id ?? 0,\n reportDate: formValue.reportDate,\n isLead: formValue.isLead,\n };\n\n addWeeklyReportMutation.mutate(activity, {\n onSuccess: (data: any) => {\n if (typeof data === \"string\") {\n setIsActivityInTheDB(true);\n } else {\n navigation.navigate(\"OAR\", {\n screen: \"ReportingFormSections\",\n params: {\n activityId: data.id,\n campaignId: data.campaignId,\n isLead: formValue.isLead,\n },\n });\n }\n },\n onError: (e: any) => console.error(e.message),\n });\n };\n\n const handleNewCampaign = async (formValue: FormValues) => {\n try {\n const campaign = await createCampaignMutation.mutateAsync({\n campaignName: formValue.campaignName,\n });\n\n createActivityReport(formValue, campaign.id);\n } catch (e) {\n toast.error(\"Error creating campaign\");\n }\n };\n\n const handleExistingCampaign = async (formValue: FormValues) => {\n const campaignName = formValue.campaignName;\n const campaign = campaigns?.find((c) => c.campaignName === campaignName);\n if (!campaign) {\n return;\n }\n createActivityReport(formValue, campaign.id);\n };\n\n useEffect(() => {\n if (Platform.OS !== \"web\") {\n LogBox.ignoreLogs([\"VirtualizedLists should never be nested\"]);\n }\n }, []);\n\n const checkIfCampaignNew = (campaignName: string) => {\n const isANewCampaign = !campaigns?.some(\n (campaign) => campaign.campaignName === campaignName\n );\n\n return isANewCampaign;\n };\n\n const inActiveDays = (date: Date, campaignName: string) => {\n const campaign = campaigns?.find((c) => c.campaignName === campaignName);\n\n if (!campaign) {\n return date.getDay() !== 6;\n }\n\n const reportedWeeks = campaign?.existingReports.map((r) =>\n format(fromUTC(r.reportDate), \"MM/dd/yyyy\")\n );\n\n return (\n date.getDay() !== 6 || reportedWeeks?.includes(format(date, \"MM/dd/yyyy\"))\n );\n };\n\n // TODO: Update this to most handle going back in time when we determine the start date of the campaign\n const getLatestAvailableReportDate = (campaignName: string) => {\n const campaign = campaigns?.find((c) => c.campaignName === campaignName);\n\n const reportedWeeks = campaign?.existingReports.map((r) =>\n format(fromUTC(r.reportDate), \"MM/dd/yyyy\")\n );\n const lastDayOfCurrentWeek = dayjs(new Date())\n .endOf(\"week\")\n .format(\"MM/DD/YYYY\");\n if (!reportedWeeks?.includes(lastDayOfCurrentWeek)) {\n return lastDayOfCurrentWeek;\n }\n return null;\n };\n\n if (isLoading || !agents || isAgentsLoading || !campaigns) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n\n \n value.trim() !== \"\",\n }}\n render={({ field: { value, onChange }, fieldState: { error } }) => (\n \n \n options={campaigns.map((c) => c.campaignName)}\n placeholder={\"Select a campaign\"}\n freeSolo\n error={error}\n onBlur={(value: any) => {\n if (value.target?.value) {\n setValue(\"campaignName\", value.target.value);\n }\n }}\n onInputChange={(_, value) => {\n setValue(\"reportDate\", getLatestAvailableReportDate(value));\n onChange(value);\n }}\n value={value}\n onChange={(_, value) => {\n onChange(value);\n }}\n />\n \n )}\n />\n \n \n \n {\n const campaignName = getValues(\"campaignName\");\n return inActiveDays(date, campaignName);\n }}\n error={!!errors}\n helperText={errors.reportDate?.message}\n />\n \n \n \n \n \n \n Lead Representative Name\n \n \n \n \n setIsActivityInTheDB(false)}\n title=\"Activity already exists\"\n content={\n \n \n \n An activity report has already been filed for that week.\n \n \n \n }\n >\n {\n setIsActivityInTheDB(false);\n }}\n />\n \n setShowDialog(false)}\n title=\"Confirm\"\n content={\n \n You're going to become the Lead Agent for this campaign. Are you\n sure you want to continue?\n \n }\n >\n {\n setShowDialog(false);\n }}\n />\n {\n setShowDialog(false);\n handleNewCampaign(getValues());\n }}\n />\n \n \n );\n}\n\nconst styles = StyleSheet.create({\n formCard: {\n width: \"100%\",\n borderRadius: 12,\n marginTop: 0,\n marginBottom: 0,\n shadowColor: \"black\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n paddingTop: 10,\n paddingBottom: 10,\n flexDirection: \"row\",\n alignContent: \"space-between\",\n alignItems: \"center\",\n display: \"flex\",\n elevation: 1,\n maxWidth: 460,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n cardsWrap: {\n paddingTop: 4,\n paddingBottom: 4,\n },\n cardTitleText: {\n flex: 1,\n color: \"white\",\n marginBottom: 2,\n },\n cardLocationText: {\n color: \"#8091A3\",\n },\n});\n","import { View } from \"react-native\";\nimport React from \"react\";\nimport AddContainer from \"../../../components/shared/containers/AddContainer\";\nimport { useForm } from \"react-hook-form\";\nimport ControlGoogleLocation from \"../../../components/shared/inputs/control/ControlGoogleLocation\";\nimport ControlTextInput from \"../../../components/shared/inputs/control/ControlTextInput\";\nimport { useCreateLocalMutation } from \"../../../hooks/api/useLocal\";\nimport { useNavigation } from \"@react-navigation/native\";\n\ninterface AddLocalDTO {\n location: string;\n region: string;\n localNumber: string;\n}\n\nexport const AddLocalScreen = () => {\n const { handleSubmit, control } = useForm();\n\n const navigation = useNavigation();\n\n const useCreateLocal = useCreateLocalMutation();\n\n const onSubmit = async (data: AddLocalDTO) => {\n try {\n console.log(data); // NOTE: Added for eslint warning suppression\n // TODO This model is not accurate right now and needs fixed when we start adding locals.\n // await useCreateLocal.mutateAsync({\n // locations: data.location,\n // region: data.region,\n // localNumber: data.localNumber,\n // });\n\n navigation.goBack();\n } catch (e) {\n console.error(e);\n }\n };\n\n return (\n \n \n {\n // TODO: This needs to be handled\n }}\n control={control}\n required\n />\n \n label=\"Local Number\"\n name=\"localNumber\"\n control={control}\n required\n />\n \n label=\"Region\"\n name=\"region\"\n control={control}\n required\n />\n \n \n );\n};\n","import React from \"react\";\nimport { Text, View } from \"react-native\";\nimport styles from \"../weekly_activity/ReportingFormSections.style\";\nimport ControlNumberInput from \"../../../components/shared/inputs/control/ControlNumberInput\";\nimport ControlTextInput from \"../../../components/shared/inputs/control/ControlTextInput\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport StickyHeader from \"../../../components/shared/containers/StickyHeader\";\nimport { useNavigation } from \"@react-navigation/core\";\nimport { useCreateCampaignMutation } from \"../../../hooks/api/useCampaign\";\nimport { Campaign } from \"./campaignTypes\";\nimport ControlDatePicker from \"../../../components/shared/inputs/control/ControlDatePicker\";\nimport { CustomSelect } from \"../../../components/shared/inputs/control/CustomSelect\";\nimport { queryClient } from \"../../../system/utils\";\n\ninterface Props {\n campaign: Campaign;\n}\n\nexport default function CampaignInputForm({ campaign }: Props) {\n const addCampaign = useCreateCampaignMutation({\n onSuccess: () => {\n queryClient.invalidateQueries([\"oar/campaign\", campaign.id, \"overview\"]);\n navigation.goBack();\n },\n });\n const navigation = useNavigation();\n\n const {\n handleSubmit,\n control,\n formState: { errors },\n } = useForm({\n defaultValues: {\n ...campaign,\n preElectionEvaluation: {\n ...campaign.preElectionEvaluation,\n id: campaign.preElectionEvaluation?.id,\n },\n nlrbActivity: {\n ...campaign.nlrbActivity,\n id: campaign.nlrbActivity?.id,\n },\n electionInfo: {\n ...campaign.electionInfo,\n id: campaign.electionInfo?.id,\n ballotsImpounded: campaign.electionInfo?.ballotsImpounded\n ? \"Yes\"\n : \"No\",\n },\n },\n });\n\n const onSubmit = (formValues: Campaign) => {\n try {\n const data = {\n ...campaign,\n ...formValues,\n preElectionEvaluation: {\n ...formValues.preElectionEvaluation,\n id: campaign.preElectionEvaluation?.id,\n },\n nlrbActivity: {\n ...formValues.nlrbActivity,\n id: campaign.nlrbActivity?.id,\n },\n electionInfo: {\n ...formValues.electionInfo,\n id: campaign.electionInfo?.id,\n ballotsImpounded:\n formValues.electionInfo?.ballotsImpounded === \"Yes\" ? true : false,\n },\n };\n\n addCampaign.mutate(data);\n } catch (e) {\n console.error(e);\n }\n };\n\n return (\n \n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n })\n }\n _handleSubmit={handleSubmit(onSubmit)}\n >\n
    \n \n Petition Information\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n NLRB Activity\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Election Information\n \n \n \n \n \n \n (\n \n style={{ width: \"100%\" }}\n options={[\"No\", \"Yes\"]}\n // label=\"Select campaign ballots impounded\"\n value={value === \"Yes\" ? \"Yes\" : \"No\"}\n error={errors?.electionInfo?.ballotsImpounded}\n onChange={(_, value) => {\n if (typeof value === \"string\") {\n onChange(value);\n } else {\n onChange(value);\n }\n }}\n getOptionLabel={(option) => {\n return option;\n }}\n />\n )}\n />\n \n \n \n Election Results\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Challenges\n \n \n \n \n \n label=\"Company\"\n name=\"electionInfo.companyChallenges\"\n control={control}\n icon=\"right\"\n size=\"medium\"\n />\n \n \n \n \n \n \n \n \n \n \n \n \n Attorney / Pursuader Information\n \n \n \n \n \n label=\"Company Attorney\"\n name=\"electionInfo.companyAttorney\"\n control={control}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n label=\"Pursuader Firm(s)\"\n name=\"electionInfo.pursuadersFirms\"\n control={control}\n />\n \n \n \n \n \n );\n}\n","import React from \"react\";\nimport { useGetCampaigns } from \"../../../hooks/api/useCampaign\";\nimport { useRoute } from \"@react-navigation/native\";\nimport Spinner from \"../../../components/lm2/weekly_activity/shared/Loading\";\nimport CampaignInputForm from \"./CampaignInputForm\";\n\nexport const CampaignInputDetailsScreen = () => {\n const route = useRoute();\n const campaignId = route.params.campaignId;\n\n const { data: campaigns, isLoading } = useGetCampaigns();\n\n if (!campaigns || isLoading) {\n return ;\n }\n\n const campaign = campaigns.find((c) => c.id == campaignId);\n\n if (!campaign) {\n return ;\n }\n\n return ;\n};\n","import { Text } from \"react-native\";\nimport React from \"react\";\nimport StickyHeader from \"../../../components/shared/containers/StickyHeader\";\nimport { useRoute, useNavigation } from \"@react-navigation/native\";\nimport { format } from \"date-fns\";\nimport WeeklyActivityService from \"./WeeklyActivityService\";\nimport { api, fromUTC } from \"../../../system/utils\";\nimport { useGetWeeklyReport } from \"../../../hooks/api/useWeeklyActivity\";\nimport { Grid } from \"@mui/material\";\nimport Ionicons from \"@expo/vector-icons/Ionicons\";\n\nexport default function ViewPdfScreen() {\n const route = useRoute();\n\n const navigation = useNavigation();\n\n const activityId: number = route.params.activityId;\n\n const { data: weeklyActivity, isLoading } = useGetWeeklyReport({\n additionalKey: {\n activityId,\n },\n options: {\n onError: (error) => {\n console.log(error);\n },\n cacheTime: 0,\n },\n });\n\n if (isLoading || !weeklyActivity) {\n return Loading...;\n }\n\n return (\n {\n navigation.navigate(\"OAR\", {\n screen: \"Tabs\",\n });\n }}\n >\n \n \n {/* @ts-ignore */}\n \n \n Activity Report Submitted\n \n
    \n A copy of this report has been
    \n sent to your email address.\n
    \n {\n const url = `oar/weeklyActivity/${activityId}/view`;\n const response = await api(url).blob();\n var file = window.URL.createObjectURL(response);\n window.open(file);\n }}\n >\n View PDF\n \n \n \n \n );\n}\n","import React from \"react\";\nimport { createStackNavigator } from \"@react-navigation/stack\";\nimport AddAgentScreen from \"../../screens/oar/agents/AddAgentScreen\";\nimport AgentsDetailsScreen from \"../../screens/oar/agents/AgentDetailsScreen\";\nimport AssignCampaignsScreen from \"../../screens/oar/agents/AssignCampaignsScreen\";\nimport AssignAgentsScreen from \"../../screens/oar/campaigns/AssignAgentsScreen\";\nimport AddCampaignScreen from \"../../screens/oar/campaigns/AddCampaignScreen\";\nimport EditCampaignScreen from \"../../screens/oar/campaigns/EditCampaignScreen\";\nimport CampaignNotesScreen from \"../../screens/oar/campaigns/CampaignNotesScreen\";\nimport AddReportScreen from \"../../screens/oar/reports/AddReportScreen\";\nimport ReportDetailsScreen from \"../../screens/oar/reports/ReportDetailsScreen\";\nimport PdfScreen from \"../../screens/oar/weekly_activity/PdfScreen\";\nimport ReportingFormCategoriesScreen from \"../../screens/oar/weekly_activity/ReportingFormCategoriesScreen\";\nimport ReportingFormSectionsScreen from \"../../screens/oar/weekly_activity/ReportingFormSectionsScreen\";\nimport { OARStackParamList } from \"./OARNavigationTypes\";\nimport OARBottomTabNavigator, { TabWeeklyFormsNavigator } from \"./OARBottomTabNavigation\";\nimport AddReportingFormScreen from \"../../screens/oar/weekly_activity/AddReportingFormScreen\";\nimport { AddLocalScreen } from \"../../screens/oar/campaigns/AddLocalScreen\";\nimport { CampaignInputDetailsScreen } from \"../../screens/oar/campaigns/CampaignInputDetails\";\nimport ViewPdfScreen from \"../../screens/oar/weekly_activity/ViewPdfScreen\";\n\nconst OARFormStack = createStackNavigator();\n\nconst OARNavigator = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n return ;\n }}\n />\n \n \n );\n};\n\nexport default OARNavigator;\n","import { useRoute } from \"@react-navigation/native\";\nimport React from \"react\";\nimport Spinner from \"../../../components/lm2/weekly_activity/shared/Loading\";\nimport AgentDetailsContainer from \"../../../components/oar/agents/AgentDetailsContainer\";\nimport AgentsCard from \"../../../components/oar/agents/AgentsCard\";\nimport { useGetCampaignAgentsWithStats } from \"../../../hooks/api/useUser\";\nimport DateService from \"../../../system/DateService\";\n\nconst ActivityAgentScreen = () => {\n const route = useRoute();\n const agentId: number = route.params.agentId;\n\n const { data: agentsWithStats } = useGetCampaignAgentsWithStats({\n additionalKey: {\n searchValue: \"\",\n agentId,\n filters: {\n region: [],\n local: [],\n campaignId: [],\n reportDueDate: DateService.getNextSaturday(),\n reportStartDate: DateService.getBeginningOfTheWeek(\n DateService.getNextSaturday()\n ).toISOString(),\n },\n },\n });\n\n if (!agentsWithStats) {\n return ;\n }\n\n const item = agentsWithStats.find((x) => x.agent.id === agentId);\n\n if (!item) {\n console.error(\"Agent not found\");\n return ;\n }\n\n return (\n \n \n \n );\n};\n\nexport default ActivityAgentScreen;\n","import { createStackNavigator } from \"@react-navigation/stack\";\nimport * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { RootStackParamList } from \"./navigationTypes\";\nimport { NavigationContainer } from \"@react-navigation/native\";\nimport LinkingConfiguration from \"./LinkingConfiguration\";\nimport Splash from \"../../screens/root/auth/SplashScreen\";\nimport AccountScreen from \"../../screens/root/account/AccountScreen\";\nimport GoScreen from \"../../components/shared/GoScreen\";\nimport LM2Navigator from \"../lm2/LM2Navigation\";\nimport OARNavigator from \"../oar/OARNavigation\";\nimport { useAppDispatch, useTypedSelector } from \"../../store\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport { LocalStorageKey } from \"../../system/constants\";\nimport { jsonParse } from \"../../system/utils\";\nimport { setAuthToken } from \"../../screens/root/auth/authSlice\";\nimport { TokenData } from \"../../screens/root/auth/authTypes\";\nimport { Image, Platform, Text, View } from \"react-native\";\nimport Spinner from \"react-native-loading-spinner-overlay\";\nimport ActivityAgentScreen from \"../../screens/root/home/ActivityAgentScreen\";\nimport { unwrapResult } from \"@reduxjs/toolkit\";\nimport { useAppInsightsContext } from \"@microsoft/applicationinsights-react-js\";\nimport jwt_decode from \"jwt-decode\";\n\nexport default function Navigation() {\n const spinner = useTypedSelector((state) => state.authSlice.spinner);\n const webPosition = Platform.OS === \"web\" ? \"absolute\" : \"relative\";\n return (\n {\n return `${options?.title ?? route?.name ?? \"UFCW\"} - OAR`;\n },\n }}\n >\n <>\n \n \n \n \n \n \n );\n}\n\nconst Stack = createStackNavigator();\n\nfunction RootNavigator() {\n const dispatch = useAppDispatch();\n const appInsights = useAppInsightsContext();\n\n const [loadingAuth, setLoadingAuth] = useState(true);\n const [isError, setIsError] = useState(false);\n const jwt = useTypedSelector((state) => state.authSlice.token);\n\n useEffect(() => {\n const initAuth = async () => {\n try {\n const tokenJson = await AsyncStorage.getItem(LocalStorageKey.Token);\n if (!tokenJson) {\n setLoadingAuth(false);\n return;\n }\n const token = jsonParse(tokenJson);\n\n const decoded = jwt_decode(token?.id_token);\n\n const email = decoded?.email;\n\n if (!email) {\n setLoadingAuth(false);\n return;\n }\n\n if (!token) {\n console.warn(\"Failed to parse stored token\");\n setLoadingAuth(false);\n return;\n }\n await dispatch(setAuthToken({ token })).then(unwrapResult);\n setLoadingAuth(false);\n } catch (error) {\n console.error(error);\n setIsError(true);\n setLoadingAuth(false);\n if (error instanceof Error) {\n appInsights.trackException({ exception: error });\n }\n // await AsyncStorage.removeItem(LocalStorageKey.Token);\n }\n };\n initAuth();\n }, []);\n\n if (loadingAuth) {\n return (\n \n \n \n );\n }\n\n if (isError) {\n return (\n \n \n An error has occured. You've been logged out.{\" \"}\n Click here to login again\n \n \n );\n }\n\n return (\n \n \n \n \n \n \n \n \n );\n}\n","import { StatusBar } from \"expo-status-bar\";\nimport React from \"react\";\nimport { Provider as PaperProvider } from \"react-native-paper\";\nimport { Provider as StoreProvider } from \"react-redux\";\nimport { SafeAreaProvider } from \"react-native-safe-area-context\";\nimport store from \"./store\";\nimport Navigation from \"./navigation/root/rootNavigation\";\nimport { QueryClientProvider } from \"react-query\";\nimport { queryClient } from \"./system/utils\";\nimport { Platform } from \"react-native\";\nimport {\n adaptV4Theme,\n createTheme,\n StyledEngineProvider,\n Theme,\n ThemeProvider,\n} from \"@mui/material\";\nimport { ApplicationInsights } from \"@microsoft/applicationinsights-web\";\nimport {\n AppInsightsContext,\n ReactPlugin,\n} from \"@microsoft/applicationinsights-react-js\";\nimport { createBrowserHistory } from \"history\";\nimport { Toaster } from \"react-hot-toast\";\n\nconst browserHistory = createBrowserHistory({ window: window });\nvar reactPlugin = new ReactPlugin();\nvar appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: \"704bd3d7-6aca-4cd4-9c75-7debd82ea711\",\n enableAutoRouteTracking: true,\n extensions: [reactPlugin],\n extensionConfig: {\n [reactPlugin.identifier]: { history: browserHistory },\n },\n },\n});\nappInsights.loadAppInsights();\n\ndeclare module \"@mui/styles/defaultTheme\" {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface DefaultTheme extends Theme {}\n}\n\nconst theme = createTheme(\n adaptV4Theme({\n palette: {\n primary: {\n main: \"#034990\",\n },\n secondary: {\n main: \"#012447\",\n },\n },\n overrides: {\n MuiPaper: {\n root: {\n \"& .MuiAutocomplete-option\": {\n minHeight: 28,\n padding: 0,\n },\n },\n },\n MuiChip: {\n root: {\n height: 28,\n },\n },\n MuiSelect: {\n // root: {\n // height: 40,\n // paddingTop: 11,\n // paddingBottom: 11,\n // borderRadius: \"6px !important\",\n // \"&:hover\": {\n // borderColor: \"#034990\",\n // },\n // },\n outlined: {\n // height: 40,\n paddingTop: 11,\n paddingBottom: 11,\n borderRadius: 6,\n \"&:hover\": {\n borderColor: \"#034990\",\n },\n },\n select: {\n borderRadius: 6,\n \"&:hover\": {\n borderColor: \"#034990\",\n },\n },\n },\n MuiAutocomplete: {\n root: {\n \".MuiOutlinedInput-root\": {\n paddingTop: 0,\n paddingBottom: 0,\n \".MuiAutocomplete-input\": {\n paddingTop: 11,\n paddingBottom: 11,\n },\n },\n },\n },\n MuiFormLabel: {\n root: {\n \"&.MuiInputLabel-root\": {\n top: 1,\n color: \"#A2A2A2\",\n },\n \"&.MuiInputLabel-root.MuiInputLabel-shrink\": {},\n \"&.MuiInputLabel-root.MuiInputLabel-shrink.MuiFormLabel-colorPrimary\":\n {\n color: \"rgb(108, 114, 127)\",\n },\n },\n },\n MuiOutlinedInput: {\n root: {\n borderColor: \"#D2D6DC\",\n boxShadow: \"0px 2px 2px rgba(0,0,0,.06)\",\n borderRadius: 6,\n backgroundColor: \"transparent\",\n margin: 0,\n // paddingTop: 0,\n // paddingBottom: 0,\n \"&:hover\": {\n borderColor: \"#034990\",\n },\n \"&.Mui-disabled\": {\n backgroundColor: \"rgba(242,242,242,1)\",\n },\n \"&.Mui-disabled .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#D2D6DC\",\n },\n },\n input: {\n borderColor: \"#D2D6DC\",\n // height: 40,\n // height:'1.4375em',\n height: \"1.6878em\",\n lineHeight: \"1.6878em\",\n margin: 0,\n paddingTop: 8.5,\n paddingBottom: 8.5,\n // paddingTop: 0,\n // paddingBottom: 0,\n \"&:hover\": {\n borderColor: \"#034990\",\n },\n label: {\n root: {\n // transform:'translate(14px, 11px) scale(1)',\n },\n },\n },\n // inputMarginDense: {\n // borderColor: \"#D2D6DC\",\n // height: 40,\n // margin: 0,\n // paddingTop: 0,\n // paddingBottom: 0,\n // // \"&:hover\": {\n // // borderColor: \"#034990\",\n // },\n // },\n notchedOutline: {\n borderColor: \"#D2D6DC\",\n //height: 44,\n margin: 0,\n // paddingTop: 0,\n // paddingBottom: 0,\n \"&:hover\": {\n borderColor: \"#034990\",\n },\n },\n },\n MuiFormControl: {\n root: {\n borderColor: \"#D2D6DC\",\n \"&:hover\": {\n borderColor: \"#034990\",\n },\n },\n },\n },\n })\n);\n\nexport default function App() {\n return (\n \n \n \n \n {Platform.OS === \"web\" ? (\n \n \n \n \n \n \n \n \n \n ) : (\n \n \n \n \n )}\n \n \n \n \n );\n}\n","module.exports = __webpack_public_path__ + \"static/media/wave-background.2186542e.png\";","module.exports = __webpack_public_path__ + \"static/media/Office365-OWA.d4b89cf8.png\";","module.exports = __webpack_public_path__ + \"static/media/Einfo.d681ea47.png\";","module.exports = __webpack_public_path__ + \"static/media/Crystal-Reports.ee834f08.png\";","module.exports = __webpack_public_path__ + \"static/media/SharePoint365.c3b71885.png\";","module.exports = __webpack_public_path__ + \"static/media/ADP.2a2a8d74.png\";","module.exports = __webpack_public_path__ + \"static/media/LocalsSharePoint.72733fee.png\";","module.exports = __webpack_public_path__ + \"static/media/Fidelity.4a04b51d.png\";","module.exports = __webpack_public_path__ + \"static/media/Mimecast.cbb875a2.png\";","module.exports = __webpack_public_path__ + \"static/media/lm2-switcher.752e1098.png\";","var api = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!./ControlWeekDatePicker.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"/* Desktop */\\n.WeeklyPickerPopper .MuiPickersDay-root.MuiPickersDay-hiddenDaySpacingFiller {\\n width:40px;\\n height:40px;\\n text-align:'center';\\n}\\n\\n.WeeklyPickerPopper .MuiDayPicker-weekDayLabel:last-child {\\n color:#1B4A8B;\\n font-weight: bold;\\n}\\n\\n.WeeklyPickerPopper .MuiDayPicker-weekContainer:hover {\\n background-color:#F5F5F5;\\n}\\n\\n.WeeklyPickerPopper .MuiDayPicker-weekContainer .MuiPickersDay-root {\\n background-color: transparent;\\n color:#A4A4A4;\\n width:40px;\\n height:40px;\\n}\\n\\n.WeeklyPickerPopper .MuiDayPicker-weekContainer .MuiPickersDay-root.MuiPickersDay-today {\\n border:1px solid transparent;\\n}\\n\\n.WeeklyPickerPopper .MuiDayPicker-weekContainer .MuiPickersDay-root.MuiPickersDay-today::after {\\n content:'';\\n height:4px;\\n width:4px;\\n display:block;\\n background:#A4A4A4;\\n border-radius:4px;\\n position:absolute;\\n bottom:4px;\\n left:18px;\\n}\\n\\n.WeeklyPickerPopper .MuiPickersDay-root {\\n width:40px;\\n height:40px;\\n text-align:center;\\n}\\n \\n.WeeklyPickerPopper .MuiPickersDay-root:last-child {\\n color:#1B4A8B;\\n font-weight: bold;\\n font-size:13px;\\n}\\n.WeeklyPickerPopper .MuiPickersDay-root.Mui-disabled:last-child {\\n color: rgba(0, 0, 0, 0.38)\\n}\\n\\n\\n/* Mobile */\\n\\n.WeeklyPickerDialog .MuiPickersDay-root.MuiPickersDay-hiddenDaySpacingFiller {\\n width:40px;\\n height:40px;\\n text-align:'center';\\n}\\n\\n.WeeklyPickerDialog .MuiDayPicker-weekDayLabel:last-child {\\n color:#1B4A8B;\\n font-weight: bold;\\n}\\n\\n.WeeklyPickerDialog .MuiDayPicker-weekContainer .MuiPickersDay-root {\\n background-color: transparent;\\n color:#A4A4A4;\\n width:40px;\\n height:40px;\\n}\\n\\n.WeeklyPickerDialog .MuiDayPicker-weekContainer .MuiPickersDay-root.MuiPickersDay-today {\\n border:1px solid transparent;\\n}\\n\\n.WeeklyPickerDialog .MuiDayPicker-weekContainer .MuiPickersDay-root.MuiPickersDay-today::after {\\n content:'';\\n height:4px;\\n width:4px;\\n display:block;\\n background:#A4A4A4;\\n border-radius:4px;\\n position:absolute;\\n bottom:4px;\\n left:18px;\\n}\\n\\n.WeeklyPickerDialog .MuiPickersDay-root {\\n width:40px;\\n height:40px;\\n text-align:center;\\n}\\n \\n.WeeklyPickerDialog .MuiPickersDay-root:last-child {\\n color:#1B4A8B;\\n font-weight: bold;\\n font-size:13px;\\n}\\n.WeeklyPickerDialog .MuiPickersDay-root.Mui-disabled:last-child {\\n color: rgba(0, 0, 0, 0.38)\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = __webpack_public_path__ + \"static/media/splash.5d21926f.png\";"],"sourceRoot":""}