{"version":3,"sources":["App.module.scss","images/star.js","images/logo.js","Membership.js","SummerCamp.js","SpringCamp.js","HICamp.js","PDCamp.js","features/counter/counterSlice.js","store.js","serviceWorker.js","index.js","App.js"],"names":["module","exports","preserveAspectRatio","data-bbox","xmlns","viewBox","role","fillRule","clipRule","d","plans","singleAdult","name","price","singleSenior","singleJunior","family","value","useForm","mode","register","errors","watch","handleSubmit","formState","useState","members","setMember","fields","onSubmit","action","method","plan","type","className","styles","wrapper","main","section","field","htmlFor","h2","id","defaultValue","ref","required","Object","keys","map","key","invalid","firstname","lastname","includes","opt","cellphone","pattern","message","email","postal","bca","disclaimer","defaultChecked","style","display","normal","member","remove","h3","onClick","length","indexOf","waiver","full","fieldcenter","sidebar","offsetTop","offsetBottom","summary","Intl","NumberFormat","currency","format","submit","disabled","isValid","returns","camp1","nonMember","camp2","camp3","camp4","camp5","camp6","camp7","camp8","getValues","validSelection","find","p","React","setFull","useEffect","fetch","then","resp","json","summer","section2col","street","section3col","city","province","field2x","emergency","emergencyName","emergencyPhone","marginBottom","sub","fieldfull","media","referral","filter","defaultValues","f","reduce","sum","x","slice","createSlice","initialState","reducers","increment","state","decrement","incrementByAmount","payload","amount","actions","configureStore","reducer","counter","counterReducer","Boolean","window","location","hostname","match","ReactDOM","render","store","app","header","href","symbols","star","logo","exact","path","to","component","Membership","SummerCamp","SpringCamp","HICamp","PDCamp","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.f9f1751d.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"App_header__37-uu\",\"symbols\":\"App_symbols__3dat5\",\"star\":\"App_star__3kZsM\",\"logo\":\"App_logo__3Etz9\",\"wrapper\":\"App_wrapper__2Phka\",\"main\":\"App_main__1Mn4s\",\"sidebar\":\"App_sidebar__1x9Fl\",\"section\":\"App_section__30_1q\",\"section2col\":\"App_section2col__26UNQ\",\"section3col\":\"App_section3col__2Luhq\",\"section3col2\":\"App_section3col2__27-OK\",\"full\":\"App_full__18ECC\",\"field\":\"App_field__3bX8c\",\"sectiondates\":\"App_sectiondates__3pnRM App_section__30_1q\",\"waiver\":\"App_waiver__pN4A0 App_section__30_1q\",\"fieldfull\":\"App_fieldfull__3QNR5 App_field__3bX8c\",\"field2x\":\"App_field2x__2meoG App_field__3bX8c\",\"fieldcenter\":\"App_fieldcenter__2FuQi App_fieldfull__3QNR5 App_field__3bX8c\",\"sub\":\"App_sub__3_U1S\",\"invalid\":\"App_invalid__2c1H7\",\"h2\":\"App_h2__w_pTR\",\"h3\":\"App_h3__215NS\",\"disclaimer\":\"App_disclaimer__2eBFL App_field__3bX8c\",\"normal\":\"App_normal__1xXC1\",\"summary\":\"App_summary__f1unQ\",\"key\":\"App_key__3-_mR\",\"remove\":\"App_remove__77nYE\",\"member\":\"App_member__3rECH\",\"emergency\":\"App_emergency__1cuWR\",\"opt\":\"App_opt__1xY1t\",\"returns\":\"App_returns__YWfx8\",\"block\":\"App_block__1atKm App_normal__1xXC1\"};","import React from 'react'\r\n\r\nexport default () =>\r\n  <svg preserveAspectRatio=\"xMidYMid meet\" data-bbox=\"35.427 32.911 135.178 135.177\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"32.354772727272724 23.693818181818173 141.32245454545455 153.61136363636365\" role=\"img\">\r\n    <g>\r\n      <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M156.114 107.49l14.491-25.101-25.1-14.492-7.502-27.997-27.997 7.502-25.1-14.491-14.492 25.1-27.997 7.502 7.502 27.996-14.492 25.101 25.101 14.492 7.502 27.996 27.996-7.502 25.102 14.492 14.492-25.101 27.997-7.502-7.503-27.995z\"></path>\r\n    </g>\r\n  </svg>","import React from 'react'\r\n\r\nexport default () =>\r\n  <svg preserveAspectRatio=\"xMidYMid meet\" data-bbox=\"52.191 172.053 259.287 127.426\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"26.89606818181818 170.60497727272727 309.8768636363636 130.32204545454545\" role=\"img\">\r\n    <g>\r\n      <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M223.857 274.393c30.08 10.059 58.86 1.059 56.441-19.82 17.859-4.16 30.699-14.039 31.18-28.641-3.24-30.559-47.72-30.559-85.74-17.82l-.12-.02c-14.3-8.641-32-11.779-48.72-10.58-3.82-7.479-7.441-15.68-10.88-24.58-2.84 1.102-5.68.4-8.54-.879 3.56 9.141 7.32 18.02 11.52 26.359v.02c-13.739 2.16-26.3 7.301-35.1 14.74h-.021c-43.74-22.84-77.52-18.279-81.5 9.82-1.819 16.881 9.84 28.381 29.101 32.779v.02c-1.521 16.102 22.58 27.801 52.399 23.621 28.341 29.219 86.181 25.66 89.98-5.019zm-85.5 4.3v-.021a97.551 97.551 0 0 0 20.9-6.52c5.22-2.34 10.279-4.58 15.14-6.721 8.059 4.48 16.58 7.102 25.479 8.199 7 .701 13.24.242 18.721-1.119h.16c.619.26 1.239.5 1.84.74h.02c-.3 2.4-1.02 4.801-2.18 7.141-20.7 26.141-58.74 18.641-80.08-1.699zm-4.5.68l.061.039h-.041c0-.019-.02-.019-.02-.039zm-49.299-22.941l.06-.02c10.34 1.879 22.641 1.84 36.06-.359.539 2.32 1.3 4.6 2.24 6.84a52.516 52.516 0 0 0 7.14 12.141c-29.88 5.417-46.22-5.462-45.5-18.602zm45.5 18.601c.02 0 .04 0 .04-.022v.061l-.04-.039zm94.62-4.5v-.041c8-3.32 13.88-8.76 17.5-15.16l.04-.02c12.64 2.08 25.159 1.92 36-.279 3.159 19.82-23.841 24.559-53.54 15.5zm-.861 3.86l.04-.102v.102h-.04zm-89.68-.18l-.039-.02c-4.801-5.621-8.36-11.961-10.12-18.721l.021-.021c7.939-1.479 16.219-3.719 24.699-6.758 5.72 3.299 11.7 7.199 17.92 11.68.46.359.94.699 1.42 1.039-1.84 1-3.68 2.039-5.54 3.1-10.4 4.681-19.881 7.82-28.361 9.701zm43.761-10.301a1232.88 1232.88 0 0 1 14.08-6.039c5.54 3.82 11.46 7.359 17.92 10.459 1.58.861 3.2 1.66 4.8 2.42-10.6 1.82-23.321.101-36.8-6.84zm36.799 6.84zm5.76-1.399c.36 0-.199.258 0 0zm-25.659-12.621l.02-.039a569.354 569.354 0 0 1 16.24-6.541c5.22 4.881 8.84 11.16 9.68 18.939l-.14.121c-9.721-3.48-18-7.48-25.8-12.48zm29.019 11.481l-.06-.06c.02-.022.04-.022.04-.022.02.021.02.062.02.082zm-9.74-19.201c.9-.359 1.8-.68 2.681-1l.22-.02c7.36 3.16 15.08 5.439 22.78 6.9-3.46 5.66-8.98 10.32-15.96 13.238-1.101-7.817-4.74-14.276-9.721-19.118zm-39.779 16.361l.159.039c-.02 0-.04.02-.059.02-.021-.02-.06-.039-.1-.059zm3.519-1.441l.04-.039c.02 0 .02.02.04.02-.02-.001-.04.019-.08.019zm-8.84-5.321c-5.7-4.18-11.28-7.939-16.72-11.199v-.02a189.553 189.553 0 0 0 16.92-7.4 637.62 637.62 0 0 0 3.8 3.18c-2.76 1.881-5.12 4.361-6.96 7.5 2.54-2.779 5.24-4.92 8.08-6.5h.059c3.46 2.861 6.98 5.721 10.62 8.48v.02c-4.52 2.24-9.14 4.619-13.9 7.201-.639-.422-1.278-.82-1.899-1.262zm22.98-.758l.02.02s-.02 0-.02-.02zm-71.279-1.8zm156.62-4.801c.76-.121 1.5-.279 2.239-.42a26.41 26.41 0 0 1 .761 3.74c-.7.16-1.381.32-2.08.461-.181-1.201-.5-2.461-.92-3.781zm-192.28 2.26v-.02c.779-3.201 2.359-6.98 5.34-9.6 8.02-7.06 18.18-9.102 30.18-6.699-1.039 5-1.24 9.779-.66 14.398l-.02.02c-.8.18-1.6.361-2.42.52-12.701 2.781-23.52 2.961-32.42 1.381zm-3-.619c.04 0 .061 0 .08.02l-.08.039v-.059zm0 0c-48-11.221-34.301-76.039 45.439-41.102a92.56 92.56 0 0 1 5.32 2.361c-5.6 5.061-9.481 11.119-10.92 17.959-.24.82-.48 1.621-.7 2.422l-.04.059c-.039 0-.08-.02-.1-.02-11.46-2.061-23.2-.82-31.26 6.379-4.52 3.903-6.659 8.102-7.739 11.942zm162.099-1.561a32.81 32.81 0 0 0 2.36-12.18c14.9-2.82 24.38-.861 28.78 7.1.859 1.74 1.54 3.42 2.04 5-10.18 1.84-21.779 1.859-33.18.08zm-56.8.119l-.1-.02c-3.5-2.68-6.86-5.578-10-8.719h-.021v-.041c8.601-3.52 17.92-2.299 25.7 1.74l.02.02a302.81 302.81 0 0 0-15.599 7.02zm56.8-.119h-.02.02zm-21.099-5.561c7.76-2.699 14.68-4.738 20.76-6.059l.02.02a27.04 27.04 0 0 1-2 11.1l-.12.1c-6.42-1.161-12.74-2.879-18.66-5.161zm-99.94 5.122l-.041-.039h.041v.039zm.6-12.981c5.8 1.48 11.979 3.92 18.539 7.26a219.689 219.689 0 0 1-19.139 5.682c-.56-4.223-.4-8.563.6-12.942zm153.639 7.16c-5.74-9.561-16.58-13.48-31.52-12.4a31.544 31.544 0 0 0-5.58-12.34c-2.74-3.18-5.761-6-9.04-8.479 46.239-13.582 78.819-4.262 77.939 14.379-1.22 13-13.38 21.18-29.58 24.6-.499-1.84-1.238-3.76-2.219-5.76zm-66.28 5.059l.04.021h-.02l-.02-.021zm3.021-1.119l.02-.02v.02h-.02zm-65.38-.319h.06-.06zm74.299-2.922v-.02s.02 0 .04.02h-.04zm-77-1.917c-7.479-3.98-14.681-6.922-21.559-8.563l-.021-.039c.96-3.1 2.36-6.219 4.239-9.32 2.141-3.619 4.881-6.859 8.121-9.699l.08.02c10.1 5.48 19.02 12.621 28 20.102v.02c-6.279 2.697-12.56 5.217-18.86 7.479zm60.22-.661l-.18-.041c.02 0 .04-.021.06-.021l.12.062zm-33.22-.021v-.02.02zm33.1-.041c-9.66-5.258-21.38-6.098-30.3-1.619l-.02-.02c-1.221-1-2.44-2-3.66-2.98a211.105 211.105 0 0 0 7.479-4.039 232.11 232.11 0 0 1 9.62-5.32c1.18 1.32 2.38 2.6 3.62 3.84 4.3 3.76 8.96 7.041 13.86 9.861l.02.039c-.199.08-.419.16-.619.238zm6.28-2.379h-.08.08zm-15.599-12.559c-.561-.66-1.12-1.361-1.7-2.063 11.58-5.719 22.72-10.139 33.18-13.398 3.561 2.6 6.62 5.641 9.04 9.08 2.62 3.66 4.4 7.381 5.44 11.041l-.021.098c-8.859 1.021-19.06 3.641-30.38 7.801-6.08-3.461-11.4-7.641-15.559-12.559zm-24.681 10.34v-.041c0 .02.021.02.021.02 0 .021-.021.021-.021.021zm-4.3-3.441l-.08-.039c-10.22-7.859-20.22-14.422-29.76-19.699l-.061-.063c8.6-7.098 20.301-11.639 32.78-13.619h.021c4.72 8.98 9.979 17.301 16.06 24.619-6.32 3.063-12.62 6.022-18.96 8.801zm78.021-2.379l-.04-.041h.04v.041zm-56.641-3.602l.061.02c-.021 0-.021 0-.021.021-.019-.021-.019-.021-.04-.041zm5.88-2.959v-.041c.021 0 .021.02.021.02 0 .021-.021.021-.021.021zm-2.139-2.779l-.14-.02c.02-.021.06-.021.1-.041-.001.02.019.042.04.061zm-14.281-22.582l-.02-.02c15.68-1.119 31.819 1.68 44.059 8.4-2.34.84-4.62 1.701-6.88 2.619-7.66 3.881-15.3 7.742-22.92 11.521-4.979-6.54-9.739-14.04-14.239-22.52zm-45.84 13.361zm95.361-1.5l.2.061c-.021 0-.061.02-.101.02a.409.409 0 0 0-.099-.081zm2.979-.779l-.04-.102c.04.02.061.061.101.082-.021.001-.04.001-.061.02zm-8.46-2.701s.021 0 .04-.02l.021.061c-.021-.02-.04-.02-.061-.041zm-45.74-11.639l-.04-.021h.021a.02.02 0 0 0 .019.021z\"></path>\r\n    </g>\r\n  </svg>","import React, { useState } from \"react\"\r\nimport styles from \"./App.module.scss\"\r\nimport { useForm } from \"react-hook-form\"\r\nimport StickyBox from \"react-sticky-box\"\r\n\r\nconst currency = (value) =>\r\n  new Intl.NumberFormat(\"en-CA\", { style: \"currency\", currency: \"CAD\" }).format(\r\n    value\r\n  )\r\n\r\nconst plans = {\r\n  singleAdult: { name: \"Adult\", price: 170 },\r\n  singleSenior: { name: \"Senior (65yrs +)\", price: 132 },\r\n  singleJunior: { name: \"Junior / Student (Up to 25yrs old)\", price: 95 },\r\n  family: { name: \"Family (parent(s) + kid(s))\", price: 275 },\r\n}\r\n\r\nexport default () => {\r\n  const { register, errors, watch, handleSubmit, formState } = useForm({\r\n    mode: \"onChange\",\r\n  }) // initialise the hook\r\n  const [members, setMember] = useState([0])\r\n  const fields = watch()\r\n\r\n  return (\r\n    <form\r\n      onSubmit={handleSubmit}\r\n      action={`${\r\n        process.env.NODE_ENV === \"production\"\r\n          ? `https://btcforms.azurewebsites.net`\r\n          : `http://localhost:5000`\r\n      }/checkoutMembership`}\r\n      method=\"POST\"\r\n    >\r\n      {fields.plan && (\r\n        <>\r\n          <input type=\"hidden\" name=\"total\" value={plans[fields.plan].price} />\r\n          <input type=\"hidden\" name=\"name\" value={plans[fields.plan].name} />\r\n        </>\r\n      )}\r\n      <div className={styles.wrapper}>\r\n        <div className={styles.main}>\r\n          <h1>Club Membership Form</h1>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"plan\" className={styles.h2}>\r\n                Choose Your Membership Plan\r\n              </label>\r\n              <select\r\n                id=\"plan\"\r\n                name=\"plan\"\r\n                defaultValue={fields.plan}\r\n                ref={register({ required: true })}\r\n              >\r\n                <option></option>\r\n                {Object.keys(plans).map((plan) => (\r\n                  <option key={plan} value={plan}>\r\n                    {plans[plan].name}\r\n                  </option>\r\n                ))}\r\n              </select>\r\n              {errors.plan && (\r\n                <span className={styles.invalid}>\r\n                  Membership Plan is required.\r\n                </span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}></div>\r\n          </div>\r\n\r\n          {fields.plan && (\r\n            <>\r\n              <h2>Primary Contact Information</h2>\r\n\r\n              <div className={styles.section}>\r\n                <div className={styles.field}>\r\n                  <label htmlFor=\"firstname\">First Name</label>\r\n                  <input\r\n                    id=\"firstname\"\r\n                    name=\"firstname\"\r\n                    ref={register({ required: true })}\r\n                  />\r\n                  {errors.firstname && (\r\n                    <span className={styles.invalid}>\r\n                      First name is required.\r\n                    </span>\r\n                  )}\r\n                </div>\r\n                <div className={styles.field}>\r\n                  <label htmlFor=\"lastname\">Last Name</label>\r\n                  <input\r\n                    id=\"lastname\"\r\n                    name=\"lastname\"\r\n                    ref={register({ required: true })}\r\n                  />\r\n                  {errors.lastname && (\r\n                    <span className={styles.invalid}>\r\n                      Last name is required.\r\n                    </span>\r\n                  )}\r\n                </div>\r\n                <div className={styles.field}>\r\n                  <label\r\n                    htmlFor=\"cellphone\"\r\n                    className={\r\n                      fields.plan &&\r\n                      [\"singleAdult\", \"family\"].includes(fields.plan)\r\n                        ? \"\"\r\n                        : styles.opt\r\n                    }\r\n                  >\r\n                    Cell Number{\" \"}\r\n                    {fields.plan &&\r\n                      ![\"singleAdult\", \"family\"].includes(fields.plan) &&\r\n                      \" (optional)\"}\r\n                  </label>\r\n                  <input\r\n                    id=\"cellphone\"\r\n                    name=\"cellphone\"\r\n                    ref={register({\r\n                      required:\r\n                        fields.plan &&\r\n                        [\"singleAdult\", \"family\"].includes(fields.plan),\r\n                    })}\r\n                  />\r\n                  {errors.cellphone && (\r\n                    <span className={styles.invalid}>\r\n                      Cell Number is required.\r\n                    </span>\r\n                  )}\r\n                </div>\r\n              </div>\r\n\r\n              <div className={styles.section}>\r\n                <div className={styles.field}>\r\n                  {fields.plan && fields.plan !== \"singleAdult\" && (\r\n                    <>\r\n                      <label htmlFor=\"homephone\" className={styles.opt}>\r\n                        Home Number (optional)\r\n                      </label>\r\n                      <input id=\"homephone\" name=\"homephone\" />\r\n                    </>\r\n                  )}\r\n                </div>\r\n                <div className={styles.field}>\r\n                  <label htmlFor=\"email\">Email</label>\r\n                  <input\r\n                    id=\"email\"\r\n                    name=\"email\"\r\n                    ref={register({\r\n                      required: \"Email is required\",\r\n                      pattern: {\r\n                        value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i,\r\n                        message: \"Email is invalid\",\r\n                      },\r\n                    })}\r\n                  />\r\n                  {errors.email && (\r\n                    <span className={styles.invalid}>\r\n                      {errors.email.message}\r\n                    </span>\r\n                  )}\r\n                </div>\r\n                <div className={styles.field}>\r\n                  <label htmlFor=\"postal\">Postal Code</label>\r\n                  <input\r\n                    id=\"postal\"\r\n                    name=\"postal\"\r\n                    ref={register({\r\n                      required: \"Postal Code is required\",\r\n                      pattern: {\r\n                        value:\r\n                          /^[ABCEGHJ-NPRSTVXY]\\d[ABCEGHJ-NPRSTV-Z][ -]?\\d[ABCEGHJ-NPRSTV-Z]\\d$/i,\r\n                        message: \"Postal Code is invalid\",\r\n                      },\r\n                    })}\r\n                  />\r\n                  {errors.postal && (\r\n                    <span className={styles.invalid}>\r\n                      {errors.postal.message}\r\n                    </span>\r\n                  )}\r\n                </div>\r\n              </div>\r\n\r\n              {fields.plan && fields.plan === \"member\" && (\r\n                <div className={styles.section}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor=\"bca\">BCA Membership</label>\r\n                    <input\r\n                      id=\"bca\"\r\n                      name=\"bca\"\r\n                      ref={register({\r\n                        required: true,\r\n                        pattern: {\r\n                          value: /^[0-9]{4}_[0-9]{4}$/i,\r\n                          message: \"BCA Membership is invalid\",\r\n                        },\r\n                      })}\r\n                    />\r\n                    {errors.bca && (\r\n                      <span className={styles.invalid}>\r\n                        {errors.bca.message}\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                  <div className={styles.field}></div>\r\n                  <div className={styles.field}></div>\r\n                </div>\r\n              )}\r\n\r\n              <div className={styles.section}>\r\n                <div className={styles.disclaimer}>\r\n                  <input\r\n                    id=\"maillist\"\r\n                    type=\"checkbox\"\r\n                    name=\"maillist\"\r\n                    defaultChecked={true}\r\n                    ref={register}\r\n                    style={{ display: \"none\" }}\r\n                  />\r\n                  <label className={styles.normal}>\r\n                    Your email and cell number will be added to BTC's mail and\r\n                    text communication service to inform you of events,\r\n                    cancellations, reminders etc. You can also opt out by\r\n                    contacting us at <b>blackburntennisclub@gmail.com</b>\r\n                  </label>\r\n                </div>\r\n              </div>\r\n            </>\r\n          )}\r\n\r\n          {fields.plan && fields.plan === \"family\" && (\r\n            <div>\r\n              <h2>Family Member(s) Contact Information</h2>\r\n              {members.map((member) => (\r\n                <div key={member} className={styles.member}>\r\n                  <div className={styles.section}>\r\n                    <div className={styles.field}>\r\n                      {member > 0 && (\r\n                        <div className={styles.remove}>Remove Member</div>\r\n                      )}\r\n                      <label\r\n                        htmlFor={`relationship${member}`}\r\n                        className={styles.h3}\r\n                      >\r\n                        Relationship\r\n                      </label>\r\n                      <select\r\n                        id={`relationship${member}`}\r\n                        name={`relationship${member}`}\r\n                        ref={register({ required: true })}\r\n                      >\r\n                        <option></option>\r\n                        <option>Spouse</option>\r\n                        <option>Dependant</option>\r\n                      </select>\r\n                      {errors[`relationship${member}`] && (\r\n                        <span className={styles.invalid}>\r\n                          Relationship is required.\r\n                        </span>\r\n                      )}\r\n                    </div>\r\n                  </div>\r\n\r\n                  <div className={styles.section}>\r\n                    <div className={styles.field}>\r\n                      <label htmlFor={`firstname${member}`}>First Name</label>\r\n                      <input\r\n                        id={`firstname${member}`}\r\n                        name={`firstname${member}`}\r\n                        ref={register({ required: true })}\r\n                      />\r\n                      {errors[`firstname${member}`] && (\r\n                        <span className={styles.invalid}>\r\n                          First name is required.\r\n                        </span>\r\n                      )}\r\n                    </div>\r\n                    <div className={styles.field}>\r\n                      <label htmlFor={`lastname${member}`}>Last Name</label>\r\n                      <input\r\n                        id={`lastname${member}`}\r\n                        name={`lastname${member}`}\r\n                        ref={register({ required: true })}\r\n                      />\r\n                      {errors[`lastname${member}`] && (\r\n                        <span className={styles.invalid}>\r\n                          Last name is required.\r\n                        </span>\r\n                      )}\r\n                    </div>\r\n                    <div className={styles.field}></div>\r\n                  </div>\r\n\r\n                  <div className={styles.section}>\r\n                    <div className={styles.field}>\r\n                      <label htmlFor={`email${member}`}>Email</label>\r\n                      <input\r\n                        id={`email${member}`}\r\n                        name={`email${member}`}\r\n                        ref={register({\r\n                          required: \"Email is required\",\r\n                          pattern: {\r\n                            value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i,\r\n                            message: \"Email is invalid\",\r\n                          },\r\n                        })}\r\n                      />\r\n                      {errors[`email${member}`] && (\r\n                        <span className={styles.invalid}>\r\n                          {errors[`email${member}`].message}\r\n                        </span>\r\n                      )}\r\n                    </div>\r\n                    <div className={styles.field}>\r\n                      <label\r\n                        htmlFor={`cellphone${member}`}\r\n                        className={styles.opt}\r\n                      >\r\n                        Cell Number (optional)\r\n                      </label>\r\n                      <input\r\n                        id={`cellphone${member}`}\r\n                        name={`cellphone${member}`}\r\n                      />\r\n                    </div>\r\n                    <div className={styles.field}>\r\n                      <label htmlFor={`category${member}`}>Category</label>\r\n                      <select\r\n                        id={`category${member}`}\r\n                        name={`category${member}`}\r\n                        ref={register({ required: true })}\r\n                      >\r\n                        <option></option>\r\n                        <option>Adult 19+</option>\r\n                        <option>Junior less than 18</option>\r\n                      </select>\r\n                      {errors[`category${member}`] && (\r\n                        <span className={styles.invalid}>\r\n                          Category is required.\r\n                        </span>\r\n                      )}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              ))}\r\n              <input\r\n                type=\"button\"\r\n                value=\"Add member\"\r\n                onClick={() => setMember([...members, members.length + 1])}\r\n              />\r\n            </div>\r\n          )}\r\n\r\n          {fields.plan && fields.plan.indexOf(\"Couple\") > -1 && (\r\n            <div>\r\n              <h2>Spouse Contact Information</h2>\r\n              <div className={styles.member}>\r\n                <div className={styles.section}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`firstname0`}>First Name</label>\r\n                    <input\r\n                      id={`firstname0`}\r\n                      name={`firstname0`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`firstname0`] && (\r\n                      <span className={styles.invalid}>\r\n                        First name is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`lastname0`}>Last Name</label>\r\n                    <input\r\n                      id={`lastname0`}\r\n                      name={`lastname0`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`lastname0`] && (\r\n                      <span className={styles.invalid}>\r\n                        Last name is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                  <div className={styles.field}></div>\r\n                </div>\r\n\r\n                <div className={styles.section}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`email0`}>Email</label>\r\n                    <input\r\n                      id={`email0`}\r\n                      name={`email0`}\r\n                      ref={register({\r\n                        required: \"Email is required\",\r\n                        pattern: {\r\n                          value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i,\r\n                          message: \"Email is invalid\",\r\n                        },\r\n                      })}\r\n                    />\r\n                    {errors[`email0`] && (\r\n                      <span className={styles.invalid}>\r\n                        {errors[`email0`].message}\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`cellphone0`} className={styles.opt}>\r\n                      Cell Number (optional)\r\n                    </label>\r\n                    <input id={`cellphone0`} name={`cellphone0`} />\r\n                  </div>\r\n                  <div className={styles.field}></div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          )}\r\n\r\n          {fields.plan && (\r\n            <fieldset>\r\n              <div className={styles.waiver}>\r\n                <div className={styles.field}>\r\n                  <h4>\r\n                    TENNIS CLUB PARTICIPATION WAIVER AND RELEASE OF LIABILITY\r\n                  </h4>\r\n                  <p>\r\n                    In consideration of being allowed to participate in any way\r\n                    in the tennis activities, events, and programs of Blackburn\r\n                    Tennis Club (\"Club\"), the undersigned acknowledges,\r\n                    appreciates, and agrees that:\r\n                  </p>\r\n                  <p>\r\n                    <b>Risk of Injury:</b> The risk of injury from the\r\n                    activities have foreseeable and unforeseeable inherent\r\n                    risks, hazards and dangers that no amount of care, caution\r\n                    or expertise can eliminate, including without limitation,\r\n                    the potential for serious bodily injury, permanent\r\n                    disability, paralysis and loss of life.\r\n                  </p>\r\n                  <p>\r\n                    <b>Assumption of Risk:</b> I KNOWINGLY AND FREELY ASSUME ALL\r\n                    SUCH RISKS, both known and unknown, EVEN IF ARISING FROM THE\r\n                    NEGLIGENCE OF THE RELEASEES or others, and assume full\r\n                    responsibility for my participation.\r\n                  </p>\r\n                  <p>\r\n                    <b>Waiver:</b> I willingly agree to comply with the stated\r\n                    and customary terms and conditions for participation. If,\r\n                    however, I observe any unusual hazard, I will remove myself\r\n                    from participation and bring such to the attention of the\r\n                    nearest official immediately.\r\n                  </p>\r\n                  <p>\r\n                    <b>Release of Liability:</b> I, for myself and on behalf of\r\n                    my heirs, assigns, personal representatives, and next of\r\n                    kin, HEREBY RELEASE AND HOLD HARMLESS Blackburn Tennis Club,\r\n                    its officers, officials, agents, and/or employees, other\r\n                    participants, and if applicable, owners and lessors of\r\n                    premises used to conduct the event (\"Releasees\"), WITH\r\n                    RESPECT TO ANY AND ALL INJURY, DISABILITY, DEATH, or loss or\r\n                    damage to person or property, WHETHER ARISING FROM THE\r\n                    NEGLIGENCE OF THE RELEASEES OR OTHERWISE, to the fullest\r\n                    extent permitted by law.\r\n                  </p>\r\n                  <p>\r\n                    <b>Health Statement:</b> I declare that I am physically fit\r\n                    and have no condition that would prevent my participation in\r\n                    the tennis activities, events, and programs of the Club.\r\n                  </p>\r\n                  <p>\r\n                    <b>Emergency Treatment Consent:</b> I consent to emergency\r\n                    medical treatment in the event such care is required during\r\n                    my participation under the supervision of the Club.\r\n                  </p>\r\n                  <p>\r\n                    <b>COVID-19 Acknowledgment:</b> I acknowledge the contagious\r\n                    nature of COVID-19 and voluntarily assume the risk that I\r\n                    may be exposed to or infected by COVID-19 by attending the\r\n                    Club and that such exposure or infection may result in\r\n                    personal injury, illness, permanent disability, and death. I\r\n                    understand that the risk of becoming exposed to or infected\r\n                    by COVID-19 at the Club may result from the actions,\r\n                    omissions, or negligence of myself and others, including,\r\n                    but not limited to, Club employees, volunteers, and program\r\n                    participants and their families.\r\n                  </p>\r\n                  <p>\r\n                    I HAVE READ THIS RELEASE OF LIABILITY AND ASSUMPTION OF RISK\r\n                    AGREEMENT, FULLY UNDERSTAND ITS TERMS, UNDERSTAND THAT I\r\n                    HAVE GIVEN UP SUBSTANTIAL RIGHTS BY SIGNING IT, AND SIGN IT\r\n                    FREELY AND VOLUNTARILY WITHOUT ANY INDUCEMENT.\r\n                  </p>\r\n                  <p>\r\n                    <b>\r\n                      FOR PARTICIPANTS OF MINORITY AGE (UNDER AGE 18 AT THE TIME\r\n                      OF REGISTRATION)\r\n                    </b>{\" \"}\r\n                    This is to certify that I, as parent/guardian with legal\r\n                    responsibility for this participant, do consent and agree to\r\n                    his/her release as provided above of all the Releasees, and,\r\n                    for myself, my heirs, assigns, and next of kin, I release\r\n                    and agree to indemnify the Releasees from any and all\r\n                    liabilities incident to my minor child’s involvement or\r\n                    participation in these programs as provided above, EVEN IF\r\n                    ARISING FROM THEIR NEGLIGENCE.\r\n                  </p>\r\n                </div>\r\n              </div>\r\n              <div className={styles.full}>\r\n                <div className={styles.fieldcenter}>\r\n                  <input\r\n                    id=\"waiver\"\r\n                    type=\"checkbox\"\r\n                    name=\"waiver\"\r\n                    ref={register({ required: true })}\r\n                  />\r\n                  <label className={styles.normal} htmlFor=\"waiver\">\r\n                    I consent <span>(Mandatory)</span>\r\n                  </label>\r\n                  {errors.waiver && (\r\n                    <span className={styles.invalid}>Waiver is required.</span>\r\n                  )}\r\n                </div>\r\n              </div>\r\n            </fieldset>\r\n          )}\r\n        </div>\r\n\r\n        {fields.plan && (\r\n          <div className={styles.sidebar}>\r\n            <StickyBox offsetTop={20} offsetBottom={20}>\r\n              <h1>Order Summary</h1>\r\n\r\n              {fields.plan && (\r\n                <div className={styles.summary}>\r\n                  <div className={styles.key}>Plan</div>\r\n                  <div className={styles.value}>{plans[fields.plan].name}</div>\r\n                </div>\r\n              )}\r\n\r\n              {/* {fields.firstname &&\r\n                <div className={styles.summary}>\r\n                  <div className={styles.key}>Primary Contact</div>\r\n                  <div className={styles.value}>{fields.firstname} {fields.lastname}</div>\r\n                </div>} */}\r\n\r\n              {fields.plan && (\r\n                <div className={styles.summary}>\r\n                  <div className={styles.key}>Total</div>\r\n                  <div className={styles.value}>\r\n                    {currency(plans[fields.plan].price)}\r\n                  </div>\r\n                </div>\r\n              )}\r\n\r\n              {fields.plan && (\r\n                <>\r\n                  <input\r\n                    className={styles.submit}\r\n                    disabled={!formState.isValid}\r\n                    type=\"submit\"\r\n                    value=\"Checkout\"\r\n                  />\r\n                  <div className={styles.returns}>\r\n                    Refunds will not be provided for any subscription.\r\n                    <br />\r\n                    Taxes to be calculated at checkout. All sales are final.\r\n                  </div>\r\n                </>\r\n              )}\r\n            </StickyBox>\r\n          </div>\r\n        )}\r\n      </div>\r\n    </form>\r\n  )\r\n}\r\n","import React, { useState } from \"react\"\r\nimport styles from \"./App.module.scss\"\r\nimport { useForm } from \"react-hook-form\"\r\nimport StickyBox from \"react-sticky-box\"\r\n\r\nconst currency = (value) =>\r\n  new Intl.NumberFormat(\"en-CA\", { style: \"currency\", currency: \"CAD\" }).format(\r\n    value\r\n  )\r\n\r\n/*\r\n\r\nWeek 1 - June 30th to  July 4th (4 day week) [$264.00 members] [$296.00 non]\r\nWeek 2 - July 7th to July 11th [$330.00 members] [$370.00 non]\r\nWeek 3 - July 14th to July 18th [$330.00 members] [$370.00 non]\r\nWeek 4 - July 21st to July 25th [$330.00 members] [$370.00 non]\r\nWeek 5 - July 28th to August 1st [$330.00 members] [$370.00 non]\r\nWeek 6 - August 4th to August 8th (4 day week) [$264.00 members] [$296.00 non]\r\nWeek 7 - August 11th to August 15th [$330.00 members] [$370.00 non]\r\nWeek 8 - August 19th to August 22nd [$330.00 members] [$370.00 non]\r\n*/\r\nconst plans = {\r\n  camp1: {\r\n    name: \"Week 1 - June 30th to  July 4th (4 day week)\",\r\n    member: 264,\r\n    nonMember: 296,\r\n  },\r\n  camp2: {\r\n    name: \"Week 2 - July 7th to July 11th\",\r\n    member: 330,\r\n    nonMember: 370,\r\n  },\r\n  camp3: {\r\n    name: \"Week 3 - July 14th to July 18th\",\r\n    member: 330,\r\n    nonMember: 370,\r\n  },\r\n  camp4: {\r\n    name: \"Week 4 - July 21st to July 25th\",\r\n    member: 330,\r\n    nonMember: 370,\r\n  },\r\n  camp5: {\r\n    name: \"Week 5 - July 28th to August 1st\",\r\n    member: 330,\r\n    nonMember: 370,\r\n  },\r\n  camp6: {\r\n    name: \"Week 6 - August 4th to August 8th (4 day week)\",\r\n    member: 264,\r\n    nonMember: 296,\r\n  },\r\n  camp7: {\r\n    name: \"Week 7 - August 11th to August 15th\",\r\n    member: 330,\r\n    nonMember: 370,\r\n  },\r\n  camp8: {\r\n    name: \"Week 8 - August 19th to August 22nd\",\r\n    member: 330,\r\n    nonMember: 370,\r\n  },\r\n}\r\n\r\nexport default () => {\r\n  const { register, errors, watch, handleSubmit, formState, getValues } =\r\n    useForm({ mode: \"onChange\" }) // initialise the hook\r\n  const [members, setMember] = useState([0])\r\n  const fields = watch()\r\n  const validSelection = Object.keys(plans).find((p) => fields[p])\r\n  const [full, setFull] = React.useState([])\r\n\r\n  React.useEffect(() => {\r\n    fetch(\"/full.json\")\r\n      .then((resp) => resp.json())\r\n      .then((resp) => setFull(resp.summer))\r\n  }, [])\r\n\r\n  return (\r\n    <form\r\n      onSubmit={handleSubmit}\r\n      action={`${\r\n        process.env.NODE_ENV === \"production\"\r\n          ? `https://btcforms.azurewebsites.net`\r\n          : `http://localhost:5000`\r\n      }/checkoutSummerCamp`}\r\n      method=\"POST\"\r\n    >\r\n      <input type=\"hidden\" name=\"players\" value={members.length} />\r\n\r\n      <div className={styles.wrapper}>\r\n        <div className={styles.main}>\r\n          <h1>Summer Tennis Camps</h1>\r\n\r\n          <h2>Parent Contact Information</h2>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.disclaimer}>\r\n              <input id=\"member\" type=\"checkbox\" name=\"member\" ref={register} />\r\n              <label className={styles.normal} htmlFor=\"member\">\r\n                I'm a Blackburn Tennis Club member\r\n              </label>\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section2col}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"firstname\">First Name</label>\r\n              <input\r\n                id=\"firstname\"\r\n                name=\"firstname\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.firstname && (\r\n                <span className={styles.invalid}>First name is required.</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"lastname\">Last Name</label>\r\n              <input\r\n                id=\"lastname\"\r\n                name=\"lastname\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.lastname && (\r\n                <span className={styles.invalid}>Last name is required.</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"lastname\">Street Address</label>\r\n              <input\r\n                id=\"street\"\r\n                name=\"street\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.street && (\r\n                <span className={styles.invalid}>\r\n                  Street Address is required.\r\n                </span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section3col}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"city\">City</label>\r\n              <input id=\"city\" name=\"city\" ref={register({ required: true })} />\r\n              {errors.city && (\r\n                <span className={styles.invalid}>City is required.</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"province\">Province</label>\r\n              <input\r\n                id=\"province\"\r\n                name=\"province\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.province && (\r\n                <span className={styles.invalid}>Province is required.</span>\r\n              )}\r\n            </div>\r\n\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"postal\">Postal Code</label>\r\n              <input\r\n                id=\"postal\"\r\n                name=\"postal\"\r\n                ref={register({\r\n                  required: \"Postal Code is required\",\r\n                  pattern: {\r\n                    value:\r\n                      /^[ABCEGHJ-NPRSTVXY]\\d[ABCEGHJ-NPRSTV-Z][ -]?\\d[ABCEGHJ-NPRSTV-Z]\\d$/i,\r\n                    message: \"Postal Code is invalid\",\r\n                  },\r\n                })}\r\n              />\r\n              {errors.postal && (\r\n                <span className={styles.invalid}>{errors.postal.message}</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section2col}>\r\n            <div className={styles.field2x}>\r\n              <label htmlFor=\"email\">Email</label>\r\n              <input\r\n                id=\"email\"\r\n                name=\"email\"\r\n                ref={register({\r\n                  required: \"Email is required\",\r\n                  pattern: {\r\n                    value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i,\r\n                    message: \"Email is invalid\",\r\n                  },\r\n                })}\r\n              />\r\n              {errors.email && (\r\n                <span className={styles.invalid}>{errors.email.message}</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"cellphone\" className={styles.opt}>\r\n                Cell Number (optional)\r\n              </label>\r\n              <input id=\"cellphone\" name=\"cellphone\" ref={register} />{\" \"}\r\n              {/* register an input */}\r\n            </div>\r\n          </div>\r\n\r\n          <fieldset className={styles.emergency}>\r\n            <legend>Emergency Contact</legend>\r\n            <div className={styles.section2col}>\r\n              <div className={styles.field}>\r\n                <label htmlFor=\"emergencyName\">Name</label>\r\n                <input\r\n                  id=\"emergencyName\"\r\n                  name=\"emergencyName\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                {errors.emergencyName && (\r\n                  <span className={styles.invalid}>\r\n                    Emergency Contact Name is required.\r\n                  </span>\r\n                )}\r\n              </div>\r\n              <div className={styles.field}>\r\n                <label htmlFor=\"emergencyPhone\">Phone</label>\r\n                <input\r\n                  id=\"emergencyPhone\"\r\n                  name=\"emergencyPhone\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                {errors.emergencyPhone && (\r\n                  <span className={styles.invalid}>\r\n                    Emergency Contact Phone is required.\r\n                  </span>\r\n                )}\r\n              </div>\r\n            </div>\r\n          </fieldset>\r\n\r\n          <div>\r\n            <h2>Child Contact Information</h2>\r\n            {members.map((member) => (\r\n              <div key={member} className={styles.member}>\r\n                <div className={styles.section2col}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`firstname${member}`}>First Name</label>\r\n                    <input\r\n                      id={`firstname${member}`}\r\n                      name={`firstname${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`firstname${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        First name is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`lastname${member}`}>Last Name</label>\r\n                    <input\r\n                      id={`lastname${member}`}\r\n                      name={`lastname${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`lastname${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Last name is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                </div>\r\n\r\n                <div className={styles.section2col}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`gender${member}`}>Gender</label>\r\n                    <select\r\n                      id={`gender${member}`}\r\n                      name={`gender${member}`}\r\n                      ref={register({ required: true })}\r\n                    >\r\n                      <option></option>\r\n                      <option>Male</option>\r\n                      <option>Female</option>\r\n                      <option>Other</option>\r\n                    </select>\r\n                    {errors[`gender${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Gender is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`age${member}`}>Age</label>\r\n                    <input\r\n                      id={`age${member}`}\r\n                      type=\"number\"\r\n                      name={`age${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`age${member}`] && (\r\n                      <span className={styles.invalid}>Age is required.</span>\r\n                    )}\r\n                  </div>\r\n                </div>\r\n                <div className={styles.section2col}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`healthcard${member}`}>\r\n                      Health Card Number\r\n                    </label>\r\n                    <input\r\n                      id={`healthcard${member}`}\r\n                      name={`healthcard${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`healthcard${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Health Card Number is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`alergies${member}`}>Alergies</label>\r\n                    <input\r\n                      id={`alergies${member}`}\r\n                      name={`alergies${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`alergies${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Alergies is required, please inform <b>None</b>{\" \"}\r\n                        otherwise.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            ))}\r\n            <input\r\n              type=\"button\"\r\n              value=\"Add child\"\r\n              onClick={() => setMember([...members, members.length + 1])}\r\n            />\r\n          </div>\r\n\r\n          <br />\r\n          <br />\r\n\r\n          <h1 style={{ marginBottom: 20 }}>Camps</h1>\r\n\r\n          <div>Select the week you would like to register for</div>\r\n\r\n          <h3>Camp Hours</h3>\r\n          <div>Monday to Friday: 9:00am to 4:00pm.</div>\r\n\r\n          <br />\r\n\r\n          <div className={styles.sub}>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input\r\n                  id=\"camp1\"\r\n                  type=\"checkbox\"\r\n                  name=\"camp1\"\r\n                  ref={register}\r\n                  disabled={full.indexOf(1) > -1}\r\n                />\r\n                <label\r\n                  className={styles[full.indexOf(1) > -1 ? \"block\" : \"normal\"]}\r\n                  htmlFor=\"camp1\"\r\n                >\r\n                  <s>{plans.camp1.name}</s>{\" \"}\r\n                  {full.indexOf(1) > -1 ? `(FULL)` : ``}\r\n                </label>\r\n              </div>\r\n            </div>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input\r\n                  id=\"camp2\"\r\n                  type=\"checkbox\"\r\n                  name=\"camp2\"\r\n                  ref={register}\r\n                  disabled={full.indexOf(2) > -1}\r\n                />\r\n                <label\r\n                  className={styles[full.indexOf(2) > -1 ? \"block\" : \"normal\"]}\r\n                  htmlFor=\"camp2\"\r\n                >\r\n                  <s>{plans.camp2.name}</s>{\" \"}\r\n                  {full.indexOf(2) > -1 ? `(FULL)` : ``}\r\n                </label>\r\n              </div>\r\n            </div>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input\r\n                  id=\"camp3\"\r\n                  type=\"checkbox\"\r\n                  name=\"camp3\"\r\n                  ref={register}\r\n                  disabled={full.indexOf(3) > -1}\r\n                />\r\n                <label\r\n                  className={styles[full.indexOf(3) > -1 ? \"block\" : \"normal\"]}\r\n                  htmlFor=\"camp3\"\r\n                >\r\n                  <s>{plans.camp3.name}</s>{\" \"}\r\n                  {full.indexOf(3) > -1 ? `(FULL)` : ``}\r\n                </label>\r\n              </div>\r\n            </div>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input\r\n                  id=\"camp4\"\r\n                  type=\"checkbox\"\r\n                  name=\"camp4\"\r\n                  ref={register}\r\n                  disabled={full.indexOf(4) > -1}\r\n                />\r\n                <label\r\n                  className={styles[full.indexOf(4) > -1 ? \"block\" : \"normal\"]}\r\n                  htmlFor=\"camp4\"\r\n                >\r\n                  <s>{plans.camp4.name}</s>{\" \"}\r\n                  {full.indexOf(4) > -1 ? `(FULL)` : ``}\r\n                </label>\r\n              </div>\r\n            </div>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input\r\n                  id=\"camp5\"\r\n                  type=\"checkbox\"\r\n                  name=\"camp5\"\r\n                  ref={register}\r\n                  disabled={full.indexOf(5) > -1}\r\n                />\r\n                <label\r\n                  className={styles[full.indexOf(5) > -1 ? \"block\" : \"normal\"]}\r\n                  htmlFor=\"camp5\"\r\n                >\r\n                  <s>{plans.camp5.name}</s>{\" \"}\r\n                  {full.indexOf(5) > -1 ? `(FULL)` : ``}\r\n                </label>\r\n              </div>\r\n            </div>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input\r\n                  id=\"camp6\"\r\n                  type=\"checkbox\"\r\n                  name=\"camp6\"\r\n                  ref={register}\r\n                  disabled={full.indexOf(6) > -1}\r\n                />\r\n                <label\r\n                  className={styles[full.indexOf(6) > -1 ? \"block\" : \"normal\"]}\r\n                  htmlFor=\"camp6\"\r\n                >\r\n                  <s>{plans.camp6.name}</s>{\" \"}\r\n                  {full.indexOf(6) > -1 ? `(FULL)` : ``}\r\n                </label>\r\n              </div>\r\n            </div>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input\r\n                  id=\"camp7\"\r\n                  type=\"checkbox\"\r\n                  name=\"camp7\"\r\n                  ref={register}\r\n                  disabled={full.indexOf(7) > -1}\r\n                />\r\n                <label\r\n                  className={styles[full.indexOf(7) > -1 ? \"block\" : \"normal\"]}\r\n                  htmlFor=\"camp7\"\r\n                >\r\n                  <s>{plans.camp7.name}</s>{\" \"}\r\n                  {full.indexOf(7) > -1 ? `(FULL)` : ``}\r\n                </label>\r\n              </div>\r\n            </div>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input\r\n                  id=\"camp8\"\r\n                  type=\"checkbox\"\r\n                  name=\"camp8\"\r\n                  ref={register}\r\n                  disabled={full.indexOf(8) > -1}\r\n                />\r\n                <label\r\n                  className={styles[full.indexOf(8) > -1 ? \"block\" : \"normal\"]}\r\n                  htmlFor=\"camp8\"\r\n                >\r\n                  <s>{plans.camp8.name}</s>{\" \"}\r\n                  {full.indexOf(8) > -1 ? `(FULL)` : ``}\r\n                </label>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <fieldset>\r\n            <div className={styles.section}>\r\n              <div className={styles.field}>\r\n                I grant permission to the Blackburn Tennis Club, its\r\n                representatives and employees to use any photographs and/or\r\n                videos taken of my child(ren) at this location or submitted by\r\n                myself to be used on the club's website and/or promotional\r\n                pamphlets, posters, pictures and videos.\r\n              </div>\r\n            </div>\r\n            <div className={styles.full}>\r\n              <div className={styles.fieldcenter}>\r\n                <input\r\n                  type=\"radio\"\r\n                  name=\"media\"\r\n                  id=\"mediaYes\"\r\n                  value=\"yes\"\r\n                  ref={register({ required: true })}\r\n                ></input>\r\n                <label htmlFor=\"mediaYes\">Yes</label>\r\n                <input\r\n                  type=\"radio\"\r\n                  name=\"media\"\r\n                  id=\"mediaNo\"\r\n                  value=\"no\"\r\n                  ref={register({ required: true })}\r\n                ></input>\r\n                <label htmlFor=\"mediaNo\">No</label>\r\n                {errors.media && (\r\n                  <span className={styles.invalid}>\r\n                    Media Waiver is required.\r\n                  </span>\r\n                )}\r\n              </div>\r\n            </div>\r\n          </fieldset>\r\n\r\n          <fieldset>\r\n            <div className={styles.waiver}>\r\n              <div className={styles.field}>\r\n                <h4>\r\n                  TENNIS CLUB PARTICIPATION WAIVER AND RELEASE OF LIABILITY\r\n                </h4>\r\n                <p>\r\n                  In consideration of being allowed to participate in any way in\r\n                  the tennis activities, events, and programs of Blackburn\r\n                  Tennis Club (\"Club\"), the undersigned acknowledges,\r\n                  appreciates, and agrees that:\r\n                </p>\r\n                <p>\r\n                  <b>Risk of Injury:</b> The risk of injury from the activities\r\n                  have foreseeable and unforeseeable inherent risks, hazards and\r\n                  dangers that no amount of care, caution or expertise can\r\n                  eliminate, including without limitation, the potential for\r\n                  serious bodily injury, permanent disability, paralysis and\r\n                  loss of life.\r\n                </p>\r\n                <p>\r\n                  <b>Assumption of Risk:</b> I KNOWINGLY AND FREELY ASSUME ALL\r\n                  SUCH RISKS, both known and unknown, EVEN IF ARISING FROM THE\r\n                  NEGLIGENCE OF THE RELEASEES or others, and assume full\r\n                  responsibility for my participation.\r\n                </p>\r\n                <p>\r\n                  <b>Waiver:</b> I willingly agree to comply with the stated and\r\n                  customary terms and conditions for participation. If, however,\r\n                  I observe any unusual hazard, I will remove myself from\r\n                  participation and bring such to the attention of the nearest\r\n                  official immediately.\r\n                </p>\r\n                <p>\r\n                  <b>Release of Liability:</b> I, for myself and on behalf of my\r\n                  heirs, assigns, personal representatives, and next of kin,\r\n                  HEREBY RELEASE AND HOLD HARMLESS Blackburn Tennis Club, its\r\n                  officers, officials, agents, and/or employees, other\r\n                  participants, and if applicable, owners and lessors of\r\n                  premises used to conduct the event (\"Releasees\"), WITH RESPECT\r\n                  TO ANY AND ALL INJURY, DISABILITY, DEATH, or loss or damage to\r\n                  person or property, WHETHER ARISING FROM THE NEGLIGENCE OF THE\r\n                  RELEASEES OR OTHERWISE, to the fullest extent permitted by\r\n                  law.\r\n                </p>\r\n                <p>\r\n                  <b>Health Statement:</b> I declare that I am physically fit\r\n                  and have no condition that would prevent my participation in\r\n                  the tennis activities, events, and programs of the Club.\r\n                </p>\r\n                <p>\r\n                  <b>Emergency Treatment Consent:</b> I consent to emergency\r\n                  medical treatment in the event such care is required during my\r\n                  participation under the supervision of the Club.\r\n                </p>\r\n                <p>\r\n                  <b>COVID-19 Acknowledgment:</b> I acknowledge the contagious\r\n                  nature of COVID-19 and voluntarily assume the risk that I may\r\n                  be exposed to or infected by COVID-19 by attending the Club\r\n                  and that such exposure or infection may result in personal\r\n                  injury, illness, permanent disability, and death. I understand\r\n                  that the risk of becoming exposed to or infected by COVID-19\r\n                  at the Club may result from the actions, omissions, or\r\n                  negligence of myself and others, including, but not limited\r\n                  to, Club employees, volunteers, and program participants and\r\n                  their families.\r\n                </p>\r\n                <p>\r\n                  I HAVE READ THIS RELEASE OF LIABILITY AND ASSUMPTION OF RISK\r\n                  AGREEMENT, FULLY UNDERSTAND ITS TERMS, UNDERSTAND THAT I HAVE\r\n                  GIVEN UP SUBSTANTIAL RIGHTS BY SIGNING IT, AND SIGN IT FREELY\r\n                  AND VOLUNTARILY WITHOUT ANY INDUCEMENT.\r\n                </p>\r\n                <p>\r\n                  <b>\r\n                    FOR PARTICIPANTS OF MINORITY AGE (UNDER AGE 18 AT THE TIME\r\n                    OF REGISTRATION)\r\n                  </b>{\" \"}\r\n                  This is to certify that I, as parent/guardian with legal\r\n                  responsibility for this participant, do consent and agree to\r\n                  his/her release as provided above of all the Releasees, and,\r\n                  for myself, my heirs, assigns, and next of kin, I release and\r\n                  agree to indemnify the Releasees from any and all liabilities\r\n                  incident to my minor child’s involvement or participation in\r\n                  these programs as provided above, EVEN IF ARISING FROM THEIR\r\n                  NEGLIGENCE.\r\n                </p>\r\n              </div>\r\n            </div>\r\n            <div className={styles.full}>\r\n              <div className={styles.fieldcenter}>\r\n                <input\r\n                  id=\"waiver\"\r\n                  type=\"checkbox\"\r\n                  name=\"waiver\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                <label className={styles.normal} htmlFor=\"waiver\">\r\n                  I consent <span>(Mandatory)</span>\r\n                </label>\r\n                {errors.waiver && (\r\n                  <span className={styles.invalid}>Waiver is required.</span>\r\n                )}\r\n              </div>\r\n            </div>\r\n          </fieldset>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.field}>\r\n              <h3>Where did you hear from us?</h3>\r\n              <input id=\"referral\" name=\"referral\" ref={register} />\r\n              {errors.referral && (\r\n                <span className={styles.invalid}>Required.</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n        <div className={styles.sidebar}>\r\n          <StickyBox offsetTop={20} offsetBottom={20}>\r\n            <h1>Order Summary</h1>\r\n\r\n            {!validSelection && <div>Select at least one Camp to continue</div>}\r\n\r\n            {validSelection && (\r\n              <>\r\n                {fields.firstname && (\r\n                  <div className={styles.summary}>\r\n                    <div className={styles.key}>\r\n                      Primary Contact{fields.member && \" (Member)\"}\r\n                    </div>\r\n                    <div className={styles.value}>\r\n                      {fields.firstname} {fields.lastname}\r\n                    </div>\r\n                  </div>\r\n                )}\r\n\r\n                {Object.keys(plans)\r\n                  .filter((p) => fields[p])\r\n                  .map((p) => (\r\n                    <div className={styles.summary}>\r\n                      <div className={styles.key}>{plans[p].name}</div>\r\n                      <div className={styles.value}>\r\n                        {currency(\r\n                          plans[p][fields.member ? \"member\" : \"nonMember\"] *\r\n                            members.length\r\n                        )}\r\n                      </div>\r\n                    </div>\r\n                  ))}\r\n\r\n                {fields.plan && (\r\n                  <div className={styles.summary}>\r\n                    <div className={styles.key}>Total</div>\r\n                    <div className={styles.value}>\r\n                      {currency(plans[fields.plan].price)}\r\n                    </div>\r\n                  </div>\r\n                )}\r\n\r\n                <input\r\n                  className={styles.submit}\r\n                  disabled={!formState.isValid}\r\n                  type=\"submit\"\r\n                  value=\"Checkout\"\r\n                />\r\n                <div className={styles.returns}>\r\n                  Refunds will not be provided for any subscription.\r\n                  <br />\r\n                  All sales are final.\r\n                </div>\r\n              </>\r\n            )}\r\n          </StickyBox>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  )\r\n}\r\n","import React, { useState } from \"react\"\r\nimport styles from \"./App.module.scss\"\r\nimport { useForm } from \"react-hook-form\"\r\nimport StickyBox from \"react-sticky-box\"\r\n\r\nconst currency = (value) =>\r\n  new Intl.NumberFormat(\"en-CA\", { style: \"currency\", currency: \"CAD\" }).format(\r\n    value\r\n  )\r\n\r\nconst plans = {\r\n  camp1: {\r\n    name: \"Session 1 (2 weeks) - May 5, 6, 7 & May 12, 13, 15\",\r\n    member: 180,\r\n    nonMember: 215,\r\n  },\r\n  camp2: {\r\n    name: \"Session 2 (2 weeks) - May 19, 20, 22 & May 26, 27, 29\",\r\n    member: 180,\r\n    nonMember: 215,\r\n  },\r\n}\r\n\r\nexport default () => {\r\n  const { register, errors, watch, handleSubmit, formState } = useForm({\r\n    mode: \"onChange\",\r\n  }) // initialise the hook\r\n  const [members, setMember] = useState([0])\r\n  const fields = watch()\r\n  const validSelection = Object.keys(plans).find((p) => fields[p])\r\n\r\n  return (\r\n    <form\r\n      onSubmit={handleSubmit}\r\n      action={`${\r\n        process.env.NODE_ENV === \"production\"\r\n          ? `https://btcforms.azurewebsites.net`\r\n          : `http://localhost:5000`\r\n      }/checkoutSpringCamp`}\r\n      method=\"POST\"\r\n    >\r\n      <input type=\"hidden\" name=\"players\" value={members.length} />\r\n\r\n      <div className={styles.wrapper}>\r\n        <div className={styles.main}>\r\n          <h1>Spring Tennis Camps</h1>\r\n\r\n          <h2>Parent Contact Information</h2>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.disclaimer}>\r\n              <input id=\"member\" type=\"checkbox\" name=\"member\" ref={register} />\r\n              <label className={styles.normal} htmlFor=\"member\">\r\n                I'm a Blackburn Tennis Club member\r\n              </label>\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section2col}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"firstname\">First Name</label>\r\n              <input\r\n                id=\"firstname\"\r\n                name=\"firstname\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.firstname && (\r\n                <span className={styles.invalid}>First name is required.</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"lastname\">Last Name</label>\r\n              <input\r\n                id=\"lastname\"\r\n                name=\"lastname\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.lastname && (\r\n                <span className={styles.invalid}>Last name is required.</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"lastname\">Street Address</label>\r\n              <input\r\n                id=\"street\"\r\n                name=\"street\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.street && (\r\n                <span className={styles.invalid}>\r\n                  Street Address is required.\r\n                </span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section3col}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"city\">City</label>\r\n              <input id=\"city\" name=\"city\" ref={register({ required: true })} />\r\n              {errors.city && (\r\n                <span className={styles.invalid}>City is required.</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"province\">Province</label>\r\n              <input\r\n                id=\"province\"\r\n                name=\"province\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.province && (\r\n                <span className={styles.invalid}>Province is required.</span>\r\n              )}\r\n            </div>\r\n\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"postal\">Postal Code</label>\r\n              <input\r\n                id=\"postal\"\r\n                name=\"postal\"\r\n                ref={register({\r\n                  required: \"Postal Code is required\",\r\n                  pattern: {\r\n                    value:\r\n                      /^[ABCEGHJ-NPRSTVXY]\\d[ABCEGHJ-NPRSTV-Z][ -]?\\d[ABCEGHJ-NPRSTV-Z]\\d$/i,\r\n                    message: \"Postal Code is invalid\",\r\n                  },\r\n                })}\r\n              />\r\n              {errors.postal && (\r\n                <span className={styles.invalid}>{errors.postal.message}</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section2col}>\r\n            <div className={styles.field2x}>\r\n              <label htmlFor=\"email\">Email</label>\r\n              <input\r\n                id=\"email\"\r\n                name=\"email\"\r\n                ref={register({\r\n                  required: \"Email is required\",\r\n                  pattern: {\r\n                    value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i,\r\n                    message: \"Email is invalid\",\r\n                  },\r\n                })}\r\n              />\r\n              {errors.email && (\r\n                <span className={styles.invalid}>{errors.email.message}</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"cellphone\" className={styles.opt}>\r\n                Cell Number (optional)\r\n              </label>\r\n              <input id=\"cellphone\" name=\"cellphone\" ref={register} />{\" \"}\r\n              {/* register an input */}\r\n            </div>\r\n          </div>\r\n\r\n          <fieldset className={styles.emergency}>\r\n            <legend>Emergency Contact</legend>\r\n            <div className={styles.section2col}>\r\n              <div className={styles.field}>\r\n                <label htmlFor=\"emergencyName\">Name</label>\r\n                <input\r\n                  id=\"emergencyName\"\r\n                  name=\"emergencyName\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                {errors.emergencyName && (\r\n                  <span className={styles.invalid}>\r\n                    Emergency Contact Name is required.\r\n                  </span>\r\n                )}\r\n              </div>\r\n              <div className={styles.field}>\r\n                <label htmlFor=\"emergencyPhone\">Phone</label>\r\n                <input\r\n                  id=\"emergencyPhone\"\r\n                  name=\"emergencyPhone\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                {errors.emergencyPhone && (\r\n                  <span className={styles.invalid}>\r\n                    Emergency Contact Phone is required.\r\n                  </span>\r\n                )}\r\n              </div>\r\n            </div>\r\n          </fieldset>\r\n\r\n          <div>\r\n            <h2>Child Contact Information</h2>\r\n            {members.map((member) => (\r\n              <div key={member} className={styles.member}>\r\n                <div className={styles.section2col}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`firstname${member}`}>First Name</label>\r\n                    <input\r\n                      id={`firstname${member}`}\r\n                      name={`firstname${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`firstname${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        First name is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`lastname${member}`}>Last Name</label>\r\n                    <input\r\n                      id={`lastname${member}`}\r\n                      name={`lastname${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`lastname${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Last name is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                </div>\r\n\r\n                <div className={styles.section2col}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`gender${member}`}>Gender</label>\r\n                    <select\r\n                      id={`gender${member}`}\r\n                      name={`gender${member}`}\r\n                      ref={register({ required: true })}\r\n                    >\r\n                      <option></option>\r\n                      <option>Male</option>\r\n                      <option>Female</option>\r\n                      <option>Other</option>\r\n                    </select>\r\n                    {errors[`gender${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Gender is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`age${member}`}>Age</label>\r\n                    <input\r\n                      id={`age${member}`}\r\n                      type=\"number\"\r\n                      name={`age${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`age${member}`] && (\r\n                      <span className={styles.invalid}>Age is required.</span>\r\n                    )}\r\n                  </div>\r\n                </div>\r\n                <div className={styles.section2col}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`healthcard${member}`}>\r\n                      Health Card Number\r\n                    </label>\r\n                    <input\r\n                      id={`healthcard${member}`}\r\n                      name={`healthcard${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`healthcard${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Health Card Number is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`alergies${member}`}>Alergies</label>\r\n                    <input\r\n                      id={`alergies${member}`}\r\n                      name={`alergies${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`alergies${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Alergies is required, please inform <b>None</b>{\" \"}\r\n                        otherwise.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            ))}\r\n            <input\r\n              type=\"button\"\r\n              value=\"Add child\"\r\n              onClick={() => setMember([...members, members.length + 1])}\r\n            />\r\n          </div>\r\n\r\n          <br />\r\n          <br />\r\n\r\n          <h1 style={{ marginBottom: 20 }}>Camps</h1>\r\n\r\n          <div>Select the week you would like to register for</div>\r\n\r\n          <h3>Camp Hours</h3>\r\n          <div>Monday, Wednesday, Thursday: 4:00pm to 5:30pm.</div>\r\n\r\n          <br />\r\n\r\n          <div className={styles.sub}>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input id=\"camp1\" type=\"checkbox\" name=\"camp1\" ref={register} />\r\n                <label className={styles.normal} htmlFor=\"camp1\">\r\n                  Session 1 (2 weeks) - May 5, 6, 7 &amp; May 12, 13, 15\r\n                </label>\r\n              </div>\r\n            </div>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input id=\"camp2\" type=\"checkbox\" name=\"camp2\" ref={register} />\r\n                <label className={styles.normal} htmlFor=\"camp2\">\r\n                  Session 2 (2 weeks) - May 19, 20, 22 &amp; May 26, 27, 29\r\n                </label>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <fieldset>\r\n            <div className={styles.section}>\r\n              <div className={styles.field}>\r\n                I grant permission to the Blackburn Tennis Club, its\r\n                representatives and employees to use any photographs and/or\r\n                videos taken of my child(ren) at this location or submitted by\r\n                myself to be used on the club's website and/or promotional\r\n                pamphlets, posters, pictures and videos.\r\n              </div>\r\n            </div>\r\n            <div className={styles.full}>\r\n              <div className={styles.fieldcenter}>\r\n                <input\r\n                  type=\"radio\"\r\n                  name=\"media\"\r\n                  id=\"mediaYes\"\r\n                  ref={register({ required: true })}\r\n                ></input>\r\n                <label htmlFor=\"mediaYes\">Yes</label>\r\n                <input\r\n                  type=\"radio\"\r\n                  name=\"media\"\r\n                  id=\"mediaNo\"\r\n                  ref={register({ required: true })}\r\n                ></input>\r\n                <label htmlFor=\"mediaNo\">No</label>\r\n                {errors.media && (\r\n                  <span className={styles.invalid}>\r\n                    Media Waiver is required.\r\n                  </span>\r\n                )}\r\n              </div>\r\n            </div>\r\n          </fieldset>\r\n\r\n          <fieldset>\r\n            <div className={styles.waiver}>\r\n              <div className={styles.field}>\r\n                <b>Waiver</b>\r\n                <ol>\r\n                  <li>\r\n                    I acknowledge the highly contagious nature of COVID-19 and I\r\n                    voluntarily assume the risk that I (or my child, if\r\n                    participant is a minor/ or the person I am the tutor or\r\n                    legal guardian of) could be exposed or infected by COVID-19\r\n                    by participating in Blackburn Tennis Club’s activities.\r\n                    Being exposed or infected by COVID-19 may particularly lead\r\n                    to injuries, diseases or other illnesses.\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I declare that I (or my child, if participant is a minor/ or\r\n                    the person I am the tutor or legal guardian of) am\r\n                    participating voluntarily in Blackburn Tennis Club’s\r\n                    activities.\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I declare that neither I (or my child, if participant is a\r\n                    minor/ or the person I am the tutor or legal guardian of)\r\n                    nor anyone in my household, have experienced cold or\r\n                    flu-like symptoms in the last 14 days (including fever,\r\n                    cough, sore throat, respiratory illness, difficulty\r\n                    breathing).{\" \"}\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    If I (or my child, if participant is a minor/ or the person\r\n                    I am the tutor or legal guardian of) experience, or if\r\n                    anyone in my household experiences any cold or flu-like\r\n                    symptoms after submitting this declaration, I (or my child,\r\n                    if participant is a minor/ or the person I am the tutor or\r\n                    legal guardian of) will not attend any of Blackburn Tennis\r\n                    Club’s activities, programs or services until at least 14\r\n                    days have passed since those symptoms were last experienced.{\" \"}\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I (or my child, if participant is a minor/ or the person I\r\n                    am the tutor or legal guardian of), nor has any member of my\r\n                    household travelled to or had a lay-over in any country\r\n                    outside Canada, or in any Province outside of Ontario, in\r\n                    the past 14 days. If I (or my child, if participant is a\r\n                    minor/ or the person I am the tutor or legal guardian of)\r\n                    travel, or if anyone in my household travels, outside the\r\n                    Province of Ontario after submitting this declaration, I (or\r\n                    my child, if participant is a minor/ or the person I am the\r\n                    tutor or legal guardian of) will not attend any of Blackburn\r\n                    Tennis Club’s activities, programs or services until at\r\n                    least 14 days have passed since the date of return.{\" \"}\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I (or my child, if participant is a minor/ or the person I\r\n                    am the tutor or legal guardian of) agree to the requirements\r\n                    and recommendations of National, Provincial and local Public\r\n                    health and other governmental authorities and to those\r\n                    special safety regulations put in place by Blackburn Tennis\r\n                    Club as it pertains the Covid-19 Coronavirus and to adopt\r\n                    all necessary measures to those effects.\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I (or my child, if participant is a minor/ or the person I\r\n                    am the tutor or legal guardian of) agree that, by filling\r\n                    out and signing this waiver and agreeing to the terms and\r\n                    conditions set out in it, I am giving up my legal rights to\r\n                    sue Blackburn Tennis Club and its officers and directors, in\r\n                    the event that I (or my child, if participant is a minor/ or\r\n                    the person I am the tutor or legal guardian of), contracts\r\n                    the Covid-19 Coronavirus.\r\n                  </li>\r\n                </ol>\r\n                <p>\r\n                  This document will remain in effect until Blackburn Tennis\r\n                  Club, as per the direction of the national, provincial and\r\n                  local government and health officials, determines that the\r\n                  acknowledgments in this declaration are no longer required.{\" \"}\r\n                </p>\r\n                <p>\r\n                  This document is in addition to and does not replace all other\r\n                  Blackburn Tennis Club waivers.\r\n                </p>\r\n              </div>\r\n            </div>\r\n            <div className={styles.full}>\r\n              <div className={styles.fieldcenter}>\r\n                <input\r\n                  id=\"waiver\"\r\n                  type=\"checkbox\"\r\n                  name=\"waiver\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                <label className={styles.normal} htmlFor=\"waiver\">\r\n                  I consent <span>(Mandatory)</span>\r\n                </label>\r\n                {errors.waiver && (\r\n                  <span className={styles.invalid}>Waiver is required.</span>\r\n                )}\r\n              </div>\r\n            </div>\r\n          </fieldset>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.field}>\r\n              <h3>Where did you hear from us?</h3>\r\n              <input id=\"referral\" name=\"referral\" ref={register} />\r\n              {errors.referral && (\r\n                <span className={styles.invalid}>Required.</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n        <div className={styles.sidebar}>\r\n          <StickyBox offsetTop={20} offsetBottom={20}>\r\n            <h1>Order Summary</h1>\r\n\r\n            {!validSelection && <div>Select at least one Camp to continue</div>}\r\n\r\n            {validSelection && (\r\n              <>\r\n                {fields.firstname && (\r\n                  <div className={styles.summary}>\r\n                    <div className={styles.key}>\r\n                      Primary Contact{fields.member && \" (Member)\"}\r\n                    </div>\r\n                    <div className={styles.value}>\r\n                      {fields.firstname} {fields.lastname}\r\n                    </div>\r\n                  </div>\r\n                )}\r\n\r\n                {Object.keys(plans)\r\n                  .filter((p) => fields[p])\r\n                  .map((p) => (\r\n                    <div className={styles.summary}>\r\n                      <div className={styles.key}>{plans[p].name}</div>\r\n                      <div className={styles.value}>\r\n                        {currency(\r\n                          plans[p][fields.member ? \"member\" : \"nonMember\"] *\r\n                            members.length\r\n                        )}\r\n                      </div>\r\n                    </div>\r\n                  ))}\r\n\r\n                {fields.plan && (\r\n                  <div className={styles.summary}>\r\n                    <div className={styles.key}>Total</div>\r\n                    <div className={styles.value}>\r\n                      {currency(plans[fields.plan].price)}\r\n                    </div>\r\n                  </div>\r\n                )}\r\n\r\n                <input\r\n                  className={styles.submit}\r\n                  disabled={!formState.isValid}\r\n                  type=\"submit\"\r\n                  value=\"Checkout\"\r\n                />\r\n                <div className={styles.returns}>\r\n                  Refunds will not be provided for any subscription.\r\n                  <br />\r\n                  All sales are final.\r\n                </div>\r\n              </>\r\n            )}\r\n          </StickyBox>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  )\r\n}\r\n","import React, { useState } from \"react\"\r\nimport styles from \"./App.module.scss\"\r\nimport { useForm } from \"react-hook-form\"\r\nimport StickyBox from \"react-sticky-box\"\r\n\r\nconst currency = (value) =>\r\n  new Intl.NumberFormat(\"en-CA\", { style: \"currency\", currency: \"CAD\" }).format(\r\n    value\r\n  )\r\n\r\nconst plans = {\r\n  camp1: { name: \"Session 1 - June 4 to June 25\", member: 130, nonMember: 130 },\r\n  camp2: { name: \"Session 2 - July 9 to July 30\", member: 130, nonMember: 130 },\r\n}\r\n\r\nexport default () => {\r\n  const { register, errors, watch, handleSubmit, formState } = useForm({\r\n    mode: \"onChange\",\r\n    defaultValues: { camp1: false, camp2: false },\r\n  }) // initialise the hook\r\n  const [members, setMember] = useState([0])\r\n  const fields = watch()\r\n  const validSelection = Object.keys(plans).find((p) => fields[p])\r\n\r\n  return (\r\n    <form\r\n      onSubmit={handleSubmit}\r\n      action={`${\r\n        process.env.NODE_ENV === \"production\"\r\n          ? `https://btcforms.azurewebsites.net`\r\n          : `http://localhost:5000`\r\n      }/checkoutHICamp`}\r\n      method=\"POST\"\r\n    >\r\n      <input type=\"hidden\" name=\"players\" value={members.length} />\r\n\r\n      <div className={styles.wrapper}>\r\n        <div className={styles.main}>\r\n          <h1>High Intensity Tennis Training</h1>\r\n\r\n          <h2>Adult Contact Information</h2>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.disclaimer}>\r\n              <input id=\"member\" type=\"checkbox\" name=\"member\" ref={register} />\r\n              <label className={styles.normal} htmlFor=\"member\">\r\n                I'm a Blackburn Tennis Club member\r\n              </label>\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section2col}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"firstname\">First Name</label>\r\n              <input\r\n                id=\"firstname\"\r\n                name=\"firstname\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.firstname && (\r\n                <span className={styles.invalid}>First name is required.</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"lastname\">Last Name</label>\r\n              <input\r\n                id=\"lastname\"\r\n                name=\"lastname\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.lastname && (\r\n                <span className={styles.invalid}>Last name is required.</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"lastname\">Street Address</label>\r\n              <input\r\n                id=\"street\"\r\n                name=\"street\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.street && (\r\n                <span className={styles.invalid}>\r\n                  Street Address is required.\r\n                </span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section3col}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"city\">City</label>\r\n              <input id=\"city\" name=\"city\" ref={register({ required: true })} />\r\n              {errors.city && (\r\n                <span className={styles.invalid}>City is required.</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"province\">Province</label>\r\n              <input\r\n                id=\"province\"\r\n                name=\"province\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.province && (\r\n                <span className={styles.invalid}>Province is required.</span>\r\n              )}\r\n            </div>\r\n\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"postal\">Postal Code</label>\r\n              <input\r\n                id=\"postal\"\r\n                name=\"postal\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.postal && (\r\n                <span className={styles.invalid}>Postal Code is required.</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section2col}>\r\n            <div className={styles.field2x}>\r\n              <label htmlFor=\"email\">Email</label>\r\n              <input\r\n                id=\"email\"\r\n                name=\"email\"\r\n                ref={register({\r\n                  required: \"Email is required\",\r\n                  pattern: {\r\n                    value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i,\r\n                    message: \"Email is invalid\",\r\n                  },\r\n                })}\r\n              />\r\n              {errors.email && (\r\n                <span className={styles.invalid}>{errors.email.message}</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"cellphone\" className={styles.opt}>\r\n                Cell Number (optional)\r\n              </label>\r\n              <input id=\"cellphone\" name=\"cellphone\" ref={register} />{\" \"}\r\n              {/* register an input */}\r\n            </div>\r\n          </div>\r\n\r\n          <fieldset className={styles.emergency}>\r\n            <legend>Emergency Contact</legend>\r\n            <div className={styles.section2col}>\r\n              <div className={styles.field}>\r\n                <label htmlFor=\"emergencyName\">Name</label>\r\n                <input\r\n                  id=\"emergencyName\"\r\n                  name=\"emergencyName\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                {errors.emergencyName && (\r\n                  <span className={styles.invalid}>\r\n                    Emergency Contact Name is required.\r\n                  </span>\r\n                )}\r\n              </div>\r\n              <div className={styles.field}>\r\n                <label htmlFor=\"emergencyPhone\">Phone</label>\r\n                <input\r\n                  id=\"emergencyPhone\"\r\n                  name=\"emergencyPhone\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                {errors.emergencyPhone && (\r\n                  <span className={styles.invalid}>\r\n                    Emergency Contact Phone is required.\r\n                  </span>\r\n                )}\r\n              </div>\r\n            </div>\r\n          </fieldset>\r\n\r\n          <h1 style={{ marginBottom: 20 }}>Sessions</h1>\r\n\r\n          <div>Select the week you would like to register for</div>\r\n\r\n          <h3>Hours</h3>\r\n          <div>Sundays from 8:30pm to 10:00pm.</div>\r\n\r\n          <br />\r\n\r\n          <div className={styles.sub}>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input id=\"camp1\" type=\"checkbox\" name=\"camp1\" ref={register} />\r\n                <label className={styles.normal} htmlFor=\"camp1\">\r\n                  {plans.camp1.name}\r\n                </label>\r\n              </div>\r\n            </div>\r\n\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input id=\"camp2\" type=\"checkbox\" name=\"camp2\" ref={register} />\r\n                <label className={styles.normal} htmlFor=\"camp2\">\r\n                  {plans.camp2.name}\r\n                </label>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          {/* <fieldset>\r\n\r\n            <div className={styles.section}>\r\n              <div className={styles.field}>\r\n                I grant permission to the Blackburn Tennis Club, its representatives and employees to use any photographs\r\n                and/or videos taken of my child(ren) at this location or submitted by myself to be used on the club's website\r\n                and/or promotional pamphlets, posters, pictures and videos.\r\n              </div>\r\n            </div>\r\n            <div className={styles.full}>\r\n              <div className={styles.fieldcenter}>\r\n                <input type=\"radio\" name=\"media\" id=\"mediaYes\" ref={register({ required: true })}></input>\r\n                <label htmlFor=\"mediaYes\">Yes</label>\r\n                <input type=\"radio\" name=\"media\" id=\"mediaNo\" ref={register({ required: true })}></input>\r\n                <label htmlFor=\"mediaNo\">No</label>\r\n                {errors.media &&\r\n                  <span className={styles.invalid}>Media Waiver is required.</span>}\r\n              </div>\r\n            </div>\r\n\r\n          </fieldset> */}\r\n\r\n          <fieldset>\r\n            <div className={styles.waiver}>\r\n              <div className={styles.field}>\r\n                <b>Waiver</b>\r\n                <ol>\r\n                  <li>\r\n                    I acknowledge the highly contagious nature of COVID-19 and I\r\n                    voluntarily assume the risk that I (or my child, if\r\n                    participant is a minor/ or the person I am the tutor or\r\n                    legal guardian of) could be exposed or infected by COVID-19\r\n                    by participating in Blackburn Tennis Club’s activities.\r\n                    Being exposed or infected by COVID-19 may particularly lead\r\n                    to injuries, diseases or other illnesses.\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I declare that I (or my child, if participant is a minor/ or\r\n                    the person I am the tutor or legal guardian of) am\r\n                    participating voluntarily in Blackburn Tennis Club’s\r\n                    activities.\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I declare that neither I (or my child, if participant is a\r\n                    minor/ or the person I am the tutor or legal guardian of)\r\n                    nor anyone in my household, have experienced cold or\r\n                    flu-like symptoms in the last 14 days (including fever,\r\n                    cough, sore throat, respiratory illness, difficulty\r\n                    breathing).{\" \"}\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    If I (or my child, if participant is a minor/ or the person\r\n                    I am the tutor or legal guardian of) experience, or if\r\n                    anyone in my household experiences any cold or flu-like\r\n                    symptoms after submitting this declaration, I (or my child,\r\n                    if participant is a minor/ or the person I am the tutor or\r\n                    legal guardian of) will not attend any of Blackburn Tennis\r\n                    Club’s activities, programs or services until at least 14\r\n                    days have passed since those symptoms were last experienced.{\" \"}\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I (or my child, if participant is a minor/ or the person I\r\n                    am the tutor or legal guardian of), nor has any member of my\r\n                    household travelled to or had a lay-over in any country\r\n                    outside Canada, or in any Province outside of Ontario, in\r\n                    the past 14 days. If I (or my child, if participant is a\r\n                    minor/ or the person I am the tutor or legal guardian of)\r\n                    travel, or if anyone in my household travels, outside the\r\n                    Province of Ontario after submitting this declaration, I (or\r\n                    my child, if participant is a minor/ or the person I am the\r\n                    tutor or legal guardian of) will not attend any of Blackburn\r\n                    Tennis Club’s activities, programs or services until at\r\n                    least 14 days have passed since the date of return.{\" \"}\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I (or my child, if participant is a minor/ or the person I\r\n                    am the tutor or legal guardian of) agree to the requirements\r\n                    and recommendations of National, Provincial and local Public\r\n                    health and other governmental authorities and to those\r\n                    special safety regulations put in place by Blackburn Tennis\r\n                    Club as it pertains the Covid-19 Coronavirus and to adopt\r\n                    all necessary measures to those effects.\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I (or my child, if participant is a minor/ or the person I\r\n                    am the tutor or legal guardian of) agree that, by filling\r\n                    out and signing this waiver and agreeing to the terms and\r\n                    conditions set out in it, I am giving up my legal rights to\r\n                    sue Blackburn Tennis Club and its officers and directors, in\r\n                    the event that I (or my child, if participant is a minor/ or\r\n                    the person I am the tutor or legal guardian of), contracts\r\n                    the Covid-19 Coronavirus.\r\n                  </li>\r\n                </ol>\r\n                <p>\r\n                  This document will remain in effect until Blackburn Tennis\r\n                  Club, as per the direction of the national, provincial and\r\n                  local government and health officials, determines that the\r\n                  acknowledgments in this declaration are no longer required.{\" \"}\r\n                </p>\r\n                <p>\r\n                  This document is in addition to and does not replace all other\r\n                  Blackburn Tennis Club waivers.\r\n                </p>\r\n              </div>\r\n            </div>\r\n            <div className={styles.full}>\r\n              <div className={styles.fieldcenter}>\r\n                <input\r\n                  id=\"waiver\"\r\n                  type=\"checkbox\"\r\n                  name=\"waiver\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                <label className={styles.normal} htmlFor=\"waiver\">\r\n                  I consent <span>(Mandatory)</span>\r\n                </label>\r\n                {errors.waiver && (\r\n                  <span className={styles.invalid}>Waiver is required.</span>\r\n                )}\r\n              </div>\r\n            </div>\r\n          </fieldset>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.field}>\r\n              <h3>Where did you hear from us?</h3>\r\n              <input id=\"referral\" name=\"referral\" ref={register} />\r\n              {errors.referral && (\r\n                <span className={styles.invalid}>Required.</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n        <div className={styles.sidebar}>\r\n          <StickyBox offsetTop={20} offsetBottom={20}>\r\n            <h1>Order Summary</h1>\r\n\r\n            {!validSelection && <div>Select at least one Camp to continue</div>}\r\n\r\n            {validSelection && (\r\n              <>\r\n                {fields.firstname && (\r\n                  <div className={styles.summary}>\r\n                    <div className={styles.key}>\r\n                      Primary Contact{fields.member && \" (Member)\"}\r\n                    </div>\r\n                    <div className={styles.value}>\r\n                      {fields.firstname} {fields.lastname}\r\n                    </div>\r\n                  </div>\r\n                )}\r\n\r\n                {Object.keys(plans)\r\n                  .filter((p) => fields[p])\r\n                  .map((p) => (\r\n                    <div className={styles.summary}>\r\n                      <div className={styles.key}>{plans[p].name}</div>\r\n                      <div className={styles.value}>\r\n                        {currency(\r\n                          plans[p][fields.member ? \"member\" : \"nonMember\"] *\r\n                            members.length\r\n                        )}\r\n                      </div>\r\n                    </div>\r\n                  ))}\r\n\r\n                {(fields.camp1 || fields.camp2) && (\r\n                  <div className={styles.summary}>\r\n                    <div className={styles.key}>Total</div>\r\n                    <div className={styles.value}>\r\n                      {currency(\r\n                        Object.keys(plans)\r\n                          .filter((f) => fields[f])\r\n                          .map(\r\n                            (f) =>\r\n                              plans[f][fields.member ? \"member\" : \"nonMember\"]\r\n                          )\r\n                          .reduce((sum, x) => sum + x)\r\n                      )}\r\n                    </div>\r\n                  </div>\r\n                )}\r\n\r\n                <input\r\n                  className={styles.submit}\r\n                  disabled={!formState.isValid}\r\n                  type=\"submit\"\r\n                  value=\"Checkout\"\r\n                />\r\n                <div className={styles.returns}>\r\n                  Refunds will not be provided for any subscription.\r\n                  <br />\r\n                  Taxes to be calculated at checkout. All sales are final.\r\n                </div>\r\n              </>\r\n            )}\r\n          </StickyBox>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  )\r\n}\r\n","import React, { useState } from \"react\"\r\nimport styles from \"./App.module.scss\"\r\nimport { useForm } from \"react-hook-form\"\r\nimport StickyBox from \"react-sticky-box\"\r\n\r\nconst currency = (value) =>\r\n  new Intl.NumberFormat(\"en-CA\", { style: \"currency\", currency: \"CAD\" }).format(\r\n    value\r\n  )\r\n\r\nconst plans = {\r\n  camp1: { name: \"Session 1 - Friday June 2\", member: 60, nonMember: 75 },\r\n}\r\n\r\nexport default () => {\r\n  const { register, errors, watch, handleSubmit, formState } = useForm({\r\n    mode: \"onChange\",\r\n  }) // initialise the hook\r\n  const [members, setMember] = useState([0])\r\n  const fields = watch()\r\n  const validSelection = Object.keys(plans).find((p) => fields[p])\r\n\r\n  return (\r\n    <form\r\n      onSubmit={handleSubmit}\r\n      action={`${\r\n        process.env.NODE_ENV === \"production\"\r\n          ? `https://btcforms.azurewebsites.net`\r\n          : `http://localhost:5000`\r\n      }/checkoutPDCamp`}\r\n      method=\"POST\"\r\n    >\r\n      <input type=\"hidden\" name=\"players\" value={members.length} />\r\n\r\n      <div className={styles.wrapper}>\r\n        <div className={styles.main}>\r\n          <h1>PD Day Tennis Camps</h1>\r\n\r\n          <h2>Parent Contact Information</h2>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.disclaimer}>\r\n              <input id=\"member\" type=\"checkbox\" name=\"member\" ref={register} />\r\n              <label className={styles.normal} htmlFor=\"member\">\r\n                I'm a Blackburn Tennis Club member\r\n              </label>\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section2col}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"firstname\">First Name</label>\r\n              <input\r\n                id=\"firstname\"\r\n                name=\"firstname\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.firstname && (\r\n                <span className={styles.invalid}>First name is required.</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"lastname\">Last Name</label>\r\n              <input\r\n                id=\"lastname\"\r\n                name=\"lastname\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.lastname && (\r\n                <span className={styles.invalid}>Last name is required.</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"lastname\">Street Address</label>\r\n              <input\r\n                id=\"street\"\r\n                name=\"street\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.street && (\r\n                <span className={styles.invalid}>\r\n                  Street Address is required.\r\n                </span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section3col}>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"city\">City</label>\r\n              <input id=\"city\" name=\"city\" ref={register({ required: true })} />\r\n              {errors.city && (\r\n                <span className={styles.invalid}>City is required.</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"province\">Province</label>\r\n              <input\r\n                id=\"province\"\r\n                name=\"province\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.province && (\r\n                <span className={styles.invalid}>Province is required.</span>\r\n              )}\r\n            </div>\r\n\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"postal\">Postal Code</label>\r\n              <input\r\n                id=\"postal\"\r\n                name=\"postal\"\r\n                ref={register({ required: true })}\r\n              />\r\n              {errors.postal && (\r\n                <span className={styles.invalid}>Postal Code is required.</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n\r\n          <div className={styles.section2col}>\r\n            <div className={styles.field2x}>\r\n              <label htmlFor=\"email\">Email</label>\r\n              <input\r\n                id=\"email\"\r\n                name=\"email\"\r\n                ref={register({\r\n                  required: \"Email is required\",\r\n                  pattern: {\r\n                    value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i,\r\n                    message: \"Email is invalid\",\r\n                  },\r\n                })}\r\n              />\r\n              {errors.email && (\r\n                <span className={styles.invalid}>{errors.email.message}</span>\r\n              )}\r\n            </div>\r\n            <div className={styles.field}>\r\n              <label htmlFor=\"cellphone\" className={styles.opt}>\r\n                Cell Number (optional)\r\n              </label>\r\n              <input id=\"cellphone\" name=\"cellphone\" ref={register} />{\" \"}\r\n              {/* register an input */}\r\n            </div>\r\n          </div>\r\n\r\n          <fieldset className={styles.emergency}>\r\n            <legend>Emergency Contact</legend>\r\n            <div className={styles.section2col}>\r\n              <div className={styles.field}>\r\n                <label htmlFor=\"emergencyName\">Name</label>\r\n                <input\r\n                  id=\"emergencyName\"\r\n                  name=\"emergencyName\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                {errors.emergencyName && (\r\n                  <span className={styles.invalid}>\r\n                    Emergency Contact Name is required.\r\n                  </span>\r\n                )}\r\n              </div>\r\n              <div className={styles.field}>\r\n                <label htmlFor=\"emergencyPhone\">Phone</label>\r\n                <input\r\n                  id=\"emergencyPhone\"\r\n                  name=\"emergencyPhone\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                {errors.emergencyPhone && (\r\n                  <span className={styles.invalid}>\r\n                    Emergency Contact Phone is required.\r\n                  </span>\r\n                )}\r\n              </div>\r\n            </div>\r\n          </fieldset>\r\n\r\n          <div>\r\n            <h2>Child Contact Information</h2>\r\n            {members.map((member) => (\r\n              <div key={member} className={styles.member}>\r\n                <div className={styles.section2col}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`firstname${member}`}>First Name</label>\r\n                    <input\r\n                      id={`firstname${member}`}\r\n                      name={`firstname${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`firstname${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        First name is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`lastname${member}`}>Last Name</label>\r\n                    <input\r\n                      id={`lastname${member}`}\r\n                      name={`lastname${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`lastname${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Last name is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                </div>\r\n\r\n                <div className={styles.section2col}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`gender${member}`}>Gender</label>\r\n                    <select\r\n                      id={`gender${member}`}\r\n                      name={`gender${member}`}\r\n                      ref={register({ required: true })}\r\n                    >\r\n                      <option></option>\r\n                      <option>Male</option>\r\n                      <option>Female</option>\r\n                      <option>Other</option>\r\n                    </select>\r\n                    {errors[`gender${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Gender is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`age${member}`}>Age</label>\r\n                    <input\r\n                      id={`age${member}`}\r\n                      type=\"number\"\r\n                      name={`age${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`age${member}`] && (\r\n                      <span className={styles.invalid}>Age is required.</span>\r\n                    )}\r\n                  </div>\r\n                </div>\r\n                <div className={styles.section2col}>\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`healthcard${member}`}>\r\n                      Health Card Number\r\n                    </label>\r\n                    <input\r\n                      id={`healthcard${member}`}\r\n                      name={`healthcard${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`healthcard${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Health Card Number is required.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n\r\n                  <div className={styles.field}>\r\n                    <label htmlFor={`alergies${member}`}>Alergies</label>\r\n                    <input\r\n                      id={`alergies${member}`}\r\n                      name={`alergies${member}`}\r\n                      ref={register({ required: true })}\r\n                    />\r\n                    {errors[`alergies${member}`] && (\r\n                      <span className={styles.invalid}>\r\n                        Alergies is required, please inform <b>None</b>{\" \"}\r\n                        otherwise.\r\n                      </span>\r\n                    )}\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            ))}\r\n            <input\r\n              type=\"button\"\r\n              value=\"Add child\"\r\n              onClick={() => setMember([...members, members.length + 1])}\r\n            />\r\n          </div>\r\n\r\n          <br />\r\n          <br />\r\n\r\n          <h1 style={{ marginBottom: 20 }}>Camps</h1>\r\n\r\n          <div>Select the week you would like to register for</div>\r\n\r\n          <h3>Camp Hours</h3>\r\n          <div>9:00am to 4:00pm.</div>\r\n\r\n          <br />\r\n\r\n          <div className={styles.sub}>\r\n            <div className={styles.section}>\r\n              <div className={styles.fieldfull}>\r\n                <input id=\"camp1\" type=\"checkbox\" name=\"camp1\" ref={register} />\r\n                <label className={styles.normal} htmlFor=\"camp1\">\r\n                  Session 1 - Friday June 2\r\n                </label>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <fieldset>\r\n            <div className={styles.section}>\r\n              <div className={styles.field}>\r\n                I grant permission to the Blackburn Tennis Club, its\r\n                representatives and employees to use any photographs and/or\r\n                videos taken of my child(ren) at this location or submitted by\r\n                myself to be used on the club's website and/or promotional\r\n                pamphlets, posters, pictures and videos.\r\n              </div>\r\n            </div>\r\n            <div className={styles.full}>\r\n              <div className={styles.fieldcenter}>\r\n                <input\r\n                  type=\"radio\"\r\n                  name=\"media\"\r\n                  id=\"mediaYes\"\r\n                  ref={register({ required: true })}\r\n                ></input>\r\n                <label htmlFor=\"mediaYes\">Yes</label>\r\n                <input\r\n                  type=\"radio\"\r\n                  name=\"media\"\r\n                  id=\"mediaNo\"\r\n                  ref={register({ required: true })}\r\n                ></input>\r\n                <label htmlFor=\"mediaNo\">No</label>\r\n                {errors.media && (\r\n                  <span className={styles.invalid}>\r\n                    Media Waiver is required.\r\n                  </span>\r\n                )}\r\n              </div>\r\n            </div>\r\n          </fieldset>\r\n\r\n          <fieldset>\r\n            <div className={styles.waiver}>\r\n              <div className={styles.field}>\r\n                <b>Waiver</b>\r\n                <ol>\r\n                  <li>\r\n                    I acknowledge the highly contagious nature of COVID-19 and I\r\n                    voluntarily assume the risk that I (or my child, if\r\n                    participant is a minor/ or the person I am the tutor or\r\n                    legal guardian of) could be exposed or infected by COVID-19\r\n                    by participating in Blackburn Tennis Club’s activities.\r\n                    Being exposed or infected by COVID-19 may particularly lead\r\n                    to injuries, diseases or other illnesses.\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I declare that I (or my child, if participant is a minor/ or\r\n                    the person I am the tutor or legal guardian of) am\r\n                    participating voluntarily in Blackburn Tennis Club’s\r\n                    activities.\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I declare that neither I (or my child, if participant is a\r\n                    minor/ or the person I am the tutor or legal guardian of)\r\n                    nor anyone in my household, have experienced cold or\r\n                    flu-like symptoms in the last 14 days (including fever,\r\n                    cough, sore throat, respiratory illness, difficulty\r\n                    breathing).{\" \"}\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    If I (or my child, if participant is a minor/ or the person\r\n                    I am the tutor or legal guardian of) experience, or if\r\n                    anyone in my household experiences any cold or flu-like\r\n                    symptoms after submitting this declaration, I (or my child,\r\n                    if participant is a minor/ or the person I am the tutor or\r\n                    legal guardian of) will not attend any of Blackburn Tennis\r\n                    Club’s activities, programs or services until at least 14\r\n                    days have passed since those symptoms were last experienced.{\" \"}\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I (or my child, if participant is a minor/ or the person I\r\n                    am the tutor or legal guardian of), nor has any member of my\r\n                    household travelled to or had a lay-over in any country\r\n                    outside Canada, or in any Province outside of Ontario, in\r\n                    the past 14 days. If I (or my child, if participant is a\r\n                    minor/ or the person I am the tutor or legal guardian of)\r\n                    travel, or if anyone in my household travels, outside the\r\n                    Province of Ontario after submitting this declaration, I (or\r\n                    my child, if participant is a minor/ or the person I am the\r\n                    tutor or legal guardian of) will not attend any of Blackburn\r\n                    Tennis Club’s activities, programs or services until at\r\n                    least 14 days have passed since the date of return.{\" \"}\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I (or my child, if participant is a minor/ or the person I\r\n                    am the tutor or legal guardian of) agree to the requirements\r\n                    and recommendations of National, Provincial and local Public\r\n                    health and other governmental authorities and to those\r\n                    special safety regulations put in place by Blackburn Tennis\r\n                    Club as it pertains the Covid-19 Coronavirus and to adopt\r\n                    all necessary measures to those effects.\r\n                  </li>\r\n                  <br />\r\n                  <li>\r\n                    I (or my child, if participant is a minor/ or the person I\r\n                    am the tutor or legal guardian of) agree that, by filling\r\n                    out and signing this waiver and agreeing to the terms and\r\n                    conditions set out in it, I am giving up my legal rights to\r\n                    sue Blackburn Tennis Club and its officers and directors, in\r\n                    the event that I (or my child, if participant is a minor/ or\r\n                    the person I am the tutor or legal guardian of), contracts\r\n                    the Covid-19 Coronavirus.\r\n                  </li>\r\n                </ol>\r\n                <p>\r\n                  This document will remain in effect until Blackburn Tennis\r\n                  Club, as per the direction of the national, provincial and\r\n                  local government and health officials, determines that the\r\n                  acknowledgments in this declaration are no longer required.{\" \"}\r\n                </p>\r\n                <p>\r\n                  This document is in addition to and does not replace all other\r\n                  Blackburn Tennis Club waivers.\r\n                </p>\r\n              </div>\r\n            </div>\r\n            <div className={styles.full}>\r\n              <div className={styles.fieldcenter}>\r\n                <input\r\n                  id=\"waiver\"\r\n                  type=\"checkbox\"\r\n                  name=\"waiver\"\r\n                  ref={register({ required: true })}\r\n                />\r\n                <label className={styles.normal} htmlFor=\"waiver\">\r\n                  I consent <span>(Mandatory)</span>\r\n                </label>\r\n                {errors.waiver && (\r\n                  <span className={styles.invalid}>Waiver is required.</span>\r\n                )}\r\n              </div>\r\n            </div>\r\n          </fieldset>\r\n\r\n          <div className={styles.section}>\r\n            <div className={styles.field}>\r\n              <h3>Where did you hear from us?</h3>\r\n              <input id=\"referral\" name=\"referral\" ref={register} />\r\n              {errors.referral && (\r\n                <span className={styles.invalid}>Required.</span>\r\n              )}\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n        <div className={styles.sidebar}>\r\n          <StickyBox offsetTop={20} offsetBottom={20}>\r\n            <h1>Order Summary</h1>\r\n\r\n            {!validSelection && <div>Select at least one Camp to continue</div>}\r\n\r\n            {validSelection && (\r\n              <>\r\n                {fields.firstname && (\r\n                  <div className={styles.summary}>\r\n                    <div className={styles.key}>\r\n                      Primary Contact{fields.member && \" (Member)\"}\r\n                    </div>\r\n                    <div className={styles.value}>\r\n                      {fields.firstname} {fields.lastname}\r\n                    </div>\r\n                  </div>\r\n                )}\r\n\r\n                {Object.keys(plans)\r\n                  .filter((p) => fields[p])\r\n                  .map((p) => (\r\n                    <div className={styles.summary}>\r\n                      <div className={styles.key}>{plans[p].name}</div>\r\n                      <div className={styles.value}>\r\n                        {currency(\r\n                          plans[p][fields.member ? \"member\" : \"nonMember\"] *\r\n                            members.length\r\n                        )}\r\n                      </div>\r\n                    </div>\r\n                  ))}\r\n\r\n                {fields.plan && (\r\n                  <div className={styles.summary}>\r\n                    <div className={styles.key}>Total</div>\r\n                    <div className={styles.value}>\r\n                      {currency(plans[fields.plan].price)}\r\n                    </div>\r\n                  </div>\r\n                )}\r\n\r\n                <input\r\n                  className={styles.submit}\r\n                  disabled={!formState.isValid}\r\n                  type=\"submit\"\r\n                  value=\"Checkout\"\r\n                />\r\n                <div className={styles.returns}>\r\n                  Refunds will not be provided for any subscription.\r\n                  <br />\r\n                  Taxes to be calculated at checkout. All sales are final.\r\n                </div>\r\n              </>\r\n            )}\r\n          </StickyBox>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  )\r\n}\r\n","import { createSlice } from '@reduxjs/toolkit';\r\n\r\nexport const slice = createSlice({\r\n  name: 'counter',\r\n  initialState: {\r\n    value: 0,\r\n  },\r\n  reducers: {\r\n    increment: state => {\r\n      // Redux Toolkit allows us to 'mutate' the state. It doesn't actually\r\n      // mutate the state because it uses the immer library, which detects\r\n      // changes to a \"draft state\" and produces a brand new immutable state\r\n      // based off those changes\r\n      state.value += 1;\r\n    },\r\n    decrement: state => {\r\n      state.value -= 1;\r\n    },\r\n    incrementByAmount: (state, action) => {\r\n      state.value += action.payload.amount;\r\n    },\r\n  },\r\n});\r\n\r\nexport const selectCount = state => state.counter.value;\r\nexport const { increment, decrement, incrementByAmount } = slice.actions;\r\n\r\nexport default slice.reducer;\r\n","import { configureStore } from '@reduxjs/toolkit';\r\nimport counterReducer from './features/counter/counterSlice';\r\n\r\nexport default configureStore({\r\n  reducer: {\r\n    counter: counterReducer,\r\n  },\r\n});\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n  window.location.hostname === 'localhost' ||\r\n    // [::1] is the IPv6 localhost address.\r\n    window.location.hostname === '[::1]' ||\r\n    // 127.0.0.0/8 are considered localhost for IPv4.\r\n    window.location.hostname.match(\r\n      /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n    )\r\n);\r\n\r\nexport function register(config) {\r\n  if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n    // The URL constructor is available in all browsers that support SW.\r\n    const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n    if (publicUrl.origin !== window.location.origin) {\r\n      // Our service worker won't work if PUBLIC_URL is on a different origin\r\n      // from what our page is served on. This might happen if a CDN is used to\r\n      // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n      return;\r\n    }\r\n\r\n    window.addEventListener('load', () => {\r\n      const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n      if (isLocalhost) {\r\n        // This is running on localhost. Let's check if a service worker still exists or not.\r\n        checkValidServiceWorker(swUrl, config);\r\n\r\n        // Add some additional logging to localhost, pointing developers to the\r\n        // service worker/PWA documentation.\r\n        navigator.serviceWorker.ready.then(() => {\r\n          console.log(\r\n            'This web app is being served cache-first by a service ' +\r\n              'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n          );\r\n        });\r\n      } else {\r\n        // Is not localhost. Just register service worker\r\n        registerValidSW(swUrl, config);\r\n      }\r\n    });\r\n  }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n  navigator.serviceWorker\r\n    .register(swUrl)\r\n    .then(registration => {\r\n      registration.onupdatefound = () => {\r\n        const installingWorker = registration.installing;\r\n        if (installingWorker == null) {\r\n          return;\r\n        }\r\n        installingWorker.onstatechange = () => {\r\n          if (installingWorker.state === 'installed') {\r\n            if (navigator.serviceWorker.controller) {\r\n              // At this point, the updated precached content has been fetched,\r\n              // but the previous service worker will still serve the older\r\n              // content until all client tabs are closed.\r\n              console.log(\r\n                'New content is available and will be used when all ' +\r\n                  'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n              );\r\n\r\n              // Execute callback\r\n              if (config && config.onUpdate) {\r\n                config.onUpdate(registration);\r\n              }\r\n            } else {\r\n              // At this point, everything has been precached.\r\n              // It's the perfect time to display a\r\n              // \"Content is cached for offline use.\" message.\r\n              console.log('Content is cached for offline use.');\r\n\r\n              // Execute callback\r\n              if (config && config.onSuccess) {\r\n                config.onSuccess(registration);\r\n              }\r\n            }\r\n          }\r\n        };\r\n      };\r\n    })\r\n    .catch(error => {\r\n      console.error('Error during service worker registration:', error);\r\n    });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n  // Check if the service worker can be found. If it can't reload the page.\r\n  fetch(swUrl, {\r\n    headers: { 'Service-Worker': 'script' },\r\n  })\r\n    .then(response => {\r\n      // Ensure service worker exists, and that we really are getting a JS file.\r\n      const contentType = response.headers.get('content-type');\r\n      if (\r\n        response.status === 404 ||\r\n        (contentType != null && contentType.indexOf('javascript') === -1)\r\n      ) {\r\n        // No service worker found. Probably a different app. Reload the page.\r\n        navigator.serviceWorker.ready.then(registration => {\r\n          registration.unregister().then(() => {\r\n            window.location.reload();\r\n          });\r\n        });\r\n      } else {\r\n        // Service worker found. Proceed as normal.\r\n        registerValidSW(swUrl, config);\r\n      }\r\n    })\r\n    .catch(() => {\r\n      console.log(\r\n        'No internet connection found. App is running in offline mode.'\r\n      );\r\n    });\r\n}\r\n\r\nexport function unregister() {\r\n  if ('serviceWorker' in navigator) {\r\n    navigator.serviceWorker.ready.then(registration => {\r\n      registration.unregister();\r\n    });\r\n  }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport store from './store';\r\nimport { Provider } from 'react-redux';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(\r\n  <Provider store={store}>\r\n    <App />\r\n  </Provider>,\r\n  document.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","import React from 'react';\r\nimport { BrowserRouter as Router, Switch, Route, Link } from \"react-router-dom\";\r\nimport styles from './App.module.scss';\r\nimport Star from './images/star';\r\nimport Logo from './images/logo';\r\nimport Membership from './Membership';\r\nimport SummerCamp from './SummerCamp';\r\nimport SpringCamp from './SpringCamp';\r\nimport HICamp from './HICamp';\r\nimport PDCamp from './PDCamp';\r\n\r\nexport default () => {\r\n\r\n  return (\r\n    <div className={styles.app}>\r\n      <header className={styles.header}>\r\n        <a href=\"https://www.blackburntennis.ca/\">Blackburn Tennis Club</a>\r\n        <div className={styles.symbols}>\r\n          <div className={styles.star}>\r\n            <Star />\r\n          </div>\r\n          <div className={styles.logo}>\r\n            <Logo />\r\n          </div>\r\n          <div className={styles.star}>\r\n            <Star />\r\n          </div>\r\n        </div>\r\n      </header>\r\n      <main>\r\n        <Router>\r\n          <Switch>\r\n            <Route exact path=\"/\">\r\n              <h3>Forms</h3>\r\n              <ul>\r\n                <li><Link to=\"/membership\">Club Membership Form</Link></li>\r\n                <li><Link to=\"/events\">Events and Program</Link></li>\r\n                <li><Link to=\"/fnjunior\">Friday Night Junior Round-Robin</Link></li>\r\n              </ul>\r\n              <h3>Camp Registration</h3>\r\n              <ul>\r\n                <li><Link to=\"/summercamp\">Summer</Link></li>\r\n                <li><Link to=\"/springcamp\">Spring</Link></li>\r\n                <li><Link to=\"/hicamp\">High Intensity Tennis Training</Link></li>\r\n                <li><Link to=\"/pdcamp\">PD Day</Link></li>\r\n              </ul>\r\n            </Route>\r\n            <Route path=\"/membership\" component={Membership} />\r\n            <Route path=\"/events\">\r\n              <h1>Events and Program Registration</h1>\r\n            </Route>\r\n            <Route path=\"/summercamp\" component={SummerCamp} />\r\n            <Route path=\"/springcamp\" component={SpringCamp} />\r\n            {/* <Route path=\"/hpcamp\" component={HPCamp} /> */}\r\n            <Route path=\"/hicamp\" component={HICamp} />\r\n            <Route path=\"/pdcamp\" component={PDCamp} />\r\n            {/* <Route path=\"/fnjunior\" component={FNJunior} /> */}\r\n          </Switch>\r\n        </Router>\r\n      </main>\r\n    </div>\r\n  )\r\n}"],"sourceRoot":""}