{"version":3,"file":"HomeGroupBuildingWizard-94e7c068.js","sources":["../../src/components/HomeGroups/HomeGroupsWizard/HomeGroupBuildingNameStep.tsx","../../src/components/HomeGroups/HomeGroupsWizard/StepHomeGroupBuildingConfirm.tsx","../../src/components/HomeGroups/HomeGroupsWizard/HomeGroupBuildingWizard.tsx"],"sourcesContent":["import { useState } from \"react\"\nimport styled from \"styled-components\"\n\nimport { GooglePlacesAutoComplete } from \"src/components/Homes/GooglePlacesAutoComplete\"\nimport { extractAddressData } from \"src/data/homeAddress/logic/homeAddressDataUtils\"\nimport { THomeGroup } from \"src/data/homeGroups/types/homeGroupTypes\"\nimport { useOrganization } from \"src/data/organizations/hooks/useOrganization\"\nimport { useTranslate } from \"src/i18n/useTranslate\"\nimport { TextButton } from \"src/ui/Button/TextButton\"\nimport { MBanner } from \"src/ui/MBanner/MBanner\"\nimport { Heading2Mixin } from \"src/ui/MText\"\nimport { MTextField } from \"src/ui/MTextField/MTextField\"\nimport { spacing } from \"src/ui/spacing\"\n\nexport const CREATE_HOMEGROUP_FORM_ID = \"create-homegroup-form\"\n\nexport function HomeGroupNameStep({\n homeGroupName,\n setHomeGroupName,\n setHomeGroupAddress,\n isError,\n onSubmit,\n}: {\n homeGroupName: string\n setHomeGroupName: (name: string) => void\n setHomeGroupAddress: (address: THomeGroup[\"address\"]) => void\n isError: boolean\n onSubmit?: (options: { manualAddress: boolean }) => void\n}) {\n const { t, langKeys } = useTranslate()\n const { org } = useOrganization()\n\n const [addressSearchString, setAddressSearchString] = useState(\"\")\n const [useManualAddress, setUseManualAddress] = useState(false)\n\n function getAddress({\n address,\n addressComponents,\n }: {\n address: string\n addressComponents: google.maps.GeocoderAddressComponent[] | null\n }) {\n if (!addressComponents) {\n setAddressSearchString(\"\")\n return\n }\n setAddressSearchString(address)\n const { street_name2: _x, ...extractedAddress } =\n extractAddressData(addressComponents)\n\n setHomeGroupAddress(extractedAddress)\n }\n\n return (\n {\n e.preventDefault()\n onSubmit?.({ manualAddress: useManualAddress })\n }}\n >\n \n {t(langKeys.homegroup_building_wizard_name_step_title, {\n name: org.name,\n })}\n \n\n setHomeGroupName(value)}\n required\n />\n\n \n \n\n {\n setUseManualAddress(true)\n setAddressSearchString(\"\")\n onSubmit?.({ manualAddress: true })\n }}\n >\n {t(langKeys.create_home_enter_address_manually)}\n \n \n\n {isError && (\n \n {t(langKeys.failed_something_went_wrong)}\n \n )}\n \n )\n}\n\nconst FormBox = styled.form`\n display: grid;\n gap: ${spacing.L};\n`\n\nconst Title = styled.div`\n ${Heading2Mixin};\n`\n\nconst AlertBox = styled(MBanner)`\n margin-top: ${spacing.M};\n`\nconst ManualAddressButton = styled(TextButton)`\n justify-self: start;\n`\n\nconst AutocompleteSection = styled.div<{ $hidden?: boolean }>`\n display: ${({ $hidden }) => ($hidden ? \"none\" : \"grid\")};\n gap: ${spacing.S};\n`\n","import styled from \"styled-components\"\n\nimport { IconButton } from \"@minuthq/meatball-ui-react\"\nimport { AxiosError } from \"axios\"\n\nimport { AdjustableLocationMap } from \"src/components/Homes/HomeAddress/AdjustableHomeMap\"\nimport {\n formatPostalAddress,\n formatStreetname,\n} from \"src/components/Homes/HomeDetails/Overview/addressUtils\"\nimport { THomeGroup } from \"src/data/homeGroups/types/homeGroupTypes\"\nimport { ILocation } from \"src/data/homes/types/homeTypes\"\nimport { useTranslate } from \"src/i18n/useTranslate\"\nimport PenSvg from \"src/ui/icons/pen-outlined.svg\"\nimport { MBanner } from \"src/ui/MBanner/MBanner\"\nimport { MCard } from \"src/ui/MCard/MCard\"\nimport { MText } from \"src/ui/MText\"\nimport { spacing } from \"src/ui/spacing\"\n\nexport function StepHomeGroupBuildingConfirm({\n address,\n location,\n onEdit,\n error,\n}: {\n address: THomeGroup[\"address\"]\n location?: ILocation\n onEdit: () => void\n error?: AxiosError | null\n}) {\n const { t, langKeys } = useTranslate()\n\n return (\n
\n \n {t(langKeys.summary)}\n \n\n \n \n\n \n \n <MText variant=\"subtitle\" marginBottom={spacing.XS}>\n {t(langKeys.building_details)}\n </MText>\n <IconButton Icon={PenSvg} variant=\"minimal\" onClick={onEdit} />\n \n\n {address && {formatStreetname(address)}}\n {address && (\n {formatPostalAddress(address)}\n )}\n \n \n\n {!!error && (\n \n {t(langKeys.failed_something_went_wrong)}\n \n )}\n
\n )\n}\n\nconst Alert = styled(MBanner)`\n margin-top: ${spacing.M};\n`\n\nconst Title = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n`\n\nconst Deets = styled.div`\n margin-top: ${spacing.M};\n`\n","import { useState } from \"react\"\n\nimport {\n HOME_GROUP_ADDRESS_FORM_ID,\n StepHomeGroupAddress,\n} from \"src/components/HomeGroups/HomeGroupAddressWizard/StepHomeGroupAddress\"\nimport { StepHomeGroupMap } from \"src/components/HomeGroups/HomeGroupAddressWizard/StepHomeGroupMap\"\nimport {\n CREATE_HOMEGROUP_FORM_ID,\n HomeGroupNameStep,\n} from \"src/components/HomeGroups/HomeGroupsWizard/HomeGroupBuildingNameStep\"\nimport { StepHomeGroupBuildingConfirm } from \"src/components/HomeGroups/HomeGroupsWizard/StepHomeGroupBuildingConfirm\"\nimport {\n usePostBuildingAddressConfirmed,\n usePostBuildingAddressInitiated,\n usePostCreateBuildingConfirmed,\n usePostCreateBuildingInitiated,\n} from \"src/data/analytics/queries/homegroupAnalyticsQueries\"\nimport { usePostHomeGroup } from \"src/data/homeGroups/queries/homeGroupQueries\"\nimport { THomeGroup } from \"src/data/homeGroups/types/homeGroupTypes\"\nimport { ILocation } from \"src/data/homes/types/homeTypes\"\nimport { useOrganization } from \"src/data/organizations/hooks/useOrganization\"\nimport { useTranslate } from \"src/i18n/useTranslate\"\nimport { Routes } from \"src/router/routes\"\nimport { useRouter } from \"src/router/useRouter\"\nimport { FullscreenWizard } from \"src/ui/Wizard/FullscreenWizard\"\nimport { IWizardStep } from \"src/ui/Wizard/wizardTypes\"\n\nexport interface IHomeOption {\n id: string\n name: string\n}\n\nexport function HomeGroupBuildingWizard() {\n const { t, langKeys } = useTranslate()\n const { navigate, goBack } = useRouter()\n const [currentStep, setCurrentStep] = useState(0)\n const [homeGroupName, setHomeGroupName] = useState(\"\")\n const { org } = useOrganization()\n const postHomeGroup = usePostHomeGroup()\n\n //#region Analytics\n const postCreateBuildingInitiated = usePostCreateBuildingInitiated()\n const postBuildingAddressInitiated = usePostBuildingAddressInitiated()\n const postBuildingAddressConfirmed = usePostBuildingAddressConfirmed()\n const postCreateBuildingConfirmed = usePostCreateBuildingConfirmed()\n //#endregion Analytics\n\n const [homeGroupAddress, setHomeGroupAddress] = useState<\n THomeGroup[\"address\"] | undefined\n >()\n const [homeGroupLocation, setHomeGroupLocation] = useState({\n latitude: 0,\n longitude: 0,\n })\n\n function handleHomeAddressStep(\n address: THomeGroup[\"address\"],\n location: ILocation\n ) {\n if (!address?.street_name1) return\n\n setHomeGroupAddress(address)\n setHomeGroupLocation(location)\n postBuildingAddressInitiated.mutate()\n setCurrentStep((currStep) => currStep + 1)\n }\n\n function createHomeGroup() {\n postCreateBuildingConfirmed.mutate()\n postHomeGroup.mutate(\n {\n orgId: org.id,\n body: {\n name: homeGroupName,\n address: homeGroupAddress,\n location: homeGroupLocation,\n type: \"building\",\n },\n },\n {\n onSuccess(hg) {\n navigate(Routes.HomeGroupDetails.path(hg.id))\n },\n }\n )\n }\n\n function handleHomeGroupNameStep(options?: { manualAddress: boolean }) {\n if (options?.manualAddress) {\n setHomeGroupAddress(undefined)\n } else {\n setHomeGroupAddress(homeGroupAddress)\n }\n setHomeGroupName(homeGroupName)\n postCreateBuildingInitiated.mutate()\n setCurrentStep((step) => step + 1)\n }\n\n function handleBuildingLocationStep() {\n postBuildingAddressConfirmed.mutate()\n setCurrentStep((currStep) => currStep + 1)\n }\n\n const stepper: IWizardStep[] = [\n {\n id: CREATE_HOMEGROUP_FORM_ID,\n component: (\n \n ),\n backButtonLabel: t(langKeys.cancel),\n onBack: () =>\n goBack({ defaultPath: Routes.HomeGroupBuildings.location() }),\n nextButtonProps: { form: CREATE_HOMEGROUP_FORM_ID },\n nextButtonLabel: t(langKeys.continue),\n hideProgress: true,\n hideBackButton: true,\n },\n {\n component: (\n \n ),\n nextButtonProps: { form: HOME_GROUP_ADDRESS_FORM_ID },\n nextButtonLabel: t(langKeys.continue),\n hideProgress: true,\n },\n {\n component: (\n \n ),\n nextButtonLabel: t(langKeys.continue),\n onNext: handleBuildingLocationStep,\n hideProgress: true,\n },\n {\n component: (\n setCurrentStep((step) => step - 2)}\n />\n ),\n nextButtonLabel: t(langKeys.homegroups_create_building_button_label),\n nextButtonProps: { loading: postHomeGroup.isLoading },\n onNext: () => createHomeGroup(),\n hideProgress: true,\n },\n ]\n\n const wizardTitle = `${t(langKeys.homegroup_building_wizard_title)}${homeGroupName ? \": \" : \"\"}${homeGroupName}`\n return (\n navigate(Routes.HomeGroupBuildings.location({}))}\n onNext={() => setCurrentStep((currStep) => currStep + 1)}\n onBack={() => setCurrentStep((currStep) => currStep - 1)}\n />\n )\n}\n"],"names":["CREATE_HOMEGROUP_FORM_ID","HomeGroupNameStep","homeGroupName","setHomeGroupName","setHomeGroupAddress","isError","onSubmit","t","langKeys","useTranslate","org","useOrganization","addressSearchString","setAddressSearchString","useState","useManualAddress","setUseManualAddress","getAddress","address","addressComponents","street_name2","_x","extractedAddress","extractAddressData","FormBox","id","e","preventDefault","manualAddress","Title","homegroup_building_wizard_name_step_title","name","MTextField","label","value","onChange","required","AutocompleteSection","GooglePlacesAutoComplete","inputValue","setInputValue","onLocationSelected","ManualAddressButton","type","form","onClick","create_home_enter_address_manually","AlertBox","failed_something_went_wrong","styled","spacing","L","div","Heading2Mixin","MBanner","M","TextButton","$hidden","S","StepHomeGroupBuildingConfirm","location","onEdit","error","MText","variant","marginBottom","summary","MCard","border","boxShadow","AdjustableLocationMap","showAdjustButton","height","Deets","XS","building_details","IconButton","Icon","PenSvg","formatStreetname","formatPostalAddress","_jsx","Alert","fullWidth","HomeGroupBuildingWizard","navigate","goBack","useRouter","currentStep","setCurrentStep","postHomeGroup","usePostHomeGroup","postCreateBuildingInitiated","usePostCreateBuildingInitiated","postBuildingAddressInitiated","usePostBuildingAddressInitiated","postBuildingAddressConfirmed","usePostBuildingAddressConfirmed","postCreateBuildingConfirmed","usePostCreateBuildingConfirmed","homeGroupAddress","homeGroupLocation","setHomeGroupLocation","latitude","longitude","handleHomeAddressStep","street_name1","mutate","currStep","createHomeGroup","orgId","body","onSuccess","hg","Routes","HomeGroupDetails","path","handleHomeGroupNameStep","options","undefined","step","handleBuildingLocationStep","stepper","component","backButtonLabel","cancel","onBack","defaultPath","HomeGroupBuildings","nextButtonProps","nextButtonLabel","continue","hideProgress","hideBackButton","StepHomeGroupAddress","HOME_GROUP_ADDRESS_FORM_ID","StepHomeGroupMap","onChangeLocation","onNext","homegroups_create_building_button_label","loading","isLoading","wizardTitle","homegroup_building_wizard_title","FullscreenWizard","title","steps","onClose"],"mappings":"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"}