{"version":3,"sources":["context/OfflineStorageProvider.tsx","helpers/useQuery.tsx","graphql/mutations.ts","context/AlertProvider.tsx","components/Loading.tsx","assets/compeat/logo_transparent_bw.png","layouts/Public.tsx","pages/authentication/Signin.tsx","graphql/subscriptions.ts","helpers/graphqlPagination.tsx","layouts/Unathenticated.tsx","components/LoginForm.tsx","assets/icons/g-logo.png","components/Header.tsx","context/ProfileProvider.tsx","context/ModalProvider.tsx","assets/compeat/fork_transparent.png","layouts/Dashboard.tsx","helpers/checkImageURL.tsx","components/SupportFAB.tsx","context/AppOpenHandler.tsx","assets/illustrations/storyset_stand_out_31397.svg","views/Shared/Terms.tsx","views/Shared/Privacy.tsx","views/Shared/Refund.tsx","pages/Insights/FormList.tsx","pages/Insights/FormEmbed.tsx","components/Notifications.tsx","pages/authentication/VerifyEmail.tsx","pages/authentication/PasswordReset.tsx","pages/authentication/ProcessAction.tsx","../node_modules/@ionic/react/node_modules/@stencil/core/internal/client lazy /^/.//.*$/ include: //.entry/.js$/ exclude: //.system/.entry/.js$/ groupOptions: {} namespace object","../node_modules/@ionic/core/node_modules/@stencil/core/internal/client lazy /^/.//.*$/ include: //.entry/.js$/ exclude: //.system/.entry/.js$/ groupOptions: {} namespace object","context/AuthProvider.tsx","graphql/queries.ts","firebase-config.js","pages/authentication/Setup.tsx","pages/authentication/AppleConsentPage.tsx","assets/illustrations/storyset_eating_healthy_food_31398.svg","assets/illustrations/storyset_app_data_31399.svg","pages/Welcome.tsx","pages/authentication/EmailConfirmation.tsx","pages/Insights/UnauthenticatedForms.tsx","UnauthenticatedApp.tsx","App.tsx","serviceWorker.ts","fontawesome.js","context/AppConfigProvider.tsx","index.tsx","context/UserProvider.tsx"],"names":["OfflineStorageContext","React","createContext","useOfflineStorage","context","useContext","undefined","Error","OfflineStorageProvider","props","_useState","useState","_useState2","_slicedToArray","isConnected","setIsConnected","useEffect","Network","getStatus","then","status","connected","handler","addListener","remove","get","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","key","_yield$Preferences$ge","value","wrap","_context","prev","next","Preferences","sent","abrupt","JSON","parse","stop","_x","apply","arguments","set","_ref2","_callee2","data","_context2","stringify","_x2","_x3","getOffline","_ref3","_callee3","_yield$Preferences$ge2","_context3","_x4","setOffline","_ref4","_callee4","_context4","_x5","_x6","_ref5","_callee5","_context5","_x7","getKeys","_ref6","_callee6","_context6","keys","clear","_ref7","_callee7","_context7","list","_ref8","_callee8","page","limit","filterPredicate","sortPredicate","items","minResult","maxResult","_args8","_context8","length","isNextPage","Array","isArray","filter","i","sort","a","b","slice","_x8","_jsx","Provider","_objectSpread","useQuery","URLSearchParams","useLocation","search","updateAlert","createMessage","updateMessage","createDevice","deleteDevice","updateUser","createUser","createContactInfo","updateContactInfo","updateInvitation","createHabits","updateHabits","AlertContext","useAlerts","AlertProvider","user","useUser","notifications","setNotifications","id","loadData","alertByUserByAction","alertUserId","actionCreatedAt","beginsWith","action","createdAt","sortDirection","results","clearAlertsByPath","alerts","path","regex","RegExp","promises","notification","isRead","content","match","map","alert","API","graphql","graphqlOperation","input","Promise","all","updatedAlerts","_step","originalAlerts","_iterator","_createForOfIteratorHelper","_loop","_updatedAlert$data2","updatedAlert","index","findIndex","n","_updatedAlert$data","_updatedAlert$data$up","update","$splice","s","done","err","e","f","catch","console","log","rowStyle","height","defaultOptions","loop","autoplay","animationData","rendererSettings","preserveAspectRatio","Loading","useIonLoading","message","loadingMessage","setLoadingMessage","rand","Date","getMinutes","loadingMessages","IonLoading","isOpen","IonPage","children","IonContent","fullscreen","IonGrid","IonRow","className","style","_jsxs","IonCol","size","Lottie","options","width","PublicLayout","SignInView","socialButtonActionLabel","localStorage","getItem","removeItem","document","title","IonCard","color","IonImg","src","compeatLogo","IonCardContent","LoginForm","IonText","Link","to","version","onCreateMessage","onUpdateMessage","onUpdateUser","onUpdateHabits","onCreateHabitsByUser","onCreateMealPlan","onUpdateMealPlan","_loadData","_result","_result2","_result3","_result8","_result9","_result9$data$key$ite","variables","callAPI","result","errors","_result4","_result5","_result6","_result7","_result7$data$key","nextToken","_result10","_result10$data$key$ne","_nextToken","_results","_result11","_result12","_result13","_result13$data$key$it","callVariables","_results2","_args2","_args","reason","Sentry","Object","includes","concat","_toConsumableArray","UnauthenticatedLayout","IonHeader","IonToolbar","IonTitle","buttonStyle","background","borderRadius","textTransform","boxShadow","marginTop","buttonIconStyle","marginBottom","marginRight","appleButtonIconStyle","paddingBottom","_user$contactInfo","_useAuth","useAuth","socialLogin","passwordLogin","error","history","useHistory","buttonActionLabel","showAppleConsent","passwordErrors","isLoading","setIsLoading","validationSchema","Yup","shape","email","required","password","min","validatePassword","values","validate","abortEarly","t0","_Fragment","IonAlert","header","buttons","IonItem","lines","button","onClick","IonThumbnail","slot","alt","classNames","Capacitor","platform","push","IonIcon","icon","logoApple","IonItemDivider","Formik","validateOnBlur","initialValues","contactInfo","onSubmit","_passwordErrors","_passwordErrors2","handleSubmit","Field","name","placeholder","type","touched","checkmarkCircle","disabled","mail","Header","setConnected","setShowNotification","useModal","profile","useProfile","showBackButton","IonButtons","IonBackButton","text","arrowBackOutline","fork","NotificationsButton","handleOpen","SlideDown","banner","ProfileContext","ProfileProvider","authUser","_useOfflineStorage","currentProfileId","setCurrentProfileId","_useState3","_useState4","setProfile","_useState5","profileUser","previousProfileId","refreshConversations","profiles","_useState6","userData","setUserData","_useState7","_useState8","availableProfiles","setAvailableProfiles","_useState9","_useState10","refreshProfiles","setRefreshProfiles","_useState11","_useState12","delayedRefresh","setDelayedRefresh","_useState13","_useState14","badge","setBadge","_useState15","_useState16","clearAlerts","setClearAlerts","_useState17","_useState18","subscriptions","setSubscriptions","conversations","_profile$conversation","pc","_results$items","timer","setTimeout","setRefreshConversations","_profile$conversation2","reduce","acc","obj","_currentProfileId","idToken","compeatUserId","getIdTokenResult","claims","compeat_user_id","uid","fetchUsers","_result$data","_result$data$listUser","callListUsers","_result2$data","_result2$data$listUse","_result2$data$listUse2","_result3$data","_result3$data$listUse","_result3$data$listUse2","currentProfile","_idToken","_compeatUserId","activeProfiles","listUsers","_profile$contactInfo","groupBy","getUser","_userData$profileUser","processName","_contactInfo$firstNam","_contactInfo$lastName","firstName","trim","lastName","fetchConversations","_result4$data","_result4$data$listCon","_result5$data","_result5$data$listCon","_result5$data$listCon2","callListConversations","profileConversations","filterConversations","permittedConversations","_result6$data","_result6$data$listCon","_result6$data$listCon2","_result7$data","_result7$data$listCon","_result7$data$listCon2","listConversations","conversationItems","conversation","_conversation$members","clientId","members","_conversation$members2","_availableProfiles$ot","_conversation$members4","_conversation$members5","_notifications$filter","contacts","others","o","_conversation$members3","_o$contactInfo","userId","_conversation$special","names","specialist","displayName","contact","_name$trim","join","sortBy","subscription","subscribe","_value$data","shouldRefresh","excludedFields","profileValues","updateUserValues","isEqual","_user","mergeWith","isNull","hasOwnProperty","unsubscribe","_subscriptions$onCrea","onCreateConversations","onCreateSubscriptions","some","closed","forEach","_profile$conversation3","messageConversationId","_profile$conversation4","_value$data2","_conversation$message","profileIndex","c","window","location","pathname","$merge","messages","$unshift","_subscriptions$onCrea2","clearTimeout","ModalContext","ModalProvider","showNotification","showEdgeUpgrade","setShowEdgeUpgrade","showHabitReflection","setShowHabitReflection","showCancel","setShowCancel","showDelete","setShowDelete","deleteError","deleteProps","setDeleteProps","showSwitchProfile","setShowSwitchProfile","DashboardLayout","hideSupport","scrollYDisabled","scrollY","SupportFAB","checkImageURL","url","handleClick","Browser","open","process","IonFab","vertical","horizontal","IonFabButton","helpOutline","AppOpenHandler","App","handleRouteChange","replace","TermsView","href","target","rel","PrivacyPolicyView","RefundPolicyView","FormCard","form","submittedAt","IonSkeletonText","animated","IonCheckbox","checked","ArrowForward","FormList","_assessment$insight","assessment","insight","forms","transform","idx","Circle","typeformId","_","FormWidget","_user$contactInfo2","_user$contactInfo3","_user$contactInfo4","_user$profile","assessmentId","Widget","hidden","user_id","full_name","phone","assessment_id","sex","toLowerCase","finally","FormEmbed","_useParams","useParams","setUserId","getData","_response$data","response","_response$data2","query","getAssessmentUnauthenticated","authMode","GRAPHQL_AUTH_MODE","API_KEY","getAssessment","find","unreadAlerts","IonButton","bell","IonBadge","NotificationsModal","handleClose","IonModal","swipeToClose","onDidDismiss","chevronDown","IonList","link","IonAvatar","image","IonLabel","Moment","fromNow","VerifyEmail","verifyEmail","code","loaded","setLoaded","verify","PasswordReset","verifyPasswordCode","confirmPasswordReset","validCode","setValidCode","setError","highlightConditions","setHighlightConditions","verifyPassword","triggerErrorMessage","passwordConfirm","oneOf","role","confirm","_passwordErrors3","_passwordErrors4","Form","ProcessAction","authenticated","mode","Redirect","webpackEmptyAsyncContext","req","resolve","module","exports","AuthContext","AuthProvider","setAuthUser","loading","setLoading","passwordResetEmail","setPasswordResetEmail","firebase","auth","onAuthStateChanged","_authUser","isAnonymous","signOut","getIdToken","Cache","setItem","token","passwordLink","_firebase$auth$curren","credential","EmailAuthProvider","currentUser","linkWithCredential","userCred","signInWithGoogle","_result$credential","FirebaseAuthentication","GoogleAuthProvider","signInWithCredential","getAuth","linkWithGoogle","signInWithApple","_result$credential2","_result$credential3","provider","skipNativeAuth","OAuthProvider","rawNonce","nonce","linkWithApple","nativeSocialLogin","nativeSocialLink","plugin","providerId","authProvider","Plugins","CapacitorFirebaseAuth","t1","PROVIDER_ID","FacebookAuthProvider","signIn","_firebase$app$auth$cu","app","webSocialLogin","addScope","signInWithPopup","webSocialLink","_ref9","_callee9","_firebase$auth$curren2","_context9","linkWithPopup","_ref10","_callee10","_context10","isNativePlatform","sendPasswordReset","_ref11","_callee11","_context11","sendPasswordResetEmail","mixpanel","track","_ref12","_callee12","_context12","verifyPasswordResetCode","_ref13","_callee14","newPassword","_context14","_callee13","loggedIn","params","_context13","logUserIn","body","post","_x9","_x10","_ref15","_callee15","_context15","applyActionCode","_x11","_ref16","_callee16","_context16","signInWithEmailAndPassword","_x12","_x13","anonymousLogin","signInAnonymously","logout","createUserWithEmailAndPassword","getConversation","listRecipes","getSpecialistProfile","getInvitation","habitsByUserByStatus","mealPlanByUserByStatus","getMealPlan","assessmentByUser","firebaseConfig","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","Setup","resetToken","AppleConsentPage","IonSlide","slides","standOut","description","btnText","eatingHealthy","appData","WelcomeView","swiperInstance","setSwiperInstance","StatusBar","setStyle","Style","Light","closeOutline","Swiper","onSwiper","swiper","modules","Keyboard","Pagination","keyboard","pagination","slide","SwiperSlide","imgHeight","isEnd","slideNext","chevronForward","EmailConfirmation","success","setSuccess","UnauthenticatedForms","setAssessment","completedFormId","toISOString","UnauthenticatedApp","Switch","Route","exact","hideGetStartedFree","isNative","loadAuthenticatedApp","AuthenticatedApp","lazy","stripePromise","loadStripe","initializeApp","appSyncConfig","aws_appsync_graphqlEndpoint","aws_appsync_apiKey","aws_appsync_region","aws_appsync_authenticationType","endpoints","endpoint","custom_header","_custom_header","_auth$currentUser","Authorization","graphql_headers","_graphql_headers","_auth$currentUser2","Amplify","configure","setupIonicReact","isPlatform","backButtonText","theme","createTheme","palette","primary","main","contrastText","secondary","tertiary","withOAuth","init","migrate","removeOld","renderLoader","Elements","stripe","IonApp","ThemeProvider","Suspense","fallback","IonReactRouter","Boolean","hostname","library","add","faCalendarPlus","fas","AppConfigContext","AppConfigProvider","fetch","headers","json","minVersion","forceUpdate","reload","REACT_APP_MIXPANEL_TOKEN","ReactGA","initialize","sentryParams","dsn","environment","REACT_APP_NODE_ENV","release","normalizeDepth","integrations","ExtraErrorDataIntegration","depth","ReactDOM","render","UserProvider","getElementById","navigator","serviceWorker","ready","registration","unregister","UserContext","setUser","idTokenResult","_authUser$displayName","avatar","split","shift","lastNames","axios","photoURL","userParams","contactInfoId","permission","hasMeals","contactInfoParams","userResult","contactInfoResult","userValues"],"mappings":"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","file":"static/js/main.4ede9bf9.chunk.js","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Preferences } from '@capacitor/preferences';\nimport { Network } from '@capacitor/network';\nimport { OfflineStorage } from '../declarations/declarations';\n\ninterface OfflineStorageInterface {\n isConnected: boolean;\n get: (key: string) => Promise;\n set: (key: string, data: OfflineStorage) => Promise;\n getOffline: (key: string) => Promise;\n setOffline: (key: string, data: T) => Promise;\n remove: (key: string) => Promise;\n getKeys: () => Promise<{ keys: string[] }>;\n clear: () => Promise;\n list: (key: string, page: number, limit: number, filterPredicate: ((i: Record | undefined) => boolean) | undefined, sortPredicate: ((a: Record | undefined, b: Record | undefined) => number) | undefined) => Promise<({ data: Record[], isNextPage: boolean })>;\n}\n\nconst OfflineStorageContext = React.createContext(null);\n\nconst OfflineStorageProvider: React.FC = (props) => {\n const RESULTS_PER_PAGE = 25;\n const [isConnected, setIsConnected] = useState(true);\n\n useEffect(() => {\n Network.getStatus().then((status) => {\n setIsConnected(status.connected);\n });\n const handler = Network.addListener('networkStatusChange', (status) => {\n setIsConnected(status.connected);\n });\n return function cleanup() {\n handler.remove();\n };\n }, []);\n\n const get = async (key: string): Promise => {\n const { value } = await Preferences.get({ key });\n return value ? JSON.parse(value) : undefined;\n };\n\n const set = async (key: string, data: OfflineStorage): Promise => {\n const value: string = JSON.stringify(data);\n await Preferences.set({ key, value });\n };\n\n const getOffline = async (key: string): Promise => {\n const { value } = await Preferences.get({ key });\n return value ? JSON.parse(value) : undefined;\n };\n\n const setOffline = async (key: string, data: T) => {\n const value: string = JSON.stringify(data);\n await Preferences.set({ key, value });\n };\n\n const remove = async (key: string): Promise => {\n await Preferences.remove({ key });\n };\n\n const getKeys = async (): Promise<{ keys: string[] }> => {\n return Preferences.keys();\n };\n\n const clear = async (): Promise => {\n await Preferences.clear();\n };\n\n const list = async (key: string, page = 1, limit = 0, filterPredicate: ((i: Record | undefined) => boolean) | undefined = undefined, sortPredicate: ((a: Record | undefined, b: Record | undefined) => number) | undefined = undefined): Promise<({ data: Record[], isNextPage: boolean })> => {\n if (!key.length) {\n return { data: [], isNextPage: false };\n }\n\n let items = await get(key);\n if (!Array.isArray(items)) {\n return { data: [], isNextPage: false };\n }\n\n const minResult = (page - 1) * (limit || RESULTS_PER_PAGE);\n const maxResult = page * (limit || RESULTS_PER_PAGE);\n\n if (filterPredicate) {\n items = items.filter((i: Record | undefined) => filterPredicate(i));\n }\n if (sortPredicate) {\n items = items.sort((a: Record | undefined, b: Record | undefined) => sortPredicate(a, b));\n }\n\n const data = items.slice(minResult, maxResult);\n return { data: data, isNextPage: !!data.length && data.length === (limit || RESULTS_PER_PAGE) };\n };\n\n return (\n \n );\n};\n\nconst useOfflineStorage = () => {\n const context = React.useContext(OfflineStorageContext) as OfflineStorageInterface;\n if (context === undefined) {\n throw new Error(`useOfflineStorage must be used within a OfflineStorageProvider`);\n }\n return context;\n};\n\nexport { useOfflineStorage };\nexport default OfflineStorageProvider;\n","// A custom hook that builds on useLocation to parse\n// the query string for you.\nimport { useLocation } from \"react-router-dom\";\n\nexport function useQuery() {\n return new URLSearchParams(useLocation().search);\n}\n","/* tslint:disable */\n/* eslint-disable */\n\nexport const updateAlert = /* GraphQL */ `\n mutation UpdateAlert(\n $input: UpdateAlertInput!\n $condition: ModelAlertConditionInput\n ) {\n updateAlert(input: $input, condition: $condition) {\n id\n content\n action\n isRead\n createdAt\n alertUserId\n updatedAt\n }\n }\n`;\nexport const createMessage = /* GraphQL */ `\n mutation CreateMessage(\n $input: CreateMessageInput!\n $condition: ModelMessageConditionInput\n ) {\n createMessage(input: $input, condition: $condition) {\n id\n content\n createdAt\n updatedAt\n readBy\n messageAuthorId\n messageConversationId\n }\n }\n`;\nexport const updateMessage = /* GraphQL */ `\n mutation UpdateMessage(\n $input: UpdateMessageInput!\n $condition: ModelMessageConditionInput\n ) {\n updateMessage(input: $input, condition: $condition) {\n id\n content\n createdAt\n messageAuthorId\n readBy\n messageConversationId\n updatedAt\n }\n }\n`;\nexport const deleteMessage = /* GraphQL */ `\n mutation DeleteMessage(\n $input: DeleteMessageInput!\n $condition: ModelMessageConditionInput\n ) {\n deleteMessage(input: $input, condition: $condition) {\n id\n content\n createdAt\n messageAuthorId\n readBy\n messageConversationId\n updatedAt\n }\n }\n`;\nexport const createDevice = /* GraphQL */ `\n mutation CreateDevice(\n $input: CreateDeviceInput!\n $condition: ModelDeviceConditionInput\n ) {\n createDevice(input: $input, condition: $condition) {\n id\n token\n platform\n bundleId\n deviceArn\n deviceUserId\n createdAt\n updatedAt\n }\n }\n`;\nexport const deleteDevice = /* GraphQL */ `\n mutation DeleteDevice(\n $input: DeleteDeviceInput!\n $condition: ModelDeviceConditionInput\n ) {\n deleteDevice(input: $input, condition: $condition) {\n id\n token\n platform\n bundleId\n deviceArn\n deviceUserId\n createdAt\n updatedAt\n }\n }\n`;\nexport const updateUser = /* GraphQL */ `\n mutation UpdateUser(\n $input: UpdateUserInput!\n $condition: ModelUserConditionInput\n ) {\n updateUser(input: $input, condition: $condition) {\n id\n authId\n email\n firstName\n lastName\n profile {\n sex\n pronouns\n ageBracket\n }\n gender\n bodyType\n height\n weight\n bodyFat\n activityFactor\n nutritionNotes\n joinReason\n trainingCalendarLink\n guessedLocation\n journal {\n weight\n waist\n appetiteRating\n energyRating\n sleepRating\n motivationRating\n wellnessRating\n stressRating\n nutritionRating\n createdAt\n }\n events {\n name\n details\n date\n location\n goal\n preEventFoodRituals\n nutritionProducts\n nutritionLogistics\n issues\n leadupEvents\n accomodation\n leadupEventDate\n leadupEventDetails\n createdAt\n }\n sports {\n name\n level\n comments\n }\n goals {\n description\n comments\n progress {\n rating\n createdAt\n }\n targetDate\n createdAt\n }\n teams {\n name\n joinedAt\n }\n foodDiary {\n date\n day\n items {\n time\n detail\n comments\n }\n }\n nutritionInformation {\n allergies\n supplements\n dislikes\n comments\n preferences\n goals {\n description\n comments\n progress {\n rating\n createdAt\n }\n targetDate\n createdAt\n }\n dietaryRequirements\n }\n nutritionAssessments {\n requestDate\n responseStartDate\n responseCompleteDate\n responses {\n question\n answer\n comments\n score\n }\n score\n }\n lifestyle {\n cookingSkills\n cookingMethods\n easyNights\n homeSituation\n peopleToFeed\n workDays\n nightsEatingOut\n workShifts\n breakfastOnTheRun\n occupation\n preferences\n }\n healthInformation {\n medicalConditions\n medication\n isMenstruating\n regularPeriod\n periodStoppedOver3Months\n }\n membership {\n id\n amount\n plan\n discount\n createdAt\n expiresAt\n cancelAtPeriodEnd\n }\n stripeCustomerId\n permission {\n hasMeals\n hasHabits\n }\n priority {\n bonking\n energyLevels\n gutUpset\n manageCramping\n muscleMass\n overallHealth\n performance\n raceDayNutrition\n trainingAdaptations\n weightLoss\n createdAt\n }\n priorityConfidence {\n bonking\n energyLevels\n gutUpset\n manageCramping\n muscleMass\n overallHealth\n performance\n raceDayNutrition\n trainingAdaptations\n weightLoss\n createdAt\n }\n lastActiveAt\n createdAt\n updatedAt\n paymentMethod {\n id\n type\n brand\n exp_month\n exp_year\n last4\n }\n status\n devices {\n items {\n id\n token\n platform\n bundleId\n deviceArn\n deviceUserId\n createdAt\n updatedAt\n }\n nextToken\n }\n messages {\n items {\n id\n content\n createdAt\n messageAuthorId\n readBy\n messageConversationId\n updatedAt\n }\n nextToken\n }\n specialists {\n items {\n id\n clientId\n specialistId\n specialist {\n id\n displayName\n businessName\n qualifications\n clinicalSpecialities\n sportSpecialities\n bio\n trivia\n providerNumber\n businessIdNumber\n gender\n image\n video\n status\n isAvailable\n clientLimit\n ownerId\n createdAt\n updatedAt\n }\n messages {\n items {\n id\n content\n createdAt\n messageAuthorId\n readBy\n messageConversationId\n updatedAt\n }\n nextToken\n }\n status\n servicingNote\n files {\n title\n url\n type\n createdAt\n }\n createdAt\n updatedAt\n }\n nextToken\n }\n editors\n viewers\n contactInfoId\n contactInfo {\n id\n userId\n firstName\n lastName\n avatar\n email\n phone\n permissionToShare\n createdAt\n updatedAt\n }\n clientProfile {\n items {\n id\n userId\n specialistId\n status\n servicingNote\n settings\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n }\n`;\nexport const createUser = /* GraphQL */ `\n mutation CreateUser(\n $input: CreateUserInput!\n $condition: ModelUserConditionInput\n ) {\n createUser(input: $input, condition: $condition) {\n id\n authId\n createdAt\n updatedAt\n status\n guessedLocation\n permission {\n hasMeals\n hasHabits\n }\n devices {\n items {\n id\n token\n platform\n bundleId\n deviceArn\n deviceUserId\n user {\n id\n authId\n email\n firstName\n lastName\n gender\n dateOfBirth\n bodyType\n height\n weight\n bodyFat\n activityFactor\n nutritionNotes\n joinReason\n trainingCalendarLink\n lastActiveAt\n createdAt\n updatedAt\n status\n editors\n }\n createdAt\n updatedAt\n }\n nextToken\n }\n messages {\n items {\n id\n content\n createdAt\n messageAuthorId\n readBy\n author {\n id\n authId\n email\n firstName\n lastName\n gender\n dateOfBirth\n bodyType\n height\n weight\n bodyFat\n activityFactor\n nutritionNotes\n joinReason\n trainingCalendarLink\n lastActiveAt\n createdAt\n updatedAt\n status\n editors\n }\n messageConversationId\n conversation {\n id\n clientId\n specialistId\n status\n servicingNote\n createdAt\n updatedAt\n }\n updatedAt\n }\n nextToken\n }\n specialists {\n items {\n id\n clientId\n specialistId\n client {\n id\n authId\n email\n firstName\n lastName\n gender\n dateOfBirth\n bodyType\n height\n weight\n bodyFat\n activityFactor\n nutritionNotes\n joinReason\n trainingCalendarLink\n lastActiveAt\n createdAt\n updatedAt\n status\n editors\n }\n specialist {\n id\n displayName\n businessName\n qualifications\n clinicalSpecialities\n sportSpecialities\n bio\n trivia\n providerNumber\n businessIdNumber\n gender\n dateOfBirth\n image\n video\n status\n isAvailable\n clientLimit\n ownerId\n createdAt\n updatedAt\n }\n messages {\n nextToken\n }\n status\n servicingNote\n files {\n title\n url\n type\n createdAt\n }\n createdAt\n updatedAt\n }\n nextToken\n }\n editors\n viewers\n contactInfoId\n contactInfo {\n id\n userId\n firstName\n lastName\n avatar\n email\n phone\n permissionToShare\n createdAt\n updatedAt\n }\n clientProfile {\n items {\n id\n userId\n specialistId\n status\n servicingNote\n settings\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n }\n`;\nexport const createContactInfo = /* GraphQL */ `\n mutation CreateContactInfo(\n $input: CreateContactInfoInput!\n $condition: ModelContactInfoConditionInput\n ) {\n createContactInfo(input: $input, condition: $condition) {\n id\n userId\n firstName\n lastName\n avatar\n email\n phone\n permissionToShare\n createdAt\n updatedAt\n }\n }\n`;\nexport const updateContactInfo = /* GraphQL */ `\n mutation UpdateContactInfo(\n $input: UpdateContactInfoInput!\n $condition: ModelContactInfoConditionInput\n ) {\n updateContactInfo(input: $input, condition: $condition) {\n id\n userId\n firstName\n lastName\n avatar\n email\n phone\n permissionToShare\n createdAt\n updatedAt\n }\n }\n`;\nexport const updateInvitation = /* GraphQL */ `\n mutation UpdateInvitation(\n $input: UpdateInvitationInput!\n $condition: ModelInvitationConditionInput\n ) {\n updateInvitation(input: $input, condition: $condition) {\n id\n clientId\n invitedUserId\n email\n contactType\n firstName\n lastName\n status\n createdAt\n updatedAt\n }\n }\n`;\n\n\nexport const createHabits = /* GraphQL */ `\n mutation CreateHabits(\n $input: CreateHabitsInput!\n $condition: ModelHabitsConditionInput\n ) {\n createHabits(input: $input, condition: $condition) {\n id\n identityGoal\n weeklyReflectionDay\n log {\n content\n type\n createdAt\n }\n behaviours {\n id\n behaviour\n status\n colour\n }\n actions {\n id\n description\n status\n behaviour\n behaviourId\n }\n status\n userId\n editors\n viewers\n createdAt\n updatedAt\n }\n }\n`;\nexport const updateHabits = /* GraphQL */ `\n mutation UpdateHabits(\n $input: UpdateHabitsInput!\n $condition: ModelHabitsConditionInput\n ) {\n updateHabits(input: $input, condition: $condition) {\n id\n identityGoal\n weeklyReflectionDay\n log {\n content\n type\n createdAt\n }\n behaviours {\n id\n behaviour\n status\n colour\n }\n actions {\n id\n description\n status\n behaviour\n behaviourId\n }\n status\n userId\n editors\n viewers\n createdAt\n updatedAt\n }\n }\n`;\nexport const updateAssessment = /* GraphQL */ `\n mutation UpdateAssessment(\n $input: UpdateAssessmentInput!\n $condition: ModelAssessmentConditionInput\n ) {\n updateAssessment(input: $input, condition: $condition) {\n id\n userId\n forms {\n typeformId\n title\n submittedAt\n }\n insightId\n insight {\n id\n teamId\n dueDate\n userCount\n createdAt\n updatedAt\n }\n status\n completedAt\n createdAt\n updatedAt\n }\n }\n`;","import React, { useState, useEffect } from 'react';\nimport update from 'react-addons-update';\nimport API, { graphqlOperation, GraphQLResult } from \"@aws-amplify/api\";\nimport { Alert } from '../API';\nimport { updateAlert } from '../graphql/mutations';\nimport { alertByUserByAction } from \"../graphql/queries\";\nimport { AlertByUserByActionQuery, UpdateAlertMutation } from '../declarations/awsTypeDeclarations';\nimport { useUser } from \"./UserProvider\";\nimport loadData from '../helpers/graphqlPagination';\n\ninterface AlertContextInterface {\n notifications: Alert[] | null | undefined;\n clearAlertsByPath: (alerts: Alert[] | null | undefined, path: string | RegExp) => void;\n}\n\nconst AlertContext = React.createContext(null);\n\nconst AlertProvider: React.FC = (props) => {\n const { user } = useUser();\n const [notifications, setNotifications] = useState([]);\n\n useEffect(() => {\n if (user?.id) {\n loadData('alertByUserByAction', alertByUserByAction, { alertUserId: user.id, actionCreatedAt: { beginsWith: { action: 'notification', createdAt: '20' } }, sortDirection: 'DESC', limit: 100 }).then((results) => {\n setNotifications(results.items);\n });\n }\n }, [user]);\n\n const clearAlertsByPath = (alerts: Alert[] | null | undefined, path: string | RegExp) => {\n const regex = new RegExp(path, \"ig\");\n const matchingAlerts = alerts?.filter((notification) => !notification.isRead && notification.content && !!notification.content.match(regex)) || [];\n const promises = matchingAlerts.map((alert) => {\n return API.graphql(graphqlOperation(updateAlert, { input: { ...alert, isRead: true } })) as Promise>;\n });\n Promise.all(promises).then((updatedAlerts) => {\n let originalAlerts = alerts || [];\n for (const updatedAlert of updatedAlerts) {\n const index = originalAlerts.findIndex((n) => n.id === updatedAlert.data?.updateAlert?.id);\n if (index > -1 && updatedAlert.data?.updateAlert) originalAlerts = update(originalAlerts, { $splice: [[index, 1, updatedAlert.data.updateAlert]] });\n }\n setNotifications(originalAlerts);\n }).catch((e) => console.log(e));\n };\n\n return (\n \n );\n};\n\nconst useAlerts = () => {\n const context = React.useContext(AlertContext) as AlertContextInterface;\n if (context === undefined) {\n throw new Error(`useAlerts must be used within a AlertProvider`);\n }\n return context;\n};\n\nexport { useAlerts };\nexport default AlertProvider;\n","import React, { useEffect, useState } from 'react';\nimport Lottie from 'react-lottie';\nimport { IonPage, IonContent, IonGrid, IonRow, IonCol, IonLoading } from '@ionic/react';\nimport animationData from '../animations/17100-food.json';\nimport loadingMessages from '../constants/loadingMessages.json';\n\nconst rowStyle = {\n height: '100vh'\n};\n\nconst defaultOptions = {\n loop: true,\n autoplay: true,\n animationData: animationData,\n rendererSettings: {\n preserveAspectRatio: \"xMidYMid slice\"\n }\n};\n\nconst Loading = (props: { useIonLoading?: boolean; message?: string; }) => {\n const { useIonLoading, message } = props;\n const [loadingMessage, setLoadingMessage] = useState(message);\n useEffect(() => {\n if (!loadingMessage) {\n const rand = new Date().getMinutes() * 2;\n setLoadingMessage(loadingMessages[rand]);\n }\n }, [loadingMessage]);\n\n if (useIonLoading) return (\n \n );\n\n return (\n \n \n \n \n \n
\n {loadingMessage}\n
\n \n
\n
\n
\n
\n
\n\n );\n};\n\nexport default Loading;","export default __webpack_public_path__ + \"static/media/logo_transparent_bw.95f6b2a9.png\";","import React, { ReactNode } from 'react';\nimport { IonContent, IonPage } from '@ionic/react';\n\nconst PublicLayout = (props: { children: ReactNode; }) => {\n const { children } = props;\n return (\n \n \n
\n
 
\n {children}\n
 
\n
\n
\n
\n );\n};\n\nexport default PublicLayout;","import React from 'react';\nimport LoginForm from \"../../components/LoginForm\";\nimport { IonCard, IonCardContent, IonCol, IonContent, IonGrid, IonImg, IonPage, IonRow, IonText } from '@ionic/react';\nimport { version } from \"../../../package.json\";\nimport compeatLogo from '../../assets/compeat/logo_transparent_bw.png';\nimport { Link } from 'react-router-dom';\n\nconst SignInView = (props: {\n socialButtonActionLabel?: string;\n hideGetStartedFree?: boolean;\n}) => {\n const socialButtonActionLabel = props.socialButtonActionLabel || 'Continue';\n\n if (localStorage.getItem('resetToken')) {\n localStorage.removeItem('resetToken');\n }\n document.title = \"Sign in page\";\n\n return (\n \n \n \n \n
 
\n \n \n \n \n \n \n \n \n \n Privacy Policy\n \n | \n \n Forgot your password?\n \n \n \n \n \n version: {version}\n \n \n
 
\n
\n
\n
\n
\n );\n};\n\nexport default SignInView;\n","/* tslint:disable */\n/* eslint-disable */\n\nexport const onCreateAlert = /* GraphQL */ `\n subscription OnCreateAlert($alertUserId: ID!) {\n onCreateAlert(alertUserId: $alertUserId) {\n id\n content\n action\n isRead\n createdAt\n updatedAt\n alertUserId\n }\n }\n`;\nexport const onCreateMessage = /* GraphQL */ `\n subscription OnCreateMessage($messageConversationId: ID!) {\n onCreateMessage(messageConversationId: $messageConversationId) {\n id\n content\n createdAt\n updatedAt\n readBy\n messageAuthorId\n messageConversationId\n }\n }\n`;\nexport const onUpdateMessage = /* GraphQL */ `\n subscription OnUpdateMessage($messageConversationId: ID!) {\n onUpdateMessage(messageConversationId: $messageConversationId) {\n id\n content\n createdAt\n updatedAt\n readBy\n messageAuthorId\n messageConversationId\n }\n }\n`;\nexport const onUpdateConversation = /* GraphQL */ `\n subscription OnUpdateConversation($id: ID!) {\n onUpdateConversation(id: $id) {\n id\n clientId\n specialistId\n servicingNote\n messages {\n items {\n id\n content\n createdAt\n readBy\n messageConversationId\n updatedAt\n }\n nextToken\n }\n files {\n title\n url\n createdAt\n }\n createdAt\n updatedAt\n }\n }\n`;\nexport const onUpdateUser = /* GraphQL */ `\n subscription OnUpdateUser($id: ID!) {\n onUpdateUser(id: $id) {\n id\n authId\n email\n firstName\n lastName\n profile {\n sex\n pronouns\n ageBracket\n }\n gender\n bodyType\n height\n weight\n bodyFat\n activityFactor\n nutritionNotes\n joinReason\n trainingCalendarLink\n guessedLocation\n journal {\n weight\n waist\n appetiteRating\n energyRating\n sleepRating\n motivationRating\n wellnessRating\n stressRating\n nutritionRating\n createdAt\n }\n events {\n name\n details\n date\n location\n goal\n preEventFoodRituals\n nutritionProducts\n nutritionLogistics\n issues\n leadupEvents\n accomodation\n leadupEventDate\n leadupEventDetails\n createdAt\n }\n sports {\n name\n level\n comments\n }\n goals {\n description\n comments\n progress {\n rating\n createdAt\n }\n targetDate\n createdAt\n }\n teams {\n name\n joinedAt\n }\n foodDiary {\n date\n day\n items {\n time\n detail\n comments\n }\n }\n nutritionInformation {\n allergies\n supplements\n dislikes\n comments\n preferences\n goals {\n description\n comments\n progress {\n rating\n createdAt\n }\n targetDate\n createdAt\n }\n dietaryRequirements\n }\n nutritionAssessments {\n requestDate\n responseStartDate\n responseCompleteDate\n responses {\n question\n answer\n comments\n score\n }\n score\n }\n lifestyle {\n cookingSkills\n cookingMethods\n easyNights\n homeSituation\n peopleToFeed\n workDays\n nightsEatingOut\n workShifts\n breakfastOnTheRun\n occupation\n preferences\n }\n healthInformation {\n medicalConditions\n medication\n isMenstruating\n regularPeriod\n periodStoppedOver3Months\n }\n membership {\n id\n amount\n plan\n discount\n createdAt\n expiresAt\n cancelAtPeriodEnd\n }\n stripeCustomerId\n permission {\n hasMeals\n hasHabits\n }\n menuScheduleDay\n priority {\n bonking\n energyLevels\n gutUpset\n manageCramping\n muscleMass\n overallHealth\n performance\n raceDayNutrition\n trainingAdaptations\n weightLoss\n createdAt\n }\n priorityConfidence {\n bonking\n energyLevels\n gutUpset\n manageCramping\n muscleMass\n overallHealth\n performance\n raceDayNutrition\n trainingAdaptations\n weightLoss\n createdAt\n }\n lastActiveAt\n createdAt\n updatedAt\n paymentMethod {\n id\n type\n brand\n exp_month\n exp_year\n last4\n }\n status\n devices {\n items {\n id\n token\n platform\n bundleId\n deviceArn\n deviceUserId\n createdAt\n updatedAt\n }\n nextToken\n }\n messages {\n items {\n id\n content\n createdAt\n messageAuthorId\n readBy\n messageConversationId\n updatedAt\n }\n nextToken\n }\n specialists {\n items {\n id\n clientId\n specialistId\n specialist {\n id\n displayName\n businessName\n qualifications\n clinicalSpecialities\n sportSpecialities\n bio\n trivia\n providerNumber\n businessIdNumber\n gender\n image\n video\n status\n isAvailable\n clientLimit\n ownerId\n createdAt\n updatedAt\n }\n messages {\n items {\n id\n content\n createdAt\n messageAuthorId\n readBy\n messageConversationId\n updatedAt\n }\n nextToken\n }\n status\n servicingNote\n files {\n title\n url\n type\n createdAt\n }\n createdAt\n updatedAt\n }\n nextToken\n }\n editors\n viewers\n contactInfoId\n contactInfo {\n id\n userId\n firstName\n lastName\n avatar\n email\n phone\n permissionToShare \n createdAt\n updatedAt\n }\n clientProfile {\n items {\n id\n userId\n specialistId\n status\n servicingNote\n settings\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n }\n`;\nexport const onUpdateContactInfo = /* GraphQL */ `\n subscription OnUpdateContactInfo($id: ID!) {\n onUpdateContactInfo(id: $id) {\n id\n userId\n firstName\n lastName\n avatar\n email\n phone\n permissionToShare\n createdAt\n updatedAt\n }\n }\n`;\nexport const onUpdateHabits = /* GraphQL */ `\n subscription onUpdateHabits($id: ID!) {\n onUpdateHabits(id: $id) {\n id\n identityGoal\n weeklyReflectionDay\n log {\n content\n type\n createdAt\n }\n behaviours {\n id\n behaviour\n status\n colour\n }\n actions {\n id\n description\n status\n behaviour\n behaviourId\n }\n status\n userId\n editors\n viewers\n createdAt\n updatedAt\n }\n }\n`;\nexport const onCreateHabitsByUser = /* GraphQL */ `\n subscription OnCreateHabitsByUser($userId: ID!) {\n onCreateHabitsByUser(userId: $userId) {\n id\n identityGoal\n weeklyReflectionDay\n log {\n content\n type\n createdAt\n }\n behaviours {\n id\n behaviour\n status\n colour\n }\n actions {\n id\n description\n status\n behaviour\n behaviourId\n }\n status\n userId\n editors\n viewers\n createdAt\n updatedAt\n }\n }\n`;\nexport const onCreateMealPlan = /* GraphQL */ `\n subscription OnCreateMealPlan($userId: ID!) {\n onCreateMealPlan(userId: $userId) {\n id\n type\n kilojoules\n mealGroups {\n type\n count\n }\n meals {\n items {\n id\n mealPlanId\n mealId\n meal {\n id\n author\n source {\n name\n avatar\n url\n }\n title\n image\n description\n mealTypes\n dietary\n allergens\n cuisines\n tags\n cookingMethods\n cookingSkill\n ingredients {\n items {\n id\n mealId\n foodId\n food {\n id\n item\n measurementUnits\n unit\n aisle\n allergens\n density\n createdAt\n updatedAt\n }\n item\n qty\n unit\n isOptional\n createdAt\n updatedAt\n }\n nextToken\n }\n serves\n instructions {\n step\n direction\n }\n times {\n total\n prep\n cook\n }\n nutrition {\n kilojoules\n carbohydrates\n fat\n protein\n fibre\n iron\n calcium\n }\n notes\n status\n showInRecipe\n updatedAt\n createdAt\n }\n type\n note\n createdAt\n updatedAt\n }\n nextToken\n }\n startingAt\n status\n userId\n mealPlanSetId\n editors\n viewers\n createdAt\n updatedAt\n }\n }\n`;\nexport const onUpdateMealPlan = /* GraphQL */ `\n subscription OnUpdateMealPlan($userId: ID!) {\n onUpdateMealPlan(userId: $userId) {\n id\n type\n kilojoules\n mealGroups {\n type\n count\n }\n meals {\n items {\n id\n mealPlanId\n mealId\n meal {\n id\n author\n source {\n name\n avatar\n url\n }\n title\n image\n description\n mealTypes\n dietary\n allergens\n cuisines\n tags\n cookingMethods\n cookingSkill\n ingredients {\n items {\n id\n mealId\n foodId\n food {\n id\n item\n measurementUnits\n unit\n aisle\n allergens\n density\n createdAt\n updatedAt\n }\n item\n qty\n unit\n isOptional\n createdAt\n updatedAt\n }\n nextToken\n }\n serves\n instructions {\n step\n direction\n }\n times {\n total\n prep\n cook\n }\n nutrition {\n kilojoules\n carbohydrates\n fat\n protein\n fibre\n iron\n calcium\n }\n notes\n status\n showInRecipe\n updatedAt\n createdAt\n }\n type\n note\n createdAt\n updatedAt\n }\n nextToken\n }\n startingAt\n status\n userId\n mealPlanSetId\n editors\n viewers\n createdAt\n updatedAt\n }\n }\n`;","import API, { graphqlOperation, GraphQLResult } from '@aws-amplify/api';\nimport * as Sentry from '@sentry/react';\n\ninterface Dictionary {\n [index: string]: T;\n}\n\nexport default async function loadData(key: string, graphql: string, variables: Record & { nextToken?: string | null, limit?: number; } = {}) {\n const callAPI = async (graphql: string, variables = {}, nextToken?: string | null) => {\n return await (API.graphql(graphqlOperation(graphql, { ...variables, nextToken: nextToken })) as Promise>).catch((reason) => {\n Sentry.captureException(reason);\n return reason;\n });\n };\n\n type CallAPI = { data: Dictionary<{ items?: T[] | null, nextToken?: string | null; }>, errors?: Error[]; } | undefined;\n\n let results: T[] | null | undefined;\n let result = await callAPI(graphql, variables, variables?.nextToken) as CallAPI;\n let errors = result?.errors;\n if (errors || !result?.data || !Object.keys(result?.data).includes(key)) {\n Sentry.captureException({ data: result?.data, errors: errors });\n return { items: result?.data && Object.keys(result?.data).includes(key) ? result?.data[key]?.items : null, errors: errors, nextToken: null };\n }\n let nextToken = result?.data[key].nextToken; // This will happen when the number of items returned due to page limit of AWS matches the specified limit. i.e. null when all retrieved in one call.\n if (result?.data[key].items?.length) {\n results = result.data[key].items;\n while (((result?.data[key].nextToken?.length && !variables.limit) || (nextToken?.length && result && results && variables?.limit && (results?.length || 0) < variables?.limit)) && !errors) {\n let callVariables = variables;\n if (variables?.limit) {\n callVariables = { ...variables, limit: variables.limit - (results?.length || 0) };\n }\n result = await callAPI(graphql, callVariables, result.data[key].nextToken) as CallAPI;\n errors = result?.errors;\n nextToken = result?.data[key].nextToken;\n if (result?.data[key].items?.length && results) {\n const list = result.data[key].items as T[];\n results = [...results, ...list];\n }\n }\n }\n if (errors) console.log(graphql, errors);\n return { items: results, errors: errors, nextToken: nextToken };\n}\n","import React, { ReactNode } from 'react';\nimport { IonPage, IonHeader, IonToolbar, IonTitle, IonContent } from '@ionic/react';\n\nconst UnauthenticatedLayout = (props: { children: ReactNode; title: string; }) => {\n const { children, title } = props;\n\n return (\n \n \n \n {title}\n \n \n \n
\n
\n
\n
\n
\n {children}\n
\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default UnauthenticatedLayout;","import { IonAlert, IonItem, IonIcon, IonText, IonThumbnail, IonItemDivider } from \"@ionic/react\";\nimport { mail, logoApple, checkmarkCircle } from \"ionicons/icons\";\nimport React, { ReactNode, useEffect, useState } from \"react\";\nimport './LoginForm.scss';\nimport { useHistory } from \"react-router-dom\";\nimport { useUser } from \"../context/UserProvider\";\nimport { Formik, Field } from \"formik\";\nimport * as Yup from \"yup\";\nimport classNames from \"classnames\";\nimport { Capacitor } from \"@capacitor/core\";\nimport { useAuth } from \"../context/AuthProvider\";\nimport googleLogo from '../assets/icons/g-logo.png';\n\nconst buttonStyle = {\n background: 'white',\n color: 'var(--ion-color-dark)',\n borderRadius: '4px',\n textTransform: 'none',\n boxShadow: 'var(--box-shadow)',\n marginTop: '12px',\n height: '48px'\n};\n\nconst buttonIconStyle = {\n height: '30px',\n width: '30px',\n marginTop: '6px',\n marginBottom: '6px',\n marginRight: '16px'\n};\n\nconst appleButtonIconStyle = {\n ...buttonIconStyle,\n ...{ color: 'black', paddingBottom: '2px' }\n};\n\nconst LoginForm = (props: {\n children?: ReactNode,\n socialButtonActionLabel?: string;\n}) => {\n const { socialLogin, passwordLogin, error } = useAuth();\n const { user } = useUser();\n const history = useHistory();\n const { children, socialButtonActionLabel } = props;\n const buttonActionLabel = socialButtonActionLabel || 'Continue';\n const showAppleConsent = !!user;\n let passwordErrors: string[] | null = null; // Use for showing password criteria\n const [isLoading, setIsLoading] = useState(false);\n\n const validationSchema = Yup.object().shape({\n email: Yup.string().email('Invalid email').required('Email required'),\n password: Yup.string().min(6, 'Password too short').required('Password required'),\n });\n\n useEffect(() => {\n if (user?.id) {\n setIsLoading(false);\n }\n }, [user]);\n\n const validatePassword = async (values: { email: string; password: string; }) => {\n try {\n // `{ abortEarly: false }` is optional, but shows all the failed password conditions.\n await validationSchema.validate(values, { abortEarly: false });\n passwordErrors = [];\n } catch (e: any) {\n passwordErrors = e.errors;\n }\n };\n\n return (\n <>\n {error ?\n \n : null}\n
\n socialLogin(\"google.com\")}\n >\n \n \"Sign\n \n {buttonActionLabel} with Google\n \n\n showAppleConsent ? history.push('/consent') : socialLogin(\"apple.com\")}\n >\n \n {buttonActionLabel} with Apple\n \n\n \n - or - \n \n\n {\n setIsLoading(true);\n passwordLogin(values.email, values.password);\n }}\n >\n {props => (\n
\n \n {(props.touched.email) && props.errors.email &&\n
{props.errors.email}
}\n\n \n {(props.touched.password) && props.errors.password &&\n
{props.errors.password}
}\n

\n 6 characters minimum.\n

\n props.handleSubmit()}\n disabled={isLoading}\n >\n \n \n {buttonActionLabel}\n \n \n \n )}\n \n\n\n \n \n We won't post to any of your accounts without asking\n \n \n
\n {children}\n \n );\n};\n\nexport default LoginForm;\n","export default \"data:image/png;base64,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\"","import React, { useState, useEffect } from 'react';\nimport { IonToolbar, IonButtons, IonHeader, IonTitle, IonBackButton } from '@ionic/react';\nimport { Network } from '@capacitor/network';\nimport { SlideDown } from 'react-slidedown';\nimport { NotificationsButton } from './Notifications';\nimport fork from '../assets/compeat/fork_transparent.png';\nimport { arrowBackOutline } from 'ionicons/icons';\nimport { useModal } from '../context/ModalProvider';\nimport { useUser } from '../context/UserProvider';\nimport { useProfile } from '../context/ProfileProvider';\nimport 'react-slidedown/lib/slidedown.css';\nimport './Header.scss';\n\nexport interface BannerProps {\n text: string;\n color: string;\n}\n\nconst Header = (props: { banner?: BannerProps | null; buttons?: any; children?: any; showBackButton?: boolean; }) => {\n const [connected, setConnected] = useState(true);\n const { setShowNotification } = useModal();\n const { user } = useUser();\n const { profile } = useProfile();\n\n useEffect(() => {\n Network.getStatus().then((status: { connected: React.SetStateAction; }) => {\n setConnected(status.connected);\n });\n const handler = Network.addListener('networkStatusChange', (status: { connected: React.SetStateAction; }) => {\n setConnected(status.connected);\n });\n return function cleanup() {\n handler.remove();\n };\n }, []);\n\n return (\n \n \n {props.showBackButton &&\n \n \n \n }\n {props.children || \n \n }\n \n {props.buttons || (user?.id === profile?.id && setShowNotification(true)} />)}\n \n \n \n {!connected &&
No Internet Connection
}\n {props.banner &&
{props.banner.text}
}\n
\n
\n );\n};\n\nexport default Header;\n\n","import React, { useEffect, useState, Dispatch, SetStateAction } from 'react';\nimport * as Sentry from '@sentry/react';\nimport { groupBy, isEqual, isNull, mergeWith, sortBy } from 'lodash';\nimport update from 'react-addons-update';\nimport { ZenObservable } from 'zen-observable-ts';\nimport API, { graphqlOperation, GraphQLResult } from '@aws-amplify/api';\nimport { GetUserQuery, ContactInfo, User, OnUpdateUserSubscription, OnCreateMessageSubscription, Alert } from '../API';\nimport { getUser, listUsers, listConversations, alertByUserByAction } from '../graphql/queries';\nimport { onUpdateUser, onCreateMessage } from '../graphql/subscriptions';\nimport { useAuth } from './AuthProvider';\nimport { useUser } from './UserProvider';\nimport { useAlerts } from './AlertProvider';\nimport { useOfflineStorage } from './OfflineStorageProvider';\nimport { Conversation, ListConversationsQuery, ListUsersQuery, AlertByUserByActionQuery, UpdateAlertMutation } from '../declarations/awsTypeDeclarations';\nimport loadData from '../helpers/graphqlPagination';\nimport { updateAlert } from '../graphql/mutations';\n\ninterface ProfileConversation extends Conversation {\n badge?: number;\n}\n\ntype Profile = (User & { conversations: ProfileConversation[] | undefined }) | undefined;\n\ninterface Dictionary {\n [index: string]: T;\n}\n\ninterface ProfileContextInterface {\n profile: Profile;\n setProfile: Dispatch>;\n availableProfiles: Dictionary | undefined;\n setCurrentProfileId: Dispatch>;\n setRefreshProfiles: Dispatch>;\n setRefreshConversations: (refreshConversations: boolean) => void;\n setDelayedRefresh: Dispatch>;\n badge: number;\n}\n\nconst ProfileContext = React.createContext(null);\n\ntype Contact = {\n id: string;\n contactInfo: ContactInfo;\n}\n\ntype UserData = {\n profileUser: User | undefined;\n currentProfileId: string | undefined;\n previousProfileId: string | undefined;\n refreshConversations: boolean;\n profiles: User[];\n};\n\nconst ProfileProvider: React.FC = (props) => {\n const { authUser } = useAuth();\n const { user } = useUser();\n const { notifications } = useAlerts();\n const { get, set } = useOfflineStorage();\n const [currentProfileId, setCurrentProfileId] = useState();\n const [profile, setProfile] = useState();\n const [userData, setUserData] = useState({ profileUser: undefined, currentProfileId: undefined, previousProfileId: undefined, refreshConversations: false, profiles: [] });\n const [availableProfiles, setAvailableProfiles] = useState | undefined>();\n const [refreshProfiles, setRefreshProfiles] = useState(true);\n const [delayedRefresh, setDelayedRefresh] = useState(false);\n const [badge, setBadge] = useState(0);\n const [clearAlerts, setClearAlerts] = useState(false);\n const [subscriptions, setSubscriptions] = useState<{ onCreateSubscriptions?: ZenObservable.Subscription[], onCreateConversations?: ProfileConversation[] } | undefined>(); // Prevent duplicate subscriptions for the same API subscription\n\n useEffect(() => {\n if (profile && profile?.conversations && clearAlerts) {\n loadData('alertByUserByAction', alertByUserByAction, { alertUserId: profile.id, actionCreatedAt: { beginsWith: { action: 'notification', createdAt: '20' } }, sortDirection: 'DESC', limit: 100 }).then((results) => {\n profile.conversations?.map((pc) => {\n const notifications = results.items?.filter((notification) => !notification.isRead && notification.content && !!notification.content.match(new RegExp(`link\":\"/specialist/${pc.id}`, \"ig\"))) || [];\n // Clear the unread notifications\n notifications.map((n) => {\n return (API.graphql(graphqlOperation(updateAlert, { input: { ...n, isRead: true } })) as Promise>).then();\n });\n setClearAlerts(false);\n });\n });\n }\n }, [clearAlerts, profile]);\n\n useEffect(() => {\n let timer: NodeJS.Timeout;\n if (delayedRefresh) {\n setDelayedRefresh(false);\n // Give the API time to set conversations inactive\n setTimeout(() => {\n // Trigger profile provider to refresh conversations\n setRefreshConversations(true);\n }, 10000);\n }\n return () => {\n if (timer) clearTimeout(timer);\n };\n }, [delayedRefresh]);\n\n useEffect(() => {\n if (profile) {\n setBadge(profile?.conversations?.reduce((acc, obj) => (acc + (obj.badge || 0)), 0) || 0);\n }\n }, [profile]);\n\n useEffect(() => {\n if (authUser) {\n get('currentProfileId').then(async (_currentProfileId) => {\n if (_currentProfileId && (typeof _currentProfileId === \"string\" || typeof _currentProfileId === \"undefined\")) {\n // if the user has a current profile Id set, then use that\n setCurrentProfileId(_currentProfileId);\n } else {\n // otherwise, grab the profile Id from the JWT\n const idToken = await authUser.getIdTokenResult(true);\n const compeatUserId = idToken.claims && idToken.claims.compeat_user_id ? idToken.claims.compeat_user_id : authUser.uid;\n setCurrentProfileId(compeatUserId);\n }\n });\n } else {\n // once the user logs out, remove the current profile Id\n setCurrentProfileId(undefined);\n }\n }, [authUser, get]);\n\n useEffect(() => {\n const fetchUsers = async () => {\n setRefreshProfiles(false);\n const callListUsers = async (nextToken?: string) => {\n return await (API.graphql(graphqlOperation(listUsers, { nextToken: nextToken, limit: 1000 })) as Promise>).catch((reason) => {\n Sentry.captureException(reason);\n return undefined;\n });\n };\n let result = await callListUsers();\n if (authUser && result?.data?.listUsers?.items) {\n let profiles: User[] = result.data.listUsers.items;\n while (result?.data?.listUsers?.nextToken?.length) {\n result = await callListUsers(result.data.listUsers.nextToken);\n if (result?.data?.listUsers?.items?.length) profiles = [...profiles, ...result.data.listUsers.items];\n }\n setUserData((userData) => ({ ...userData, profiles: profiles }));\n if (profiles.length === 0) {\n // NO PROFILE??!?!?! not sure how this could happen, but hey\n // grab the profile Id from the JWT\n const idToken = await authUser.getIdTokenResult(true);\n const compeatUserId = idToken.claims && idToken.claims.compeat_user_id ? idToken.claims.compeat_user_id : authUser.uid;\n setCurrentProfileId(compeatUserId);\n } else if (profiles.length === 1) {\n // only 1 profile, set it, this will override the previous current profile Id\n // so that if a user is removed as guardian they don't continue to have access\n const currentProfile = profiles[0];\n setCurrentProfileId(currentProfile.id);\n } else {\n const idToken = await authUser.getIdTokenResult(true);\n const compeatUserId = idToken.claims && idToken.claims.compeat_user_id ? idToken.claims.compeat_user_id : authUser.uid;\n const activeProfiles = profiles.slice().filter((profile: User) => !!profile.contactInfo?.email);\n setAvailableProfiles(groupBy(activeProfiles, (profile: User) => {\n if (profile.id === compeatUserId) return 'self';\n return 'others';\n }));\n }\n }\n };\n if (authUser && refreshProfiles) {\n fetchUsers();\n }\n }, [authUser, refreshProfiles]);\n\n useEffect(() => {\n setProfile(undefined);\n if (authUser && currentProfileId) {\n (API.graphql(graphqlOperation(getUser, { id: currentProfileId })) as Promise<{ data: GetUserQuery; }>).then(async (result) => {\n if (result.data.getUser) {\n await set('currentProfileId', currentProfileId);\n setUserData((userData) => ({ ...userData, profileUser: result.data.getUser as User, currentProfileId: currentProfileId }));\n } else {\n const idToken = await authUser.getIdTokenResult(true);\n const compeatUserId = idToken.claims && idToken.claims.compeat_user_id ? idToken.claims.compeat_user_id : authUser.uid;\n setCurrentProfileId(compeatUserId);\n setUserData((userData) => ({ ...userData, profileUser: undefined, currentProfileId: compeatUserId }));\n }\n }).catch((reason) => {\n Sentry.captureException(reason);\n });\n }\n }, [currentProfileId, authUser, set]);\n\n useEffect(() => {\n const processName = (contactInfo: ContactInfo | undefined) => {\n if (!contactInfo) return '';\n return `${contactInfo?.firstName?.trim() || ''} ${contactInfo?.lastName?.trim() || ''}`;\n };\n\n const fetchConversations = async () => {\n setUserData((userData) => ({ ...userData, previousProfileId: userData.currentProfileId, refreshConversations: false }));\n // Add conversations to active profile\n const callListConversations = async (nextToken?: string) => {\n return await (API.graphql(graphqlOperation(listConversations, { nextToken: nextToken, limit: 1000 })) as Promise>).catch((reason) => {\n Sentry.captureException(reason);\n return undefined;\n });\n };\n\n let result = await callListConversations();\n let profileConversations: Conversation[] | null | undefined = result?.data?.listConversations?.items;\n if (result?.data?.listConversations?.items?.length) {\n const filterConversations = (conversationItems: Conversation[]): Conversation[] => {\n return conversationItems.filter((conversation: Conversation) => user && conversation.clientId === userData.currentProfileId && conversation.members?.includes(user.id || ''));\n };\n let permittedConversations: Conversation[] = filterConversations(result.data.listConversations.items.slice());\n while (result?.data?.listConversations?.nextToken?.length) {\n result = await callListConversations(result.data.listConversations.nextToken);\n if (result?.data?.listConversations?.items?.length) permittedConversations = [...permittedConversations, ...filterConversations(result.data.listConversations.items.slice())];\n }\n profileConversations = permittedConversations;\n if (!!permittedConversations.length) {\n profileConversations = permittedConversations.map((conversation: Conversation) => {\n const contacts = !availableProfiles || !conversation.members?.length ? [] : availableProfiles?.others?.filter((o: User) => user && o.id && conversation.members?.includes(o.id) && o.contactInfo?.userId && o.contactInfo.userId !== user.id) as Contact[] | null | undefined;\n let title: string | null | undefined = conversation.title;\n if (conversation.members?.length && conversation.members?.length > 2) {\n if (!!contacts?.length) {\n const names = !contacts?.length ? null : [conversation.specialist?.displayName, ...contacts?.map((contact: Contact) => (processName(contact.contactInfo))).filter((name: string) => !!name?.trim()?.length)];\n const numberNamesShown = 2;\n title = !names?.length ? '' : names.slice(0, numberNamesShown).join(', ') + (names.length > numberNamesShown ? `, +${names.length - numberNamesShown}` : '');\n } else if ((!title || !title.length)) {\n title = \"Group Chat\";\n }\n }\n return { ...conversation, contacts: contacts, title: title, badge: notifications?.filter((notification) => !notification.isRead && notification.content && !!notification.content.match(new RegExp(`link\":\"/specialist/${conversation.id}`, \"ig\")))?.length || 0 };\n // return { ...conversation, contacts: contacts, title: title };\n });\n profileConversations = sortBy(profileConversations, 'status');\n }\n }\n setProfile({ ...userData.profileUser as User, conversations: profileConversations ? profileConversations : undefined });\n };\n\n if (userData?.profileUser?.id && userData.currentProfileId && ((!userData?.previousProfileId && userData.profiles.length === 1) || (userData.previousProfileId !== userData.currentProfileId && !!availableProfiles) || userData.refreshConversations)) {\n fetchConversations();\n }\n }, [userData, availableProfiles, user, notifications]);\n\n // This is to update the profile for the current user and any other users connected to this user\n useEffect(() => {\n if (profile?.id) {\n const subscription = (API.graphql(graphqlOperation(onUpdateUser, { id: profile.id })) as Observable<{ value: GraphQLResult }>).subscribe({\n next: ({ value }: { value: GraphQLResult }) => {\n const updateUser = value.data?.onUpdateUser;\n let shouldRefresh = false;\n // remove the connection as they aren't returned\n // and the attributes that aren't changed by the system\n // so that we don't re-render for no reason\n const excludedFields = [\n 'devices',\n 'messages',\n 'specialists',\n 'contactInfo',\n 'clientProfile',\n 'updatedAt',\n 'lastActiveAt',\n 'stripeCustomerId',\n 'paymentMethod'\n ];\n const profileValues = profile as Record;\n const updateUserValues = updateUser as Record;\n for (const key in updateUser) {\n if (!excludedFields.includes(key) && !isEqual(updateUserValues[`${key}`], profileValues[`${key}`])) {\n shouldRefresh = true;\n }\n }\n\n if (shouldRefresh) {\n const _user = mergeWith({}, profile, updateUser, (o, s) => {\n // This logic is here to keep any existing connections on the user.\n // That is because the publishUser mutation in the API does not have the connections.\n // It is assumed that connections other than contactInfo have items.\n // FirstName is looked for as it is in contactInfo\n if (isNull(s) && (o?.hasOwnProperty('items') || (o && Object.keys(o).includes('firstName')))) return o;\n return s;\n });\n subscription.unsubscribe(); // Close subscription as another will be opened when profile set.\n setProfile((profile) => ({ ..._user as User, conversations: profile?.conversations }));\n }\n },\n error: (error) => {\n Sentry.captureException(error);\n }\n });\n return () => {\n subscription.unsubscribe();\n };\n }\n }, [profile]);\n\n\n useEffect(() => {\n if (profile?.conversations && (!isEqual(profile.conversations, subscriptions?.onCreateConversations) || !subscriptions?.onCreateSubscriptions || subscriptions.onCreateSubscriptions.some((s) => s.closed)) && setProfile) {\n let timer: NodeJS.Timeout;\n subscriptions?.onCreateSubscriptions?.forEach((s) => s.unsubscribe()); // Unsubscribe when change profile\n setSubscriptions((subscriptions) => {\n return {\n ...subscriptions,\n onCreateSubscriptions: profile.conversations?.map((pc) => (API.graphql(graphqlOperation(onCreateMessage, { messageConversationId: pc.id })) as Observable<{ value: GraphQLResult }>).subscribe({\n next: ({ value }: { value: GraphQLResult }) => {\n setProfile((profile) => {\n // To update chat list view\n const profileIndex = profile?.conversations?.findIndex((c) => c.id === pc.id);\n const conversation = profile?.conversations && profileIndex !== undefined && profileIndex > -1 ? profile.conversations[profileIndex] : undefined;\n let badge = 0;\n if (!window.location.pathname.includes(`/specialist/${pc.id}`)) {\n badge = (conversation?.badge || 0) + 1;\n } else {\n // Used to clear an alert in alert table when on the page the alert is related to.\n // Here because this is the event that creates the alert. The alert is created in the API without a mutation so an alert subscription can't be used instead\n // As the alert is created in the API after the onCreateMessage lambda we need to give the alert table time to receive the entry before we try to clear it.\n timer = setTimeout(() => {\n setClearAlerts(true);\n }, 1000);\n }\n return value.data?.onCreateMessage && profile && conversation ? update(profile, { $merge: { conversations: profile.conversations ? update(profile.conversations, { $splice: [[profileIndex, 1, update(conversation, { $merge: { messages: { items: conversation.messages?.items ? update(conversation.messages.items, { $unshift: [value.data.onCreateMessage] }) : [] }, badge: badge } })]] }) : [] } }) : profile;\n });\n\n }, error: (error) => {\n Sentry.captureException(error);\n }\n })),\n onCreateConversations: profile.conversations\n };\n });\n return () => {\n if (timer) clearTimeout(timer);\n subscriptions?.onCreateSubscriptions?.forEach((s) => s.unsubscribe());\n };\n }\n }, [profile, subscriptions, setProfile]);\n\n const setRefreshConversations = (refreshConversations: boolean) => {\n setUserData((userData) => ({ ...userData, refreshConversations: refreshConversations }));\n };\n\n return (\n \n );\n};\n\nconst useProfile = () => {\n const context = React.useContext(ProfileContext) as ProfileContextInterface;\n if (context === undefined) {\n throw new Error(`useProfile must be used within a ProfileProvider`);\n }\n return context;\n};\n\nexport { useProfile };\nexport default ProfileProvider;\n","import React, { useState, Dispatch, SetStateAction } from 'react';\n\ninterface ModalContextInterface {\n showNotification: boolean;\n setShowNotification: Dispatch>;\n showEdgeUpgrade: boolean;\n setShowEdgeUpgrade: Dispatch>;\n showCancel: boolean;\n setShowCancel: Dispatch>;\n showDelete: boolean;\n setShowDelete: Dispatch>;\n deleteProps: {deleteError: boolean};\n setDeleteProps: Dispatch>;\n showSwitchProfile: boolean;\n setShowSwitchProfile: Dispatch>;\n showHabitReflection: boolean;\n setShowHabitReflection: Dispatch>;\n}\n\nconst ModalContext = React.createContext(null);\n\nconst ModalProvider: React.FC = (props) => {\n const [showNotification, setShowNotification] = useState(false);\n const [showEdgeUpgrade, setShowEdgeUpgrade] = useState(false);\n const [showHabitReflection, setShowHabitReflection] = useState(false);\n const [showCancel, setShowCancel] = useState(false);\n const [showDelete, setShowDelete] = useState(false);\n const [deleteProps, setDeleteProps] = useState<{deleteError: boolean}>({deleteError: false});\n const [showSwitchProfile, setShowSwitchProfile] = useState(false);\n\n return (\n \n );\n};\n\nconst useModal = () => {\n const context = React.useContext(ModalContext) as ModalContextInterface;\n if (context === undefined) {\n throw new Error(`useModal must be used within a ModalProvider`);\n }\n return context;\n};\n\nexport { useModal };\nexport default ModalProvider;\n","export default __webpack_public_path__ + \"static/media/fork_transparent.fe74d90c.png\";","import React, { ReactNode } from 'react';\nimport { IonPage, IonTitle, IonContent } from '@ionic/react';\nimport Header from '../components/Header';\nimport SupportFAB from '../components/SupportFAB';\n\nconst DashboardLayout = (props: { children?: ReactNode | ReactNode[]; title?: string; showBackButton?: boolean; buttons?: ReactNode; hideSupport?: boolean; scrollYDisabled?: boolean; }) => {\n const { children, title, showBackButton, buttons, hideSupport, scrollYDisabled } = props;\n\n return (\n \n
\n {title && {title}}\n
\n \n {!hideSupport && }\n
\n
\n
\n
\n {children}\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default DashboardLayout;","export default function checkImageURL(url: string): boolean {\n return(url.match(/\\.(jpeg|jpg|gif|png)/) != null);\n}\n\n","import { Browser } from \"@capacitor/browser\";\nimport { IonFab, IonFabButton, IonIcon } from '@ionic/react';\nimport { helpOutline } from 'ionicons/icons';\nimport React from 'react';\n\nconst SupportFAB = () => {\n\n const handleClick = async () => {\n await Browser.open({\n url: process.env.REACT_APP_SUPPORT_URL || 'https://share.hsforms.com/1yUGhKceXQSSwSsPjuMOx1A4k30c'\n });\n };\n return (\n \n handleClick()}>\n \n \n \n\n );\n};\n\nexport default SupportFAB;","import { App } from '@capacitor/app';\nimport { useHistory } from 'react-router-dom';\n\nconst AppOpenHandler = () => {\n const history = useHistory();\n\n const handleRouteChange = (path: string) => {\n console.log('handleRouteChange', path);\n history.push(path);\n };\n\n App.addListener('appUrlOpen', (data) => {\n // Remove host part of url\n const path = data.url.replace(/^.*\\/\\/[^/]+/, '');\n handleRouteChange(path);\n });\n\n return null;\n};\n\nexport default AppOpenHandler;","export default __webpack_public_path__ + \"static/media/storyset_stand_out_31397.7b071542.svg\";","import React from 'react';\nimport PublicLayout from '../../layouts/Public';\n\nconst TermsView = () => {\n return (\n \n
\n

Terms & Conditions

\n

1.     General Conditions of Use (compeatnutrition.com)

\n

Please read this information carefully before accessing or using the information and services available through the compeatnutrition.com website which is owned and operated by Compeat Nutrition Pty Ltd (ACN 608 631 983). By accessing or using the site compeatnurition.com and/or registering as a user, you agree to be bound by the terms and conditions below. Compeat Nutrition reserves the right to modify this agreement at any time, and such modifications shall be effective immediately upon posting a modified agreement on the Compeat Nutrition website; www.compeatnutrition.com.

\n

By clicking “I accept”, you agree to be personally bound by these terms and conditions, whether for yourself or on behalf of a minor (as determined by the jurisdiction in which you reside), if you are registering on behalf of a minor.

\n

By clicking “I accept”, you represent and warrant that you are at least 18 years old (or the age of majority in your jurisdiction, if it is not 18), and if you are registering on behalf of a minor, that you are their legal guardian.

\n

These General Conditions of Use apply to the use of this Website, including the use of the information services provided through this Website.

\n

A link to the General Conditions of Use will be published on the user registration forms on all websites owned and operated by Compeat Nutrition.

\n

Upon registration, you will be provided with a password and an account. You must not disclose these details to any other person or allow anyone else to use your account and password. Responsibility for any access to your account is seen to be the responsibility of the registered individual, and acknowledge that any access to, or use of your account by means of the password associated with that account is deemed to be access or use by the registered individual or their legal guardian. This includes any purchases made through your account which you agree to pay for in line with these general conditions of use and the manner specified on the Website.

\n

2.     Seek advice from Medical Professionals

\n

While the Dietitians at Compeat Nutrition are experts in the field of Sports Dietetics you agree to make aware to your dietitian as well as immediately seek medical attention if there are any unanticipated changes to your health at any time.

\n

You must consult a qualified medical professional if you have any questions concerning your medical condition or injury if not already referred to Compeat Nutrition via a qualified medical professional

\n

3.     Information does not represent professional advice

\n

You acknowledge and agree that the information published by Compeat Nutrition; exclusive of specific professional advice, is intended to provide general information in summary form. All information provided by us on the Website is provided in good faith. We derive our information from sources which we believe to be accurate and up to date as at the date of publication.

\n

It is acknowledged that any specific advice is intended for the individual to whom it has been prescribed. Compeat Nutrition takes no liability for the supply of information outside the duties associated with its provision to a serviced client.

\n

Compeat Nutrition Pty Ltd will not be liable to you or anyone else for any decision made or action taken by you or anyone else in reliance upon any information contained on or omitted from the Compeat Nutrition Site. In addition, to the extent permitted by law, we do not make any representations or warranties that any information we provide is reliable, accurate or complete and we make no guarantees of any specific result from use of this Website or the information service provided through it. To the extent permitted by law, we are not liable for any loss arising from any action taken or reliance by you on any information or material available on the Website.

\n

Professional Advice is deemed as advice provided to an individual specific to their circumstances. Any information passed on and not designed for that specific individual is considered information. Our experts may provide health, fitness or nutritional information for educational purposes. They do not offer or provide professional medical advice, diagnosis, treatment or rehabilitation and may refer the member to certain third party resources. Any referrals to official bodies are not intended to be and should not be construed as an endorsement, promotion or recommendation by Compeat Nutrition.

\n

No agency, partnership, joint venture, employee-employer or franchisee-franchisor relationship is created or intended by this General Conditions of Use agreement or your use of Compeat Nutrition Services.

\n

4.     Intellectual property

\n

Copyright in material, trademarks, and content accessed or supplied via the Compeat Nutrition website is owned by Compeat Nutrition or provided under licence by Compeat Nutrition. You agree not to infringe any intellectual property rights owned by Compeat Nutrition. This information includes but is not limited to all material and ideas contained within the Compeat Nutrition website and any Compeat Nutrition branded or supplied material.

\n

5.     No guarantees or endorsements of sites or services we link to or that link to us

\n

Compeat Nutrition provides links and referral to Internet sites maintained by third parties. Such sites are not under the control of Compeat Nutrition, and therefore Compeat Nutrition takes no responsibility for the contents (including the accuracy, legality or decency) of any linked site or any link contained in a linked site. Compeat Nutrition is not responsible for the copyright compliance of any linked site and is not be liable for any damages or loss arising in any way out of or in connection with; or incidental, to any information, or service provided by any third party.

\n

6.     No guarantees or warranties as to the service

\n

Compeat Nutrition provides no guarantee or warranty to you that the services generally available through Compeat Nutrition will perform to a certain standard of quality or be error-free. We do not guarantee or endorse any of the services provided by any third party. Compeat Nutrition does however agree to provide a high quality sports dietetic and dietetic service and help you achieve your goals.

\n

You are responsible for all transactions in which you choose to participate, including monitoring the status of, and complying with all relevant legal and other obligations, the agreements in which you enter and conditions by which they are entered.

\n

7.     Our rights to use information you send us

\n

You are obliged to provide Compeat Nutrition with accurate, complete and current information. You may update your information via the Compeat Nutrition website and the Compeat nutrition user portal. Alternatively, you may submit your information via email to admin@compeatnutrition.com. All information that you provide to Compeat Nutrition will be treated in accordance with our privacy policy.

\n

Compeat Nutrition reserves the right to modify or delete any information you submit to the Compeat Nutrition and the user platform in order to enhance the services provided to you and other users.

\n

Compeat Nutrition welcomes feedback from you about all aspects of the Compeat Nutrition Site and the Services it provides. You agree that Compeat Nutrition may reproduce, distribute, transmit, create derivative works of, and publicly display any materials and other information, including ideas for new or improved products and services that you submit to any public or social media sites affiliated or associated with Compeat Nutrition. Personal information will not be sold or passed on for financial gain by Compeat Nutrition.

\n

Through the supply of Feedback as mentioned in the general terms and conditions you acknowledge and agree that Compeat Nutrition accepts no responsibility for liability, damage, injury or loss that may arise from feedback submitted to or published on the website, affiliated sites or social media and you agree to indemnify and release forever Compeat Nutrition from any liability it may incur arising, whether directly or indirectly, out of any feedback you post on the Compeat Nutrition website, affiliated sites or through Social media.

\n

Compeat Nutrition may at any time change or discontinue any feature of the Compeat Nutrition Site or user platform, including content, hours or availability and equipment required for access.

\n

8.     Security of your information

\n

Compeat Nutrition shall take all due diligence in ensuring the privacy and integrity of the information you provide, including but not limited to measures such as firewalls, secure password access, secure servers and data encryption. Possibility exists that this information could be unlawfully observed or accessed by a third party while in transit over the internet or while stored on Compeat Nutrition hosted servers, systems or on the Compeat Nutrition Website. Compeat Nutrition accepts no liability should this occur. Compeat Nutrition also will not collect and retain your credit card information. This information is to be managed via a secure third party.

\n

9.     Your conduct

\n

You agree to indemnify Compeat Nutrition against any legal fees, damages or expenses that may be incurred by Compeat Nutrition as a result of a breach of these General Conditions of Use.

\n

You warrant to Compeat Nutrition that you will not use the Compeat nutrition website, the user platform or any other Compeat Nutrition service for any purpose that is prohibited by the General Conditions of Use or that is illegal or unlawful. You agree to abide by all applicable laws and regulations.

\n

Applicable Laws includes, but is not limited to:

\n
    \n
  1. The use of the Compeat Nutrition Site, Platform or Social Media Site to offend others (which shall be judged in the absolute opinion of Compeat Nutrition).
  2. \n
  3. Publishing, or in any way distributing or disseminating any information which is unlawful, obscene, defamatory, offensive or inappropriate or considered to be the Intellectual property of Compeat Nutrition. (judged in the absolute opinion of Compeat Nutrition);
  4. \n
\n
    \n
  • Making available; through direct or indirect use of the Compeat Nutrition website, any material that you do not have a right to make available. Inclusive of files or programs designed to interfere with the functioning of other software or hardware, breaching any laws or regulations applicable to your use of the website, or unlawful provision of information deemed to be intellectual property of Compeat Nutrition.
  • \n
\n
    \n
  1. bypass (or attempt to bypass) any security mechanisms imposed by the Website;
  2. \n
  3. harvest or collect email addresses, photographs or personal information of other users;
  4. \n
  5. impersonate any person or entity;
  6. \n
\n
    \n
  • post or transmit false or misleading material or make any form of misleading or deceptive representation;
  • \n
  • exploit the Website for your own commercial or unlawful purposes or the commercial or unlawful purposes of any other person (including the posting of advertisements, solicitors, promotional materials, “spam” or any other materials that are contrary to our commercial or lawful interests); Any commercial use of the Compeat Nutrition Site requires the prior written approval of Compeat Nutrition.
  • \n
\n
    \n
  1. provide access or links to any material (including links to peer to peer network “trackers”) which may infringe the intellectual property rights of another person; or
  2. \n
  3. delete or alter or attempt to delete or alter attributions, legal notices, trademarks or copyright marks on any material contained in the Website; and
  4. \n
  5. Compeat Nutrition reserves the right at all times to monitor your usage of its website and to retain any information as necessary to satisfy any applicable law, regulation, legal process or governmental request.
  6. \n
\n
    \n
  • You are required to nominate a username and password, which must be used by a single individual and is not transferable. It is your responsibility to ensure that these remain confidential at all times. If you become aware of any unauthorised use of your username or password, you must notify Compeat Nutrition immediately by email to admin@compeatnutrition.com.au.
  • \n
  • Business or Individuals who intend to or use Compeat Nutrition services for business purposes are required to confirm their identity within 3 days of first registration as a user.
  • \n
\n

10.  Payment and refunds

\n

You acknowledge and agree that membership is non-refundable at the time that payment is made. If you are dissatisfied with the Compeat Nutrition of the Compeat Nutrition Services and choose to discontinue using the Compeat Nutrition Site, membership fees or other payments that you have made will be refundable based on a 50% pro-rata basis.

\n

You agree that Compeat Nutrition will not be held liable for any loss you incur arising from your use of any payment method unless caused by our fraud or the fraud of our employees.

\n

Our subscription fee and other charges are GST exclusive. Compeat Nutrition as a health services provider is exempt from collecting GST. The receipt of payment issued will be a tax invoice in accordance with applicable legislative requirements relating to GST.

\n

All fees are non-refundable and are non-transferable except for:

\n
    \n
  1. During the period in which you have paid for access to our information service through this Website, the information service is not available for a period lasting more than 3 days. In this circumstance, a pro rata refund may be granted upon written request by email at admin@compeatnutrition.com, however you acknowledge that we may refuse a request where we are able to provide information service to you through alternative means (such as email, social media etc.); or
  2. \n
\n
    \n
  • We agree to issue you with a refund in accordance with the clause (variation) below.
  • \n
\n

To the extent permitted by law, you must bear any expenses that you may incur in connection with your request for such a refund.

\n

Upon receipt of a refund, your agreement with us is at an end and we will cancel your account. You agree that this is your sole remedy in these circumstances, other than any rights that may be available to you under the Australian Consumer Law.

\n

Refund Policy

\n

11.  Membership cancellation

\n

Users may cancel their membership at any point in time. Refunds will be complete in accordance with the refund policy.

\n

12.  Liability

\n

Compeat Nutrition expressly excludes all conditions and warranties that may be implied by law. To the extent permitted by law, Compeat Nutrition’s liability for breach of any warranty or condition (implied or otherwise) which cannot be excluded is restricted to either the re-supply of the relevant Compeat Nutrition service or a refund in accordance with Compeat Nutrition’s refund policy (Clause 10).

\n

To the extent permitted by law, our total liability in respect of all claims in connection with this agreement (whether based in negligence or any other tort, contract, statutory liability or otherwise) will be the total sum of all fees paid or payable by you under this agreement up until and including the date the cause of action accrued.

\n

As a user of the Compeat Nutrition website, you acknowledge and agree that there are no circumstances whereby Compeat Nutrition will be liable to you for any indirect, incidental, special and/or consequential losses, damages, or loss of profits of any nature arising (including but not limited to any act or omission by Compeat Nutrition) which result from:

\n
    \n
  1. Use or access or any inability to use or access the Compeat Nutrition Site or any material on the Site; or
  2. \n
  3. Unauthorised access to your user account or internet transmissions or data; or
  4. \n
\n
    \n
  • Statements or conduct by any third party on the Compeat Nutrition website; or
  • \n
\n
    \n
  1. Actions or decisions by you made in reliance on the information on or provided to you through the Compeat Nutrition website.
  2. \n
  3. Any interruption, delay or impairment in the functioning, operation or availability of the Compeat Nutrition website, exposure to or transmission of any computer virus, difficulties in connection with the Compeat Nutrition website, or malfunction in equipment or software.
  4. \n
\n

The limitation of liability set out in these terms and conditions does not attempt or purport to exclude liability arising under statute if, and to the extent, such liability cannot be lawfully excluded.

\n

13.  Indemnity

\n

You agree to indemnify and release forever Compeat Nutrition and its directors, employees, agents, contractors and affiliates from and against any claims, demands, proceedings, losses and damages of any kind and nature, including reasonable legal fees, made by you or any third party due to or arising, whether directly or indirectly, out of your breach of the General Conditions of Use, or your violation of any law, or the rights of a third party.

\n

14.  Breach of General Conditions of Use

\n

In situations of breach of the General Conditions of Use, Compeat Nutrition retains absolute discretion to immediately cancel or suspend a membership without notice. Without limiting other remedies available, we may, at our absolute discretion, immediately issue a warning, temporarily suspend or terminate your membership and refuse to provide services to you.

\n

Compeat Nutrition reserves the right to recover what is legally deemed as appropriate compensation for the breach of these general conditions of use.

\n

15.  Customer Complaints and Dispute resolution

\n

Compeat Nutrition will attempt to resolve any customer complaints and answer any enquiries within 5 business days. Complaints or enquiries should be directed via email to admin@compeatnutrition.com.

\n

All complaints are reviewed by Compeat Nutrition customer support representatives and may be referred to a manager for resolution if required.

\n

Compeat Nutrition reserves the right not to respond to complaints or enquiries that offend Compeat Nutrition’s employees or agents. Compeat Nutrition also reserves the right not to respond to complaints or enquiries made by individuals who are not current users of, or have been suspended from of the Compeat Nutrition website.

\n

Compeat Nutrition will use reasonable endeavours to mediate any dispute concerning the use by parties of the Compeat Nutrition site and provided services. Disputes in relation to the actual services carried out by a business or any other issue will be referred, where appropriate, to external dispute resolution services or authorities.

\n

16.  Miscellaneous provisions

\n

Compeat Nutrition may choose to run promotions or competitions, whereby prizes or other gifts may be awarded. Compeat Nutrition reserves the right to implement special terms and conditions for promotions or competitions. At the relevant time, those special terms and conditions will be published on the Compeat Nutrition website.

\n

If any clause of this agreement is found to be invalid, that clause shall be severed from this agreement and the remainder of this agreement will continue to be valid and enforceable.

\n

The laws governing this agreement will be the laws in NSW, Australia and you irrevocably submit to the exclusive jurisdiction of its Courts and the Appellate Courts and the jurisdiction of the Federal Court of Australia sitting in New South Wales

\n

We may suspend, limit or terminate your access to the Website (at our discretion) if we reasonably suspect, based on the results of such monitoring, that you are in breach of these terms.

\n

17.  Variation

\n

You are bound by the latest version of the applicable Terms and Conditions. We may vary, amend or add to these terms at any time. Where there are material changes to these Terms and Conditions that could adversely affect you or Compeat Nutrition members. Compeat Nutrition will provide you additional notice to you by way of the email address you have provided to us. Without limiting our right to give notice by any other means, you will be deemed to have:

\n
    \n
  1. received notice of such changes when we place a notice on the Website setting out the changes; and
  2. \n
  3. agreed to the terms and conditions as varied the next time you access your account after we publish the notice on the Website.
  4. \n
\n

If you do not agree with the changes, then prior to you accessing your account you must notify us by emailing admin@compeatnutrition.com and requesting a pro-rata refund. In the event any proposed changes have more than a minor detrimental effect on your circumstances (in our reasonable opinion), we will refund a percentage of your subscription fee calculated by reference to the amount of time remaining on your subscription.

\n
\n
\n );\n};\n\nexport default TermsView;","import React from 'react';\nimport PublicLayout from '../../layouts/Public';\n\nconst PrivacyPolicyView = () => {\n return (\n \n
\n

Privacy Policy

\n

Compeat Nutrition Pty Ltd (ACN: 608 631 983) of 59 Parry St, Newcastle West NSW 2300 (Compeat, we, us, our) is committed to protecting your privacy. This Privacy Policy tells you about our collection of personal information and how we store, use and disclose that information. This site is owned by Compeat and may be accessed in Australia and overseas.

\n

The collection, use and disclosure of your personal information is governed by the Privacy Act 1988 (Cth) if you are in Australia or the General Data Protection Regulation (GDPR) if you are in a country that is a member of the European Union.

\n

This Privacy Policy applies whenever Compeat receives your personal information, as a data controller, for the purposes set out in this Privacy Policy. Those purposes include collecting and processing data so that you can engage with this site or as mentioned below. For data protection purposes Compeat is the controller and, unless otherwise noted, is also the processor of data

\n\n

Consent

\n

By visiting and/or using this site or when you obtain services from Compeat, you give your consent to our collection, use and disclosure of your personal information in accordance with this Privacy Policy.

\n

You can withdraw your consent at any time by contacting Compeat by email at privacy@compeatnutrition.com, however, certain products and services may not be available to you.

\n\n

What information we collect

\n

This Privacy Policy covers personal information that you give to us or that we collect when you visit our website or obtain our services. Personal information is information that can be used to identify you. Personal information might include your name; street, mailing address and email address; telephone number; date of birth; gender; financial information such as your credit card number and billing address; profession, occupation or job title.

\n

We will need certain health information from you so that we can prepare a program for you. We will not ask for other types of sensitive information such as details of your racial or ethnic origin, political affiliations, religious beliefs, sexual preferences or criminal convictions unless we need it to provide you with professional advice. By giving us any of this information, you agree that you have opted in to providing that information to us.

\n

We try and collect personal information directly from the relevant person. However, if this is not practicable, we may collect personal information from third parties or publicly available information. If you give us personal information about another person, you must ensure you have the right to disclose that personal information to us.

\n\n

Personal information automatically collected

\n

When you visit this site, other kinds of information may be collected automatically as part of this site’s operation. This includes the website that referred you to us, your IP address, browser type and language, and access times. We may also collect navigational information, including information about the pages you view, the links you click, and other actions taken in connection with the site. We may combine your visit and navigational information with personal information that you provide.

\n

We use \"cookies\" to enable you to sign in to our services and to help personalise your online experience. A cookie is a small text file that is placed on your hard drive. Cookies contain information, including personal information that can later be read by a web server in the domain that issued the cookie to you. The information that cookies collect includes the date and time of your visit, your registration information, and your navigational and purchase history. Cookies offer you many conveniences. They allow us to identify registered users when they return to the site so that they can retrieve previous image search results and view their previous invoices. Cookies also save you time by eliminating the need to repeatedly enter the same information.

\n

In some cases, our third-party service providers may use cookies on our sites. We have no access to or control over these cookies. This Privacy Policy covers the use of cookies by Compeat only and does not cover the use of cookies by third parties.

\n

You have the ability to accept or refuse cookies. Most browsers automatically accept cookies, but you can usually modify your browser setting to refuse cookies. If you choose to refuse cookies, you may not be able to sign in or use other interactive features of our sites and services that depend on cookies.

\n

In addition to cookies, we may use other technologies, including single-pixel gifs (also known as web beacons) on our websites and in promotional e-mail messages or newsletters. These tiny electronic images assist us in determining how many users have visited certain pages or opened messages or newsletters. We do not use these images to collect personal information.

\n\n

Primary Account Information Upload

\n

Our app uploads your Primary account information to our secure server located at Amazon AWS. This information may include, but is not limited to, your email address, display name, and profile picture. We collect this information to provide you with a seamless experience within the app and to personalize the app's features and content according to your preferences.

\n

We take the security of your Primary account information seriously and implement appropriate technical and organizational measures to protect it during transmission and storage. Your data is encrypted during transit and stored securely on our servers.

\n

Our app is compliant with Google Play Console's privacy policy requirements. We have posted our privacy policy in the Play Console, which includes all necessary information about the collection, use, and disclosure of your personal information, as well as your rights regarding your data.

\n\n

Use of Your Personal Information

\n

We use the personal information you have given us for purposes which are consistent with the reason you provided the personal information, or for a directly related purpose. Such purposes for which we may use your personal information include:

\n
    \n
  • improving our service to you;
  • \n
  • doing business with you so that you can purchase our goods and services;
  • \n
  • effectively communicating with you;
  • \n
  • operating and improving our website;
  • \n
  • providing customer service;
  • \n
  • performing research and analysis aimed at improving our products and services; and
  • \n
  • displaying content that is customised to your interests and preferences.
  • \n
\n

We may also use or disclose your personal information where you have consented to the use or disclosure, either expressly or by implication.

\n\n

Sharing of Your Personal Information

\n

We do not sell, rent or trade your personal information to or with any third parties.

\n

We may share your personal information with external service providers who perform services on our behalf. For example, we may hire other companies to handle the processing of payments, to provide data storage, to host websites, to fulfil orders and shipments, to assist in direct marketing, to conduct audits, etc. Those companies will be permitted to obtain only the personal information they need to provide the service. They are required to maintain the confidentiality of the information and are prohibited from using it for any other purpose. We will take all reasonable steps to make sure they comply with the same privacy principles that govern our collection of your personal information.

\n

Some of these service providers may be overseas. While we do our best to make sure that overseas service providers to whom we give your personal information will comply with the same privacy principles as us we cannot guarantee it.By giving us your personal information, you consent to the disclosure of personal information to overseas service providers who may not comply

\n

We may disclose your personal information if required to do so by law, or in the good-faith belief that such action is reasonably necessary to comply with legal process, respond to claims, or protect the rights, property or safety of our company, employees, customers, or the public.

\n\n

Third-Party Data Sharing

\n

We may share your personal information with external service providers who perform services on our behalf, such as payment processing, data storage, and analytics. We only share your personal data with service providers who have implemented appropriate data protection measures and who have agreed to comply with our data protection requirements. We do not allow our service providers to use your personal data for their own purposes and only permit them to process your personal data for specified purposes and in accordance with our instructions.

\n\n

Where your information is stored

\n

Personal information that we collect, or that is collected by our third party service providers, may be stored and processed in Australia or overseas. We take all reasonable steps to protect personal information no matter what country it is stored in. However, information collected may be retained, and may be stored, processed, accessed, and used in jurisdictions whose privacy laws may be different and less protective than those of in Australia. By using our site or giving us the personal information requested, you consent to any such transfer, processing and storage of personal information outside of Australia.

\n

If you are in the EU: Compeat and some of our external service providers may not be in the country where you submitted your personal information. As a result, your personal information may be transferred to countries that have different levels of data protection laws to where you are. Where local data regulations require it, we have put in place security measures for the export of personal information from its country of origin. and made arrangements with those receiving your personal information, that they will put security measures in place and that your personal information is processed in accordance with EU data protection laws.

\n\n

Data Retention and Deletion

\n

We retain your personal information for as long as necessary to fulfill the purposes for which it was collected, comply with legal obligations, resolve disputes, and enforce our agreements. You have the right to request the deletion of your personal data at any time by contacting us at privacy@compeatnutrition.com. We will promptly process your request and delete your personal data, subject to any legal obligations or legitimate interests that may require us to retain certain information.

\n\n

Data Security

\n

We take the security of your personal information seriously and implement appropriate technical and organizational measures to protect it from unauthorized access, use, or disclosure. These measures include, but are not limited to, encryption, access controls, and secure data storage. We regularly review and update our security measures to ensure the ongoing protection of your personal data.

\n\n

Security of Your Personal Information

\n

The security of your personal information is important to us. No method of transmission over the Internet, or method of electronic storage, is 100% secure. Therefore, while we strive to protect your personal information, we cannot guarantee its absolute security and any transmission of personal information is at your own risk.

\n\n

User Rights

\n

You have the right to access, correct, or delete your personal data held by us. You also have the right to object to the processing of your personal data, restrict processing, and request data portability. To exercise any of these rights, please contact us at privacy@compeatnutrition.com. We will respond to your request in accordance with applicable data protection laws

\n\n

Your rights in relation to your personal information

\n

You have, subject to certain exceptions allowed for by law, the right to access your personal information. If you would like to get access to, review or correct any of your personal information, please email us at privacy@compeatnutrition.com.

\n

We can provide you with a copy of personal information held on our current records at no charge. However, we will not be obliged to provide you with a copy or give you access to your personal information if by doing so we would reveal personal or sensitive information about another person.

\n

If the GDPR applies to the collection, disclosure or use of your personal information, then you are (among other things) also entitled to:

\n
    \n
  • receive transparent information regarding the processing of your personal information;
  • \n
  • access your personal information, including the right to obtain free of charge a copy of the personal information undergoing processing in a commonly available electronic format;
  • \n
  • rectification of incorrect personal information and completion of incomplete personal information;
  • \n
  • erasure of your personal information, including the “right to be forgotten”;
  • \n
  • restrict the processing of your personal information;
  • \n
  • your personal information being portable and accessible upon request;
  • \n
  • object to the processing of your personal information; and
  • \n
  • if you have consented to the processing of your personal information, you have the right to withdraw that consent.
  • \n
\n

If you wish to exercise any of the above rights our contact information is at the end of this Privacy Policy.

\n

If we have disclosed your personal information to a third party, in accordance with this Privacy Policy, we will take reasonable steps to notify the third party of the updated information.

\n\n

Retention of your personal information

\n

We will only keep your information for as long as is necessary for the purposes for which you provided it to us. This means that we will keep your personal information for as long as we are providing services or selling goods to you. We may keep your personal information for a longer period in order to comply with our legal obligations.

\n

Personal information that is de-identified, is no longer considered to be personal information for the purpose of privacy legislation. If your personal information is de-identified, we may retain it for a period of time that extends beyond the period during which we are providing you with goods or services or are required to keep the information in order to comply with legal obligations.

\n\n

Marketing

\n

We may send you surveys or marketing communications to inform you of new products or services or other information that may be of interest. Third parties with whom we have shared your personal information may send you direct marketing communications.

\n

If you do not want to receive direct marketing communications from either us or a third party, it is easy to opt out. You can send us an email request at privacy@compeatnutrition.com. You will continue to receive transactional or account communications (e.g., confirmation emails and account balance statements).

\n\n

Website customisation

\n

With your consent, and as set out in this Privacy Policy, we may use your personal information to build up a profile about you so that when you visit this site you don’t miss out on offers or information that is relevant to you.

\n

We, and our third party advertising service providers, may collect website usage information about users of our site for a number of purposes such as statistical analysis, sales and marketing research, tracking page usage and paths used by visitors through our site, targeting the site content, targeting our marketing campaigns and direct marketing emails, targeting our Internet banner advertisements on our website and on other websites and tracking use of our Internet banner advertisements and other links from our marketing partners' websites to our website. We may combine this information with other personal information we have collected about you eg how you arrived at our site and through cookies previously stored on your machine, as explained above.

\n\n

Children

\n

We do not intend to solicit or collect personal information from anyone under the age of 18. If you are under 18, you should not use or enter information on this site, including without limitation, any Interactive Areas of the site, without the consent of your parents or guardians and without first sending us an email at: privacy@compeatnutrition.com.

\n\n

Links

\n

We may link to websites, including those of our third-party content providers and social media sites. Our website may contain social media features such as Facebook “Like” buttons. These features may collect information about your device’s IP address, set cookies or link you to a social media website where you may post personal information. The sites of our third-party providers and social media sites may have different privacy policies and practices from those disclosed here. We assume no responsibility for the policies or practices of such sites and encourage you to become acquainted with them prior to use.

\n\n

Complaints

\n

If you have questions, complaints or concerns regarding this Privacy Policy, please contact us by writing to us at: privacy@compeatnutrition.com

\n

We treat all complaints about a breach of the privacy laws applicable to you seriously. Someone from Compeat will investigate your complaint and respond to you within a reasonable time. if you are not satisfied with our response, you have the right, depending on the jurisdiction, to make a complaint to the applicable regulator. In Australia, the applicable regulator is the Office of the Australian Information Commissioner. In European Union, the applicable regulator will be the local regulator in your jurisdiction in Europe.

\n\n

Changes to This Privacy Policy

\n

We reserve the right to change the terms of this privacy policy at any time. If there are material changes, we will post a notice of such changes here or on our home page and publish the effective date of the change. We encourage you to review this policy whenever you visit our site.

\n\n

Contact Information

\n

Compeat is the data controller responsible for your personal information for the purposes of the applicable EU data protection law.

\n\n

You can contact Compeat by emailing privacy@compeatnutrition.com

\n\n

 

\n

Last update: 26 September 2022

\n
\n
\n );\n};\n\nexport default PrivacyPolicyView;","import React from 'react';\nimport PublicLayout from '../../layouts/Public';\n\nconst RefundPolicyView = () => {\n return (\n \n
\n

Refund Policy

\n

We are not required to provide a refund if you change your mind about the services you asked for.

\n

But you can choose to cancel your contract, and receive a refund for unconsumed services, if the service has a major problem. This is when the service:

\n
    \n
  • has a problem that would have stopped someone from purchasing the service if they had known about it
  • \n
  • is substantially unfit for it's common purpose, and can't be easily fixed within a reasonable time
  • \n
  • does not meet the specific purpose you asked for and cannot be easily rectified within a reasonable time
  • \n
  • creates an unsafe situation.
  • \n
\n

If you choose to continue with the contract, you can ask us to compensate you for any difference in the value of the services we provided and what you paid.

\n

If the problem is not major, we will fix it within a reasonable time. If the problem cannot be fixed, we view it as a major problem.

\n\n

Last update: 17 May 2022

\n
\n
\n );\n};\n\nexport default RefundPolicyView;","import React from 'react';\nimport { IonSkeletonText, IonCheckbox } from '@ionic/react';\nimport { Link } from 'react-router-dom';\nimport { Circle, ArrowForward } from '@mui/icons-material';\nimport classNames from 'classnames';\nimport { Assessment } from '../../declarations/awsTypeDeclarations';\nimport { Form } from '../../API';\n\nconst FormCard = (props: { form?: Form | null; }) => {\n const { form } = props;\n\n return (\n
\n
\n
\n

{form?.title ? form.title : }

\n {!!form?.submittedAt ?\n \n :\n \n }\n
\n
\n
\n );\n};\n\nconst FormList = (props: { assessment: Assessment | null | undefined; }) => {\n const { assessment } = props;\n const cardHeight = 58;\n\n return (\n <>\n
\n

{assessment?.insight?.title}

\n

This review is all about you, with no right or wrong answers, just opportunities for progress.

\n

All replies will be treated as confidential within your High Performance environment.

\n
\n
\n
\n
\n
\n {assessment ?\n assessment.forms.map((form, idx) => (\n form ?
\n \n {!!form.submittedAt ?\n \n :\n \n \n \n }\n
: null\n ))\n :\n [...Array(3)].map((_, idx: number) => (\n
\n \n \n
\n ))\n }\n
\n
\n
\n \n );\n};\n\nexport default FormList;","import React, { useState } from 'react';\nimport { Widget } from '@typeform/embed-react';\nimport { useParams, useHistory } from 'react-router-dom';\nimport { GetAssessmentQuery, User } from '../../API';\nimport DashboardLayout from '../../layouts/Dashboard';\nimport UnauthenticatedLayout from '../../layouts/Unathenticated';\nimport { useOfflineStorage } from '../../context/OfflineStorageProvider';\nimport { useUser } from '../../context/UserProvider';\nimport { API } from 'aws-amplify';\nimport { getAssessmentUnauthenticated } from '../../graphql/queries';\nimport { GraphQLResult, GRAPHQL_AUTH_MODE } from '@aws-amplify/api';\nimport Loading from '../../components/Loading';\n\nconst FormWidget = (props: { typeformId: string; userId: string; assessmentId: string; user?: User; }) => {\n const { typeformId, userId, assessmentId, user } = props;\n const history = useHistory();\n const { setOffline } = useOfflineStorage();\n\n return (\n