{"version":3,"sources":["webpack:///./app/javascript/utils.js","webpack:///./app/javascript/components_v2/AuthProviders/AuthProvider.js","webpack:///./app/javascript/components_v2/AuthProviders/AuthProviders.js","webpack:///./app/javascript/components_v2/AuthProviders/useAuthFeedback.js","webpack:///./app/javascript/components_v2/AuthProviders/index.js","webpack:///./app/javascript/components_v2/_entryPoints/EntryProviders.js","webpack:///./app/javascript/components_v2/Membership/PendingPayment.js","webpack:///./app/javascript/components_v2/Header/AlertBar.js","webpack:///./app/javascript/hooks/useUpdateCountry.js","webpack:///./app/javascript/components_v2/Header/Header.js","webpack:///./app/javascript/components_v2/Header/index.js"],"names":["shuffleArray","array","i","length","j","Math","floor","random","temp","afterDelay","delay","Promise","resolve","setTimeout","callAll","_len","arguments","fns","Array","_key","_len2","args","_key2","forEach","fn","apply","StyledError","styled","P","withConfig","displayName","componentId","css","color","mt","mb","textAlign","lineHeight","AuthProvider","_ref","name","SVG","authID","ctaPrefix","successUrl","failureUrl","label","rest","_objectWithoutProperties","_excluded","_useState2","_slicedToArray","useState","processing","setProcessing","_useState4","error","setError","connected","setCookie","useCookies","disconnect","window","location","href","concat","connect","_ref2","_regeneratorRuntime","mark","_callee","uuid","wrap","_context","prev","next","uuidv4","path","axios","post","success","failure","sent","status","t0","stop","React","createElement","Fragment","Button","Object","assign","id","onClick","sign_up_initiated_event","e","preventDefault","variant","width","style","display","justifyContent","padding","minHeight","SVGImage","height","mr","AuthProviders","context","authorizations","signinRedirect","providers","AppleLogo","apple","FacebookLogoNew","facebook","disabled","GoogleLogo","google","contextProps","signin","signup","useResetPage","filter","map","provider","index","key","defaultProps","AuthFeedback","params","URLSearchParams","search","get","setAlert","useAlert","useEffect","statusProps","account_created","message","cta","text","link","email_exists","google_exists","account_connected","merge_failed","provider_error","alert","_objectSpread","queryClientInstance","QueryClient","EntryProviders","loadUser","user","children","_ref$queryClient","queryClient","QueryClientProvider","client","CookiesProvider","UserProvider","ThemeProvider","theme","LightTheme","ModalProvider","noop","toastId","PendingPayment","_ref$refresh","refresh","_ref$onError","onError","_ref$onSuccess","onSuccess","_ref$onComplete","onComplete","getStripe","useStripeCheckout","useUserContext","pendingPayment","setPendingPayment","confirmPayment","useCallback","_asyncToGenerator","stripe","_res$data","res","_window$location","origin","_yield$stripe$confirm","abrupt","toast","dismiss","draggable","closeButton","closeOnClick","data","clientSecret","confirmParams","return_url","btoa","console","log","finish","_onClick","amount","_callee2","_context2","_x","then","err","StyledAlertBar","Box","props","fontFamily","alignItems","position","zIndex","background","colors","medium","py","px","paddingLeft","flex","DismissButton","dark","borderRadius","textDecoration","ActionLink","fontWeight","fontSize","letterSpacing","ml","textUnderlineOffset","borderBottom","AlertBar","showAlert","setShowAlert","emitAlertEvent","visible","CustomEvent","event","detail","dispatchEvent","getAlert","dismissAlert","Collapse","isOpened","flexGrow","TwinkleIcon","dangerouslySetInnerHTML","__html","actionText","actionUrl","className","dismissible","CloseIcon","closeColor","useUpdateCountry","currentCountry","useGetCountry","country","put","Header","controls","getGa4Events","stripeApiKey","retrieveAndClearEvents","axiosPlain","_window$dataLayer","events","ga4_events","isArray","dataLayer","push","_toConsumableArray","navbar","Navbar","links","navbarLinks","auth","navbarAuth","StripeCheckoutProvider"],"mappings":"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","file":"js/application~grouped-a7e92fd9e596ccc5ca7c.chunk.js","sourcesContent":["export function shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n let j = Math.floor(Math.random() * (i + 1))\n let temp = array[i]\n array[i] = array[j]\n array[j] = temp\n }\n\n return array\n}\n\nexport const afterDelay = (delay) => {\n return new Promise((resolve) => setTimeout(resolve, delay))\n}\n\n//Calls all the functions it's given, useful when you\n//need to call more than 1 function in a onClick event\nexport const callAll =\n (...fns) =>\n (...args) =>\n fns.forEach((fn) => fn && fn(...args))\n\nexport const camelToSnake = (obj) =>\n Object.fromEntries(\n Object.entries(obj).map(([key, value]) => [\n key.replace(/([A-Z])/g, (match) => `_${match.toLowerCase()}`),\n value\n ])\n )\n","import React, { Fragment, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport uuidv4 from 'uuid/v4'\nimport { useCookies } from 'react-cookie'\nimport styled from 'styled-components'\nimport { css } from '@styled-system/css'\n\nimport { axios } from 'api'\n\nimport { Button, SVGImage, P } from 'ui/bend'\nimport { callAll } from 'utils'\nimport { sign_up_initiated_event } from 'gtm/pushEvents'\n\nconst StyledError = styled(P)(\n css({\n color: 'error',\n mt: '5px',\n mb: '0px',\n textAlign: 'center',\n lineHeight: 'initial'\n })\n)\n\nconst AuthProvider = ({\n name,\n SVG,\n authID,\n ctaPrefix,\n successUrl,\n failureUrl,\n label,\n ...rest\n}) => {\n const [processing, setProcessing] = useState(false)\n const [error, setError] = useState(null)\n const connected = !!authID\n const [, setCookie] = useCookies(['oauth_anticipate_id'])\n\n const handleClick = (e) => {\n e.preventDefault()\n connected ? disconnect() : connect()\n }\n\n const disconnect = () => {\n window.location.href = `/auth/remove/${authID}`\n }\n\n const connect = async () => {\n setProcessing(true)\n\n // Give this OAuth request a UUID (set via a cookie) so that our server knows\n // where to redirect the client after the provider redirects back to our server\n const uuid = uuidv4()\n setCookie('oauth_anticipate_id', uuid, { path: '/' })\n\n try {\n // Tell our server that we are about to kick off an OAuth request\n // and provide success/fail redirect URLs\n const response = await axios.post('/oauth/anticipate', {\n success: successUrl,\n failure: failureUrl\n })\n\n if (response.status === 200) {\n // Kick off the OAuth request\n window.location.href = `/auth/${name}`\n }\n } catch (error) {\n setError(\n 'An unexpected error occurred. Please contact support@alomoves.com for assistance.'\n )\n setProcessing(false)\n }\n }\n\n return (\n \n sign_up_initiated_event(name), handleClick)}\n processing={processing}\n variant='dim'\n width='100%'\n {...rest}\n style={{\n display: !processing ? 'flex': '',\n justifyContent: !processing ? 'flex-start' : '',\n padding: '0 10px',\n minHeight: '40px'\n }}\n >\n {SVG && }\n {connected ? 'Disconnect from' : ctaPrefix} {label || name}\n \n\n {error && {error}}\n \n )\n}\n\nAuthProvider.propTypes = {\n name: PropTypes.string.isRequired,\n SVG: PropTypes.any,\n authID: PropTypes.number,\n ctaPrefix: PropTypes.string.isRequired,\n successUrl: PropTypes.string.isRequired,\n failureUrl: PropTypes.string.isRequired\n}\n\nexport default AuthProvider\n","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { AppleLogo, GoogleLogo, FacebookLogoNew } from 'images'\n\nimport AuthProvider from './AuthProvider'\nimport { useResetPage } from 'hooks'\n\nconst AuthProviders = ({ context, authorizations, signinRedirect }) => {\n const providers = [\n {\n name: 'apple',\n SVG: AppleLogo,\n authID: authorizations.apple\n },\n {\n name: 'facebook',\n SVG: FacebookLogoNew,\n authID: authorizations.facebook\n },\n {\n disabled: false,\n name: 'google_oauth2',\n SVG: GoogleLogo,\n authID: authorizations.google,\n label: 'google'\n }\n ]\n\n const contextProps = {\n signin: {\n ctaPrefix: 'Sign in with',\n successUrl: signinRedirect || '/subscribe/membership', // If user already has membership, server will redirect to home\n failureUrl: '/signin'\n },\n signup: {\n ctaPrefix: 'Continue with',\n successUrl: '/subscribe/membership',\n failureUrl: '/subscribe/signup'\n },\n connect: {\n ctaPrefix: 'Connect with',\n successUrl: '/settings/account',\n failureUrl: '/settings/account'\n }\n }\n\n useResetPage()\n\n return (\n \n {providers\n .filter((i) => !i.disabled)\n .map((provider, index) => (\n \n ))}\n \n )\n}\n\nAuthProviders.defaultProps = {\n authorizations: {}\n}\n\n// context: Which page are we on: /signin or /settings/account (connect)\n// authorizations: Object of authorization IDs, keyed by provider (if connected)\nAuthProviders.propTypes = {\n context: PropTypes.string.isRequired, // signin, signup, connect\n authorizations: PropTypes.shape({\n apple: PropTypes.number,\n facebook: PropTypes.number\n }),\n signinRedirect: PropTypes.string\n}\n\nexport default AuthProviders\n","import { useEffect } from 'react'\n\nimport { useAlert } from 'hooks'\n\n// This hook looks for messages regarding auth_providers and renders them through as alerts.\nconst AuthFeedback = () => {\n const params = new URLSearchParams(window.location.search)\n const provider = params.get('auth_provider')\n const success = params.get('auth_success') === 'true'\n const status = params.get('auth_status')\n\n const setAlert = useAlert()\n\n useEffect(() => {\n const statusProps = {\n account_created: {\n message: `Welcome to your new account! If you meant to sign in to an existing account instead, please sign out, and sign in with your existing account.`,\n cta: {\n text: 'Sign Out',\n link: '/signout?redirect=signin'\n }\n },\n email_exists: {\n message:\n 'The email address provided is registered to another account. Please sign in to Alo Moves using your email, then connect your account to Apple in your Account Settings.',\n cta: {\n text: 'Sign In',\n link: '/signin'\n }\n },\n google_exists: {\n message:\n 'The email address provided is registered to another account. Please sign in to Alo Moves using your email, then connect your account to Google in your Account Settings.',\n cta: {\n text: 'Sign In',\n link: '/signin'\n }\n },\n account_connected: {\n message: `Your ${provider} account is now linked to your Alo Moves account. You can now log in using ${provider}.`\n },\n merge_failed: {\n message: `We were unable to connect your ${provider} account. Please contact support@alomoves.com and we will be more than happy to help you.`\n },\n provider_error: {\n message: `The ${provider} service is currently unavailable. Please try again later.`\n }\n }\n\n if (status) {\n const alert = statusProps[status]\n if (alert) {\n setAlert({\n ...alert,\n error: !success\n })\n }\n }\n }, [provider, success, status])\n}\n\nexport default AuthFeedback\n","import AuthProviders from './AuthProviders'\nexport { default as useAuthFeedback } from './useAuthFeedback'\nexport default AuthProviders\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { ThemeProvider } from 'styled-components'\nimport { CookiesProvider } from 'react-cookie'\nimport { QueryClientProvider, QueryClient } from 'react-query'\nimport { ReactQueryDevtools } from 'react-query/devtools'\n\nimport { UserProvider, ModalProvider } from 'context'\nimport { LightTheme } from 'ui/bend'\n\nconst queryClientInstance = new QueryClient()\n\nconst EntryProviders = ({\n loadUser,\n user,\n children,\n queryClient = queryClientInstance\n}) => {\n return (\n \n \n \n \n {children}\n \n \n \n {/* uncomment/comment to enable/disable react query dev tools */}\n {/* */}\n \n )\n}\n\nEntryProviders.propTypes = {\n loadUser: PropTypes.bool,\n user: PropTypes.object,\n children: PropTypes.node.isRequired\n}\n\nexport default EntryProviders\n","import { useCallback, useEffect, useState } from 'react'\nimport { useStripeCheckout, useUserContext } from '../../context'\nimport { useAlert } from '../../hooks'\nimport { axios } from '../../api'\nimport { toast } from 'react-toastify'\n\nconst noop = () => {}\n\nconst toastId = 'pending-payment'\nexport const PendingPayment = ({\n refresh = false,\n onError = noop,\n onSuccess = noop,\n onComplete = noop\n}) => {\n const getStripe = useStripeCheckout()\n const { user } = useUserContext()\n const setAlert = useAlert()\n const [pendingPayment, setPendingPayment] = useState(user?.pendingPayment)\n\n const confirmPayment = useCallback(async () => {\n if (!getStripe) return\n const stripe = await getStripe()\n // get the checkout sessionID for the pending payment\n toast.dismiss(toastId)\n setAlert(\n {\n message: 'Please wait till we confirm your payment',\n cta: {},\n alert: false,\n error: true\n },\n {\n toastId: toastId,\n draggable: false,\n closeButton: false,\n closeOnClick: false\n }\n )\n try {\n let res = await axios.get('/payments/pending_intent')\n if (res?.data?.clientSecret) {\n let { origin, href } = window.location\n const { error } = await stripe.confirmPayment({\n clientSecret: res.data.clientSecret,\n confirmParams: {\n return_url: `${origin}/payment/confirm/${btoa(href)}`\n }\n })\n if (error) {\n onError(error)\n return\n } else {\n toast.dismiss(toastId)\n onSuccess()\n }\n } else {\n // the session not returning usually means that the request is incorrect\n toast.dismiss(toastId)\n // we don't need to call onSuccess here\n }\n setAlert({\n message: 'We have updated your membership.'\n })\n } catch (err) {\n console.log(err)\n // TODO handle 410 response\n onError(err)\n } finally {\n toast.dismiss(toastId)\n onComplete()\n }\n }, [getStripe, onComplete, onError, onSuccess, setAlert])\n\n useEffect(() => {\n if (pendingPayment) {\n setAlert(\n {\n message: `There is a pending payment of ${pendingPayment.amount}. Please confirm the payment.`,\n cta: {\n text: `Pay ${pendingPayment.amount}`,\n link: '#',\n onClick: async (e) => {\n e.preventDefault()\n await confirmPayment()\n }\n },\n alert: false,\n error: true,\n width: ['100%', '50em']\n },\n {\n toastId: toastId,\n draggable: false,\n closeButton: false,\n closeOnClick: false\n }\n )\n } else {\n toast.dismiss(toastId)\n }\n }, [confirmPayment, pendingPayment, setAlert])\n\n useEffect(() => {\n if (refresh) {\n axios\n .get('/payments/pending_intent')\n .then((res) => {\n setPendingPayment(res?.data)\n })\n .catch((err) => console.log(err))\n }\n }, [refresh])\n\n return null\n}\n","import React, { useState, useEffect } from 'react'\nimport styled from 'styled-components'\nimport { css } from '@styled-system/css'\n\nimport { axios } from 'api'\n\nimport { Box, Collapse } from 'ui/acro'\nimport CloseIcon from 'ui/acro/blocks/ContentModal/CloseIcon'\nimport { TwinkleIcon } from 'components_v2/Icons'\n\nconst StyledAlertBar = styled(Box)((props) =>\n css({\n fontFamily: 'proxima-nova, Arial, sans-serif',\n color: 'white',\n width: '100%',\n textAlign: 'center',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n zIndex: '1',\n background: props.theme.colors.alert.medium,\n py: ['13px', '13px'],\n px: ['33px', '48px'], // Account for dismiss/close icon,\n '.message': {\n paddingLeft: '12px'\n },\n '.twinkle-icon': {\n flex: '0 0 20px'\n }\n })\n)\n\nconst DismissButton = styled('a')((props) =>\n css({\n background: props.theme.colors.alert.dark,\n borderRadius: '50%',\n display: 'block',\n padding: '8px',\n height: '30px',\n width: '30px',\n textDecoration: 'none',\n ':before': {\n background: 'none'\n },\n ':after': {\n background: 'none'\n }\n })\n)\n\nconst ActionLink = styled('a')((props) =>\n css({\n fontWeight: '700',\n textDecoration: 'underline',\n color: 'inherit',\n fontFamily: 'proxima-nova',\n fontSize: ['14px', '16px'],\n letterSpacing: 3,\n ml: ['0px', '46px'],\n textUnderlineOffset: '5px',\n display: ['block', 'inline'],\n '&:hover .ActionText': {\n borderBottom: '1px solid'\n }\n })\n)\n\n// This alert bar is used to show site-wide sales and the like.\nconst AlertBar = () => {\n const [alert, setAlert] = useState({})\n // const [alert, setAlert] = useState({\n // message: 'Announcing live classes! Schedule and participate in person.',\n // actionText: 'See Schedule',\n // actionUrl: 'http://hbo.com',\n // dismissible: true\n // })\n const [showAlert, setShowAlert] = useState(false)\n\n const emitAlertEvent = (visible) => {\n if (typeof CustomEvent === 'function') {\n const event = new CustomEvent('alert_bar_status', { detail: visible })\n\n // Wait for alert bar to transition, then emit event (see StyledHeader.js)\n setTimeout(() => {\n window.dispatchEvent(event)\n }, 350)\n }\n }\n\n useEffect(() => {\n const getAlert = async () => {\n try {\n const res = await axios.get('/alert_bar/current')\n\n if (res.data) {\n setAlert(res.data)\n setShowAlert(true)\n emitAlertEvent(true)\n } else {\n emitAlertEvent(false)\n }\n } catch (error) {\n // Fail silently\n // console.log(error)\n }\n }\n\n getAlert()\n }, [])\n\n const dismissAlert = async () => {\n try {\n await axios.post('/alert_bar/dismiss', {})\n } catch (error) {\n // Fail silently\n // console.log(error)\n } finally {\n setShowAlert(false)\n emitAlertEvent(false)\n }\n }\n\n return (\n \n \n \n \n \n \n {alert.actionText && alert.actionUrl && (\n \n {alert.actionText}\n \n )}\n \n \n \n {alert.dismissible && (\n \n \n \n )}\n \n \n \n )\n}\n\nexport default AlertBar\n","import { axios } from 'api'\nimport { useUserContext } from 'context'\nimport { useEffect } from 'react'\nimport useGetCountry from './useGetCountry'\n\nconst useUpdateCountry = () => {\n const { user } = useUserContext()\n const currentCountry = useGetCountry(false)\n\n useEffect(() => {\n if (!!user && !!currentCountry) {\n if (user.country != currentCountry) {\n axios\n .put('/users/me', { country: currentCountry })\n .then(() => {})\n .catch((err) => {\n console.log(err)\n })\n }\n }\n }, [user, currentCountry])\n}\n\nexport default useUpdateCountry\n","import React, { useEffect } from 'react'\nimport PropTypes from 'prop-types'\n\nimport AlertBar from './AlertBar'\nimport Navbar from './Navbar'\nimport { StripeCheckoutProvider, useUserContext } from 'context'\nimport { axiosPlain } from 'api'\nimport { PendingPayment } from '../Membership/PendingPayment'\nimport useUpdateCountry from 'hooks/useUpdateCountry'\nimport { retrieveAndClearEvents } from 'gtm/pushEvents'\n\nconst Header = ({ controls }) => {\n const { user } = useUserContext()\n const getGa4Events = user && user?.getGa4Events\n const stripeApiKey = user?.stripeApiKey\n useUpdateCountry()\n\n useEffect(() => {\n retrieveAndClearEvents()\n if (getGa4Events) {\n axiosPlain\n .get('/users/events')\n .then((res) => {\n const events = res.data?.ga4_events\n if (events && Array.isArray(events)) {\n window.dataLayer = window.dataLayer || []\n window.dataLayer.push(...events)\n }\n })\n .catch((err) => {\n console.log(err)\n })\n }\n }, [getGa4Events])\n\n return (\n \n {controls.alert && }\n {controls.navbar && (\n \n )}\n {stripeApiKey && (\n \n \n \n )}\n \n )\n}\n\nHeader.defaultProps = {\n controls: {\n alert: true,\n navbar: true,\n navbarLinks: true, // Links, hoverables, search, etc.\n navbarAuth: true\n }\n}\n\nHeader.propTypes = {\n controls: PropTypes.object\n}\n\nexport default Header\n","import Header from './Header'\n\nexport default Header\n"],"sourceRoot":""}