{"version":3,"sources":["webpack:///./app/javascript/hooks/trotter/useFavoriteSpaces.ts","webpack:///./app/javascript/hooks/trotter/useSpaceRents.ts","webpack:///./app/javascript/hooks/trotter/useOrders.ts","webpack:///./.yarn/cache/react-gtm-module-npm-2.0.11-99adaedaa9-93b4659f0d.zip/node_modules/react-gtm-module/dist/index.js","webpack:///./.yarn/cache/react-gtm-module-npm-2.0.11-99adaedaa9-93b4659f0d.zip/node_modules/react-gtm-module/dist/TagManager.js","webpack:///./.yarn/cache/react-gtm-module-npm-2.0.11-99adaedaa9-93b4659f0d.zip/node_modules/react-gtm-module/dist/Snippets.js","webpack:///./.yarn/cache/react-gtm-module-npm-2.0.11-99adaedaa9-93b4659f0d.zip/node_modules/react-gtm-module/dist/utils/warn.js","webpack:///./.yarn/__virtual__/@material-ui-icons-virtual-895f26f68f/0/cache/@material-ui-icons-npm-5.0.0-beta.1-430a46836a-fab3b0a21d.zip/node_modules/@material-ui/icons/Favorite.js","webpack:///./.yarn/__virtual__/@material-ui-icons-virtual-895f26f68f/0/cache/@material-ui-icons-npm-5.0.0-beta.1-430a46836a-fab3b0a21d.zip/node_modules/@material-ui/icons/FavoriteBorder.js","webpack:///./app/javascript/pages/public/BuildingSpace/styles.ts","webpack:///./app/javascript/components/FormattedFormRow/styles.ts","webpack:///./app/javascript/components/FormattedFormRow/index.ts","webpack:///./app/javascript/components/FormattedFormRow/FormattedFormRow.tsx","webpack:///./app/javascript/forms/public/spaceDetailsForm.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceDetails/components/DateOfStartPlaceholder/styles.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceDetails/components/DateOfStartPlaceholder/index.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceDetails/components/DateOfStartPlaceholder/DateOfStartPlaceholder.tsx","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceDetails/components/Share/styles.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceDetails/components/Share/index.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceDetails/components/Share/Share.tsx","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceDetails/styles.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceDetails/SpaceDetails.tsx","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceDetails/index.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceAmenities/styles.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceAmenities/SpaceAmenities.tsx","webpack:///./app/javascript/pages/public/BuildingSpace/components/SpaceAmenities/index.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/BuildingDescription/styles.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/BuildingDescription/index.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/BuildingDescription/BuildingDescription.tsx","webpack:///./app/javascript/pages/public/BuildingSpace/components/OtherSpacesInBuilding/components/SpaceCard/styles.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/OtherSpacesInBuilding/components/SpaceCard/index.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/OtherSpacesInBuilding/components/SpaceCard/SpaceCard.tsx","webpack:///./app/javascript/pages/public/BuildingSpace/components/OtherSpacesInBuilding/styles.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/OtherSpacesInBuilding/index.ts","webpack:///./app/javascript/pages/public/BuildingSpace/components/OtherSpacesInBuilding/OtherSpacesInBuilding.tsx","webpack:///./app/javascript/pages/public/BuildingSpace/BuildingSpace.tsx","webpack:///./app/javascript/pages/public/BuildingSpace/index.ts"],"names":["useFavoriteSpaces","dispatch","useAppDispatch","useAppSelector","globalState","trotterFavoriteSpaces","favoriteSpaces","indexFetchStatus","index","fetchStatus","createFetchStatus","create","deleteFetchStatus","isLoadFavoriteSpacesFinished","getFetchStatus","isFinished","isCreateFavoriteSpacePending","isPending","isDeleteFavoriteSpacePending","loadFavoriteSpaces","params","createFavoriteSpace","spaceId","deleteFavoriteSpace","useSpaceRents","trotterSpaceRents","spaceRentsInProgress","spaceRentsRented","spaceRent","indexInProgressFetchStatus","indexInProgress","indexRentedFetchStatus","indexRented","showFetchStatus","show","isLoadSpaceRentsInProgressFinished","isLoadSpaceRentsRentedFinished","isCreateSpaceRentPending","isCreateSpaceRentFulfilled","isFulfilled","loadSpaceRentsInProgress","loadSpaceRentsRented","createSpaceRent","failPaymentSpaceRent","spaceRentId","cancelPaymentSpaceRent","cancelSubscriptionSpaceRent","isLoadSpaceRentFulfilled","loadSpaceRent","useOrders","trotterOrders","order","isCreateOrderPending","createOrder","dateOfStart","rentalPeriod","isLoadOrderFulfilled","loadOrder","orderId","obj","_TagManager","_TagManager2","__esModule","default","module","exports","_Snippets","_Snippets2","TagManager","dataScript","dataLayer","script","document","createElement","innerHTML","gtm","args","snippets","tags","noScript","noscript","iframe","this","dataLayerVar","initialize","_ref","gtmId","_ref$events","events","undefined","_ref$dataLayerName","dataLayerName","_ref$auth","auth","_ref$preview","preview","id","head","appendChild","insertBefore","childNodes","body","_ref2","_dataLayer","_ref2$dataLayerName","window","push","_warn","_warn2","Snippets","gtm_auth","gtm_preview","JSON","stringify","slice","Object","defineProperty","value","s","console","warn","_interopRequireDefault","_createSvgIcon","_jsxRuntime","_default","jsx","d","styles","mapBox","height","mobile","tablet","width","desktop","buildingBox","position","right","largeScreen","overflowY","scrollbarColor","mapAndBuildingBox","marginTop","display","alignItems","maxWidth","marginLeft","marginRight","padding","root","justifyContent","label","flexShrink","FormattedFormRow","required","children","Box","sx","variant","component","color","validationFields","yup","nullable","i18n","t","field","min","validationSchema","shape","backgroundColor","border","theme","palette","gray","lighter","borderColor","red","main","borderRadius","brightBlue","calendarIconBlock","paddingLeft","paddingRight","opacity","setDate","DateOfStartPlaceholder","props","date","error","useTranslation","isDateSet","className","clsx","formatDateWithSlashes","Icon","name","fontSize","iconButton","cursor","Share","openModal","useModals","onClick","type","ModalType","shareSpace","container","spaceBox","flexDirection","spaceDescription","gallery","marginBottom","backToSearch","address","verifiedBadgeBox","titleAndHeart","heart","fill","black","heartDisabled","pointerEvents","description","actions","fablet","flexWrap","price","whiteSpace","priceAndText","flexGrow","bookButton","bookButtonWrapper","messageButton","editButton","textTransform","Lable","dateOfStartLabel","titleButtons","link","textDecoration","letterSpacing","arrowIconBox","arrowIcon","ctaBlock","onceYouBook","paddingTop","deliver","textFieldWrapper","DropDownMenuWrapper","dateWrapper","paddingBottom","dateOfStartButton","errorLable","bottom","left","SpaceDetails","space","building","onLikeButtonClick","isLikeButtonDisabled","onChatChannelCreate","onBookNowClick","isBookNowButtonDisabled","availableAt","parseDate","initialStartDate","getDateOfStart","today","startOfToday","maxDate","addDays","bookingWindow","currentUser","useUsers","isTrotter","UsersPresenter","hasTrotterAccess","isGuest","medias","SpacePresenter","sortedMedias","BuildingPresenter","canBeBooked","initialValues","minimalRentalPeriod","formik","useFormik","onSubmit","values","handleChange","handleSubmit","setFieldValue","errors","isValid","isSubmitting","touched","monthOptions","range","Link","to","appRoutes","searchPath","isVerified","title","isFavorite","isAvailableAtInPastOrToday","dangerouslySetInnerHTML","__html","DropDownMenu","buttonStyles","placeholder","DatePicker","minDate","onChangeDate","convertDateForBackend","startOfDay","fullWidth","select","onChange","map","monthNumber","count","arrow","placement","enterTouchDelay","disabled","priceFormatted","event","placeholderImageName","amenity","mb","mr","detailsAndBuildingBoxWrapper","bgcolor","amenitiesBox","rows","row","rowLabel","ContentRow","Array","isArray","content","direction","item","SpaceAmenities","isShowAmenities","amenities","square","minCapacity","maxCapacity","spaceType","airConditioningType","heatingType","ceilingHeight","flooringType","floor","spaceViewType","parkingSpaces","outdoorSpaceDescription","privateBathroom","restrictedUses","internetProvider","rowToRender","rowContent","mt","allAmenities","buildingCardInfo","buildingAttribute","minWidth","buildingAttributeCell","buildingAttributesTable","hr","BuildingDescription","renderBooleanValue","buildingType","BuildingType","buildingClass","BuildingClass","elevatorType","ElevatorType","numberOfElevators","freightElevator","onSiteManagement","ownerOccupied","bicycleParkingAccess","onSiteGym","card","cardImage","transform","spaceInfo","spacePhotoPlaceholder","SpaceCard","buildingId","useParams","lessThanTablet","useScreen","imageUrl","coverUrl","pricePerMonthFormatted","preserveAspectRatio","image","spacing","buildingSpacePath","spacesInBuildingBoxWrapper","spaces","overflow","OtherSpacesInBuilding","spacesInCurrentBuilding","filter","BuildingSpace","useSpaces","loadSpace","isLoadSpaceFulfilled","setSpaceLiked","setSpaceNotLiked","resetSpace","useRouter","loadCurrentSpace","a","unwrap","isNotFound","page404Path","useEffect","handleSpaceLike","handleSpaceLikeDestroy","handleBookNowClick","requestQuotePath","path","makePathWithQueryString","signInPath","redirectUrl","Helmet","trotterChatPath","trotter","chatPath","hasGeoCoords","controlsAtLeftSide","longitude","Number","latitude"],"mappings":"8NAwCeA,EAxBW,WACxB,IAAMC,EAAWC,cACjB,EAKIC,aAAe,SAAAC,GAAW,OAAIA,EAAYC,yBAJ5CC,EADF,EACEA,eACsBC,EAFxB,EAEEC,MAASC,YACcC,EAHzB,EAGEC,OAAUF,YACaG,EAJzB,SAIYH,YAOZ,MAAO,CACLH,iBACAO,6BANmDC,YAAeP,GAA5DQ,WAONC,6BANkDF,YAAeJ,GAA3DO,UAONC,6BANkDJ,YAAeF,GAA3DK,UAONE,mBAAoB,SAACC,GAAD,OAA2BnB,EAASkB,YAAmBC,KAC3EC,oBAAqB,SAACC,GAAD,OAAiBrB,EAASoB,YAAoBC,KACnEC,oBAAqB,SAACD,GAAD,OAAiBrB,EAASsB,YAAoBD,O,SCiCxDE,EArCO,WACpB,IAAMvB,EAAWC,cACjB,EAQIC,aAAe,SAAAC,GAAW,OAAIA,EAAYqB,qBAP5CC,EADF,EACEA,qBACAC,EAFF,EAEEA,iBACAC,EAHF,EAGEA,UACgCC,EAJlC,EAIEC,gBAAmBrB,YACSsB,EAL9B,EAKEC,YAAevB,YACQC,EANzB,EAMEC,OAAUF,YACWwB,EAPvB,EAOEC,KAAQzB,YAGU0B,EAAuCrB,YAAee,GAAlEd,WACYqB,EAAmCtB,YAAeiB,GAA9DhB,WACR,EACED,YAAeJ,GAGjB,MAAO,CACLgB,uBACAC,mBACAQ,qCACAC,iCACAC,yBATF,EAAQpB,UAUNqB,2BAVF,EAA6CC,YAW3CC,yBAA0B,SAACpB,GAAD,OAA2BnB,EAASuC,YAAyBpB,KACvFqB,qBAAsB,SAACrB,GAAD,OAA2BnB,EAASwC,YAAqBrB,KAC/EsB,gBAAiB,SAACtB,GAAD,OAAmCnB,EAASyC,YAAgB,CAAEtB,aAC/EuB,qBAAsB,SAACC,GAAD,OAAqB3C,EAAS0C,YAAqBC,KACzEC,uBAAwB,SAACD,GAAD,OAAqB3C,EAAS4C,YAAuBD,KAC7EE,4BAA6B,SAACF,GAAD,OAAqB3C,EAAS6C,YAA4BF,KACvFhB,YACAmB,yBAhBgDjC,YAAemB,GAAzDM,YAiBNS,cAAe,SAACJ,GAAD,OAAqB3C,EAAS+C,YAAcJ,O,SC/BhDK,EArBG,WAChB,IAAMhD,EAAWC,cACjB,EAIIC,aAAe,SAAAC,GAAW,OAAIA,EAAY8C,iBAH5CC,EADF,EACEA,MACuBzC,EAFzB,EAEEC,OAAUF,YACWwB,EAHvB,EAGEC,KAAQzB,YAMV,MAAO,CACL0C,QACAC,qBAL0CtC,YAAeJ,GAAnDO,UAMNoC,YAAa,SAAC/B,EAAagC,EAAqBC,GAAnC,OACXtD,EAASoD,YAAY,CAAE/B,UAASgC,cAAaC,mBAC/CC,qBAP4C1C,YAAemB,GAArDM,YAQNkB,UAAW,SAACC,GAAD,OAAiBzD,EAASwD,YAAUC,Q,kCC5BnD,IAIgCC,EAJ5BC,EAAc,EAAQ,MAEtBC,GAE4BF,EAFUC,IAEWD,EAAIG,WAAaH,EAAM,CAAEI,QAASJ,GAEvFK,EAAOC,QAAUJ,EAAaE,S,kCCN9B,IAIgCJ,EAJ5BO,EAAY,EAAQ,MAEpBC,GAE4BR,EAFQO,IAEaP,EAAIG,WAAaH,EAAM,CAAEI,QAASJ,GAEvF,IAAIS,EAAa,CACfC,WAAY,SAAoBC,GAC9B,IAAIC,EAASC,SAASC,cAAc,UAEpC,OADAF,EAAOG,UAAYJ,EACZC,GAETI,IAAK,SAAaC,GAChB,IAAIC,EAAWV,EAAWJ,QAAQe,KAAKF,GAgBvC,MAAO,CACLG,SAfa,WACb,IAAIC,EAAWR,SAASC,cAAc,YAEtC,OADAO,EAASN,UAAYG,EAASI,OACvBD,GAaPT,OAVW,WACX,IAAIA,EAASC,SAASC,cAAc,UAEpC,OADAF,EAAOG,UAAYG,EAASN,OACrBA,GAQPF,WALea,KAAKb,WAAWQ,EAASM,gBAQ5CC,WAAY,SAAoBC,GAC9B,IAAIC,EAAQD,EAAKC,MACbC,EAAcF,EAAKG,OACnBA,OAAyBC,IAAhBF,EAA4B,GAAKA,EAC1CjB,EAAYe,EAAKf,UACjBoB,EAAqBL,EAAKM,cAC1BA,OAAuCF,IAAvBC,EAAmC,YAAcA,EACjEE,EAAYP,EAAKQ,KACjBA,OAAqBJ,IAAdG,EAA0B,GAAKA,EACtCE,EAAeT,EAAKU,QACpBA,OAA2BN,IAAjBK,EAA6B,GAAKA,EAE5CnB,EAAMO,KAAKP,IAAI,CACjBqB,GAAIV,EACJE,OAAQA,EACRlB,UAAWA,QAAamB,EACxBE,cAAeA,EACfE,KAAMA,EACNE,QAASA,IAEPzB,GAAWE,SAASyB,KAAKC,YAAYvB,EAAIN,YAC7CG,SAASyB,KAAKE,aAAaxB,EAAIJ,SAAUC,SAASyB,KAAKG,WAAW,IAClE5B,SAAS6B,KAAKF,aAAaxB,EAAII,WAAYP,SAAS6B,KAAKD,WAAW,KAEtE9B,UAAW,SAAmBgC,GAC5B,IAAIC,EAAaD,EAAMhC,UACnBkC,EAAsBF,EAAMX,cAC5BA,OAAwCF,IAAxBe,EAAoC,YAAcA,EAEtE,GAAIC,OAAOd,GAAgB,OAAOc,OAAOd,GAAee,KAAKH,GAC7D,IAAI1B,EAAWV,EAAWJ,QAAQO,UAAUiC,EAAYZ,GACpDtB,EAAaa,KAAKb,WAAWQ,GACjCL,SAASyB,KAAKE,aAAa9B,EAAYG,SAASyB,KAAKG,WAAW,MAIpEpC,EAAOC,QAAUG,G,kCCvEjB,IAIgCT,EAJ5BgD,EAAQ,EAAQ,MAEhBC,GAE4BjD,EAFIgD,IAEiBhD,EAAIG,WAAaH,EAAM,CAAEI,QAASJ,GAIvF,IAAIkD,EAAW,CACb/B,KAAM,SAAcO,GAClB,IAAIW,EAAKX,EAAKW,GACVR,EAASH,EAAKG,OACdlB,EAAYe,EAAKf,UACjBqB,EAAgBN,EAAKM,cACrBI,EAAUV,EAAKU,QAGfe,EAAW,aAFJzB,EAAKQ,KAGZkB,EAAc,gBAAkBhB,EAUpC,OARKC,IAAI,EAAIY,EAAO7C,SAAS,sBAQtB,CACLkB,OAPW,oEAAsEe,EAAKc,EAAWC,EAAc,sHAQ/GxC,OANW,qHAA2HyC,KAAKC,UAAUzB,GAAQ0B,MAAM,GAAI,GAAK,sLAAiMJ,EAAWC,EAAc,qGAA2GpB,EAAgB,MAAUK,EAAK,MAOhhBb,aALiBD,KAAKZ,UAAUA,EAAWqB,KAQ/CrB,UAAW,SAAmBiC,EAAYZ,GACxC,MAAO,kBAAoBA,EAAgB,aAAeA,EAAgB,yBAA2BA,EAAgB,SAAWqB,KAAKC,UAAUV,GAAc,MAIjKvC,EAAOC,QAAU4C,G,kCCvCjBM,OAAOC,eAAenD,EAAS,aAAc,CAC3CoD,OAAO,IAMTpD,EAAQF,QAJG,SAAcuD,GACvBC,QAAQC,KAAK,cAAeF,K,kCCJ9B,IAAIG,EAAyB,EAAQ,KAErCN,OAAOC,eAAenD,EAAS,aAAc,CAC3CoD,OAAO,IAETpD,EAAQF,aAAU,EAElB,IAAI2D,EAAiBD,EAAuB,EAAQ,MAEhDE,EAAc,EAAQ,GAEtBC,GAAW,EAAIF,EAAe3D,UAAuB,EAAI4D,EAAYE,KAAK,OAAQ,CACpFC,EAAG,kLACD,YAEJ7D,EAAQF,QAAU6D,G,kCCflB,IAAIH,EAAyB,EAAQ,KAErCN,OAAOC,eAAenD,EAAS,aAAc,CAC3CoD,OAAO,IAETpD,EAAQF,aAAU,EAElB,IAAI2D,EAAiBD,EAAuB,EAAQ,MAEhDE,EAAc,EAAQ,GAEtBC,GAAW,EAAIF,EAAe3D,UAAuB,EAAI4D,EAAYE,KAAK,OAAQ,CACpFC,EAAG,2VACD,kBAEJ7D,EAAQF,QAAU6D,G,2JCkCHG,EAjDU,CACvBC,OAAQ,CACNC,OAAQ,CACNC,OAAQ,QACRC,OAAQ,SAEVC,MAAO,CACLF,OAAQ,OACRG,QAAS,UAGbC,YAAa,CACXC,SAAU,CACRL,OAAQ,SACRG,QAAS,YAEXG,MAAO,CACLH,QAAS,OACTI,YAAa,SAEfL,MAAO,CACLF,OAAQ,OACRG,QAAS,SAEXK,UAAW,OACXC,eAAgB,cAChBV,OAAQ,QAEVW,kBAAmB,CACjBL,SAAU,WACVM,UAAW,CACTR,QAAS,UAEXS,QAAS,CACPZ,OAAQ,QACRG,QAAS,QAEXU,WAAY,SACZX,MAAO,OACPY,SAAU,KACVC,WAAY,OACZC,YAAa,OACbC,QAAS,CACPd,QAAS,SACTI,YAAa,a,qNC/BJV,EAbU,CACvBqB,KAAM,CACJN,QAAS,OACTO,eAAgB,gBAChBjB,MAAO,OACPW,WAAY,UAEdO,MAAO,CACLC,WAAY,EACZL,YAAa,S,OCTFM,ECUoC,SAAC,GAAmC,IAAjCF,EAAgC,EAAhCA,MAAOG,EAAyB,EAAzBA,SAAUC,EAAe,EAAfA,SACrE,OACE,eAACC,EAAA,EAAD,CAAKC,GAAI7B,EAAOqB,KAAhB,UACE,oBAAYS,QAAQ,QAAQD,GAAI7B,EAAOuB,MAAvC,UACGA,EACAG,GACC,oBAAYK,UAAU,OAAOC,MAAM,WAAnC,UACG,IADH,UAMHL,M,uWCrBA,IAAMM,EAAmB,CAC9B1G,YAAa2G,MAEVC,UAAS,GACTT,SAASU,IAAKC,EAAE,6BAA8B,CAAEC,MAAO,iBAC1D9G,aAAc0G,MAEXR,SAASU,IAAKC,EAAE,6BAA8B,CAAEC,MAAO,kBACvDC,IAAI,IAGIC,EAAmBN,MAAaO,M,+VAAb,IAAwBR,I,yBC8BzCjC,EA1CU,CACvBqB,KAAM,CACJN,QAAS,OACTO,eAAgB,gBAChBN,WAAY,SACZX,MAAO,CACLF,OAAQ,OACRG,QAAS,QAEXJ,OAAQ,CACNC,OAAQ,OACRG,QAAS,QAEXoC,gBAAiB,aACjBtB,QAAS,MACTuB,OAAQ,SAACC,GAAD,0BAA+BA,EAAMC,QAAQC,KAAKC,UAC1D,UAAW,CACTC,YAAa,cAEf,cAAe,CACbL,OAAQ,SAACC,GAAD,0BAA+BA,EAAMC,QAAQI,IAAIC,QAE3DC,aAAc,MACd,WAAY,CACVR,OAAQ,SAACC,GAAD,0BAA+BA,EAAMC,QAAQO,WAAWF,SAGpEG,kBAAmB,CACjBtC,QAAS,OACTuC,YAAa,OACbC,aAAc,OACdvC,WAAY,UAEdzF,YAAa,CACX2F,WAAY,OACZsC,QAAS,GAEXC,QAAS,CACPzB,MAAO,eCtCI0B,ECciD,SAAAC,GAC9D,IAAQC,EAAwBD,EAAxBC,KAAR,EAAgCD,EAAlBE,aAAd,SAEQxB,EAAMyB,YAAe,CAAC,WAAtBzB,EAEF0B,GAAa,IAAMH,GAEzB,OACE,eAAChC,EAAA,EAAD,CAAKoC,UAAWH,EAAQ,YAAc,GAAIhC,GAAI7B,EAAOqB,KAArD,UACG0C,EACC,mBAAYlC,GAAIoC,YAAKjE,EAAOzE,YAAa,CAAC,CAACyE,EAAOyD,SAAS,KAAS3B,QAAQ,QAAQC,UAAU,IAA9F,SACGmC,YAAsBN,KAGzB,mBAAY/B,GAAI7B,EAAOzE,YAAauG,QAAQ,QAAQC,UAAU,IAA9D,SACGM,EAAE,wBAGP,cAACT,EAAA,EAAD,CAAKC,GAAI7B,EAAOqD,kBAAhB,SACE,cAACc,EAAA,EAAD,CAAMC,KAAK,WAAWC,SAAS,W,UCtBxBrE,GAXU,CACvBsE,WAAY,CACVvD,QAAS,OACTwD,OAAQ,UACR,QAAS,CACPlE,MAAO,OACPH,OAAQ,UCNCsE,GCMG,WAChB,IAAQC,EAAcC,cAAdD,UAQR,OACE,mBAAYE,QAPiB,WAC7BF,EAAU,CACRG,KAAMC,KAAUC,cAK2BjD,GAAI7B,GAAOsE,WAAxD,SACE,cAAC,IAAD,CAAMF,KAAK,aC2MFpE,GA5NU,CACvB+E,UAAW,CACT1E,MAAO,OACPY,SAAU,KAEVC,WAAY,OACZC,YAAa,OAEbC,QAAS,CACPjB,OAAQ,EACRG,QAAS,SACTI,YAAa,WAGjBsE,SAAU,CACRjE,QAAS,OACTO,eAAgB,gBAChB2D,cAAe,CACb9E,OAAQ,SACRG,QAAS,OAEXc,QAAS,CACPjB,OAAQ,SACRG,QAAS,cACTI,YAAa,gBAGjBwE,iBAAkB,CAChB9J,MAAO,CACL+E,OAAQ,EACRG,QAAS,GAEXkB,WAAY,EACZnB,MAAO,CACLF,OAAQ,OACRG,QAAS,OAEXW,SAAU,QACVG,QAAS,CACPjB,OAAQ,SACRC,OAAQ,SACRE,QAAS,eAGb6E,QAAS,CACPC,aAAc,CACZjF,OAAQ,OACRG,QAAS,GAEXD,MAAO,CACLF,OAAQ,OACRG,QAAS,OAEXW,SAAU,CACRX,QAAS,SAEXJ,OAAQ,CACNC,OAAQ,QACRC,OAAQ,QACRE,QAAS,SAEXc,QAAS,CACPjB,OAAQ,IAGZkF,aAAc,CACZD,aAAc,OACd,QAAS,CACP/E,MAAO,GACPH,OAAQ,GACRiB,YAAa,QAGjBmE,QAAS,CACPtD,MAAO,mBAETuD,iBAAkB,CAChBzE,UAAW,QAEb0E,cAAe,CACbzE,QAAS,OACTO,eAAgB,gBAChBN,WAAY,WACZF,UAAW,QAEb2E,MAAO,CACL1E,QAAS,OACTI,YAAa,MACboD,OAAQ,UACR,QAAS,CACPlE,MAAO,OACPH,OAAQ,OACRwF,KAAM,SAAC9C,GAAD,OAAkBA,EAAMC,QAAQ8C,MAAMzC,QAGhD0C,cAAe,CACbpC,QAAS,GACTqC,cAAe,QAEjBC,YAAa,CACXhF,UAAW,QAEbiF,QAAS,CACPhF,QAAS,OACTO,eAAgB,gBAChB2D,cAAe,CACb9E,OAAQ,SACR6F,OAAQ,OAEVC,SAAU,OACVnF,UAAW,QAEboF,MAAO,CACLnF,QAAS,OACTkE,cAAe,CACb9E,OAAQ,OAEVqB,WAAY,EACZ2E,WAAY,OAEdC,aAAc,CACZC,SAAU,EACVjB,aAAc,QAEhBkB,WAAY,CACVlB,aAAc,OACd/E,MAAO,CACLF,OAAQ,OACRC,OAAQ,UAGZmG,kBAAmB,CACjBxF,QAAS,gBAEXyF,cAAe,CACbnG,MAAO,CACLF,OAAQ,OACRC,OAAQ,UAGZqG,WAAY,CACVC,cAAe,YACf1E,MAAO,mBAET2E,MAAO,CACL3E,MAAO,WACPlB,UAAW,QAEb8F,iBAAkB,CAChBpF,WAAY,EACZL,YAAa,QAEf0F,aAAc,CACZ9F,QAAS,QAEX+F,KAAM,CACJ/F,QAAS,OACTC,WAAY,SACZgB,MAAO,kBACP0E,cAAe,YACfK,eAAgB,OAChBC,cAAe,SAEjBC,aAAc,CACZlG,QAAS,OACTG,WAAY,OAEdgG,UAAW,CACT7G,MAAO,OACPH,OAAQ,QAEViH,SAAU,CACRpG,QAAS,OACTkE,cAAe,SACf3D,eAAgB,gBAChBH,YAAa,OACbd,MAAO,QACPmB,WAAY,GAEd4F,YAAa,CACXrG,QAAS,OACTE,SAAU,QACVoG,WAAY,OACZlG,YAAa,QAEfmG,QAAS,CACPvG,QAAS,OACTsG,WAAY,OACZpG,SAAU,SAEZsG,iBAAkB,CAChBnG,QAAS,MACTf,MAAO,MACPc,YAAa,QAEfqG,oBAAqB,CACnBpG,QAAS,MACTf,MAAO,MACPc,YAAa,OACbX,SAAU,YAEZiH,YAAa,CACX1G,QAAS,OACTC,WAAY,SACZM,eAAgB,gBAChB+F,WAAY,OACZK,cAAe,QAEjBC,kBAAmB,CACjBtH,MAAO,OACPe,QAAS,MACTF,WAAY,OAEd0G,WAAY,CACVpH,SAAU,WACVqH,OAAQ,QACRC,KAAM,Q,owBCrLV,ICnCeC,GDmC6B,SAAApE,GAC1C,IACEqE,EAOErE,EAPFqE,MACAC,EAMEtE,EANFsE,SACAC,EAKEvE,EALFuE,kBACAC,EAIExE,EAJFwE,qBACAC,EAGEzE,EAHFyE,oBACAC,EAEE1E,EAFF0E,eACAC,EACE3E,EADF2E,wBAGIC,EAAcC,YAAUR,EAAMO,aAE9BE,EAAmBC,YAAe,CACtCC,MAAOC,cACPL,gBAGIM,EAAUC,YAAQF,cAAgBZ,EAAMe,eAEtC1G,EAAMyB,YAAe,CAAC,cAAe,SAAU,cAA/CzB,EACA2G,EAAgBC,cAAhBD,YAEFE,EAAYC,IAAeC,iBAAiBJ,GAC5CK,EAAUF,IAAeE,QAAQL,GAEjCM,EAAM,aAAOC,IAAeC,aAAaxB,IAAnC,GAA8CyB,IAAkBD,aAAavB,KAEnFyB,EAAcH,IAAeG,YAAY1B,GAEzC2B,EAAgB,CACpBpO,YAAa,KACbC,aAAcwM,EAAM4B,qBAGhBC,EAASC,YAAU,CACvBH,gBACAnH,mBACAuH,SAAU,SAAAC,GACR3B,EAAe2B,EAAOzO,YAAayO,EAAOxO,iBAItCwO,EAA8FH,EAA9FG,OAAQC,EAAsFJ,EAAtFI,aAAcC,EAAwEL,EAAxEK,aAAcC,EAA0DN,EAA1DM,cAAeC,EAA2CP,EAA3CO,OAAQC,EAAmCR,EAAnCQ,QAASC,EAA0BT,EAA1BS,aAAcC,GAAYV,EAAZU,QAmBpFC,GAAeC,gBAAMzC,EAAM4B,oBAAqB,IAEtD,OACE,sBAAMG,SAAUG,EAAhB,SACE,cAAC,IAAD,CAAKrI,GAAI7B,GAAO+E,UAAhB,SACE,eAAC,IAAD,CAAKlD,GAAI7B,GAAOgF,SAAhB,UACE,eAAC,IAAD,CAAKnD,GAAI7B,GAAOkF,iBAAhB,UACE,oBAAYnD,UAAW2I,IAAMC,GAAIC,IAAS,OAAQC,aAAchJ,GAAI7B,GAAOqF,aAA3E,UACE,cAAC,IAAD,CAAMjB,KAAK,UACX,mBAAYtC,QAAQ,QAApB,SAA6BO,EAAE,+CAEjC,mBAAYN,UAAU,IAAID,QAAQ,KAAKD,GAAI7B,GAAOsF,QAAlD,SACG2C,EAAS3C,UAEXiE,IAAeuB,WAAW9C,IACzB,cAAC,IAAD,CAAKnG,GAAI7B,GAAOuF,iBAAhB,SACE,cAAC,IAAD,MAGJ,eAAC,IAAD,CAAK1D,GAAI7B,GAAOwF,cAAhB,UACE,mBAAY1D,QAAQ,WAApB,SAAgCkG,EAAM+C,QACtC,eAAC,IAAD,CAAKlJ,GAAI7B,GAAO6G,aAAhB,WACIqC,GAAaG,IACb,mBACE1E,QAASuD,EACTrG,GAAIoC,YAAKjE,GAAOyF,MAAO,CAAC,CAACzF,GAAO4F,cAAeuC,KAFjD,SAIGH,EAAMgD,WAAa,cAAC,IAAD,IAAmB,cAAC,IAAD,MAG3C,cAAC,GAAD,UAGJ,mBAAYlJ,QAAQ,QAAQD,GAAI7B,GAAO8F,YAAvC,SACGkC,EAAMlC,cAET,cAAC,IAAD,CAAWkC,MAAOA,IAClB,sBACA,cAAC,IAAD,CAAKnG,GAAI7B,GAAOyH,YAAhB,SAjDHO,EAAMO,YAIPgB,IAAe0B,2BAA2BjD,GACrC3F,EAAE,gCAGJ,mBAAYP,QAAQ,QAAQoJ,wBAAyB,CAAEC,OAAQ5B,IAAehB,YAAYP,MAPxF3F,EAAE,kCAiDFqH,GACC,qCACE,sBACA,cAAC,IAAD,CAAK7H,GAAI7B,GAAOyH,YAAhB,SACE,cAAC,EAAD,CAAkBlG,MAAOc,EAAE,+BAAgCX,UAAQ,EAAnE,SACE,eAAC,IAAD,CAAKG,GAAI7B,GAAOwH,oBAAhB,UACE,cAAC4D,EAAA,EAAD,CACEC,aAAcrL,GAAO2H,kBACrB2D,YAAa,cAAC,EAAD,CAAwB1H,KAAMoG,EAAOzO,YAAasI,MAAOuG,EAAO7O,cAF/E,SAIE,cAACgQ,EAAA,EAAD,CACEC,QAAS/C,EACTI,QAASA,EACTjF,KAAM6E,EACNgD,aAAc,SAAA7H,GAAI,OAAIuG,EAAc,cAAeuB,YAAsBC,YAAW/H,UAGvFwG,EAAO7O,aAAegP,GAAQhP,aAC7B,mBAAYyG,MAAM,QAAQF,QAAQ,UAAUD,GAAI7B,GAAO4H,WAAvD,SACGvF,EAAE,kDAOb,sBACA,eAAC,IAAD,CAAKR,GAAI7B,GAAOyH,YAAhB,UACE,mBAAY3F,QAAQ,QAAQD,GAAI7B,GAAO4G,iBAAvC,SACGvE,EAAE,kCAEL,cAAC,IAAD,CAAKR,GAAI7B,GAAOuH,iBAAhB,SACE,mBACEnD,KAAK,eACLnG,GAAG,eACH2N,WAAS,EACTC,QAAM,EACNvM,MAAO0K,EAAOxO,aACdsQ,SAAU7B,EANZ,SAQGO,GAAauB,KAAI,SAACC,GAAD,OAChB,mBAA4B1M,MAAO0M,EAAnC,SACG3J,EAAE,wBAAyB,CAAE4J,MAAOD,KADxBA,gBAS3B,sBACA,eAAC,IAAD,CAAKnK,GAAI7B,GAAO+F,QAAhB,UACE,eAAC,IAAD,CAAKlE,GAAI7B,GAAOoG,aAAhB,UACE,mBACE2E,MAAOrB,EAAc,GAAKrH,EAAE,oCAC5B6J,OAAK,EACLC,UAAU,MACVC,gBAAiB,EAJnB,SAME,cAAC,IAAD,CAAKvK,GAAI7B,GAAOuG,kBAAhB,SACE,mBACE3B,KAAK,SACLyH,SAAU/D,IAA4BoB,IAAgBW,GAAWC,EACjEzI,GAAI7B,GAAOsG,WAHb,SAKE,mBAAYxE,QAAQ,YAApB,SAAiCO,EAAE,kDAIzC,eAAC,IAAD,CAAKR,GAAI7B,GAAOkG,MAAhB,UACE,oBAAYpE,QAAQ,YAApB,UAAiCyH,IAAe+C,eAAetE,GAA/D,OACA,mBAAYlG,QAAQ,QAAQE,MAAM,eAAlC,SACGK,EAAE,+CAIP6G,GAAaG,IACb,mBAAQ1E,QArIO,WAC3BtI,IAAWE,UAAU,CAAEA,UAAW,CAAEgQ,MAAO,qBAC3CnE,KAmImDvG,GAAI7B,GAAOwG,cAAlD,SACE,mBAAY1E,QAAQ,YAApB,SAAiCO,EAAE,oDAK3C,cAAC,IAAD,CAAKR,GAAI7B,GAAOmF,QAAhB,SACE,cAAC,IAAD,CAASP,KAAK,eAAe4H,qBAAqB,WAAWlD,OAAQA,c,+BEnLlEtJ,GAzCU,CACvByM,QAAS,CACP1L,QAAS,OACTV,MAAO,IACPmB,WAAY,EACZkL,GAAI,EACJC,GAAI,EACJ,QAAS,CACP3K,MAAO,kBACP2K,GAAI,IAGRC,6BAA8B,CAC5BC,QAAS,kBACTxF,WAAY,CACVlH,OAAQ,OACRG,QAAS,QAEXoH,cAAe,CACbvH,OAAQ,OACRG,QAAS,UAGbwM,aAAc,CACZhM,UAAW,QAEbiM,KAAM,CACJjM,UAAW,OACXmE,cAAe,UAEjB+H,IAAK,CACHjM,QAAS,OACTkE,cAAe,MACfG,aAAc,QAEhB6H,SAAU,CACR5M,MAAO,QACPmB,WAAY,IChBV0L,GAA2B,SAAAvJ,GAC/B,IAAQqJ,EAAQrJ,EAARqJ,IACR,OAAIG,MAAMC,QAAQJ,EAAIK,SAElB,oBAAOC,UAAU,SAAjB,SACGN,EAAIK,QAAQtB,KAAI,SAAAwB,GAAI,OACnB,mBAAuBzL,QAAQ,QAA/B,SACGyL,GADcA,QAOlB,mBAAYzL,QAAQ,QAApB,SAA6BkL,EAAIK,WClC3BG,GDoCiC,SAAA7J,GAC9C,IAAQqE,EAAUrE,EAAVqE,MACA3F,EAAMyB,YAAe,CAAC,cAAe,gBAAiB,cAAtDzB,EAEFoL,GAAmB,KAAQzF,EAAM0F,WAajCX,EAAc,CAClB,CACExL,MAAOc,EAAE,uCACTgL,QAAShL,EAAE,+BAAgC,CAAE4J,MAAOjE,EAAM2F,UAE5D,CACEpM,MAAOc,EAAE,yCACTgL,QAAShL,EAAE,mCAAoC,CAAE4J,MAAOjE,EAAM4F,eAEhE,CACErM,MAAOc,EAAE,yCACTgL,QAAShL,EAAE,mCAAoC,CAAE4J,MAAOjE,EAAM6F,eAEhE,CACEtM,MAAOc,EAAE,6BACTgL,QAAS9D,IAAeuE,UAAU9F,IAEpC,CACEzG,MAAOc,EAAE,uCACTgL,QAAS9D,IAAewE,oBAAoB/F,IAE9C,CACEzG,MAAOc,EAAE,+BACTgL,QAAS9D,IAAeyE,YAAYhG,IAEtC,CACEzG,MAAOc,EAAE,iCACTgL,QAAS9D,IAAe0E,cAAcjG,IAExC,CACEzG,MAAOc,EAAE,gCACTgL,QAAS9D,IAAe2E,aAAalG,IAEvC,CACEzG,MAAOc,EAAE,yBACTgL,QAAS9D,IAAe4E,MAAMnG,IAEhC,CACEzG,MAAOc,EAAE,4BACTgL,QAAS9D,IAAe6E,cAAcpG,IAExC,CACEzG,MAAOc,EAAE,yCACTgL,QAAS9D,IAAe8E,cAAcrG,IAExC,CACEzG,MAAOc,EAAE,2CACTgL,QAASrF,EAAMsG,yBAEjB,CACE/M,MAAOc,EAAE,mCACTgL,QAASrF,EAAMuG,iBAEjB,CACEhN,MAAOc,EAAE,kCACTgL,QAAS9D,IAAeiF,eAAexG,IAEzC,CACEzG,MAAOc,EAAE,oCACTgL,QAAS9D,IAAekF,iBAAiBzG,KAoB7C,OACE,cAAC,IAAD,CAAKnG,GAAI7B,GAAO4M,6BAAhB,SACE,eAAC,IAAD,WACE,mBAAY9K,QAAQ,KAAK4K,GAAI,EAA7B,SACGrK,EAAE,mDAEL,mBAAYP,QAAQ,KAAK4K,GAAI,IAA7B,SACGrK,EAAE,0CAEL,mBAAYP,QAAQ,QAAQ4K,GAAI,EAAhC,SACG1E,EAAMlC,cAET,oBAAOjE,GAAI7B,GAAO+M,KAAlB,SAAyBA,EAAKhB,KA5BlB,SAAC2C,GACjB,OAAI,KAAQA,EAAYrB,UAAY,IAAMqB,EAAYrB,SAC7C,KAGP,qBAA+BxL,GAAI7B,GAAOgN,IAA1C,UACE,cAAC,IAAD,CAAKnL,GAAI7B,GAAOiN,SAAhB,SACE,mBAAYnL,QAAQ,YAApB,SAAiC4M,EAAYnN,UAE/C,cAAC,IAAD,CAAKM,GAAI7B,GAAO2O,WAAhB,SACE,cAAC,GAAD,CAAY3B,IAAK0B,QALTA,EAAYnN,YAwBrBkM,GACC,eAAC,IAAD,CAAK5L,GAAI7B,GAAO8M,aAAhB,UACE,mBAAYhL,QAAQ,KAAK4K,GAAI,IAA7B,SACGrK,EAAE,yCAEL,oBAAOiL,UAAU,MAAMsB,GAAI,EAAG3I,SAAS,OAAvC,SA3GDsD,IAAesF,aAAa7G,GAAO+D,KAAI,SAAAU,GAC5C,OACE,eAAC,IAAD,CAAsB5K,GAAI7B,GAAOyM,QAAjC,UACE,cAAC,IAAD,CAAMrI,KAAK,QACX,mBAAYtC,QAAQ,YAApB,SAAiC2K,EAAQrI,SAFjCqI,EAAQxO,kB,sDEFX+B,GA3CU,CACvBqB,KAAM,CACJnB,OAAQ,OACRS,UAAW,OACX+B,gBAAiB,YACjBV,MAAO,eACPqF,WAAY,CACVlH,OAAQ,OACRG,QAAS,QAEXoH,cAAe,CACbvH,OAAQ,OACRG,QAAS,SAGbwO,iBAAkB,CAChB1N,QAAS,CACPjB,OAAQ,SACRC,OAAQ,WAGZ2O,kBAAmB,CACjBrI,cAAe,cAEjBsG,IAAK,CACH,qBAAsB,CACpBgC,SAAU,UAGdC,sBAAuB,CACrBtM,OAAQ,OACRX,MAAO,mBACPZ,QAAS,SAEX8N,wBAAyB,CACvBpO,UAAW,GAEbqO,GAAI,CACF3L,QAAS,GACTR,YAAa,iBCvCFoM,GCW2C,SAAAzL,GACxD,IAAQsE,EAAatE,EAAbsE,SACA5F,EAAMyB,YAAe,CAAC,cAAe,WAArCzB,EAEFgN,EAAqB,SAAC/P,GAC1B,OAAe+C,EAAR/C,EAAU,aAAkB,cAGrC,OACE,cAAC,IAAD,CAAKuC,GAAI7B,GAAOqB,KAAhB,SACE,eAAC,IAAD,CAAKQ,GAAI7B,GAAO8O,iBAAhB,UACE,mBAAYhN,QAAQ,KAApB,SAA0BO,EAAE,mDAC5B,mBAAYuM,GAAI,EAAGlC,GAAI,EAAG5K,QAAQ,QAAQC,UAAU,IAApD,SACGkG,EAASnC,cAEZ,mBAASjE,GAAI7B,GAAOmP,KACpB,oBAAOtN,GAAI7B,GAAOkP,wBAAlB,SACE,+BACE,qBAAUrN,GAAI7B,GAAOgN,IAArB,UACE,oBAAWnL,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6BO,EAAE,iDAEjC,oBAAWR,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6BmG,EAAS3C,eAGzC2C,EAASqH,cACR,qBAAUzN,GAAI7B,GAAOgN,IAArB,UACE,oBAAWnL,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6BO,EAAE,8CAEjC,oBAAWR,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAAQD,GAAI7B,GAAO+O,kBAAvC,SACGQ,KAAatH,EAASqH,qBAK9BrH,EAASuH,eACR,qBAAU3N,GAAI7B,GAAOgN,IAArB,UACE,oBAAWnL,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6BO,EAAE,+CAEjC,oBAAWR,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAAQD,GAAI7B,GAAO+O,kBAAvC,SACGU,KAAcxH,EAASuH,sBAK/BvH,EAASyH,cACR,qBAAU7N,GAAI7B,GAAOgN,IAArB,UACE,oBAAWnL,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6BO,EAAE,8CAEjC,oBAAWR,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAAQD,GAAI7B,GAAO+O,kBAAvC,SACGY,KAAa1H,EAASyH,qBAK9BzH,EAAS2H,mBACR,qBAAU/N,GAAI7B,GAAOgN,IAArB,UACE,oBAAWnL,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6BO,EAAE,mDAEjC,oBAAWR,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAAQD,GAAI7B,GAAO+O,kBAAvC,SACG9G,EAAS2H,yBAKlB,qBAAU/N,GAAI7B,GAAOgN,IAArB,UACE,oBAAWnL,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6BO,EAAE,iDAEjC,oBAAWR,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAAQD,GAAI7B,GAAO+O,kBAAvC,SACGM,EAAmBpH,EAAS4H,wBAInC,qBAAUhO,GAAI7B,GAAOgN,IAArB,UACE,oBAAWnL,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6BO,EAAE,kDAEjC,oBAAWR,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAAQD,GAAI7B,GAAO+O,kBAAvC,SACGM,EAAmBpH,EAAS6H,yBAInC,qBAAUjO,GAAI7B,GAAOgN,IAArB,UACE,oBAAWnL,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6BO,EAAE,+CAEjC,oBAAWR,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAAQD,GAAI7B,GAAO+O,kBAAvC,SACGM,EAAmBpH,EAAS8H,sBAInC,qBAAUlO,GAAI7B,GAAOgN,IAArB,UACE,oBAAWnL,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6BO,EAAE,sDAEjC,oBAAWR,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAAQD,GAAI7B,GAAO+O,kBAAvC,SACGM,EAAmBpH,EAAS+H,6BAInC,qBAAUnO,GAAI7B,GAAOgN,IAArB,UACE,oBAAWnL,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6BO,EAAE,2CAEjC,oBAAWR,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAAQD,GAAI7B,GAAO+O,kBAAvC,SACGM,EAAmBpH,EAASgI,kBAIlChI,EAASyF,UAAU3B,KAAI,SAAAU,GAAO,OAC7B,qBAA2B5K,GAAI7B,GAAOgN,IAAtC,UACE,oBAAWnL,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAApB,SAA6B2K,EAAQrI,SAEvC,oBAAWvC,GAAI7B,GAAOiP,sBAAtB,SACE,mBAAYnN,QAAQ,QAAQD,GAAI7B,GAAO+O,kBAAvC,SACG1M,EAAE,oBANMoK,EAAQxO,kB,gCCrFtB+B,GAnDU,CACvBkQ,KAAM,CACJ7P,MAAO,CACLF,OAAQ,IACRC,OAAQ,KAEVF,OAAQ,IACRa,QAAS,OACTC,WAAY,SACZI,QAAS,EACTuB,OAAQ,YACRK,YAAa,iBACbG,aAAc,EACd3B,WAAY,EACZ,QAAS,CACPnB,MAAO,GACPH,OAAQ,GACRiB,YAAa,GAEf,uBAAwB,CACtBjB,OAAQ,SAGZiQ,UAAW,CACT9P,MAAO,IACPH,OAAQ,QAEVgG,MAAO,CACL5E,eAAgB,aAChBR,UAAW,EACX4G,cAAe,EACfhB,cAAe,YACf1E,MAAO,kBACPhB,WAAY,WACZ,QAAS,CACPgB,MAAO,kBACP3B,MAAO,GACPH,OAAQ,GACRgB,WAAY,IACZkP,UAAW,oBAGfC,UAAW,CACTnP,WAAY,GAEdoP,sBAAuB,CACrBjQ,MAAO,kBACPH,OAAQ,oBC/CGqQ,GCgBc,SAAC5M,GAC5B,IAAQqE,EAAUrE,EAAVqE,MACA3F,EAAMyB,YAAe,eAArBzB,EACAmO,EAAeC,cAAfD,WACAE,EAAmBC,cAAnBD,eAEFE,EAAWrH,IAAesH,SAAS7I,GAEnC9B,EAAQwK,EACVI,kCAAuB9I,EAAO,mCAC9B8I,kCAAuB9I,EAAO,uCAElC,OACE,qBAAKnG,GAAI7B,GAAOkQ,KAAhB,UACE,oBAAKrO,GAAI7B,GAAOmQ,UAAhB,SACG,IAAMS,GACL,cAAC,IAAD,CAAkB/O,GAAI7B,GAAOsQ,sBAAuBlM,KAAK,QAAQ2M,oBAAoB,SAErF,oBAAWC,MAAOJ,MAGtB,qBAAO/O,GAAI7B,GAAOqQ,UAAWY,QAAS,EAAtC,UACE,mBAAYlP,UAAU,IAAID,QAAQ,YAAlC,SACGkG,EAAM+C,SAEP,IAAM/C,EAAM2F,SACZ,oBAAY7L,QAAQ,QAAQC,UAAU,IAAIhB,QAAQ,OAAOC,WAAW,SAASgB,MAAM,eAAnF,UACE,cAAC,IAAD,CAAMoC,KAAK,SACVuJ,kBAAO3F,MAGZ,oBAAYlG,QAAQ,QAAQC,UAAU,IAAIC,MAAM,eAAhD,UACE,cAAC,IAAD,CAAMoC,KAAK,cACV/B,EAAE,0BAA2B,CAAE4J,MAAOjE,EAAM6F,iBAE/C,oBAAYhM,GAAI7B,GAAOkG,MAAOnE,UAAW2I,IAAMC,GAAIC,IAAS,OAAQsG,kBAAkBV,EAAYxI,EAAM/J,IAAxG,UACE,mBAAY6D,QAAQ,QAApB,SAA6BoE,IAC7B,cAAC,IAAD,CAAM9B,KAAK,oBCzCNpE,GAZU,CACvBmR,2BAA4B,CAC1BrQ,UAAW,GACXsE,aAAc,IAEhBgM,OAAQ,CACN/Q,MAAO,OACPgR,SAAU,OACV3J,cAAe,SCRJ4J,GCc+C,SAAA3N,GAC5D,IAAQsE,EAAsBtE,EAAtBsE,SAAU1O,EAAYoK,EAAZpK,QACV8I,EAAMyB,YAAe,eAArBzB,EAEFkP,EAA0BtJ,EAASmJ,OAAOI,QAAO,qBAAGvT,KAAgB1E,KAM1E,OAAI,KAAQgY,GACH,KAIP,cAAC,IAAD,UACE,eAAC,IAAD,CAAK1P,GAAI7B,GAAOmR,2BAAhB,UACE,mBAAYzE,GAAI,EAAG5K,QAAQ,KAA3B,SACGO,EAAE,+BAEL,oBAAOR,GAAI7B,GAAOoR,OAAQ9D,UAAU,MAAM2D,QAAS,EAAnD,SAbGM,EAAwBxF,KAAI,SAACwB,GAAD,OAAiB,cAAC,GAAD,CAAyBvF,MAAOuF,GAAhBA,EAAKtP,e,gUCL7E,IAmHewT,GAnHW,WACxB,MAA0GC,cAAlG1J,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAAU0J,EAAzB,EAAyBA,UAAWC,EAApC,EAAoCA,qBAAsBC,EAA1D,EAA0DA,cAAeC,EAAzE,EAAyEA,iBAAkBC,EAA3F,EAA2FA,WAC3F,EACE9Z,cADMqB,EAAR,EAAQA,oBAAqBL,EAA7B,EAA6BA,6BAA8BO,EAA3D,EAA2DA,oBAAqBL,EAAhF,EAAgFA,6BAEhF,EAA8C+B,cAAtCI,EAAR,EAAQA,YAAaD,EAArB,EAAqBA,qBACb2N,EAAgBC,cAAhBD,YACAzP,EAAYkX,cAAZlX,QACAoF,EAASqT,cAATrT,KACA0D,EAAMyB,YAAe,CAAC,WAAtBzB,EACF0I,EAAK,UAAM9C,EAAS3C,QAAf,cAA4B0C,EAAM+C,MAAlC,cAA6C1I,EAAE,gBAEpD6G,EAAYC,IAAeC,iBAAiBJ,GAC5CK,EAAUF,IAAeE,QAAQL,GAEjCiJ,EAAgB,8BAAG,sBAAAC,EAAA,+EAEfP,EAAUpY,GAAS4Y,SAFJ,sDAIjBC,YAAW,EAAD,KACZzT,EAAKiM,IAAS,OAAQyH,eALH,wDAAH,qDAetB,GALAC,qBAAU,WAER,OADAL,IACO,kBAAMF,OACZ,KAEEH,EAAsB,OAAO,KAElC,IAAMW,EAAe,8BAAG,WAAOtU,GAAP,SAAAiU,EAAA,sEAChB5Y,EAAoB2E,GADJ,OAEtB4T,IAFsB,2CAAH,sDAKfW,EAAsB,8BAAG,WAAOvU,GAAP,SAAAiU,EAAA,sEACvB1Y,EAAoByE,GADG,OAE7B6T,IAF6B,2CAAH,sDAqCtBW,EAAkB,8BAAG,WAAOlX,EAAqBC,GAA5B,iBAAA0W,EAAA,0DACrBhJ,EADqB,gCAEH5N,EAAY0M,EAAM/J,GAAI1C,EAAaC,GAAc2W,SAF9C,OAEjB/W,EAFiB,OAGvBuD,EAAKiM,IAAS,OAAQ8H,iBAAiBtX,EAAM6C,KAHtB,sBAKjB0U,EAAOC,YAAwBhI,IAAS,OAAQiI,aAAc,CAClEC,YAAalI,IAAS,OAAQsG,kBAAkBjJ,EAAShK,GAAI+J,EAAM/J,MAErEU,EAAKgU,GARkB,2CAAH,wDAYxB,OACE,qCACE,cAACI,EAAA,EAAD,UACE,gCAAQhI,MAEV,cAAC,GAAD,CACE/C,MAAOA,EACPC,SAAUA,EACVC,kBApDwB,WAC5B,GAAImB,EAAS,CACX,IAAMsJ,EAAOC,YAAwBhI,IAAS,OAAQiI,aAAc,CAClEC,YAAalI,IAAS,OAAQsG,kBAAkBjJ,EAAShK,GAAI+J,EAAM/J,MAErEU,EAAKgU,GAGH3K,EAAMgD,WACRwH,EAAuBxK,EAAM/J,IAE7BsU,EAAgBvK,EAAM/J,KA0CpBkK,qBAAsBlP,GAAgCE,EACtDiP,oBAvCsB,WAC1B,IAAM4K,EAAkBJ,YAAwBhI,IAAUqI,QAAQC,WAAY,CAC5E3Z,QAASyO,EAAM/J,KAGjB,GAAIiL,EACFvK,EAAKqU,OADP,CAKA,IAAML,EAAOC,YAAwBhI,IAAS,OAAQiI,aAAc,CAClEC,YAAaE,IAGfrU,EAAKgU,KA0BDtK,eAAgBoK,EAChBnK,wBAAyBjN,IAE3B,cAAC,GAAD,CAAgB2M,MAAOA,IACvB,eAAC,IAAD,CAAKnG,GAAI7B,EAAOa,kBAAhB,UACG4I,IAAkB0J,aAAalL,IAC9B,cAAC,IAAD,CAAKpG,GAAI7B,EAAOC,OAAhB,SACE,cAAC,IAAD,CAAWmT,oBAAkB,EAACC,UAAWC,OAAOrL,EAASoL,WAAYE,SAAUD,OAAOrL,EAASsL,cAGnG,cAAC,IAAD,CAAK1R,GAAI7B,EAAOO,YAAhB,SACE,cAAC,GAAD,CAAqB0H,SAAUA,SAGnC,cAAC,GAAD,CAAuBA,SAAUA,EAAU1O,QAASyO,EAAM/J,SC9HjDwT","file":"js/6-004ef2e90c48ced6a123.chunk.js","sourcesContent":["import { loadFavoriteSpaces, createFavoriteSpace, deleteFavoriteSpace } from 'store/trotter/favoriteSpacesSlice';\nimport { useAppDispatch, useAppSelector } from 'hooks/useRedux';\nimport getFetchStatus from 'utils/fetchStatus';\nimport Space from 'types/resources/Space';\nimport { LoadingParams } from 'utils/loadingParams';\n\ntype UseFavoriteSpacesType = {\n favoriteSpaces: Space[];\n isLoadFavoriteSpacesFinished: boolean;\n loadFavoriteSpaces: (params: LoadingParams) => { unwrap: () => void };\n isCreateFavoriteSpacePending: boolean;\n createFavoriteSpace: (spaceId: ID) => { unwrap: () => void };\n isDeleteFavoriteSpacePending: boolean;\n deleteFavoriteSpace: (spaceId: ID) => { unwrap: () => void };\n};\n\nconst useFavoriteSpaces = (): UseFavoriteSpacesType => {\n const dispatch = useAppDispatch();\n const {\n favoriteSpaces,\n index: { fetchStatus: indexFetchStatus },\n create: { fetchStatus: createFetchStatus },\n delete: { fetchStatus: deleteFetchStatus },\n } = useAppSelector(globalState => globalState.trotterFavoriteSpaces);\n\n const { isFinished: isLoadFavoriteSpacesFinished } = getFetchStatus(indexFetchStatus);\n const { isPending: isCreateFavoriteSpacePending } = getFetchStatus(createFetchStatus);\n const { isPending: isDeleteFavoriteSpacePending } = getFetchStatus(deleteFetchStatus);\n\n return {\n favoriteSpaces,\n isLoadFavoriteSpacesFinished,\n isCreateFavoriteSpacePending,\n isDeleteFavoriteSpacePending,\n loadFavoriteSpaces: (params: LoadingParams) => dispatch(loadFavoriteSpaces(params)),\n createFavoriteSpace: (spaceId: ID) => dispatch(createFavoriteSpace(spaceId)),\n deleteFavoriteSpace: (spaceId: ID) => dispatch(deleteFavoriteSpace(spaceId)),\n };\n};\n\nexport default useFavoriteSpaces;\n","import {\n loadSpaceRentsInProgress,\n loadSpaceRentsRented,\n createSpaceRent,\n loadSpaceRent,\n failPaymentSpaceRent,\n cancelSubscriptionSpaceRent,\n cancelPaymentSpaceRent,\n} from 'store/trotter/spaceRentsSlice';\nimport { useAppDispatch, useAppSelector } from 'hooks/useRedux';\nimport getFetchStatus from 'utils/fetchStatus';\nimport Space, { SpaceRent, SpaceRentPayResponse, SpaceRentCreateParams } from 'types/resources/Space';\nimport { LoadingParams } from 'utils/loadingParams';\n\ntype UseSpaceRentsType = {\n spaceRentsInProgress: Space[];\n spaceRentsRented: Space[];\n spaceRent: SpaceRent;\n isLoadSpaceRentsInProgressFinished: boolean;\n isLoadSpaceRentsRentedFinished: boolean;\n loadSpaceRentsInProgress: (params: LoadingParams) => { unwrap: () => void };\n loadSpaceRentsRented: (params: LoadingParams) => { unwrap: () => void };\n isCreateSpaceRentPending: boolean;\n isCreateSpaceRentFulfilled: boolean;\n createSpaceRent: (params: SpaceRentCreateParams) => { unwrap: () => Promise };\n failPaymentSpaceRent: (spaceRentId: ID) => { unwrap: () => Promise };\n cancelPaymentSpaceRent: (spaceRentId: ID) => { unwrap: () => Promise };\n cancelSubscriptionSpaceRent: (spaceRentId: ID) => { unwrap: () => Promise };\n isLoadSpaceRentFulfilled: boolean;\n loadSpaceRent: (spaceRentId: ID) => { unwrap: () => void };\n};\n\nconst useSpaceRents = (): UseSpaceRentsType => {\n const dispatch = useAppDispatch();\n const {\n spaceRentsInProgress,\n spaceRentsRented,\n spaceRent,\n indexInProgress: { fetchStatus: indexInProgressFetchStatus },\n indexRented: { fetchStatus: indexRentedFetchStatus },\n create: { fetchStatus: createFetchStatus },\n show: { fetchStatus: showFetchStatus },\n } = useAppSelector(globalState => globalState.trotterSpaceRents);\n\n const { isFinished: isLoadSpaceRentsInProgressFinished } = getFetchStatus(indexInProgressFetchStatus);\n const { isFinished: isLoadSpaceRentsRentedFinished } = getFetchStatus(indexRentedFetchStatus);\n const { isPending: isCreateSpaceRentPending, isFulfilled: isCreateSpaceRentFulfilled } =\n getFetchStatus(createFetchStatus);\n const { isFulfilled: isLoadSpaceRentFulfilled } = getFetchStatus(showFetchStatus);\n\n return {\n spaceRentsInProgress,\n spaceRentsRented,\n isLoadSpaceRentsInProgressFinished,\n isLoadSpaceRentsRentedFinished,\n isCreateSpaceRentPending,\n isCreateSpaceRentFulfilled,\n loadSpaceRentsInProgress: (params: LoadingParams) => dispatch(loadSpaceRentsInProgress(params)),\n loadSpaceRentsRented: (params: LoadingParams) => dispatch(loadSpaceRentsRented(params)),\n createSpaceRent: (params: SpaceRentCreateParams) => dispatch(createSpaceRent({ params })),\n failPaymentSpaceRent: (spaceRentId: ID) => dispatch(failPaymentSpaceRent(spaceRentId)),\n cancelPaymentSpaceRent: (spaceRentId: ID) => dispatch(cancelPaymentSpaceRent(spaceRentId)),\n cancelSubscriptionSpaceRent: (spaceRentId: ID) => dispatch(cancelSubscriptionSpaceRent(spaceRentId)),\n spaceRent,\n isLoadSpaceRentFulfilled,\n loadSpaceRent: (spaceRentId: ID) => dispatch(loadSpaceRent(spaceRentId)),\n };\n};\n\nexport default useSpaceRents;\n","import { createOrder, loadOrder } from 'store/trotter/ordersSlice';\nimport { useAppDispatch, useAppSelector } from 'hooks/useRedux';\nimport getFetchStatus from 'utils/fetchStatus';\nimport Order from 'types/resources/Order';\n\ntype OrdersType = {\n order: Order;\n isCreateOrderPending: boolean;\n isLoadOrderFulfilled: boolean;\n createOrder: (spaceId: ID, dateOfStart: string, rentalPeriod: number) => { unwrap: () => Promise };\n loadOrder: (orderId: ID) => { unwrap: () => Promise };\n};\n\nconst useOrders = (): OrdersType => {\n const dispatch = useAppDispatch();\n const {\n order,\n create: { fetchStatus: createFetchStatus },\n show: { fetchStatus: showFetchStatus },\n } = useAppSelector(globalState => globalState.trotterOrders);\n\n const { isPending: isCreateOrderPending } = getFetchStatus(createFetchStatus);\n const { isFulfilled: isLoadOrderFulfilled } = getFetchStatus(showFetchStatus);\n\n return {\n order,\n isCreateOrderPending,\n createOrder: (spaceId: ID, dateOfStart: string, rentalPeriod: number) =>\n dispatch(createOrder({ spaceId, dateOfStart, rentalPeriod })),\n isLoadOrderFulfilled,\n loadOrder: (orderId: ID) => dispatch(loadOrder(orderId)),\n };\n};\n\nexport default useOrders;\n","'use strict';\n\nvar _TagManager = require('./TagManager');\n\nvar _TagManager2 = _interopRequireDefault(_TagManager);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = _TagManager2.default;","'use strict';\n\nvar _Snippets = require('./Snippets');\n\nvar _Snippets2 = _interopRequireDefault(_Snippets);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar TagManager = {\n dataScript: function dataScript(dataLayer) {\n var script = document.createElement('script');\n script.innerHTML = dataLayer;\n return script;\n },\n gtm: function gtm(args) {\n var snippets = _Snippets2.default.tags(args);\n\n var noScript = function noScript() {\n var noscript = document.createElement('noscript');\n noscript.innerHTML = snippets.iframe;\n return noscript;\n };\n\n var script = function script() {\n var script = document.createElement('script');\n script.innerHTML = snippets.script;\n return script;\n };\n\n var dataScript = this.dataScript(snippets.dataLayerVar);\n\n return {\n noScript: noScript,\n script: script,\n dataScript: dataScript\n };\n },\n initialize: function initialize(_ref) {\n var gtmId = _ref.gtmId,\n _ref$events = _ref.events,\n events = _ref$events === undefined ? {} : _ref$events,\n dataLayer = _ref.dataLayer,\n _ref$dataLayerName = _ref.dataLayerName,\n dataLayerName = _ref$dataLayerName === undefined ? 'dataLayer' : _ref$dataLayerName,\n _ref$auth = _ref.auth,\n auth = _ref$auth === undefined ? '' : _ref$auth,\n _ref$preview = _ref.preview,\n preview = _ref$preview === undefined ? '' : _ref$preview;\n\n var gtm = this.gtm({\n id: gtmId,\n events: events,\n dataLayer: dataLayer || undefined,\n dataLayerName: dataLayerName,\n auth: auth,\n preview: preview\n });\n if (dataLayer) document.head.appendChild(gtm.dataScript);\n document.head.insertBefore(gtm.script(), document.head.childNodes[0]);\n document.body.insertBefore(gtm.noScript(), document.body.childNodes[0]);\n },\n dataLayer: function dataLayer(_ref2) {\n var _dataLayer = _ref2.dataLayer,\n _ref2$dataLayerName = _ref2.dataLayerName,\n dataLayerName = _ref2$dataLayerName === undefined ? 'dataLayer' : _ref2$dataLayerName;\n\n if (window[dataLayerName]) return window[dataLayerName].push(_dataLayer);\n var snippets = _Snippets2.default.dataLayer(_dataLayer, dataLayerName);\n var dataScript = this.dataScript(snippets);\n document.head.insertBefore(dataScript, document.head.childNodes[0]);\n }\n};\n\nmodule.exports = TagManager;","'use strict';\n\nvar _warn = require('./utils/warn');\n\nvar _warn2 = _interopRequireDefault(_warn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// https://developers.google.com/tag-manager/quickstart\n\nvar Snippets = {\n tags: function tags(_ref) {\n var id = _ref.id,\n events = _ref.events,\n dataLayer = _ref.dataLayer,\n dataLayerName = _ref.dataLayerName,\n preview = _ref.preview,\n auth = _ref.auth;\n\n var gtm_auth = '>m_auth=' + auth;\n var gtm_preview = '>m_preview=' + preview;\n\n if (!id) (0, _warn2.default)('GTM Id is required');\n\n var iframe = '\\n ';\n\n var script = '\\n (function(w,d,s,l,i){w[l]=w[l]||[];\\n w[l].push({\\'gtm.start\\': new Date().getTime(),event:\\'gtm.js\\', ' + JSON.stringify(events).slice(1, -1) + '});\\n var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!=\\'dataLayer\\'?\\'&l=\\'+l:\\'\\';\\n j.async=true;j.src=\\'https://www.googletagmanager.com/gtm.js?id=\\'+i+dl+\\'' + gtm_auth + gtm_preview + '>m_cookies_win=x\\';\\n f.parentNode.insertBefore(j,f);\\n })(window,document,\\'script\\',\\'' + dataLayerName + '\\',\\'' + id + '\\');';\n\n var dataLayerVar = this.dataLayer(dataLayer, dataLayerName);\n\n return {\n iframe: iframe,\n script: script,\n dataLayerVar: dataLayerVar\n };\n },\n dataLayer: function dataLayer(_dataLayer, dataLayerName) {\n return '\\n window.' + dataLayerName + ' = window.' + dataLayerName + ' || [];\\n window.' + dataLayerName + '.push(' + JSON.stringify(_dataLayer) + ')';\n }\n};\n\nmodule.exports = Snippets;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar warn = function warn(s) {\n console.warn('[react-gtm]', s);\n};\n\nexports.default = warn;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m12 21.35-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z\"\n}), 'Favorite');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3 2 5.42 2 8.5c0 3.78 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 22 8.5 22 5.42 19.58 3 16.5 3zm-4.4 15.55-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4 6.5 5.5 5 7.5 5c1.54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5 0 2.89-3.14 5.74-7.9 10.05z\"\n}), 'FavoriteBorder');\n\nexports.default = _default;","import { SxStyles } from 'types/theme';\n\nconst styles: SxStyles = {\n mapBox: {\n height: {\n mobile: '395px',\n tablet: '638px',\n },\n width: {\n mobile: '100%',\n desktop: '66.6%',\n },\n },\n buildingBox: {\n position: {\n mobile: 'static',\n desktop: 'absolute',\n },\n right: {\n desktop: '80px',\n largeScreen: '135px',\n },\n width: {\n mobile: '100%',\n desktop: '41.6%',\n },\n overflowY: 'auto',\n scrollbarColor: 'white white',\n height: '100%',\n },\n mapAndBuildingBox: {\n position: 'relative',\n marginTop: {\n desktop: '-250px',\n },\n display: {\n mobile: 'block',\n desktop: 'flex',\n },\n alignItems: 'center',\n width: '100%',\n maxWidth: 1440,\n marginLeft: 'auto',\n marginRight: 'auto',\n padding: {\n desktop: '0 80px',\n largeScreen: '0 135px',\n },\n },\n};\n\nexport default styles;\n","import { SxStyles } from 'types/theme';\n\nconst styles: SxStyles = {\n root: {\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n alignItems: 'center',\n },\n label: {\n flexShrink: 0,\n marginRight: '16px',\n },\n};\n\nexport default styles;\n","import FormattedFormRow from './FormattedFormRow';\n\nexport default FormattedFormRow;\n","import { Typography } from '@material-ui/core';\nimport Box from 'components/Box';\nimport { FC, ReactNode } from 'react';\n\nimport styles from './styles';\n\ntype FormattedFormRowType = {\n label: string;\n children?: ReactNode;\n required?: boolean;\n};\n\nconst FormattedFormRow: FC = ({ label, required, children }) => {\n return (\n \n \n {label}\n {required && (\n \n {' '}\n *\n \n )}\n \n {children}\n \n );\n};\n\nexport default FormattedFormRow;\n","import * as yup from 'yup';\nimport i18n from 'i18next';\n\nexport const validationFields = {\n dateOfStart: yup\n .date()\n .nullable(false)\n .required(i18n.t('forms:validations.required', { field: 'dateOfStart' })),\n rentalPeriod: yup\n .number()\n .required(i18n.t('forms:validations.required', { field: 'rentalPeriod' }))\n .min(1),\n};\n\nexport const validationSchema = yup.object().shape({ ...validationFields });\n","import { SxStyles, Theme } from 'types/theme';\n\nconst styles: SxStyles = {\n root: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: {\n mobile: '100%',\n desktop: '100%',\n },\n height: {\n mobile: '50px',\n desktop: '60px',\n },\n backgroundColor: 'white.main',\n padding: '0px',\n border: (theme: Theme) => `1px solid ${theme.palette.gray.lighter}`,\n '&:hover': {\n borderColor: 'black.main',\n },\n '&.Mui-Error': {\n border: (theme: Theme) => `1px solid ${theme.palette.red.main}`,\n },\n borderRadius: '5px',\n '&:active': {\n border: (theme: Theme) => `2px solid ${theme.palette.brightBlue.main}`,\n },\n },\n calendarIconBlock: {\n display: 'flex',\n paddingLeft: '25px',\n paddingRight: '10px',\n alignItems: 'center',\n },\n dateOfStart: {\n marginLeft: '20px',\n opacity: 1,\n },\n setDate: {\n color: 'black.main',\n },\n};\n\nexport default styles;\n","import DateOfStartPlaceholder from './DateOfStartPlaceholder';\n\nexport default DateOfStartPlaceholder;\n","import { FC } from 'react';\nimport { isNil } from 'ramda';\nimport { Typography } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport { formatDateWithSlashes } from 'utils/dateTimeUtils';\nimport clsx from 'utils/clsx';\nimport Box from 'components/Box';\nimport Icon from 'components/Icon';\n\nimport styles from './styles';\n\ntype DateOfStartPlaceholderProps = {\n date: string;\n error: boolean;\n};\n\nconst DateOfStartPlaceholder: FC = props => {\n const { date, error = false } = props;\n\n const { t } = useTranslation(['common']);\n\n const isDateSet = !isNil(date);\n\n return (\n \n {isDateSet ? (\n \n {formatDateWithSlashes(date)}\n \n ) : (\n \n {t('common:dateOfStart')}\n \n )}\n \n \n \n \n );\n};\nexport default DateOfStartPlaceholder;\n","import { SxStyles } from 'types/theme';\n\nconst styles: SxStyles = {\n iconButton: {\n display: 'flex',\n cursor: 'pointer',\n '& svg': {\n width: '30px',\n height: '30px',\n },\n },\n};\n\nexport default styles;\n","import Share from './Share';\n\nexport default Share;\n","import { FC } from 'react';\nimport { IconButton } from '@material-ui/core';\nimport { useModals } from 'hooks';\nimport { ModalType } from 'enums/ModalType';\nimport { Icon } from 'components';\n\nimport styles from './styles';\n\nconst Share: FC = () => {\n const { openModal } = useModals();\n\n const handleShareButtonClick = () => {\n openModal({\n type: ModalType.shareSpace,\n });\n };\n\n return (\n \n \n \n );\n};\n\nexport default Share;\n","import { SxStyles, Theme } from 'types/theme';\n\nconst styles: SxStyles = {\n container: {\n width: '100%',\n maxWidth: 1440,\n\n marginLeft: 'auto',\n marginRight: 'auto',\n\n padding: {\n mobile: 0,\n desktop: '0 80px',\n largeScreen: '0 75px',\n },\n },\n spaceBox: {\n display: 'flex',\n justifyContent: 'space-between',\n flexDirection: {\n mobile: 'column',\n desktop: 'row',\n },\n padding: {\n mobile: '24px 0',\n desktop: '72px 0 40px',\n largeScreen: '72px 0 40px',\n },\n },\n spaceDescription: {\n order: {\n mobile: 1,\n desktop: 0,\n },\n flexShrink: 0,\n width: {\n mobile: '100%',\n desktop: '50%',\n },\n maxWidth: '600px',\n padding: {\n mobile: '0 24px',\n tablet: '0 60px',\n desktop: '0 62px 0 0',\n },\n },\n gallery: {\n marginBottom: {\n mobile: '28px',\n desktop: 0,\n },\n width: {\n mobile: '100%',\n desktop: '50%',\n },\n maxWidth: {\n desktop: '630px',\n },\n height: {\n mobile: '360px',\n tablet: '450px',\n desktop: '600px',\n },\n padding: {\n mobile: 0,\n },\n },\n backToSearch: {\n marginBottom: '44px',\n '& svg': {\n width: 12,\n height: 12,\n marginRight: '8px',\n },\n },\n address: {\n color: 'brightBlue.main',\n },\n verifiedBadgeBox: {\n marginTop: '24px',\n },\n titleAndHeart: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n marginTop: '40px',\n },\n heart: {\n display: 'flex',\n marginRight: '5px',\n cursor: 'pointer',\n '& svg': {\n width: '30px',\n height: '30px',\n fill: (theme: Theme) => theme.palette.black.main,\n },\n },\n heartDisabled: {\n opacity: 0.5,\n pointerEvents: 'none',\n },\n description: {\n marginTop: '16px',\n },\n actions: {\n display: 'flex',\n justifyContent: 'space-between',\n flexDirection: {\n mobile: 'column',\n fablet: 'row',\n },\n flexWrap: 'wrap',\n marginTop: '32px',\n },\n price: {\n display: 'flex',\n flexDirection: {\n mobile: 'row',\n },\n flexShrink: 0,\n whiteSpace: 'pre',\n },\n priceAndText: {\n flexGrow: 1,\n marginBottom: '24px',\n },\n bookButton: {\n marginBottom: '16px',\n width: {\n mobile: '100%',\n tablet: '250px',\n },\n },\n bookButtonWrapper: {\n display: 'inline-block',\n },\n messageButton: {\n width: {\n mobile: '100%',\n tablet: '250px',\n },\n },\n editButton: {\n textTransform: 'uppercase',\n color: 'brightBlue.main',\n },\n Lable: {\n color: 'red.main',\n marginTop: '12px',\n },\n dateOfStartLabel: {\n flexShrink: 0,\n marginRight: '16px',\n },\n titleButtons: {\n display: 'flex',\n },\n link: {\n display: 'flex',\n alignItems: 'center',\n color: 'brightBlue.main',\n textTransform: 'uppercase',\n textDecoration: 'none',\n letterSpacing: '0.1em',\n },\n arrowIconBox: {\n display: 'flex',\n marginLeft: '5px',\n },\n arrowIcon: {\n width: '14px',\n height: '14px',\n },\n ctaBlock: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n marginRight: '25px',\n width: '284px',\n flexShrink: 0,\n },\n onceYouBook: {\n display: 'flex',\n maxWidth: '370px',\n paddingTop: '12px',\n marginRight: '26px',\n },\n deliver: {\n display: 'flex',\n paddingTop: '12px',\n maxWidth: '280px',\n },\n textFieldWrapper: {\n padding: '0px',\n width: '45%',\n marginRight: '55px',\n },\n DropDownMenuWrapper: {\n padding: '0px',\n width: '45%',\n marginRight: '60px',\n position: 'relative',\n },\n dateWrapper: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingTop: '32px',\n paddingBottom: '32px',\n },\n dateOfStartButton: {\n width: '100%',\n padding: '0px',\n marginLeft: '5px',\n },\n errorLable: {\n position: 'absolute',\n bottom: '-25px',\n left: '5px',\n },\n};\n\nexport default styles;\n","import { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button, Typography, ButtonBase, IconButton, Divider, Tooltip, TextField, MenuItem } from '@material-ui/core';\nimport FavoriteBorderIcon from '@material-ui/icons/FavoriteBorder';\nimport FavoriteIcon from '@material-ui/icons/Favorite';\nimport { Link } from 'react-router-dom';\nimport { range } from 'lodash';\nimport TagManager from 'react-gtm-module';\nimport { addDays } from 'date-fns';\nimport { useFormik } from 'formik';\nimport { appRoutes } from 'routes';\nimport Space from 'types/resources/Space';\nimport Building from 'types/resources/Building';\nimport { Icon, SpaceInfo, Box, PropertyVerifiedBadge, Gallery } from 'components';\nimport DatePicker from 'components/DatePicker';\nimport { UsersPresenter, SpacePresenter, BuildingPresenter } from 'presenters';\nimport { useUsers } from 'hooks';\nimport clsx from 'utils/clsx';\nimport { parseDate, startOfToday, convertDateForBackend, getDateOfStart, startOfDay } from 'utils/dateTimeUtils';\nimport DropDownMenu from 'components/DropDownMenu';\nimport FormattedFormRow from 'components/FormattedFormRow';\nimport { validationSchema } from 'forms/public/spaceDetailsForm';\n\nimport DateOfStartPlaceholder from './components/DateOfStartPlaceholder';\nimport Share from './components/Share';\nimport styles from './styles';\n\ntype SpaceDetailsProps = {\n space: Space;\n building: Building;\n onLikeButtonClick: () => void;\n isLikeButtonDisabled: boolean;\n onChatChannelCreate: () => void;\n onBookNowClick: (dateOfStart: string, rentalPeriod: number) => void;\n isBookNowButtonDisabled: boolean;\n};\n\nconst SpaceDetails: FC = props => {\n const {\n space,\n building,\n onLikeButtonClick,\n isLikeButtonDisabled,\n onChatChannelCreate,\n onBookNowClick,\n isBookNowButtonDisabled,\n } = props;\n\n const availableAt = parseDate(space.availableAt);\n\n const initialStartDate = getDateOfStart({\n today: startOfToday(),\n availableAt,\n });\n\n const maxDate = addDays(startOfToday(), space.bookingWindow);\n\n const { t } = useTranslation(['publicPages', 'common', 'resources']);\n const { currentUser } = useUsers();\n\n const isTrotter = UsersPresenter.hasTrotterAccess(currentUser);\n const isGuest = UsersPresenter.isGuest(currentUser);\n\n const medias = [...SpacePresenter.sortedMedias(space), ...BuildingPresenter.sortedMedias(building)];\n\n const canBeBooked = SpacePresenter.canBeBooked(space);\n\n const initialValues = {\n dateOfStart: null,\n rentalPeriod: space.minimalRentalPeriod,\n };\n\n const formik = useFormik({\n initialValues,\n validationSchema,\n onSubmit: values => {\n onBookNowClick(values.dateOfStart, values.rentalPeriod);\n },\n });\n\n const { values, handleChange, handleSubmit, setFieldValue, errors, isValid, isSubmitting, touched } = formik;\n\n const onChatWithOwnerClick = () => {\n TagManager.dataLayer({ dataLayer: { event: 'chat_with_owner' } });\n onChatChannelCreate();\n };\n\n const getAvailableAt = () => {\n if (!space.availableAt) {\n return t('resources:space.notAvailable');\n }\n\n if (SpacePresenter.isAvailableAtInPastOrToday(space)) {\n return t('resources:space.availableNow');\n }\n\n return ;\n };\n\n const monthOptions = range(space.minimalRentalPeriod, 13);\n\n return (\n
\n \n \n \n \n \n {t('publicPages:BuildingSpace.backToSearch')}\n \n \n {building.address}\n \n {SpacePresenter.isVerified(space) && (\n \n \n \n )}\n \n {space.title}\n \n {(isTrotter || isGuest) && (\n \n {space.isFavorite ? : }\n \n )}\n \n \n \n \n {space.description}\n \n \n \n {getAvailableAt()}\n {canBeBooked && (\n <>\n \n \n \n \n }\n >\n setFieldValue('dateOfStart', convertDateForBackend(startOfDay(date)))}\n />\n \n {errors.dateOfStart && touched.dateOfStart && (\n \n {t('resources:space.dateOfStartValidation')}\n \n )}\n \n \n \n\n \n \n \n {t('resources:space.rentalPeriod')}\n \n \n \n {monthOptions.map((monthNumber: number) => (\n \n {t('resources:space.month', { count: monthNumber })}\n \n ))}\n \n \n \n \n )}\n \n \n \n \n \n \n {t('publicPages:BuildingSpace.requestQuote')}\n \n \n \n \n {SpacePresenter.priceFormatted(space)} \n \n {t('publicPages:BuildingSpace.perMonth')}\n \n \n \n {(isTrotter || isGuest) && (\n \n )}\n \n \n \n \n \n \n \n
\n );\n};\n\nexport default SpaceDetails;\n","import SpaceDetails from './SpaceDetails';\n\nexport default SpaceDetails;\n","import { SxStyles } from 'types/theme';\n\nconst styles: SxStyles = {\n amenity: {\n display: 'flex',\n width: 200,\n flexShrink: 0,\n mb: 4,\n mr: 3,\n '& svg': {\n color: 'brightBlue.main',\n mr: 1,\n },\n },\n detailsAndBuildingBoxWrapper: {\n bgcolor: 'navy.background',\n paddingTop: {\n mobile: '24px',\n desktop: '72px',\n },\n paddingBottom: {\n mobile: '48px',\n desktop: '360px',\n },\n },\n amenitiesBox: {\n marginTop: '30px',\n },\n rows: {\n marginTop: '30px',\n flexDirection: 'column',\n },\n row: {\n display: 'flex',\n flexDirection: 'row',\n marginBottom: '12px',\n },\n rowLabel: {\n width: '210px',\n flexShrink: 0,\n },\n};\n\nexport default styles;\n","import { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Typography, Stack } from '@material-ui/core';\nimport Space from 'types/resources/Space';\nimport { Icon, Box, Container } from 'components';\nimport { SpacePresenter } from 'presenters';\nimport { isEmpty, isNil } from 'ramda';\n\nimport styles from './styles';\n\ntype SpaceAmenitiesProps = {\n space: Space;\n};\n\ntype Row = {\n label: string;\n content: string | string[];\n};\n\ntype RowProps = {\n row: Row;\n};\n\nconst ContentRow: FC = props => {\n const { row } = props;\n if (Array.isArray(row.content)) {\n return (\n \n {row.content.map(item => (\n \n {item}\n \n ))}\n \n );\n }\n return {row.content};\n};\nconst SpaceAmenities: FC = props => {\n const { space } = props;\n const { t } = useTranslation(['publicPages', 'landlordPages', 'resources']);\n\n const isShowAmenities = !isEmpty(space.amenities);\n\n const renderAmenities = () => {\n return SpacePresenter.allAmenities(space).map(amenity => {\n return (\n \n \n {amenity.name}\n \n );\n });\n };\n\n const rows: Row[] = [\n {\n label: t('publicPages:BuildingSpace.totalArea'),\n content: t('publicPages:BuildingSpace.ft', { count: space.square }),\n },\n {\n label: t('publicPages:BuildingSpace.minCapacity'),\n content: t('publicPages:BuildingSpace.people', { count: space.minCapacity }),\n },\n {\n label: t('publicPages:BuildingSpace.maxCapacity'),\n content: t('publicPages:BuildingSpace.people', { count: space.maxCapacity }),\n },\n {\n label: t('resources:space.spaceType'),\n content: SpacePresenter.spaceType(space as Space),\n },\n {\n label: t('resources:space.airConditioningType'),\n content: SpacePresenter.airConditioningType(space as Space),\n },\n {\n label: t('resources:space.heatingType'),\n content: SpacePresenter.heatingType(space as Space),\n },\n {\n label: t('resources:space.ceilingHeight'),\n content: SpacePresenter.ceilingHeight(space as Space),\n },\n {\n label: t('resources:space.flooringType'),\n content: SpacePresenter.flooringType(space as Space),\n },\n {\n label: t('resources:space.floor'),\n content: SpacePresenter.floor(space as Space),\n },\n {\n label: t('resources:space.viewType'),\n content: SpacePresenter.spaceViewType(space as Space),\n },\n {\n label: t('resources:space.parkingSpacesIncluded'),\n content: SpacePresenter.parkingSpaces(space as Space),\n },\n {\n label: t('resources:space.outdoorSpaceDescription'),\n content: space.outdoorSpaceDescription,\n },\n {\n label: t('resources:space.privateBathroom'),\n content: space.privateBathroom,\n },\n {\n label: t('resources:space.restrictedUses'),\n content: SpacePresenter.restrictedUses(space as Space),\n },\n {\n label: t('resources:space.internetProvider'),\n content: SpacePresenter.internetProvider(space as Space),\n },\n ];\n\n const renderRow = (rowToRender: Row) => {\n if (isEmpty(rowToRender.content) || isNil(rowToRender.content)) {\n return null;\n }\n return (\n \n \n {rowToRender.label}\n \n \n \n \n \n );\n };\n\n return (\n \n \n \n {t('publicPages:BuildingSpace.detailsAndAmenities')}\n \n \n {t('publicPages:BuildingSpace.aboutSpace')}\n \n \n {space.description}\n \n {rows.map(renderRow)}\n {isShowAmenities && (\n \n \n {t('publicPages:BuildingSpace.amenities')}\n \n \n {renderAmenities()}\n \n \n )}\n \n \n );\n};\n\nexport default SpaceAmenities;\n","import SpaceAmenities from './SpaceAmenities';\n\nexport default SpaceAmenities;\n","import { SxStyles } from 'types/theme';\n\nconst styles: SxStyles = {\n root: {\n height: '100%',\n overflowY: 'auto',\n backgroundColor: 'navy.main',\n color: 'common.white',\n paddingTop: {\n mobile: '24px',\n desktop: '60px',\n },\n paddingBottom: {\n mobile: '48px',\n desktop: '60px',\n },\n },\n buildingCardInfo: {\n padding: {\n mobile: '0 24px',\n tablet: '0 60px',\n },\n },\n buildingAttribute: {\n textTransform: 'capitalize',\n },\n row: {\n '& td:first-of-type': {\n minWidth: '160px',\n },\n },\n buildingAttributeCell: {\n border: 'none',\n color: 'white !important',\n padding: '8px 0',\n },\n buildingAttributesTable: {\n marginTop: 2,\n },\n hr: {\n opacity: 0.3,\n borderColor: 'common.white',\n },\n};\n\nexport default styles;\n","import BuildingDescription from './BuildingDescription';\n\nexport default BuildingDescription;\n","import { FC } from 'react';\nimport { Divider, Table, TableRow, TableCell, TableBody, Typography } from '@material-ui/core';\nimport Building from 'types/resources/Building';\nimport { Box } from 'components';\nimport { useTranslation } from 'react-i18next';\nimport { BuildingType, ElevatorType, BuildingClass } from 'enums/resources/Building';\n\nimport styles from './styles';\n\ntype BuildingDescriptionProps = {\n building: Building;\n};\n\nconst BuildingDescription: FC = props => {\n const { building } = props;\n const { t } = useTranslation(['publicPages', 'common']);\n\n const renderBooleanValue = (value: boolean) => {\n return value ? t('common:yes') : t('common:no');\n };\n\n return (\n \n \n {t('publicPages:BuildingSpace.buildingAndLocation')}\n \n {building.description}\n \n \n \n \n \n \n {t('publicPages:BuildingSpace.buildingAddress')}\n \n \n {building.address}\n \n \n {building.buildingType && (\n \n \n {t('publicPages:BuildingSpace.buildingType')}\n \n \n \n {BuildingType[building.buildingType]}\n \n \n \n )}\n {building.buildingClass && (\n \n \n {t('publicPages:BuildingSpace.buildingClass')}\n \n \n \n {BuildingClass[building.buildingClass]}\n \n \n \n )}\n {building.elevatorType && (\n \n \n {t('publicPages:BuildingSpace.elevatorType')}\n \n \n \n {ElevatorType[building.elevatorType]}\n \n \n \n )}\n {building.numberOfElevators && (\n \n \n {t('publicPages:BuildingSpace.numberOfElevators')}\n \n \n \n {building.numberOfElevators}\n \n \n \n )}\n \n \n {t('publicPages:BuildingSpace.freightElevator')}\n \n \n \n {renderBooleanValue(building.freightElevator)}\n \n \n \n \n \n {t('publicPages:BuildingSpace.onSiteManagement')}\n \n \n \n {renderBooleanValue(building.onSiteManagement)}\n \n \n \n \n \n {t('publicPages:BuildingSpace.ownerOccupied')}\n \n \n \n {renderBooleanValue(building.ownerOccupied)}\n \n \n \n \n \n {t('publicPages:BuildingSpace.bicycleParkingAccess')}\n \n \n \n {renderBooleanValue(building.bicycleParkingAccess)}\n \n \n \n \n \n {t('publicPages:BuildingSpace.onSiteGym')}\n \n \n \n {renderBooleanValue(building.onSiteGym)}\n \n \n \n {building.amenities.map(amenity => (\n \n \n {amenity.name}\n \n \n \n {t('common:yes')}\n \n \n \n ))}\n \n
\n
\n
\n );\n};\n\nexport default BuildingDescription;\n","import { SxStyles } from 'types/theme';\n\nconst styles: SxStyles = {\n card: {\n width: {\n mobile: 270,\n tablet: 410,\n },\n height: 150,\n display: 'flex',\n alignItems: 'center',\n padding: 1,\n border: '1px solid',\n borderColor: 'navy.secondary',\n borderRadius: 1,\n flexShrink: 0,\n '& svg': {\n width: 14,\n height: 14,\n marginRight: 1,\n },\n '& .MuiCardMedia-root': {\n height: '100%',\n },\n },\n cardImage: {\n width: 120,\n height: '100%',\n },\n price: {\n justifyContent: 'flex-start',\n marginTop: 1,\n paddingBottom: 1,\n textTransform: 'uppercase',\n color: 'brightBlue.main',\n alignItems: 'baseline',\n '& svg': {\n color: 'brightBlue.main',\n width: 12,\n height: 12,\n marginLeft: 1.5,\n transform: 'rotateY(180deg)',\n },\n },\n spaceInfo: {\n marginLeft: 3,\n },\n spacePhotoPlaceholder: {\n width: '100% !important',\n height: '100% !important',\n },\n};\n\nexport default styles;\n","import SpaceCard from './SpaceCard';\n\nexport default SpaceCard;\n","import { FC } from 'react';\nimport { Stack, Box, ButtonBase, CardMedia, Typography } from '@material-ui/core';\nimport { Link, useParams } from 'react-router-dom';\nimport { SpacePresenter } from 'presenters';\nimport { Icon, ImagePlaceholder } from 'components';\nimport Space from 'types/resources/Space';\nimport { useTranslation } from 'react-i18next';\nimport { isNil } from 'ramda';\nimport { appRoutes } from 'routes';\nimport { useScreen } from 'hooks';\nimport { pricePerMonthFormatted, square } from 'presenters/SpacePresenter';\n\nimport styles from './styles';\n\ntype Props = {\n space: Space;\n};\n\nconst SpaceCard: FC = (props: Props) => {\n const { space } = props;\n const { t } = useTranslation('publicPages');\n const { buildingId } = useParams<{ buildingId: string }>();\n const { lessThanTablet } = useScreen();\n\n const imageUrl = SpacePresenter.coverUrl(space);\n\n const price = lessThanTablet\n ? pricePerMonthFormatted(space, 'publicPages:BuildingSpace.price')\n : pricePerMonthFormatted(space, 'publicPages:BuildingSpace.fromPrice');\n\n return (\n \n \n {isNil(imageUrl) ? (\n \n ) : (\n \n )}\n \n \n \n {space.title}\n \n {!isNil(space.square) && (\n \n \n {square(space)}\n \n )}\n \n \n {t('BuildingSpace.teammates', { count: space.maxCapacity })}\n \n \n {price}\n \n \n \n \n );\n};\n\nexport default SpaceCard;\n","import { SxStyles } from 'types/theme';\n\nconst styles: SxStyles = {\n spacesInBuildingBoxWrapper: {\n marginTop: 12,\n marginBottom: 12,\n },\n spaces: {\n width: '100%',\n overflow: 'auto',\n paddingBottom: '10px',\n },\n};\n\nexport default styles;\n","import OtherSpacesInBuilding from './OtherSpacesInBuilding';\n\nexport default OtherSpacesInBuilding;\n","import { FC } from 'react';\nimport { Typography, Stack } from '@material-ui/core';\nimport Building from 'types/resources/Building';\nimport { Box, Container } from 'components';\nimport { useTranslation } from 'react-i18next';\nimport Space from 'types/resources/Space';\nimport { isEmpty } from 'ramda';\n\nimport SpaceCard from './components/SpaceCard';\nimport styles from './styles';\n\ntype OtherSpacesInBuildingProps = {\n building: Building;\n spaceId: ID;\n};\n\nconst OtherSpacesInBuilding: FC = props => {\n const { building, spaceId } = props;\n const { t } = useTranslation('publicPages');\n\n const spacesInCurrentBuilding = building.spaces.filter(({ id }) => id !== spaceId);\n\n const renderSpaces = () => {\n return spacesInCurrentBuilding.map((item: Space) => );\n };\n\n if (isEmpty(spacesInCurrentBuilding)) {\n return null;\n }\n\n return (\n \n \n \n {t('BuildingSpace.otherSpaces')}\n \n \n {renderSpaces()}\n \n \n \n );\n};\n\nexport default OtherSpacesInBuilding;\n","import { FC, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router-dom';\nimport { appRoutes } from 'routes';\nimport { Box, SimpleMap } from 'components';\nimport { useSpaces, useUsers, useRouter } from 'hooks';\nimport { useFavoriteSpaces, useOrders } from 'hooks/trotter';\nimport { UsersPresenter, BuildingPresenter } from 'presenters';\nimport { isNotFound } from 'utils/errors';\nimport { makePathWithQueryString } from 'utils/routes';\nimport { Helmet } from 'react-helmet';\n\nimport styles from './styles';\nimport SpaceDetails from './components/SpaceDetails';\nimport SpaceAmenities from './components/SpaceAmenities';\nimport BuildingDescription from './components/BuildingDescription';\nimport OtherSpacesInBuilding from './components/OtherSpacesInBuilding';\n\nconst BuildingSpace: FC = () => {\n const { space, building, loadSpace, isLoadSpaceFulfilled, setSpaceLiked, setSpaceNotLiked, resetSpace } = useSpaces();\n const { createFavoriteSpace, isCreateFavoriteSpacePending, deleteFavoriteSpace, isDeleteFavoriteSpacePending } =\n useFavoriteSpaces();\n const { createOrder, isCreateOrderPending } = useOrders();\n const { currentUser } = useUsers();\n const { spaceId } = useParams<{ spaceId: string }>();\n const { push } = useRouter();\n const { t } = useTranslation(['common']);\n const title = `${building.address} - ${space.title} - ${t('common:trot')}`;\n\n const isTrotter = UsersPresenter.hasTrotterAccess(currentUser);\n const isGuest = UsersPresenter.isGuest(currentUser);\n\n const loadCurrentSpace = async () => {\n try {\n await loadSpace(spaceId).unwrap();\n } catch (error: unknown) {\n if (isNotFound(error)) {\n push(appRoutes.public.page404Path());\n }\n }\n };\n\n useEffect(() => {\n loadCurrentSpace();\n return () => resetSpace();\n }, []);\n\n if (!isLoadSpaceFulfilled) return null;\n\n const handleSpaceLike = async (id: ID) => {\n await createFavoriteSpace(id);\n setSpaceLiked();\n };\n\n const handleSpaceLikeDestroy = async (id: ID) => {\n await deleteFavoriteSpace(id);\n setSpaceNotLiked();\n };\n\n const handleSpaceHeartClick = () => {\n if (isGuest) {\n const path = makePathWithQueryString(appRoutes.public.signInPath(), {\n redirectUrl: appRoutes.public.buildingSpacePath(building.id, space.id),\n });\n push(path);\n }\n\n if (space.isFavorite) {\n handleSpaceLikeDestroy(space.id);\n } else {\n handleSpaceLike(space.id);\n }\n };\n\n const handleCreateChannel = () => {\n const trotterChatPath = makePathWithQueryString(appRoutes.trotter.chatPath(), {\n spaceId: space.id,\n });\n\n if (isTrotter) {\n push(trotterChatPath);\n return;\n }\n\n const path = makePathWithQueryString(appRoutes.public.signInPath(), {\n redirectUrl: trotterChatPath,\n });\n\n push(path);\n };\n\n const handleBookNowClick = async (dateOfStart: string, rentalPeriod: number) => {\n if (isTrotter) {\n const order = await createOrder(space.id, dateOfStart, rentalPeriod).unwrap();\n push(appRoutes.public.requestQuotePath(order.id));\n } else {\n const path = makePathWithQueryString(appRoutes.public.signInPath(), {\n redirectUrl: appRoutes.public.buildingSpacePath(building.id, space.id),\n });\n push(path);\n }\n };\n\n return (\n <>\n \n {title}\n \n \n \n \n {BuildingPresenter.hasGeoCoords(building) && (\n \n \n \n )}\n \n \n \n \n \n \n );\n};\n\nexport default BuildingSpace;\n","import BuildingSpace from './BuildingSpace';\n\nexport default BuildingSpace;\n"],"sourceRoot":""}