{"version":3,"sources":["webpack:///./src/pages/index.js"],"names":["IndexPage","_Component","props","_this","call","componentDidMount","async","search","JSON","parse","localStorage","getItem","setState","exp","Number","houses","searchHouse","Date","checkIn","checkOut","adults","adultsKid","location","startOfDay","addDays","state","_inheritsLoose","prototype","render","classes","this","getHousesJS","React","createElement","Layout","page","SEO","title","description","image","Helmet","name","content","Section","length","className","spaceBox","Grid","container","spacing","map","val","key","id","item","xs","sm","md","Link","to","boxHouse","width","src","image_is_highlight","url","alt","locations","element","Badge","color","FontAwesomeIcon","icon","faMapMarkerAlt","faUserFriends","min_person","max_person","faUserPlus","price_detail","price_per_person","shotDescription","renderHTML","short_detail","price","special_price","lineLeft","lineLeftNone","toFixed","save","priceBox","specialPrice","pricePerDay","readMore","btnReadmore","style","Component","inject","observer","withStyles","theme","textAlign","backgroundColor","transition","cursor","padding","fontSize","borderRadius","textDecoration","bottom","right","position","marginLeft","marginRight","display","breakpoints","down","left","verticalAlign","WebkitTransform","transform","boxShadow","WebkitBackfaceVisibility","backfaceVisibility","MozOsxFontSmoothing","WebkitTransitionDuration","transitionDuration","WebkitTransitionProperty","transitionProperty","alignItems","border","fontWeight","marginBottom","height","textOverflow","overflow","WebkitLineClamp","WebkitBoxOrient","textTransform","lineHeight","borderLeftStyle","borderWidth","borderColor","paddingLeft","minHeight","withTheme"],"mappings":"8VAqB0C,IAEpCA,EAAS,SAAAC,GACb,SAAAD,EAAYE,GAAQ,IAADC,EAIhB,OAHDA,EAAAF,EAAAG,KAAA,KAAMF,IAAM,MAKdG,kBAAoBC,UAClB,MAAMC,EAASC,KAAKC,MAAMC,aAAaC,QAAQ,WAC5CD,aAAaC,QAAQ,cACtBR,EAAKS,SAAS,CAAEC,IAAKC,OAAOJ,aAAaC,QAAQ,gBAE/CJ,GAAUA,EAAOQ,aACbZ,EAAKD,MAAMK,OAAOS,YACtB,IAAIC,KAAKV,EAAOW,SAChB,IAAID,KAAKV,EAAOY,WACfZ,EAAOa,QACPb,EAAOc,UACRd,EAAOe,SACP,cAGInB,EAAKD,MAAMK,OAAOS,YACtBO,YAAW,IAAIN,MACfO,YAAQD,YAAW,IAAIN,MAAS,GAChC,EACA,EACA,GACA,SAzBJd,EAAKsB,MAAQ,CACXZ,IAAK,GACNV,EAyJF,OAxJAuB,YAAA1B,EAAAC,GAAAD,EAAA2B,UA2BDC,OAAA,WACE,MACM,QAAEC,GAAYC,KAAK5B,MACnBa,EAASe,KAAK5B,MAAMK,OAAOwB,cACjC,OACEC,IAAAC,cAACC,IAAM,CAACC,KAAK,OAAOtB,IAAKiB,KAAKL,MAAMZ,KAClCmB,IAAAC,cAACG,IAAG,CACFC,MAAM,uBACNC,YAAY,mIAEZC,MATW,2FAWbP,IAAAC,cAACO,IAAM,KACLR,IAAAC,cAAA,QAAMQ,KAAK,WAAWC,QAAQ,8CAEhCV,IAAAC,cAACU,IAAO,KAAE5B,EAAO6B,OAAS,UAAY,gBACtCZ,IAAAC,cAAA,OAAKY,UAAWhB,EAAQiB,WACxBd,IAAAC,cAACc,IAAI,CAACC,WAAS,EAACC,QAAS,IACrBlC,GAAU,IAAImC,IAAIC,GAEhBnB,IAAAC,cAACc,IAAI,CAACK,IAAKD,EAAIE,GAAIC,MAAI,EAACC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAC1CzB,IAAAC,cAACyB,OAAI,CAACC,GAAI,aAAaR,EAAIE,IACzBrB,IAAAC,cAAA,OAAKY,UAAWhB,EAAQ+B,UACtB5B,IAAAC,cAACc,IAAI,CAACC,WAAS,EAACC,QAAS,GACvBjB,IAAAC,cAACc,IAAI,CAACO,MAAI,EAACC,GAAI,GAAIC,GAAI,EAAGC,GAAI,GAC5BzB,IAAAC,cAAA,OACE4B,MAAM,OACNC,IACEX,EAAIY,mBACAZ,EAAIY,mBAAmBC,IACvB,iFAENC,IAAI,oCAGRjC,IAAAC,cAACc,IAAI,CAACO,MAAI,EAACC,GAAI,GAAIC,GAAI,EAAGC,GAAI,GAC5BzB,IAAAC,cAAA,UAAKkB,EAAIV,MACTT,IAAAC,cAAA,OAAKY,UAAWhB,EAAQqC,YACpBf,EAAIe,WAAa,IAAIhB,IAAIiB,GAEvBnC,IAAAC,cAACmC,IAAK,CAAChB,IAAKe,EAAQd,GAAIgB,MAAM,UAC5BrC,IAAAC,cAACqC,IAAe,CAACC,KAAMC,MAAmB,IACzCL,EAAQ1B,QAKjBT,IAAAC,cAAA,OAAKY,UAAWhB,EAAQqC,WACtBlC,IAAAC,cAACmC,IAAK,CAACC,MAAM,SACXrC,IAAAC,cAACqC,IAAe,CAACC,KAAME,MAAkB,IACxCtB,EAAIuB,WAAW,MAAIvB,EAAIwB,YAE1B3C,IAAAC,cAACmC,IAAK,CAACC,MAAM,QACXrC,IAAAC,cAACqC,IAAe,CAACC,KAAMK,MAAe,IACrCzB,EAAI0B,aAAaC,iBAAiB,aAGvC9C,IAAAC,cAAA,QAAMY,UAAWhB,EAAQkD,iBACtBC,IAAW7B,EAAI8B,gBAGpBjD,IAAAC,cAACc,IAAI,CAACO,MAAI,EAACC,GAAI,GAAIC,GAAI,EAAGC,GAAI,GAC5BzB,IAAAC,cAAA,OACEY,UACEM,EAAI0B,aAAaK,OACjB/B,EAAI0B,aAAaM,cACbtD,EAAQuD,SACRvD,EAAQwD,cAGblC,EAAI0B,aAAaK,OAChB/B,EAAI0B,aAAaM,iBAEbhC,EAAI0B,aAAaK,MACjB/B,EAAI0B,aAAaM,eACjBhC,EAAI0B,aAAaK,MACnB,KACAI,QAAQ,GAAK,GACbtD,IAAAC,cAAA,OAAKY,UAAWhB,EAAQ0D,MAAM,UACpB,MAEJpC,EAAI0B,aAAaK,MACjB/B,EAAI0B,aAAaM,eACjBhC,EAAI0B,aAAaK,MACnB,KACAI,QAAQ,GAAG,OAIlBnC,EAAI0B,aAAaK,OAChB/B,EAAI0B,aAAaM,eACfnD,IAAAC,cAAA,OAAKY,UAAWhB,EAAQ2D,UACrBrC,EAAI0B,aAAaK,MAAQ/B,EAAI0B,aAAaM,eAAmBnD,IAAAC,cAAA,OAAKY,UAAWhB,EAAQqD,OACnF/B,EAAI0B,aAAaK,MAAM,QAE1BlD,IAAAC,cAAA,OAAKY,UAAWhB,EAAQ4D,cACrBtC,EAAI0B,aAAaM,cAAc,QAElCnD,IAAAC,cAAA,OAAKY,UAAWhB,EAAQ6D,aAAa,0BAS3C1D,IAAAC,cAAA,OAAKY,UAAWhB,EAAQ8D,UACtB3D,IAAAC,cAAA,OAAKY,UAAWhB,EAAQ+D,aAEtB5D,IAAAC,cAAA,QAAM4D,MAAO,CAAExB,MAAO,SAAU,mBAe3DrE,EA9JY,CAAS8F,aAiKxB,MA4Ja3D,EAAO4D,YAAO,SAAU,QAAjBA,CAA0BC,YAAShG,IACxCiG,sBA7JAC,IAAK,CAClBN,YAAa,CACXO,UAAW,SACXC,gBAAiB,UACjBC,WAAY,OACZC,OAAQ,UACRC,QAAS,sBACTC,SAAU,OACVnC,MAAO,OACPoC,aAAc,OACd,MAAO,CACLC,eAAgB,SAGpBf,SAAU,CACRgB,OAAQ,EACRC,MAAO,EACPC,SAAU,WACVhD,MAAO,MACPiD,WAAY,OACZC,YAAa,OACbC,QAAS,QACT,CAACd,EAAMe,YAAYC,KAAK,OAAQ,CAC9BC,KAAM,IAMVvD,SAAU,CACR0C,OAAQ,UACRU,QAAS,eACTI,cAAe,SACfC,gBAAiB,gBACjBC,UAAW,gBACXC,UAAW,2BACXC,yBAA0B,SAC1BC,mBAAoB,SACpBC,oBAAqB,YACrBC,yBAA0B,OAC1BC,mBAAoB,OACpBC,yBAA0B,aAC1BC,mBAAoB,aACpB1B,gBAAiB,UACjB2B,WAAY,SACZC,OAAQ,OACRvB,aAAc,MACdJ,WAAY,OACZE,QAAS,sBACT1C,MAAO,OACPiD,WAAY,OACZC,YAAa,OACb1C,MAAO,UACP,UAAW,CACTkD,UAAW,kCAEb,UAAW,CACTA,UAAW,kCAEb,WAAY,CACVA,UAAW,kCAEb,OAAQ,CACNhB,QAAS,gBACT0B,WAAY,MACZC,aAAc,OACd,CAAChC,EAAMe,YAAYC,KAAK,OAAQ,CAC9BV,SAAU,QAEZ,CAACN,EAAMe,YAAYC,KAAK,OAAQ,CAC9BX,QAAS,SAIfxB,gBAAiB,CACfwB,QAAS,gBAET4B,OAAQ,OACRC,aAAc,WACdC,SAAU,SACVrB,QAAS,cACTsB,gBAAiB,IACjBC,gBAAiB,WACjB,CAACrC,EAAMe,YAAYC,KAAK,OAAQ,CAC9BX,QAAS,QAGbzD,SAAU,CACRqF,OAAQ,QAEV5C,KAAM,CACJlB,MAAO,UACPmE,cAAe,aACfxB,QAAS,OACTe,WAAY,UAEdvC,SAAU,CACRmB,OAAQ,OACRC,MAAO,EACPC,SAAU,YAEZ3B,MAAO,CACLb,MAAO,UACPmC,SAAU,OACViC,WAAY,EACZ/B,eAAgB,gBAElBhB,YAAa,CACXrB,MAAO,UACPmC,SAAU,QAEZf,aAAc,CACZpB,MAAO,UACPmC,SAAU,OACVyB,WAAY,KAEd7C,SAAU,CACRsD,gBAAiB,QACjBC,YAAa,MACbC,YAAa,OACb/B,SAAU,WACVhD,MAAO,OACPsE,OAAQ,OACRU,YAAa,OAIb,CAAC3C,EAAMe,YAAYC,KAAK,OAAQ,CAC9B2B,YAAa,MACbb,OAAQ,OACRc,UAAW,SAGfzD,aAAc,CACZqD,gBAAiB,QACjBC,YAAa,MACbC,YAAa,OACb/B,SAAU,WACVhD,MAAO,OACPsE,OAAQ,OACRU,YAAa,OACb,CAAC3C,EAAMe,YAAYC,KAAK,OAAQ,CAC9BF,QAAS,SAGb9C,UAAW,CACTqC,QAAS,gBACT,CAACL,EAAMe,YAAYC,KAAK,OAAQ,CAC9BX,QAAS,UASmB,CAAEwC,WAAW,GAAhC9C,CAAwC9D","file":"component---src-pages-index-js-df31cc4313813ebd9433.js","sourcesContent":["import React, { Component } from \"react\"\nimport { Link } from \"gatsby\"\nimport { Grid } from \"@material-ui/core\"\nimport Badge from \"../components/Badge\"\nimport Layout from \"../components/Layout\"\nimport Section from \"../components/Section\"\nimport SEO from \"../components/seo\"\nimport { withStyles } from \"@material-ui/core/styles\"\nimport { inject, observer } from \"mobx-react\"\nimport PropTypes from \"prop-types\"\nimport renderHTML from \"react-render-html\"\nimport startOfDay from \"date-fns/startOfDay\"\nimport addDays from \"date-fns/addDays\"\nimport { Helmet } from \"react-helmet\"\n// import queryString from 'query-string'\n\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport {\n faMapMarkerAlt,\n faUserFriends,\n faUserPlus,\n} from \"@fortawesome/free-solid-svg-icons\"\n\nclass IndexPage extends Component {\n constructor(props) {\n super(props)\n this.state = {\n exp: 0,\n }\n }\n componentDidMount = async () => {\n const search = JSON.parse(localStorage.getItem(\"search\"))\n if(localStorage.getItem('searchExp')){\n this.setState({ exp: Number(localStorage.getItem('searchExp')) })\n }\n if (search && search.houses) {\n await this.props.search.searchHouse(\n new Date(search.checkIn),\n new Date(search.checkOut),\n +search.adults,\n +search.adultsKid,\n search.location,\n \"home\"\n )\n } else {\n await this.props.search.searchHouse(\n startOfDay(new Date()),\n addDays(startOfDay(new Date()), 1),\n 2,\n 0,\n \"\",\n \"home\"\n )\n }\n }\n\n render() {\n const imgShare = `${process.env.AWS_S3_URL}/assets/share-social-new.jpg`;\n const { classes } = this.props;\n const houses = this.props.search.getHousesJS();\n return (\n \n \n \n \n \n
{houses.length ? \"บ้านพัก\" : \"ไม่พบบ้านพัก\"}
\n
\n \n {(houses || []).map(val => {\n return (\n \n \n
\n \n \n \n \n \n

{val.name}

\n
\n {(val.locations || []).map(element => {\n return (\n \n {\" \"}\n {element.name}\n \n )\n })}\n
\n
\n \n {\" \"}\n {val.min_person} - {val.max_person}\n \n \n {\" \"}\n {val.price_detail.price_per_person} บาท/คืน\n \n
\n \n {renderHTML(val.short_detail)}\n \n
\n \n \n {val.price_detail.price &&\n val.price_detail.special_price &&\n (\n ((val.price_detail.price -\n val.price_detail.special_price) /\n val.price_detail.price) *\n 100\n ).toFixed(0) > 0 && (\n
\n ประหยัด{\" \"}\n {(\n ((val.price_detail.price -\n val.price_detail.special_price) /\n val.price_detail.price) *\n 100\n ).toFixed(0)}\n % !\n
\n )}\n {val.price_detail.price &&\n val.price_detail.special_price && (\n
\n {val.price_detail.price > val.price_detail.special_price &&
\n {val.price_detail.price} บาท\n
}\n
\n {val.price_detail.special_price} บาท\n
\n
\n ราคาเริ่มต้น (ต่อคืน)\n
\n
\n )}\n\n\n\n\n
\n \n
\n
\n
\n
\n \n \n \n )\n })}\n \n
\n )\n }\n}\n\nconst styles = theme => ({\n btnReadmore: {\n textAlign: \"center\",\n backgroundColor: \"#fb726a\",\n transition: \"0.3s\",\n cursor: \"pointer\",\n padding: \"8px 10px !important\",\n fontSize: \"16px\",\n color: \"#fff\",\n borderRadius: \"20px\",\n \"& a\": {\n textDecoration: \"none\",\n },\n },\n readMore: {\n bottom: 0,\n right: 0,\n position: \"absolute\",\n width: \"80%\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n display: \"block\",\n [theme.breakpoints.down(\"xs\")]: {\n left: 0,\n },\n // [theme.breakpoints.down(\"md\")]: {\n // width: \"30%\",\n // },\n },\n boxHouse: {\n cursor: \"pointer\",\n display: \"inline-block\",\n verticalAlign: \"middle\",\n WebkitTransform: \"translateZ(0)\",\n transform: \"translateZ(0)\",\n boxShadow: \"0 0 1px rgba(0, 0, 0, 0)\",\n WebkitBackfaceVisibility: \"hidden\",\n backfaceVisibility: \"hidden\",\n MozOsxFontSmoothing: \"grayscale\",\n WebkitTransitionDuration: \"0.3s\",\n transitionDuration: \"0.3s\",\n WebkitTransitionProperty: \"box-shadow\",\n transitionProperty: \"box-shadow\",\n backgroundColor: \"#f7e1d4\",\n alignItems: \"center\",\n border: \"none\",\n borderRadius: \"5px\",\n transition: \"0.1s\",\n padding: \"32px 32px!important\",\n width: \"100%\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n color: \"#444444\",\n \"&:hover\": {\n boxShadow: \"2px 2px 2px rgba(0, 0, 0, 0.6)\",\n },\n \"&:focus\": {\n boxShadow: \"2px 2px 2px rgba(0, 0, 0, 0.6)\",\n },\n \"&:active\": {\n boxShadow: \"2px 2px 2px rgba(0, 0, 0, 0.6)\",\n },\n \"& h3\": {\n padding: \"0 20px 0 20px\",\n fontWeight: \"800\",\n marginBottom: \"15px\",\n [theme.breakpoints.down(\"md\")]: {\n fontSize: \"18px\",\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: \"0px\",\n },\n },\n },\n shotDescription: {\n padding: \"0 20px 0 20px\",\n // display: 'block',\n height: \"83px\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n display: \"-webkit-box\",\n WebkitLineClamp: \"4\",\n WebkitBoxOrient: \"vertical\",\n [theme.breakpoints.down(\"xs\")]: {\n padding: \"0px\",\n },\n },\n spaceBox: {\n height: \"30px\",\n },\n save: {\n color: \"#00a561\",\n textTransform: \"capitalize\",\n display: \"flex\",\n alignItems: \"center\",\n },\n priceBox: {\n bottom: \"45px\",\n right: 0,\n position: \"absolute\",\n },\n price: {\n color: \"#8f8f8f\",\n fontSize: \"12px\",\n lineHeight: 1,\n textDecoration: \"line-through\",\n },\n pricePerDay: {\n color: \"#8f8f8f\",\n fontSize: \"12px\",\n },\n specialPrice: {\n color: \"#dc1d2f\",\n fontSize: \"18px\",\n fontWeight: 800,\n },\n lineLeft: {\n borderLeftStyle: \"solid\",\n borderWidth: \"1px\",\n borderColor: \"gray\",\n position: \"relative\",\n width: \"100%\",\n height: \"100%\",\n paddingLeft: \"32px\",\n // [theme.breakpoints.down(\"sm\")]: {\n // paddingLeft: '0px',\n // },\n [theme.breakpoints.down(\"xs\")]: {\n paddingLeft: \"0px\",\n border: \"none\",\n minHeight: \"97px\",\n },\n },\n lineLeftNone: {\n borderLeftStyle: \"solid\",\n borderWidth: \"1px\",\n borderColor: \"gray\",\n position: \"relative\",\n width: \"100%\",\n height: \"100%\",\n paddingLeft: \"32px\",\n [theme.breakpoints.down(\"xs\")]: {\n display: \"none\",\n },\n },\n locations: {\n padding: \"0 20px 0 20px\",\n [theme.breakpoints.down(\"xs\")]: {\n padding: \"0px\",\n },\n },\n})\n\nIndexPage.propTypes = {\n classes: PropTypes.object.isRequired,\n}\nexport const page = inject(\"search\", \"house\")(observer(IndexPage))\nexport default withStyles(styles, { withTheme: true })(page)\n"],"sourceRoot":""}