{"version":3,"mappings":"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","names":["_extends","n","e","t","r","_objectWithoutPropertiesLoose","useOnMount","callback","useEffect","_excluded","useSound","src","_temp","_ref","_ref$volume","volume","_ref$playbackRate","playbackRate","_ref$soundEnabled","soundEnabled","_ref$interrupt","interrupt","onload","delegated","HowlConstructor","React__default","isMounted","_React$useState","duration","setDuration","_React$useState2","sound","setSound","handleLoad","__vitePreload","mod","_mod$Howl","play","options","stop","id","pause","returnedValue","_useSound","motionVariants","JoinTheClub","headline","otherProps","submit","getInputProps","values","processing","useFetchForm","routes","router","toast","filled","useFieldsFilled","jsx","Box","motion","Stack","Text","jsxs","Card","TextInput","UserIcon","EmailIcon","Button"],"ignoreList":[0],"sources":["../../../node_modules/use-sound/dist/use-sound.esm.js","../../../app/helpers/sound.ts","../../../app/components/JoinTheClub.tsx"],"sourcesContent":["import React__default, { useEffect } from 'react';\n\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.indexOf(n) >= 0) continue;\n t[n] = r[n];\n }\n return t;\n}\n\nfunction useOnMount(callback) {\n useEffect(callback, []);\n}\n\nvar _excluded = [\"id\", \"volume\", \"playbackRate\", \"soundEnabled\", \"interrupt\", \"onload\"];\nfunction useSound(src, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$volume = _ref.volume,\n volume = _ref$volume === void 0 ? 1 : _ref$volume,\n _ref$playbackRate = _ref.playbackRate,\n playbackRate = _ref$playbackRate === void 0 ? 1 : _ref$playbackRate,\n _ref$soundEnabled = _ref.soundEnabled,\n soundEnabled = _ref$soundEnabled === void 0 ? true : _ref$soundEnabled,\n _ref$interrupt = _ref.interrupt,\n interrupt = _ref$interrupt === void 0 ? false : _ref$interrupt,\n onload = _ref.onload,\n delegated = _objectWithoutPropertiesLoose(_ref, _excluded);\n var HowlConstructor = React__default.useRef(null);\n var isMounted = React__default.useRef(false);\n var _React$useState = React__default.useState(null),\n duration = _React$useState[0],\n setDuration = _React$useState[1];\n var _React$useState2 = React__default.useState(null),\n sound = _React$useState2[0],\n setSound = _React$useState2[1];\n var handleLoad = function handleLoad() {\n if (typeof onload === 'function') {\n // @ts-ignore\n onload.call(this);\n }\n if (isMounted.current) {\n // @ts-ignore\n setDuration(this.duration() * 1000);\n }\n // @ts-ignore\n setSound(this);\n };\n // We want to lazy-load Howler, since sounds can't play on load anyway.\n useOnMount(function () {\n import('howler').then(function (mod) {\n if (!isMounted.current) {\n var _mod$Howl;\n // Depending on the module system used, `mod` might hold\n // the export directly, or it might be under `default`.\n HowlConstructor.current = (_mod$Howl = mod.Howl) !== null && _mod$Howl !== void 0 ? _mod$Howl : mod[\"default\"].Howl;\n isMounted.current = true;\n new HowlConstructor.current(_extends({\n src: Array.isArray(src) ? src : [src],\n volume: volume,\n rate: playbackRate,\n onload: handleLoad\n }, delegated));\n }\n });\n return function () {\n isMounted.current = false;\n };\n });\n // When the `src` changes, we have to do a whole thing where we recreate\n // the Howl instance. This is because Howler doesn't expose a way to\n // tweak the sound\n React__default.useEffect(function () {\n if (HowlConstructor.current && sound) {\n setSound(new HowlConstructor.current(_extends({\n src: Array.isArray(src) ? src : [src],\n volume: volume,\n onload: handleLoad\n }, delegated)));\n }\n // The linter wants to run this effect whenever ANYTHING changes,\n // but very specifically I only want to recreate the Howl instance\n // when the `src` changes. Other changes should have no effect.\n // Passing array to the useEffect dependencies list will result in\n // ifinite loop so we need to stringify it, for more details check\n // https://github.com/facebook/react/issues/14476#issuecomment-471199055\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(src)]);\n // Whenever volume/playbackRate are changed, change those properties\n // on the sound instance.\n React__default.useEffect(function () {\n if (sound) {\n sound.volume(volume);\n sound.rate(playbackRate);\n }\n // A weird bug means that including the `sound` here can trigger an\n // error on unmount, where the state loses track of the sprites??\n // No idea, but anyway I don't need to re-run this if only the `sound`\n // changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [volume, playbackRate]);\n var play = React__default.useCallback(function (options) {\n if (typeof options === 'undefined') {\n options = {};\n }\n if (!sound || !soundEnabled && !options.forceSoundEnabled) {\n return;\n }\n if (interrupt) {\n sound.stop();\n }\n if (options.playbackRate) {\n sound.rate(options.playbackRate);\n }\n sound.play(options.id);\n }, [sound, soundEnabled, interrupt]);\n var stop = React__default.useCallback(function (id) {\n if (!sound) {\n return;\n }\n sound.stop(id);\n }, [sound]);\n var pause = React__default.useCallback(function (id) {\n if (!sound) {\n return;\n }\n sound.pause(id);\n }, [sound]);\n var returnedValue = [play, {\n sound: sound,\n stop: stop,\n pause: pause,\n duration: duration\n }];\n return returnedValue;\n}\n\nexport default useSound;\nexport { useSound };\n//# sourceMappingURL=use-sound.esm.js.map\n","import { type HookOptions, type ReturnedValue } from \"use-sound/dist/types\";\nimport { useSound as _useSound } from \"use-sound?client\";\n\nexport const useSound = (\n src: string | string[],\n options?: HookOptions,\n): ReturnedValue => {\n if (import.meta.env.SSR) {\n return [\n () => {},\n { duration: 0, pause: () => {}, stop: () => {}, sound: null },\n ];\n }\n return _useSound(src, options);\n};\n","import { Text } from \"@mantine/core\";\nimport { motion } from \"motion/react\";\nimport { type ReactNode } from \"react\";\n\nexport interface JoinTheClubProps extends BoxProps {\n headline: ReactNode;\n}\n\nconst motionVariants = {\n hidden: { opacity: 0 },\n visible: { opacity: 1 },\n};\n\nconst JoinTheClub: FC = ({ headline, ...otherProps }) => {\n const { submit, getInputProps, values, processing } = useFetchForm({\n action: routes.interestSubmissions.create,\n descriptor: \"join the club\",\n initialValues: {\n name: \"\",\n email: \"\",\n feedback_contact: \"\",\n referral_contact: \"\",\n },\n transformValues: values => ({ interest_submission: values }),\n onSuccess: () => {\n router.visit(routes.landing.show.path(), {\n onSuccess: () => {\n toast.success(\"Thank you for joining us 🫡\", {\n description: \"You're all set—welcome to the club.\",\n duration: Infinity,\n });\n },\n });\n },\n });\n const filled = useFieldsFilled(values, \"name\", \"email\");\n return (\n \n \n \n \n {headline}\n \n \n \n \n \n You're invited to{\" \"}\n join the club\n \n \n Because great relationships are built.\n \n \n }\n required\n />\n }\n placeholder=\"email@example.com\"\n required\n />\n \n \n \n Your phone #, Twitter handle, or Instagram handle.\n \n \n \n \n \n Their email, Twitter handle, or Instagram handle. We'll reach\n out.\n \n \n \n Let's do this.\n \n \n \n \n \n \n );\n};\n\nexport default JoinTheClub;\n"],"file":"assets/JoinTheClub-C9TkwZEZ.js"}