{"version":3,"file":"js/join-90133fb0955050997de7.js","mappings":"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","sources":["webpack://rsvpbridge/./app/javascript/api/clubs.js","webpack://rsvpbridge/./app/javascript/api/pending_members.js","webpack://rsvpbridge/./app/javascript/pages/Join/JoinGroups.jsx","webpack://rsvpbridge/./app/javascript/pages/Join/index.jsx","webpack://rsvpbridge/./app/javascript/packs/join.jsx"],"sourcesContent":["import { get, post, patch, destroy } from 'api/rsvp_api'\n\nexport const apiAddClub = (club, controls) => {\n post('adding club', '/api/clubs', { club }, controls)\n}\n\nexport const apiUpdateClub = (clubId, club, controls) => {\n patch('updating club', `/api/clubs/${clubId}`, { club }, controls)\n}\n\nexport const apiDeleteClub = (clubId, controls) => {\n destroy('deleting club', `/api/clubs/${clubId}`, controls)\n}\n\nexport const apiFetchClubData = (clubId, controls) => {\n get(\n 'fetching club management data',\n `/api/clubs/${clubId}/fetch_management_data`,\n controls,\n )\n}\n\nexport const apiFetchClubMembers = (clubId, controls) => {\n get('fetching club members', `/api/clubs/${clubId}/fetch_members`, controls)\n}\n\nexport const apiSetDefaultManagedClub = (clubId, controls) => {\n patch(\n 'setting default managed club',\n `/api/clubs/${clubId}/set_default_managed_club`,\n {},\n controls,\n )\n}\n\nexport const apiGetRankChanges = (clubId, controls) => {\n get(\n 'fetching rank changes',\n `/api/clubs/${clubId}/recent_rank_changes`,\n controls,\n )\n}\n\nexport const apiGetJoinableGroups = (clubId, controls) => {\n get(\n 'getting joinable groups',\n `/api/clubs/${clubId}/joinable_groups`,\n controls,\n )\n}\n\nexport const apiUpdateGroupOrder = (clubId, order, controls) => {\n patch(\n 'updating group order',\n `/api/clubs/${clubId}/update_group_order`,\n { order },\n controls,\n )\n}\n\nexport const apiPropagateContact = (clubId, controls) => {\n patch(\n 'progating club contact',\n `/api/clubs/${clubId}/propagate_contact`,\n {},\n controls,\n )\n}\n\nexport const apiGetClubManagerOptions = (clubId, controls) => {\n get(\n 'getting club manager options',\n `/api/clubs/${clubId}/club_manager_options`,\n controls,\n )\n}\n\nexport const apiAddClubUser = (clubId, data, controls) => {\n post(\n 'adding club user',\n `/api/clubs/${clubId}/create_club_user`,\n data,\n controls,\n )\n}\n\nexport const apiFetchNewMemberGroupOptions = (clubId, userId, controls) => {\n get(\n 'fetching new member group options',\n `/api/clubs/${clubId}/new_member_group_options_for_user/${userId}`,\n controls,\n )\n}\n\nexport const apiCreateClubMembers = (\n clubId,\n userId,\n groups,\n sendConfirmation,\n controls,\n) => {\n post(\n 'creating club members',\n `/api/clubs/${clubId}/create_members`,\n { user_id: userId, groups: groups, send_confirmation: sendConfirmation },\n controls,\n )\n}\n\nexport const apiLoadClubsAndGroups = (clubIds, controls) => {\n get(\n 'getting clubs and groups',\n `/api/clubs/load_selected_clubs_and_groups?club_ids=${clubIds.join(',')}`,\n controls,\n )\n}\n","import { get, post, destroy } from 'api/rsvp_api'\n\nexport const apiLoadPendingMembers = controls => {\n get('loading pending members', '/api/pending_members', controls)\n}\n\nexport const apiJoinRequest = (pending_member, controls) => {\n post(\n 'making join request',\n '/api/pending_members/join_request',\n { pending_member },\n controls,\n )\n}\n\nexport const apiDeletePendingMember = (id, controls) => {\n destroy('deleting pending member', `/api/pending_members/${id}`, controls)\n}\n","// import packages\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport { toast } from 'react-toastify'\nimport styled from 'styled-components'\n\n// import apis\nimport { apiGetJoinableGroups } from 'api/clubs'\nimport { apiJoinRequest } from 'api/pending_members'\n\n// import redux, selectors, actions\n\n// import contexts\n\n// import hooks\n\n// import utilities\nimport {\n parseAcblNumberEntry,\n validAcblNumber,\n groupSorter,\n} from 'helpers/utilities'\n\n// import common elements\nimport {\n Checkbox,\n ButtonToolbar,\n Button,\n FormControl,\n Collapse,\n} from 'react-bootstrap'\nimport { Loading } from 'components/elements/Layout'\nimport { FormField } from 'components/elements/Form/'\n\n// import components\nimport { ParsedHtml } from 'components/elements/Misc'\n\n// import styles\nconst GroupEntry = styled.div`\n margin-bottom: 20px;\n .checkbox {\n margin-bottom: 0;\n }\n`\n\n// local constants\nconst defaultValues = {\n first_name: '',\n last_name: '',\n email: '',\n acbl_number: '',\n group_ids: [],\n}\nconst HONEY = 'value_should_not_be_changed'\n// --------------------\n\nconst JoinGroups = ({ clubId }) => {\n const [loading, setLoading] = React.useState(true)\n const [groups, setGroups] = React.useState([])\n const [updating, setUpdating] = React.useState(false)\n const [honeyPot, setHoneyPot] = React.useState(HONEY)\n const [done, setDone] = React.useState(false)\n const [encounteredError, setEncounteredError] = React.useState(null)\n\n const [newMember, setNewMember] = React.useState(defaultValues)\n const [errors, setErrors] = React.useState({})\n\n React.useEffect(() => {\n const setJoinable = resp => {\n setGroups(resp.groups.sort(groupSorter))\n }\n\n apiGetJoinableGroups(clubId, {\n success: setJoinable,\n loading: setLoading,\n })\n }, [clubId])\n\n const handleFormFieldChange = (field, v) => {\n const value = field == 'acbl_number' ? parseAcblNumberEntry(v) : v\n setNewMember(nm => ({ ...nm, [field]: value }))\n setEncounteredError(null)\n\n const newErrors = { ...errors }\n if (field in newErrors) {\n delete newErrors[field]\n setErrors(newErrors)\n }\n }\n\n const handleHoneyPotChange = e => {\n setHoneyPot(e.target.value)\n }\n\n const groupIsChecked = gId => newMember.group_ids.includes(gId)\n\n const handleGroupIdsChange = e => {\n const v = parseInt(e.target.value)\n const newGroupIds = groupIsChecked(v)\n ? newMember.group_ids.filter(g => g != v)\n : [...newMember.group_ids, v]\n setNewMember(nm => ({ ...nm, group_ids: newGroupIds }))\n }\n\n const valid =\n newMember.first_name != '' &&\n newMember.last_name != '' &&\n newMember.email != '' &&\n validAcblNumber(newMember.acbl_number, true) &&\n newMember.group_ids.length > 0 &&\n honeyPot == HONEY\n\n const inputFor = (field, opts = {}) => {\n let current = newMember[field]\n let original = ''\n let validationState = errors && errors[field] !== undefined ? 'error' : null\n let error = errors[field] ? errors[field].join(', ') : null\n return (\n \n )\n }\n\n const join = () => {\n apiJoinRequest(\n { ...newMember, club_id: clubId },\n {\n loading: setUpdating,\n success: () => {\n setNewMember(defaultValues)\n setErrors({})\n setDone(true)\n },\n error: addErrors,\n },\n )\n }\n\n const addErrors = response => {\n if (response.errors) {\n setErrors(response.errors)\n } else if (response.error) {\n setEncounteredError(response.error)\n } else {\n toast.error('Sorry, we encountered an error processing your request.')\n }\n }\n\n const honeyPotField = (\n \n )\n\n if (loading) {\n return \n }\n\n return (\n
\n \n
\n

\n Thank you. Your request has been sent.\n

\n
\n
\n \n
\n

\n \n An error was encountered in processing your request:{' '}\n \n {encounteredError}\n

\n
\n
\n \n
\n

\n To request access to our groups on RSVP Bridge, please submit the\n form below.\n

\n
\n {inputFor('first_name', { required: true })}\n {inputFor('last_name', { required: true })}\n
\n
\n {inputFor('email', { required: true })}\n {inputFor('acbl_number', {\n label: 'ACBL Number',\n placeholder: 'optional',\n })}\n
\n
\n

Please select at least one group you would like to join:

\n {groups.map(g => (\n \n \n {g.title}\n \n {g.notes && (\n \n )}\n \n ))}\n
\n {honeyPotField}\n {honeyPot !== HONEY && (\n

\n Uh-oh. We seem to think you might be a bot. Sorry.\n

\n )}\n \n \n Request membership in selected groups\n \n \n
\n
\n
\n )\n}\n\nJoinGroups.propTypes = {\n clubId: PropTypes.number.isRequired,\n}\n\nexport default JoinGroups\n","// import packages\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\n// import apis\n\n// import redux, selectors, actions\n\n// import contexts\nimport { useCurrentUserState } from 'contexts/current-user-context'\n\n// import hooks\n\n// import utilities\n\n// import common elements\nimport { Button } from 'react-bootstrap'\nimport { PageLayout, PageContent, Pane } from 'components/elements/Layout/'\nimport { FriendlyText, ClubLogo, ParsedHtml } from 'components/elements/Misc'\n\n// import components\nimport JoinGroups from './JoinGroups'\n\n// import styles\n\n// local constants\nconst paneName = 'join'\n\n// --------------------\n\nconst Join = props => {\n const club = props.club ? JSON.parse(props.club) : null\n const currentUser = useCurrentUserState()\n\n return (\n \n Welcome to {club ? club.title : 'RSVP Bridge'}\n \n }\n links={JSON.parse(props.links)}\n currentPath={props.currentPath}\n >\n \n \n \n ) : (\n {club.title} on RSVP Bridge\n )\n ) : (\n 'Uh-oh.'\n )\n }\n >\n {club.area && {club.area}}\n \n
\n \n {club.contact_name && club.contact_email && (\n

\n Contact:{' '}\n {club.contact_name}\n

\n )}\n
\n\n {club ? (\n club.external_join_groups_count > 0 ? (\n \n ) : (\n

Sorry, there are no groups open for membership.

\n )\n ) : (\n

Sorry, we cannot find that club.

\n )}\n\n
\n \n
\n
\n
\n \n )\n}\n\nJoin.propTypes = {\n branch: PropTypes.string,\n currentPath: PropTypes.string,\n links: PropTypes.string,\n club: PropTypes.string,\n}\n\nexport default Join\n","import React from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { Provider as ReduxProvider } from 'react-redux'\nimport { HelpContextProvider } from 'contexts/help-context.js'\nimport { CurrentUserProvider } from 'contexts/current-user-context'\nimport { PageProvider } from 'contexts/page-context'\nimport { PaneMemoryProvider } from 'contexts/pane-memory-context'\nimport Join from 'pages/Join'\nimport appSetup from 'helpers/appSetup'\nimport { Elements } from '@stripe/react-stripe-js'\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const container = document.getElementById('container')\n const root = createRoot(container)\n const {\n currentUserData,\n updateUserMemberStore,\n passedProps,\n stripePromise,\n store,\n } = appSetup(container)\n\n root.render(\n \n \n \n \n \n {stripePromise ? (\n \n \n \n ) : (\n \n )}\n \n \n \n \n ,\n )\n})\n"],"names":["apiAddClub","club","controls","post","apiUpdateClub","clubId","patch","apiDeleteClub","destroy","apiFetchClubData","get","apiFetchClubMembers","apiSetDefaultManagedClub","apiGetRankChanges","apiGetJoinableGroups","apiUpdateGroupOrder","order","apiPropagateContact","apiGetClubManagerOptions","apiAddClubUser","data","apiFetchNewMemberGroupOptions","userId","apiCreateClubMembers","groups","sendConfirmation","user_id","send_confirmation","apiLoadPendingMembers","apiJoinRequest","pending_member","apiDeletePendingMember","id","GroupEntry","styled","div","withConfig","displayName","componentId","defaultValues","first_name","last_name","email","acbl_number","group_ids","HONEY","JoinGroups","loading","setLoading","React","setGroups","updating","setUpdating","honeyPot","setHoneyPot","done","setDone","encounteredError","setEncounteredError","newMember","setNewMember","errors","setErrors","success","resp","sort","groupSorter","handleFormFieldChange","field","v","value","parseAcblNumberEntry","nm","newErrors","groupIsChecked","gId","includes","handleGroupIdsChange","e","parseInt","target","newGroupIds","filter","g","valid","validAcblNumber","length","inputFor","opts","current","validationState","undefined","error","join","FormField","original","handleChange","canEdit","addErrors","response","toast","honeyPotField","FormControl","className","name","onChange","Loading","Collapse","in","required","label","placeholder","map","key","Checkbox","checked","title","notes","ParsedHtml","content","classes","ButtonToolbar","Button","disabled","bsSize","bsStyle","onClick","club_id","props","JSON","parse","currentUser","useCurrentUserState","PageLayout","branch","sourceChannel","channel","heading","FriendlyText","links","currentPath","PageContent","unloadWarning","refreshing","Pane","helpPane","Header","logo_url","ClubLogo","height","centered","maxWidth","area","contact_name","contact_email","href","external_join_groups_count","document","addEventListener","container","getElementById","root","createRoot","currentUserData","updateUserMemberStore","passedProps","stripePromise","store","appSetup","render","ReduxProvider","PageProvider","PaneMemoryProvider","HelpContextProvider","CurrentUserProvider","Object","assign","Elements","stripe","Join"],"sourceRoot":""}