{"version":3,"sources":["commons/CustomCard/CustomCard.js","static/link_banner.png","static/button_banner.png","commons/Navbar/NavBarDesktop.tsx","commons/Navbar/NavBarDrawer.tsx","commons/Navbar/NavBarMobile.tsx","commons/Navbar/Navbar.tsx","pages/HomePage/HomePage.tsx","pages/WhatsAppLinkPage/MobileMock.tsx","config/dialCodes.js","config/config.js","helpers/clipboard.ts","pages/WhatsAppLinkPage/LinkDialogContent.tsx","commons/EPicker/EPicker.tsx","pages/WhatsAppLinkPage/LinkGenerator.tsx","pages/WhatsAppLinkPage/WhatsAppLinkPage.tsx","types/link.type.ts","helpers/instamojoConfig.ts","pages/WhatsAppBtnPage/WidgetDialogContent.tsx","helpers/url.ts","commons/ColorPicker/ColorPicker.tsx","pages/WhatsAppBtnPage/ButtonGenerator.tsx","helpers/formatAndValidateWidgetForm.ts","pages/WhatsAppBtnPage/WhatsAppBtnPage.tsx","pages/NotFoundPage/NotFoundPage.tsx","pages/InstamojoStoreIntegrationPage/InstamojoStoreIntegrationPage.tsx","App.tsx","themes/index.ts","reportWebVitals.ts","index.tsx"],"names":["useStyles","makeStyles","_ref","breakpoints","spacing","root","margin","borderRadius","transition","boxShadow","position","maxWidth","marginLeft","overflow","background","display","flexDirection","alignItems","paddingBottom","up","paddingTop","media","width","marginRight","marginTop","height","backgroundColor","transform","content","top","left","opacity","padding","cta","textTransform","button","BlogCardDemo","props","heading","body","banner","btnCTA","url","Layered","React","memo","styles","buttonStyles","contentStyles","useBlogTextInfoContentStyles","shadowStyles","useOverShadowStyles","_jsxs","Card","className","cx","children","_jsx","CardMedia","image","CardContent","TextInfoContent","classes","Button","component","RouterLink","to","ActiveBtn","path","style","Link","_Fragment","withStyles","theme","createStyles","boxSizing","zIndex","down","withRouter","location","pathname","Grid","container","item","topRoutes","name","icon","HomeOutlined","fontSize","ext","LinkOutlined","ModeCommentOutlined","overflowY","overflowX","drawerPaper","avatarRoot","color","palette","primary","main","link_inactive","justifyContent","cursor","link_active","icon_active","icon_inactive","name_active","name_inactive","linkButton","active","inactive","fullWidth","profileWrapper","bottom","profileIcon","drawerOpen","onDrawerClose","Drawer","anchor","open","onClose","paper","Box","px","map","route","index","ButtonBase","onClick","window","history","push","openRoute","xs","Typography","variant","align","my","NavBarMobile","Component","constructor","arguments","state","onDrawerOpen","this","setState","render","IconButton","close","ArrowBackOutlined","NavBarDrawer","defaultProps","size","justify","md","lg","Hidden","smUp","xsDown","NavBarDesktop","HomePage","super","Navbar","ctaContainer","overlay","direction","paragraph","p","pb","CustomCard","LinkBanner","body2","ButtonBanner","minHeight","backgroundSize","backgroundPosition","marginBottom","integrationBanner","maxHeight","mainBanner","hrefBtn","integrationsSection","MobileMock","countryCode","screen","windowBar","AccountCircle","personIcon","phoneNumber","previewMsg","msg","msgContainer","windowInputBar","TextField","type","placeholder","textInput","value","Send","border","paddingLeft","right","dialCodes","URL","process","REACT_APP_LINK_GEN_BACKEND_URL","REACT_APP_NODE_ENV","NO_LABEL_URL","REACT_APP_NO_LABEL_LINK_GEN_BACKEND_URL","TENANT_ID","REACT_APP_GOOGLE_CLIENT_ID","REACT_APP_TENANT_ID","copyTextToClipboard","text","navigator","clipboard","writeText","then","console","log","err","error","textArea","document","createElement","appendChild","focus","select","successful","execCommand","removeChild","fallbackCopyTextToClipboard","LinkDialogContent","copied","downloadQR","canvas","getElementById","pngUrl","toDataURL","replace","downloadLink","href","download","linkid","click","clickToCopy","link","gutterBottom","pt","whatsappimg","src","target","rel","textDecoration","split","mb","QRCode","ecLevel","logoHeight","logoWidth","closeDialog","EPicker","anchorEl","handleClick","event","currentTarget","handleClose","emojiHandler","data","setEmoji","fieldName","Boolean","id","undefined","Popover","anchorOrigin","vertical","horizontal","transformOrigin","demopicker","Picker","onEmojiClick","lineHeight","timer","LinkGenerator","textarea","createRef","country","isSubmitting","errmsg","handleKeyUp","e","clearTimeout","setTimeout","handleKeyPress","handleAutoComplete","field","reason","getDialCode","result","find","dialCode","handleCustomMsg","handlePhoneNumber","trim","generateLink","async","formValidation","message","entityType","linkId","slice","prefilledMsg","clientId","assistantId","whatsappBtnSettings","res","axios","post","response","_axiosError$response","axiosError","isNaN","Number","ta","current","_ta$current","_ta$current2","cursorPos","selectionEnd","length","selectionStart","start","substring","end","emoji","typer","addEventListener","mx","py","guideContainer","fontWeight","pl","pr","Autocomplete","disableClearable","options","option","onChange","renderInput","params","textField","InputProps","startAdornment","InputAdornment","multiline","rows","inputRef","disabled","CircularProgress","Dialog","aria-labelledby","disableBackdropClick","WhatsAppLinkPage","variantType","widgetSessionWindowType","snippetScript","isSrcInstamojo","script","snippetContainer","tabSize","preFormat","formattedUrl","t","join","decodeURI","generateExp","regEx","ColorPicker","HexColorPicker","setColor","ButtonGenerator","prefilledMsgTextArea","onscreenMsgTextArea","env","btnWithWidget","btnBackground","ml","mr","brandName","brandSub","brandColor","brandImgUrl","widgetBtnCTA","openWidgetByDefault","openWidgetSessionWindow","always","onscreenMsg","widgetOnMobile","urlPersonalization","personalizedUrls","urlMsg","userMsg","key","toFormat","toCapitalize","prefilledRef","onscreenRef","queryString","search","searchParams","URLSearchParams","get","store_domain","handleTextInput","handleRadioInput","toggleUrlPersonalization","removeRow","filter","i","addRow","temp","handlePersonalizationInput","handlePersonalizedUrlFormatting","checked","generateWidget","s","forEach","match","whatsAppBtnValue","BTN","formatAndValidateForm","String","setEmojiUrl","urlObj","_ta$current3","_ta$current4","_ta$current5","_ta$current6","handleColorInput","config","storeDomain","hour24","componentDidUpdate","prevProps","prevState","CreateWhatsAppButtonAndWidget","sm","Tooltip","placement","title","Info","infoIcon","mt","RadioGroup","row","FormControlLabel","control","Radio","label","Fragment","rightMargin","Switch","switchBase","startIcon","Add","TransitionGroup","Zoom","backgroundCont","Checkbox","k","Clear","WidgetDialogContent","multiTextField","colorBtn","paddingRight","instance","componentDidMount","_this$instance","_this$instance$curren","getElementsByTagName","onload","componentWillUnmount","dfCont","remove","ref","NotFoundPage","handleNextClick","genWidgetUrl","endIcon","ArrowForward","routeContainer","Router","Route","exact","WhatsAppBtnPage","InstamojoStoreIntegrationPage","defaults","pending","resolved","secondary","warning","success","info","hint","values","xl","shape","typography","h1","fontFamily","letterSpacing","wordSpacing","h2","h3","h4","h5","h6","body1","MuiAutocomplete","inputRoot","MuiInput","disableUnderline","MuiPaper","MuiTooltip","enterTouchDelay","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","createMuiTheme","themes","ReactDOM","ThemeProvider","StrictMode","App"],"mappings":"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","file":"static/js/main.a4452d46.chunk.js","sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Card from '@material-ui/core/Card';\nimport CardMedia from '@material-ui/core/CardMedia';\nimport CardContent from '@material-ui/core/CardContent';\nimport Button from '@material-ui/core/Button';\nimport TextInfoContent from '@mui-treasury/components/content/textInfo';\nimport { useBlogTextInfoContentStyles } from '@mui-treasury/styles/textInfoContent/blog';\nimport { useOverShadowStyles } from '@mui-treasury/styles/shadow/over';\nimport { Link as RouterLink } from 'react-router-dom';\n\nconst useStyles = makeStyles(({ breakpoints, spacing }) => ({\n root: {\n margin: 'auto',\n borderRadius: spacing(2), // 16px\n transition: '0.3s',\n boxShadow: '0px 0px 40px rgba(34, 35, 58, 0.2)',\n position: 'relative',\n maxWidth: 500,\n marginLeft: 'auto',\n overflow: 'initial',\n background: '#ffffff',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n paddingBottom: spacing(2),\n [breakpoints.up('md')]: {\n flexDirection: 'row',\n paddingTop: spacing(2),\n boxShadow: '0px 14px 80px rgba(34, 35, 58, 0.2)',\n },\n },\n media: {\n width: '88%',\n marginLeft: 'auto',\n marginRight: 'auto',\n marginTop: spacing(-3),\n height: 0,\n paddingBottom: '48%',\n borderRadius: spacing(2),\n backgroundColor: '#fff',\n position: 'relative',\n [breakpoints.up('md')]: {\n width: '100%',\n marginLeft: spacing(-3),\n marginTop: 0,\n transform: 'translateX(-8px)',\n },\n '&:after': {\n content: '\" \"',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n // backgroundImage: 'linear-gradient(147deg, #7b966659 0%, #05921057 54%)',\n borderRadius: spacing(2), // 16\n opacity: 0.5,\n },\n },\n content: {\n padding: 24,\n },\n cta: {\n marginTop: 24,\n textTransform: 'initial',\n },\n button: {\n // backgroundImage: 'linear-gradient(147deg, #ffc100 0%, #059210 74%)',\n backgroundColor: \"#ffc100\",\n boxShadow: '0px 4px 32px #28ad3338'\n }\n}));\n\nexport const BlogCardDemo = (props) =>{\n const {\n heading,\n body,\n banner,\n btnCTA,\n url\n } = props;\n\n const Layered = React.memo(function BlogCard() {\n const styles = useStyles();\n const {\n button: buttonStyles,\n ...contentStyles\n } = useBlogTextInfoContentStyles();\n const shadowStyles = useOverShadowStyles();\n return (\n \n \n \n \n \n \n \n );\n });\n return \n}\n\nexport default BlogCardDemo","export default __webpack_public_path__ + \"static/media/link_banner.3d64946d.png\";","export default __webpack_public_path__ + \"static/media/button_banner.6e707d18.png\";","import { \n\tcreateStyles, \n\tGrid, \n\tTheme, \n\tTypography, \n\twithStyles, \n\tWithStyles,\n\tButton, \n\tHidden,\n\tIconButton,\n Link as HREFLink\n} from '@material-ui/core';\nimport { Menu } from '@material-ui/icons';\nimport React from 'react';\nimport { Link, withRouter, RouteComponentProps } from \"react-router-dom\";\n// const logo = \"https://aisensy-partner-assets.s3.ap-south-1.amazonaws.com/shakedeal/logo.png\"\nimport HomePage from '../../pages/HomePage/HomePage';\nconst NavbarDesktop = (props: Props): React.ReactElement => {\n\tconst { classes } = props;\n const path = props.location.pathname;\n\treturn (\n \n {/* \n \n \n \n */}\n {/* \n \t\n \n \n \t\n */}\n \n \n \n\t\t\t{/* \n \t\n */}\n {/* \n \t\n */}\n \n\t)\n}\nconst ActiveBtn = (props: { path: string }): React.ReactElement => {\n switch (props.path) {\n case \"/tools/generate-whatsapp-link\":\n return (\n \t\n );\n case \"/tools/generate-whatsapp-button\":\n return (\n \t\n );\n default: \n return (\n <>\n \t\n \t\n \n );\n }\n\n}\ninterface Props extends WithStyles, RouteComponentProps{\n\t// name: string,\n\t// number: string\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\theight: 60,\n\t\twidth: \"100vw\",\n\t\tposition: \"sticky\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tbackgroundColor: \"#EBF5F3\",\n\t\t// backgroundColor: \"#ffffff\",\n\t\tboxShadow: \"rgb(0 0 0 /10%) 0px 0px 0.428571rem 0px\",\n\t\t// backgroundColor: theme.palette.primary.main,\n\t\t// paddingLeft: theme.spacing(2),\n\t\tboxSizing: \"border-box\",\n\t\tzIndex: 100,\n\t\t// color: \"white\"\n\t\t// boxShadow: \"0px 0px 2px 2px lightgrey\"\n \n\t},\n\t\"logo\": {\n\t\theight: 50,\n\t\tmarginRight: 50,\n [theme.breakpoints.down('md')]: {\n\t\t\tmarginRight: 20,\n\t\t\t// width: 60,\n height: 40,\n\t\t\tmarginLeft: 10\n\t\t}\n\t},\n \"rightMargin\": {\n [theme.breakpoints.down('sm')]: {\n\t\t\tmarginRight: 10\n\t\t}\n }\n})\n\nexport default withStyles(styles)(withRouter(NavbarDesktop));","import { \n\tcreateStyles, \n\tGrid, \n\tTheme, \n\tTypography, \n\twithStyles, \n\tWithStyles,\n\tButton, \n Drawer,\n Box,\n ButtonBase\n} from '@material-ui/core';\nimport { ToysOutlined, BookOutlined, ForumOutlined, HomeOutlined, LinkOutlined, ModeCommentOutlined, WhatsApp, AttachMoney } from '@material-ui/icons';\nimport React from 'react';\nimport { Link, RouteComponentProps, withRouter } from \"react-router-dom\";\n\n// const logo = \"https://aisensy-partner-assets.s3.ap-south-1.amazonaws.com/shakedeal/logo.png\"\n\nconst topRoutes = [\n {\n name: \"Home\",\n to: \"/\",\n icon: ,\n ext: false\n },\n {\n name: \"WhatsApp Link\",\n to: \"/tools/generate-whatsapp-link\",\n icon: ,\n ext: false\n },\n {\n name: \"WhatsApp Button\",\n to: \"/tools/generate-whatsapp-button\",\n icon: ,\n ext: false\n },\n // {\n // name: \"Pricing\",\n // to: \"https://m.aisensy.com/pricing/\",\n // icon: ,\n // ext: true\n // },\n // {\n // name: \"Platform\",\n // to: \"https://aisensy.com\",\n // icon: ,\n // ext: true\n // },\n // {\n // name: \"Resources\",\n // to: \"https://help.aisensy.com\",\n // icon: ,\n // ext: true\n // },\n // {\n // name: \"Integrations\",\n // to: \"https://aisensy.com/integrations\",\n // icon: ,\n // ext: true\n // },\n]\n\n\nconst NavbarDrawer = (props: Props): React.ReactElement => {\n\tconst { classes, drawerOpen, onDrawerClose, location } = props;\n const openRoute = (route: typeof topRoutes[0]) => {\n if (!route.ext) {\n props.history.push(route.to);\n } else {\n window.open(route.to, \"_blank\");\n }\n onDrawerClose();\n };\n\treturn (\n \n \n \n {/* \n \n \n \n */}\n {/* \n \t\n */}\n \n {/* \n #1 Whatsapp Marketing, CRM & Chatbot Platform\n */}\n \n {topRoutes.map((route, index) => {\n let className = \"inactive\";\n if (location.pathname === route.to) {\n className = \"active\";\n }\n\n return (\n openRoute(route)}\n >\n \n \n \n {route.icon}\n \n \n \n \n {route.name}\n \n \n \n \n )\n })}\n \n \n \t\t\n\t)\n}\n\ninterface Props extends WithStyles, RouteComponentProps {\n\t// name: string,\n\t// number: string\n drawerOpen: boolean,\n onDrawerClose: () => void\n}\n\nconst styles = (theme: Theme) => createStyles({\n \"logo\": {\n\t\theight: 40,\n\t\tmarginRight: 50,\n\t},\n container: {\n width: \"100%\",\n height: \"100%\",\n overflowY: \"auto\",\n boxSizing: \"border-box\",\n overflowX: \"hidden\",\n // minWidth: \"300px\",\n // flexGrow: 1,\n },\n drawerPaper: {\n width: \"calc(100vw - 70px)\",\n height: \"100%\",\n position: \"relative\",\n overflow: \"hidden\",\n zIndex: 5000,\n },\n avatarRoot: {\n backgroundColor: \"rgb(245,245,245)\",\n color: theme.palette.primary.main,\n margin: \"0px 10px\",\n },\n link_inactive: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n height: \"35px\",\n width: \"35px\",\n margin: \"auto\",\n borderRadius: \"50%\",\n cursor: \"pointer\",\n transition: \"0.5s\",\n },\n link_active: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n height: \"35px\",\n width: \"35px\",\n margin: \"auto\",\n borderRadius: \"50%\",\n backgroundColor: \"white\",\n color: \"white\",\n cursor: \"pointer\",\n transition: \"0.5s\",\n },\n // profile_active: {\n\n // },\n // profile_inactive: {\n\n // }\n icon_active: {\n color: theme.palette.primary.main,\n },\n icon_inactive: {\n color: \"rgb(20,20,20)\",\n },\n name_active: {\n color: theme.palette.primary.main,\n },\n name_inactive: {\n color: \"rgb(20,20,20)\",\n },\n linkButton: {\n margin: \"3px 0em\",\n width: \"100%\",\n borderRadius: \"5px\",\n padding: \"10px\",\n },\n active: {\n backgroundColor: \"#EBF5F3\",\n },\n inactive: {\n backgroundColor: \"transparent\",\n },\n fullWidth: {\n width: \"100%\",\n display: \"flex\",\n alignItems: \"flex-start\",\n },\n profileWrapper: {\n position: \"absolute\",\n left: 0,\n bottom: 0,\n width: \"100%\",\n backgroundColor: \"white\",\n paddingTop: theme.spacing(2) * 1.5,\n paddingBottom: theme.spacing(2) * 1.5,\n },\n profileIcon: {\n backgroundColor: theme.palette.primary.main,\n borderRadius: \"50%\",\n color: \"white\",\n width: \"40px\",\n height: \"40px\",\n margin: \"0px 10px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n})\n\nexport default withStyles(styles)(withRouter(NavbarDrawer));","import { \n\tcreateStyles, \n\tGrid, \n\tTheme, \n\tTypography, \n\twithStyles, \n\tWithStyles,\n\tButton, \n\tHidden,\n\tIconButton,\n} from '@material-ui/core';\nimport { ArrowBackOutlined, Menu } from '@material-ui/icons';\nimport React, { Component } from 'react';\nimport { Link, RouteComponentProps, withRouter } from \"react-router-dom\";\nimport NavBarDrawer from './NavBarDrawer';\n// const logo = \"https://aisensy-partner-assets.s3.ap-south-1.amazonaws.com/shakedeal/logo.png\"\n\nclass NavBarMobile extends Component {\n static defaultProps = {\n // name: 'AiSensy',\n };\n state = {\n drawerOpen: false\n };\n onDrawerOpen = () => {\n this.setState({ drawerOpen: true });\n };\n onDrawerClose = () => {\n this.setState({ drawerOpen: false });\n };\n render(): React.ReactElement {\n const { classes } = this.props;\n const path = this.props.location.pathname;\n return (\n \n \n {/* \n \n */}\n window.close()}\n // href=\"javascript:window.open('','_self').close();\"\n >\n \n \n \n {/* \n \n \n \n */}\n {/* \n \t\n */}\n \n \t\n \n \n \n )\n }\n \n\n\n}\n\nconst ActiveBtn = (props: { path: string }): React.ReactElement => {\n switch (props.path) {\n case \"/generate-whatsapp-link\":\n return (\n \t\n );\n case \"/generate-whatsapp-button\":\n return (\n \t\n );\n default: \n return (\n <>\n \t\n \t\n \n );\n }\n\n}\n\ninterface Props extends WithStyles, RouteComponentProps{\n\t// name: string,\n\t// number: string\n}\n\ninterface cState {\n drawerOpen: boolean\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\theight: 60,\n\t\twidth: \"100vw\",\n\t\tposition: \"sticky\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\t// backgroundColor: \"#EBF5F3\",\n\t\tbackgroundColor: \"#ffffff\",\n\t\tboxShadow: \"rgb(0 0 0 /10%) 0px 0px 0.428571rem 0px\",\n\t\t// backgroundColor: theme.palette.primary.main,\n\t\t// paddingLeft: theme.spacing(2),\n\t\tboxSizing: \"border-box\",\n\t\tzIndex: 100,\n\t\t// color: \"white\"\n\t\t// boxShadow: \"0px 0px 2px 2px lightgrey\"\n\t},\n\t\"logo\": {\n\t\theight: 50,\n\t\tmarginRight: 50,\n\t\t[theme.breakpoints.down('md')]: {\n\t\t\tmarginRight: 20,\n\t\t\twidth: 90,\n\t\t\tmarginLeft: 10,\n height: 34\n\t\t}\n\t}\n})\n\nexport default withStyles(styles)(withRouter(NavBarMobile));","import { \n\tcreateStyles, \n\tGrid, \n\tTheme, \n\tTypography, \n\twithStyles, \n\tWithStyles,\n\tButton, \n\tHidden,\n\tIconButton,\n} from '@material-ui/core';\nimport { Menu } from '@material-ui/icons';\nimport React from 'react';\nimport { Link } from \"react-router-dom\";\nimport NavBarDesktop from './NavBarDesktop';\nimport NavBarMobile from './NavBarMobile';\n// const logo = \"https://aisensy-partner-assets.s3.ap-south-1.amazonaws.com/shakedeal/logo.png\"\n\nconst Navbar = (props: Props): React.ReactElement => {\n\tconst { classes } = props\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* Put all content in here */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t)\n}\n\ninterface Props extends WithStyles {\n\t// name: string,\n\t// number: string\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\theight: 60,\n\t\twidth: \"100vw\",\n\t\tposition: \"sticky\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\t// backgroundColor: \"#EBF5F3\",\n\t\tbackgroundColor: \"#ffffff\",\n\t\tboxShadow: \"rgb(0 0 0 /10%) 0px 0px 0.428571rem 0px\",\n\t\t// backgroundColor: theme.palette.primary.main,\n\t\t// paddingLeft: theme.spacing(2),\n\t\tboxSizing: \"border-box\",\n\t\tzIndex: 100,\n\t\t// color: \"white\"\n\t\t// boxShadow: \"0px 0px 2px 2px lightgrey\"\n\t},\n\t\"logo\": {\n\t\theight: 50,\n\t\tmarginRight: 50,\n\t\t[theme.breakpoints.down('md')]: {\n\t\t\tmarginRight: 20,\n\t\t\twidth: 60,\n\t\t\tmarginLeft: 10\n\t\t}\n\t}\n})\n\nexport default withStyles(styles)(Navbar);","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n Button,\n} from '@material-ui/core';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { ArrowForward, PlayCircleOutline } from '@material-ui/icons';\nimport CustomCard from '../../commons/CustomCard/CustomCard';\n\n\nimport LinkBanner from '../../static/link_banner.png';\nimport ButtonBanner from '../../static/button_banner.png';\n// import Explosion from '../../static/explosion.gif';\nimport MainBanner from '../../static/store.png';\nimport IntegrationBanner from \"../../static/integration_banner.png\";\nimport Navbar from '../../commons/Navbar/Navbar';\n\nclass HomePage extends Component {\n constructor(props: Props) {\n super(props);\n this.state = {\n name: '',\n main: '',\n };\n }\n render(): React.ReactElement {\n const { classes } = this.props;\n return (\n <>\n \n
\n
\n
\n
\n \n \n {/* Put all content in here */}\n \n \n \n Tools that Drive Users to Whatsapp\n \n \n \n \n Create Unlimited FREE Whatsapp Links and URL Personalised Button for Website\n \n \n {/* \n \n \n \n \n \n */}\n \n \n \n
\n
\n \n \n {/* Put all content in here */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* */}\n {/* */}\n {/* Put all content in here */}\n {/* \n \n \n \n \n \n Explore our Marketplace Integrations\n \n \n Extend your existing marketing channels to WhatsApp\n \n \n \n \n */}\n {/* */}\n {/* */}\n
\n \n );\n }\n}\n\ninterface cState {\n main: string;\n name: string;\n}\n\ninterface Props extends WithStyles {\n name: string;\n work: string;\n componentId: number;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n height: '100%',\n width: '100%',\n backgroundColor: 'white',\n minHeight: '100vh',\n },\n ctaContainer: {\n width: '100%',\n position: 'relative',\n boxSizing: 'border-box',\n // backgroundImage: `url('${Explosion}')`,\n backgroundSize: 'contain',\n backgroundPosition: 'center',\n margin: \"0% 0% 0% 0%\",\n padding: '4% 0% 0% 0%',\n // backgroundColor: '#EBF5F3',\n height: '30vh',\n // color: \"white\",\n [theme.breakpoints.down('sm')]: {\n // height: \"60vh\",\n marginTop: \"5%\",\n padding:`15px 15px`\n }\n },\n overlay: {\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n left: 0,\n top: 0,\n background: \"#bbc1b754\",\n zIndex: 0,\n display: \"none\"\n },\n banner: {\n display: \"inline-block\",\n height: 240,\n width: \"100%\",\n background: \"rgb(245, 245, 245)\",\n // borderRadius: \"8px\",\n overflow: \"hidden\",\n // border: \"2px solid #0a474c\",\n marginBottom: 30\n },\n integrationBanner: {\n maxHeight: \"400px\",\n [theme.breakpoints.down('sm')]: {\n maxHeight: \"300px\"\n }\n },\n mainBanner: {\n height: \"200px\"\n },\n hrefBtn: {\n color: `${theme.palette.primary.main} !important`\n },\n integrationsSection: {\n padding: \"6% 0%\"\n }\n // \"signupForm\": {\n // \tborderRadius: 15,\n // \tbackgroundColor: theme.palette.primary.main,\n // \tcolor: \"white\",\n // \tmarginTop: \"10vh\",\n // \theight: \"30vh\"\n // }\n });\n\nexport default withStyles(styles)(HomePage);\n","import React, { Component } from 'react';\nimport { \n\twithStyles, \n\tBox, \n\tGrid, \n\tWithStyles, \n\tTheme, \n\tcreateStyles, \n\tTypography,\n\tTextField,\n\tButton,\n} from '@material-ui/core';\nimport { AccountCircle, Send } from '@material-ui/icons';\n\nclass MobileMock extends Component {\n\tstatic defaultProps = {\n\t\tname: \"\",\n\t}\n\tstate = {\n\t\tcountryCode: \"\",\n\t\tname: this.props.name\n\t}\n\tasync componentDidMount(): Promise {\n\t\tconst clientId = \"\"\n\t}\n\trender(): React.ReactElement {\n const { classes } = this.props\n\t\treturn (\n\t\t\t
\n
\n
\n \n \n \n \n \n \n {this.props.countryCode} {this.props.phoneNumber}\n \n \n\n \n
\n {\n !this.props.previewMsg && this.props.msg?\n
\n \n {this.props.msg}\n \n
\n : \"\"\n }\n
\n \n \n \n \n \n \n \n \n
\n
\n
\n )\n }\n}\n\n\ninterface Props extends WithStyles {\n\tname: string,\n previewMsg: boolean,\n msg: string,\n phoneNumber: string,\n countryCode: string\n\t// number: string\n}\n\ninterface cState {\n\tcountryCode: string,\n\tname: string\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\twidth: \"100%\",\n maxWidth: 280,\n height: 500,\n\t\tbackgroundColor: \"white\",\n\t\tboxSizing: \"border-box\",\n\t\tborderRadius: 8,\n border: \"1px solid rgb(0, 0, 0, 0.2)\",\n marginBottom: 10,\n padding: \"12px 10px 16px 10px\",\n\t},\n \"screen\": {\n width: \"100%\",\n background: \"#ece5dd\",\n height: \"100%\",\n position: \"relative\",\n overflowX: \"hidden\",\n overflowY: \"auto\"\n // borderRadius: 8\n },\n \"windowBar\": {\n height: 45,\n width: \"100%\",\n position: \"absolute\",\n top: 0,\n left: 0,\n backgroundColor: \"#f0f1f2\",\n },\n \"windowInputBar\": {\n height: 45,\n width: \"100%\",\n position: \"absolute\",\n bottom: 0,\n left: 0,\n backgroundColor: \"#f0f1f2\",\n },\n \"personIcon\": {\n fontSize: 30,\n color: \"#afafaf\",\n margin: \"0 10px\"\n },\n \"textInput\": {\n backgroundColor: \"white\",\n margin: \"0 8px\",\n borderRadius: \"20px\",\n height: 35,\n paddingTop: 4\n },\n \"msgContainer\": {\n borderRadius: 4,\n padding: 8,\n paddingLeft: \"10px\",\n position: \"absolute\",\n bottom: 50,\n right: 8,\n width: \"70%\",\n backgroundColor: \"#DCF8C6\",\n transition: \"1s\"\n }\n})\n\nexport default withStyles(styles)(MobileMock);","const dialCodes = [\n {\n \"name\": \"Afghanistan\",\n \"dialCode\": \"+93\",\n \"isoCode\": \"AF\"\n },\n {\n \"name\": \"Aland Islands\",\n \"dialCode\": \"+358\",\n \"isoCode\": \"AX\"\n },\n {\n \"name\": \"Albania\",\n \"dialCode\": \"+355\",\n \"isoCode\": \"AL\"\n },\n {\n \"name\": \"Algeria\",\n \"dialCode\": \"+213\",\n \"isoCode\": \"DZ\"\n },\n {\n \"name\": \"AmericanSamoa\",\n \"dialCode\": \"+1684\",\n \"isoCode\": \"AS\"\n },\n {\n \"name\": \"Andorra\",\n \"dialCode\": \"+376\",\n \"isoCode\": \"AD\"\n },\n {\n \"name\": \"Angola\",\n \"dialCode\": \"+244\",\n \"isoCode\": \"AO\"\n },\n {\n \"name\": \"Anguilla\",\n \"dialCode\": \"+1264\",\n \"isoCode\": \"AI\"\n },\n {\n \"name\": \"Antarctica\",\n \"dialCode\": \"+672\",\n \"isoCode\": \"AQ\"\n },\n {\n \"name\": \"Antigua and Barbuda\",\n \"dialCode\": \"+1268\",\n \"isoCode\": \"AG\"\n },\n {\n \"name\": \"Argentina\",\n \"dialCode\": \"+54\",\n \"isoCode\": \"AR\"\n },\n {\n \"name\": \"Armenia\",\n \"dialCode\": \"+374\",\n \"isoCode\": \"AM\"\n },\n {\n \"name\": \"Aruba\",\n \"dialCode\": \"+297\",\n \"isoCode\": \"AW\"\n },\n {\n \"name\": \"Ascension Island\",\n \"dialCode\": \"+247\",\n \"isoCode\": \"AC\"\n },\n {\n \"name\": \"Australia\",\n \"dialCode\": \"+61\",\n \"isoCode\": \"AU\"\n },\n {\n \"name\": \"Austria\",\n \"dialCode\": \"+43\",\n \"isoCode\": \"AT\"\n },\n {\n \"name\": \"Azerbaijan\",\n \"dialCode\": \"+994\",\n \"isoCode\": \"AZ\"\n },\n {\n \"name\": \"Bahamas\",\n \"dialCode\": \"+1242\",\n \"isoCode\": \"BS\"\n },\n {\n \"name\": \"Bahrain\",\n \"dialCode\": \"+973\",\n \"isoCode\": \"BH\"\n },\n {\n \"name\": \"Bangladesh\",\n \"dialCode\": \"+880\",\n \"isoCode\": \"BD\"\n },\n {\n \"name\": \"Barbados\",\n \"dialCode\": \"+1246\",\n \"isoCode\": \"BB\"\n },\n {\n \"name\": \"Belarus\",\n \"dialCode\": \"+375\",\n \"isoCode\": \"BY\"\n },\n {\n \"name\": \"Belgium\",\n \"dialCode\": \"+32\",\n \"isoCode\": \"BE\"\n },\n {\n \"name\": \"Belize\",\n \"dialCode\": \"+501\",\n \"isoCode\": \"BZ\"\n },\n {\n \"name\": \"Benin\",\n \"dialCode\": \"+229\",\n \"isoCode\": \"BJ\"\n },\n {\n \"name\": \"Bermuda\",\n \"dialCode\": \"+1441\",\n \"isoCode\": \"BM\"\n },\n {\n \"name\": \"Bhutan\",\n \"dialCode\": \"+975\",\n \"isoCode\": \"BT\"\n },\n {\n \"name\": \"Bolivia\",\n \"dialCode\": \"+591\",\n \"isoCode\": \"BO\"\n },\n {\n \"name\": \"Bosnia and Herzegovina\",\n \"dialCode\": \"+387\",\n \"isoCode\": \"BA\"\n },\n {\n \"name\": \"Botswana\",\n \"dialCode\": \"+267\",\n \"isoCode\": \"BW\"\n },\n {\n \"name\": \"Brazil\",\n \"dialCode\": \"+55\",\n \"isoCode\": \"BR\"\n },\n {\n \"name\": \"British Indian Ocean Territory\",\n \"dialCode\": \"+246\",\n \"isoCode\": \"IO\"\n },\n {\n \"name\": \"Brunei Darussalam\",\n \"dialCode\": \"+673\",\n \"isoCode\": \"BN\"\n },\n {\n \"name\": \"Bulgaria\",\n \"dialCode\": \"+359\",\n \"isoCode\": \"BG\"\n },\n {\n \"name\": \"Burkina Faso\",\n \"dialCode\": \"+226\",\n \"isoCode\": \"BF\"\n },\n {\n \"name\": \"Burundi\",\n \"dialCode\": \"+257\",\n \"isoCode\": \"BI\"\n },\n {\n \"name\": \"Cambodia\",\n \"dialCode\": \"+855\",\n \"isoCode\": \"KH\"\n },\n {\n \"name\": \"Cameroon\",\n \"dialCode\": \"+237\",\n \"isoCode\": \"CM\"\n },\n {\n \"name\": \"Canada\",\n \"dialCode\": \"+1\",\n \"isoCode\": \"CA\"\n },\n {\n \"name\": \"Cape Verde\",\n \"dialCode\": \"+238\",\n \"isoCode\": \"CV\"\n },\n {\n \"name\": \"Cayman Islands\",\n \"dialCode\": \"+1345\",\n \"isoCode\": \"KY\"\n },\n {\n \"name\": \"Central African Republic\",\n \"dialCode\": \"+236\",\n \"isoCode\": \"CF\"\n },\n {\n \"name\": \"Chad\",\n \"dialCode\": \"+235\",\n \"isoCode\": \"TD\"\n },\n {\n \"name\": \"Chile\",\n \"dialCode\": \"+56\",\n \"isoCode\": \"CL\"\n },\n {\n \"name\": \"China\",\n \"dialCode\": \"+86\",\n \"isoCode\": \"CN\"\n },\n {\n \"name\": \"Christmas Island\",\n \"dialCode\": \"+61\",\n \"isoCode\": \"CX\"\n },\n {\n \"name\": \"Cocos (Keeling) Islands\",\n \"dialCode\": \"+61\",\n \"isoCode\": \"CC\"\n },\n {\n \"name\": \"Colombia\",\n \"dialCode\": \"+57\",\n \"isoCode\": \"CO\"\n },\n {\n \"name\": \"Comoros\",\n \"dialCode\": \"+269\",\n \"isoCode\": \"KM\"\n },\n {\n \"name\": \"Congo\",\n \"dialCode\": \"+242\",\n \"isoCode\": \"CG\"\n },\n {\n \"name\": \"Cook Islands\",\n \"dialCode\": \"+682\",\n \"isoCode\": \"CK\"\n },\n {\n \"name\": \"Costa Rica\",\n \"dialCode\": \"+506\",\n \"isoCode\": \"CR\"\n },\n {\n \"name\": \"Croatia\",\n \"dialCode\": \"+385\",\n \"isoCode\": \"HR\"\n },\n {\n \"name\": \"Cuba\",\n \"dialCode\": \"+53\",\n \"isoCode\": \"CU\"\n },\n {\n \"name\": \"Cyprus\",\n \"dialCode\": \"+357\",\n \"isoCode\": \"CY\"\n },\n {\n \"name\": \"Czech Republic\",\n \"dialCode\": \"+420\",\n \"isoCode\": \"CZ\"\n },\n {\n \"name\": \"Democratic Republic of the Congo\",\n \"dialCode\": \"+243\",\n \"isoCode\": \"CD\"\n },\n {\n \"name\": \"Denmark\",\n \"dialCode\": \"+45\",\n \"isoCode\": \"DK\"\n },\n {\n \"name\": \"Djibouti\",\n \"dialCode\": \"+253\",\n \"isoCode\": \"DJ\"\n },\n {\n \"name\": \"Dominica\",\n \"dialCode\": \"+1767\",\n \"isoCode\": \"DM\"\n },\n {\n \"name\": \"Dominican Republic\",\n \"dialCode\": \"+1849\",\n \"isoCode\": \"DO\"\n },\n {\n \"name\": \"Ecuador\",\n \"dialCode\": \"+593\",\n \"isoCode\": \"EC\"\n },\n {\n \"name\": \"Egypt\",\n \"dialCode\": \"+20\",\n \"isoCode\": \"EG\"\n },\n {\n \"name\": \"El Salvador\",\n \"dialCode\": \"+503\",\n \"isoCode\": \"SV\"\n },\n {\n \"name\": \"Equatorial Guinea\",\n \"dialCode\": \"+240\",\n \"isoCode\": \"GQ\"\n },\n {\n \"name\": \"Eritrea\",\n \"dialCode\": \"+291\",\n \"isoCode\": \"ER\"\n },\n {\n \"name\": \"Estonia\",\n \"dialCode\": \"+372\",\n \"isoCode\": \"EE\"\n },\n {\n \"name\": \"Eswatini\",\n \"dialCode\": \"+268\",\n \"isoCode\": \"SZ\"\n },\n {\n \"name\": \"Ethiopia\",\n \"dialCode\": \"+251\",\n \"isoCode\": \"ET\"\n },\n {\n \"name\": \"Falkland Islands (Malvinas)\",\n \"dialCode\": \"+500\",\n \"isoCode\": \"FK\"\n },\n {\n \"name\": \"Faroe Islands\",\n \"dialCode\": \"+298\",\n \"isoCode\": \"FO\"\n },\n {\n \"name\": \"Fiji\",\n \"dialCode\": \"+679\",\n \"isoCode\": \"FJ\"\n },\n {\n \"name\": \"Finland\",\n \"dialCode\": \"+358\",\n \"isoCode\": \"FI\"\n },\n {\n \"name\": \"France\",\n \"dialCode\": \"+33\",\n \"isoCode\": \"FR\"\n },\n {\n \"name\": \"French Guiana\",\n \"dialCode\": \"+594\",\n \"isoCode\": \"GF\"\n },\n {\n \"name\": \"French Polynesia\",\n \"dialCode\": \"+689\",\n \"isoCode\": \"PF\"\n },\n {\n \"name\": \"Gabon\",\n \"dialCode\": \"+241\",\n \"isoCode\": \"GA\"\n },\n {\n \"name\": \"Gambia\",\n \"dialCode\": \"+220\",\n \"isoCode\": \"GM\"\n },\n {\n \"name\": \"Georgia\",\n \"dialCode\": \"+995\",\n \"isoCode\": \"GE\"\n },\n {\n \"name\": \"Germany\",\n \"dialCode\": \"+49\",\n \"isoCode\": \"DE\"\n },\n {\n \"name\": \"Ghana\",\n \"dialCode\": \"+233\",\n \"isoCode\": \"GH\"\n },\n {\n \"name\": \"Gibraltar\",\n \"dialCode\": \"+350\",\n \"isoCode\": \"GI\"\n },\n {\n \"name\": \"Greece\",\n \"dialCode\": \"+30\",\n \"isoCode\": \"GR\"\n },\n {\n \"name\": \"Greenland\",\n \"dialCode\": \"+299\",\n \"isoCode\": \"GL\"\n },\n {\n \"name\": \"Grenada\",\n \"dialCode\": \"+1473\",\n \"isoCode\": \"GD\"\n },\n {\n \"name\": \"Guadeloupe\",\n \"dialCode\": \"+590\",\n \"isoCode\": \"GP\"\n },\n {\n \"name\": \"Guam\",\n \"dialCode\": \"+1671\",\n \"isoCode\": \"GU\"\n },\n {\n \"name\": \"Guatemala\",\n \"dialCode\": \"+502\",\n \"isoCode\": \"GT\"\n },\n {\n \"name\": \"Guernsey\",\n \"dialCode\": \"+44\",\n \"isoCode\": \"GG\"\n },\n {\n \"name\": \"Guinea\",\n \"dialCode\": \"+224\",\n \"isoCode\": \"GN\"\n },\n {\n \"name\": \"Guinea-Bissau\",\n \"dialCode\": \"+245\",\n \"isoCode\": \"GW\"\n },\n {\n \"name\": \"Guyana\",\n \"dialCode\": \"+592\",\n \"isoCode\": \"GY\"\n },\n {\n \"name\": \"Haiti\",\n \"dialCode\": \"+509\",\n \"isoCode\": \"HT\"\n },\n {\n \"name\": \"Holy See (Vatican City State)\",\n \"dialCode\": \"+379\",\n \"isoCode\": \"VA\"\n },\n {\n \"name\": \"Honduras\",\n \"dialCode\": \"+504\",\n \"isoCode\": \"HN\"\n },\n {\n \"name\": \"Hong Kong\",\n \"dialCode\": \"+852\",\n \"isoCode\": \"HK\"\n },\n {\n \"name\": \"Hungary\",\n \"dialCode\": \"+36\",\n \"isoCode\": \"HU\"\n },\n {\n \"name\": \"Iceland\",\n \"dialCode\": \"+354\",\n \"isoCode\": \"IS\"\n },\n {\n \"name\": \"India\",\n \"dialCode\": \"+91\",\n \"isoCode\": \"IN\"\n },\n {\n \"name\": \"Indonesia\",\n \"dialCode\": \"+62\",\n \"isoCode\": \"ID\"\n },\n {\n \"name\": \"Iran\",\n \"dialCode\": \"+98\",\n \"isoCode\": \"IR\"\n },\n {\n \"name\": \"Iraq\",\n \"dialCode\": \"+964\",\n \"isoCode\": \"IQ\"\n },\n {\n \"name\": \"Ireland\",\n \"dialCode\": \"+353\",\n \"isoCode\": \"IE\"\n },\n {\n \"name\": \"Isle of Man\",\n \"dialCode\": \"+44\",\n \"isoCode\": \"IM\"\n },\n {\n \"name\": \"Israel\",\n \"dialCode\": \"+972\",\n \"isoCode\": \"IL\"\n },\n {\n \"name\": \"Italy\",\n \"dialCode\": \"+39\",\n \"isoCode\": \"IT\"\n },\n {\n \"name\": \"Ivory Coast / Cote d'Ivoire\",\n \"dialCode\": \"+225\",\n \"isoCode\": \"CI\"\n },\n {\n \"name\": \"Jamaica\",\n \"dialCode\": \"+1876\",\n \"isoCode\": \"JM\"\n },\n {\n \"name\": \"Japan\",\n \"dialCode\": \"+81\",\n \"isoCode\": \"JP\"\n },\n {\n \"name\": \"Jersey\",\n \"dialCode\": \"+44\",\n \"isoCode\": \"JE\"\n },\n {\n \"name\": \"Jordan\",\n \"dialCode\": \"+962\",\n \"isoCode\": \"JO\"\n },\n {\n \"name\": \"Kazakhstan\",\n \"dialCode\": \"+77\",\n \"isoCode\": \"KZ\"\n },\n {\n \"name\": \"Kenya\",\n \"dialCode\": \"+254\",\n \"isoCode\": \"KE\"\n },\n {\n \"name\": \"Kiribati\",\n \"dialCode\": \"+686\",\n \"isoCode\": \"KI\"\n },\n {\n \"name\": \"Korea, Democratic People's Republic of Korea\",\n \"dialCode\": \"+850\",\n \"isoCode\": \"KP\"\n },\n {\n \"name\": \"Korea, Republic of South Korea\",\n \"dialCode\": \"+82\",\n \"isoCode\": \"KR\"\n },\n {\n \"name\": \"Kosovo\",\n \"dialCode\": \"+383\",\n \"isoCode\": \"XK\"\n },\n {\n \"name\": \"Kuwait\",\n \"dialCode\": \"+965\",\n \"isoCode\": \"KW\"\n },\n {\n \"name\": \"Kyrgyzstan\",\n \"dialCode\": \"+996\",\n \"isoCode\": \"KG\"\n },\n {\n \"name\": \"Laos\",\n \"dialCode\": \"+856\",\n \"isoCode\": \"LA\"\n },\n {\n \"name\": \"Latvia\",\n \"dialCode\": \"+371\",\n \"isoCode\": \"LV\"\n },\n {\n \"name\": \"Lebanon\",\n \"dialCode\": \"+961\",\n \"isoCode\": \"LB\"\n },\n {\n \"name\": \"Lesotho\",\n \"dialCode\": \"+266\",\n \"isoCode\": \"LS\"\n },\n {\n \"name\": \"Liberia\",\n \"dialCode\": \"+231\",\n \"isoCode\": \"LR\"\n },\n {\n \"name\": \"Libya\",\n \"dialCode\": \"+218\",\n \"isoCode\": \"LY\"\n },\n {\n \"name\": \"Liechtenstein\",\n \"dialCode\": \"+423\",\n \"isoCode\": \"LI\"\n },\n {\n \"name\": \"Lithuania\",\n \"dialCode\": \"+370\",\n \"isoCode\": \"LT\"\n },\n {\n \"name\": \"Luxembourg\",\n \"dialCode\": \"+352\",\n \"isoCode\": \"LU\"\n },\n {\n \"name\": \"Macau\",\n \"dialCode\": \"+853\",\n \"isoCode\": \"MO\"\n },\n {\n \"name\": \"Madagascar\",\n \"dialCode\": \"+261\",\n \"isoCode\": \"MG\"\n },\n {\n \"name\": \"Malawi\",\n \"dialCode\": \"+265\",\n \"isoCode\": \"MW\"\n },\n {\n \"name\": \"Malaysia\",\n \"dialCode\": \"+60\",\n \"isoCode\": \"MY\"\n },\n {\n \"name\": \"Maldives\",\n \"dialCode\": \"+960\",\n \"isoCode\": \"MV\"\n },\n {\n \"name\": \"Mali\",\n \"dialCode\": \"+223\",\n \"isoCode\": \"ML\"\n },\n {\n \"name\": \"Malta\",\n \"dialCode\": \"+356\",\n \"isoCode\": \"MT\"\n },\n {\n \"name\": \"Marshall Islands\",\n \"dialCode\": \"+692\",\n \"isoCode\": \"MH\"\n },\n {\n \"name\": \"Martinique\",\n \"dialCode\": \"+596\",\n \"isoCode\": \"MQ\"\n },\n {\n \"name\": \"Mauritania\",\n \"dialCode\": \"+222\",\n \"isoCode\": \"MR\"\n },\n {\n \"name\": \"Mauritius\",\n \"dialCode\": \"+230\",\n \"isoCode\": \"MU\"\n },\n {\n \"name\": \"Mayotte\",\n \"dialCode\": \"+262\",\n \"isoCode\": \"YT\"\n },\n {\n \"name\": \"Mexico\",\n \"dialCode\": \"+52\",\n \"isoCode\": \"MX\"\n },\n {\n \"name\": \"Micronesia, Federated States of Micronesia\",\n \"dialCode\": \"+691\",\n \"isoCode\": \"FM\"\n },\n {\n \"name\": \"Moldova\",\n \"dialCode\": \"+373\",\n \"isoCode\": \"MD\"\n },\n {\n \"name\": \"Monaco\",\n \"dialCode\": \"+377\",\n \"isoCode\": \"MC\"\n },\n {\n \"name\": \"Mongolia\",\n \"dialCode\": \"+976\",\n \"isoCode\": \"MN\"\n },\n {\n \"name\": \"Montenegro\",\n \"dialCode\": \"+382\",\n \"isoCode\": \"ME\"\n },\n {\n \"name\": \"Montserrat\",\n \"dialCode\": \"+1664\",\n \"isoCode\": \"MS\"\n },\n {\n \"name\": \"Morocco\",\n \"dialCode\": \"+212\",\n \"isoCode\": \"MA\"\n },\n {\n \"name\": \"Mozambique\",\n \"dialCode\": \"+258\",\n \"isoCode\": \"MZ\"\n },\n {\n \"name\": \"Myanmar\",\n \"dialCode\": \"+95\",\n \"isoCode\": \"MM\"\n },\n {\n \"name\": \"Namibia\",\n \"dialCode\": \"+264\",\n \"isoCode\": \"NA\"\n },\n {\n \"name\": \"Nauru\",\n \"dialCode\": \"+674\",\n \"isoCode\": \"NR\"\n },\n {\n \"name\": \"Nepal\",\n \"dialCode\": \"+977\",\n \"isoCode\": \"NP\"\n },\n {\n \"name\": \"Netherlands\",\n \"dialCode\": \"+31\",\n \"isoCode\": \"NL\"\n },\n {\n \"name\": \"Netherlands Antilles\",\n \"dialCode\": \"+599\",\n \"isoCode\": \"AN\"\n },\n {\n \"name\": \"New Caledonia\",\n \"dialCode\": \"+687\",\n \"isoCode\": \"NC\"\n },\n {\n \"name\": \"New Zealand\",\n \"dialCode\": \"+64\",\n \"isoCode\": \"NZ\"\n },\n {\n \"name\": \"Nicaragua\",\n \"dialCode\": \"+505\",\n \"isoCode\": \"NI\"\n },\n {\n \"name\": \"Niger\",\n \"dialCode\": \"+227\",\n \"isoCode\": \"NE\"\n },\n {\n \"name\": \"Nigeria\",\n \"dialCode\": \"+234\",\n \"isoCode\": \"NG\"\n },\n {\n \"name\": \"Niue\",\n \"dialCode\": \"+683\",\n \"isoCode\": \"NU\"\n },\n {\n \"name\": \"Norfolk Island\",\n \"dialCode\": \"+672\",\n \"isoCode\": \"NF\"\n },\n {\n \"name\": \"North Macedonia\",\n \"dialCode\": \"+389\",\n \"isoCode\": \"MK\"\n },\n {\n \"name\": \"Northern Mariana Islands\",\n \"dialCode\": \"+1670\",\n \"isoCode\": \"MP\"\n },\n {\n \"name\": \"Norway\",\n \"dialCode\": \"+47\",\n \"isoCode\": \"NO\"\n },\n {\n \"name\": \"Oman\",\n \"dialCode\": \"+968\",\n \"isoCode\": \"OM\"\n },\n {\n \"name\": \"Pakistan\",\n \"dialCode\": \"+92\",\n \"isoCode\": \"PK\"\n },\n {\n \"name\": \"Palau\",\n \"dialCode\": \"+680\",\n \"isoCode\": \"PW\"\n },\n {\n \"name\": \"Palestine\",\n \"dialCode\": \"+970\",\n \"isoCode\": \"PS\"\n },\n {\n \"name\": \"Panama\",\n \"dialCode\": \"+507\",\n \"isoCode\": \"PA\"\n },\n {\n \"name\": \"Papua New Guinea\",\n \"dialCode\": \"+675\",\n \"isoCode\": \"PG\"\n },\n {\n \"name\": \"Paraguay\",\n \"dialCode\": \"+595\",\n \"isoCode\": \"PY\"\n },\n {\n \"name\": \"Peru\",\n \"dialCode\": \"+51\",\n \"isoCode\": \"PE\"\n },\n {\n \"name\": \"Philippines\",\n \"dialCode\": \"+63\",\n \"isoCode\": \"PH\"\n },\n {\n \"name\": \"Pitcairn\",\n \"dialCode\": \"+872\",\n \"isoCode\": \"PN\"\n },\n {\n \"name\": \"Poland\",\n \"dialCode\": \"+48\",\n \"isoCode\": \"PL\"\n },\n {\n \"name\": \"Portugal\",\n \"dialCode\": \"+351\",\n \"isoCode\": \"PT\"\n },\n {\n \"name\": \"Puerto Rico\",\n \"dialCode\": \"+1939\",\n \"isoCode\": \"PR\"\n },\n {\n \"name\": \"Qatar\",\n \"dialCode\": \"+974\",\n \"isoCode\": \"QA\"\n },\n {\n \"name\": \"Reunion\",\n \"dialCode\": \"+262\",\n \"isoCode\": \"RE\"\n },\n {\n \"name\": \"Romania\",\n \"dialCode\": \"+40\",\n \"isoCode\": \"RO\"\n },\n {\n \"name\": \"Russia\",\n \"dialCode\": \"+7\",\n \"isoCode\": \"RU\"\n },\n {\n \"name\": \"Rwanda\",\n \"dialCode\": \"+250\",\n \"isoCode\": \"RW\"\n },\n {\n \"name\": \"Saint Barthelemy\",\n \"dialCode\": \"+590\",\n \"isoCode\": \"BL\"\n },\n {\n \"name\": \"Saint Helena, Ascension and Tristan Da Cunha\",\n \"dialCode\": \"+290\",\n \"isoCode\": \"SH\"\n },\n {\n \"name\": \"Saint Kitts and Nevis\",\n \"dialCode\": \"+1869\",\n \"isoCode\": \"KN\"\n },\n {\n \"name\": \"Saint Lucia\",\n \"dialCode\": \"+1758\",\n \"isoCode\": \"LC\"\n },\n {\n \"name\": \"Saint Martin\",\n \"dialCode\": \"+590\",\n \"isoCode\": \"MF\"\n },\n {\n \"name\": \"Saint Pierre and Miquelon\",\n \"dialCode\": \"+508\",\n \"isoCode\": \"PM\"\n },\n {\n \"name\": \"Saint Vincent and the Grenadines\",\n \"dialCode\": \"+1784\",\n \"isoCode\": \"VC\"\n },\n {\n \"name\": \"Samoa\",\n \"dialCode\": \"+685\",\n \"isoCode\": \"WS\"\n },\n {\n \"name\": \"San Marino\",\n \"dialCode\": \"+378\",\n \"isoCode\": \"SM\"\n },\n {\n \"name\": \"Sao Tome and Principe\",\n \"dialCode\": \"+239\",\n \"isoCode\": \"ST\"\n },\n {\n \"name\": \"Saudi Arabia\",\n \"dialCode\": \"+966\",\n \"isoCode\": \"SA\"\n },\n {\n \"name\": \"Senegal\",\n \"dialCode\": \"+221\",\n \"isoCode\": \"SN\"\n },\n {\n \"name\": \"Serbia\",\n \"dialCode\": \"+381\",\n \"isoCode\": \"RS\"\n },\n {\n \"name\": \"Seychelles\",\n \"dialCode\": \"+248\",\n \"isoCode\": \"SC\"\n },\n {\n \"name\": \"Sierra Leone\",\n \"dialCode\": \"+232\",\n \"isoCode\": \"SL\"\n },\n {\n \"name\": \"Singapore\",\n \"dialCode\": \"+65\",\n \"isoCode\": \"SG\"\n },\n {\n \"name\": \"Sint Maarten\",\n \"dialCode\": \"+1721\",\n \"isoCode\": \"SX\"\n },\n {\n \"name\": \"Slovakia\",\n \"dialCode\": \"+421\",\n \"isoCode\": \"SK\"\n },\n {\n \"name\": \"Slovenia\",\n \"dialCode\": \"+386\",\n \"isoCode\": \"SI\"\n },\n {\n \"name\": \"Solomon Islands\",\n \"dialCode\": \"+677\",\n \"isoCode\": \"SB\"\n },\n {\n \"name\": \"Somalia\",\n \"dialCode\": \"+252\",\n \"isoCode\": \"SO\"\n },\n {\n \"name\": \"South Africa\",\n \"dialCode\": \"+27\",\n \"isoCode\": \"ZA\"\n },\n {\n \"name\": \"South Georgia and the South Sandwich Islands\",\n \"dialCode\": \"+500\",\n \"isoCode\": \"GS\"\n },\n {\n \"name\": \"South Sudan\",\n \"dialCode\": \"+211\",\n \"isoCode\": \"SS\"\n },\n {\n \"name\": \"Spain\",\n \"dialCode\": \"+34\",\n \"isoCode\": \"ES\"\n },\n {\n \"name\": \"Sri Lanka\",\n \"dialCode\": \"+94\",\n \"isoCode\": \"LK\"\n },\n {\n \"name\": \"Sudan\",\n \"dialCode\": \"+249\",\n \"isoCode\": \"SD\"\n },\n {\n \"name\": \"Suriname\",\n \"dialCode\": \"+597\",\n \"isoCode\": \"SR\"\n },\n {\n \"name\": \"Svalbard and Jan Mayen\",\n \"dialCode\": \"+47\",\n \"isoCode\": \"SJ\"\n },\n {\n \"name\": \"Sweden\",\n \"dialCode\": \"+46\",\n \"isoCode\": \"SE\"\n },\n {\n \"name\": \"Switzerland\",\n \"dialCode\": \"+41\",\n \"isoCode\": \"CH\"\n },\n {\n \"name\": \"Syrian Arab Republic\",\n \"dialCode\": \"+963\",\n \"isoCode\": \"SY\"\n },\n {\n \"name\": \"Taiwan\",\n \"dialCode\": \"+886\",\n \"isoCode\": \"TW\"\n },\n {\n \"name\": \"Tajikistan\",\n \"dialCode\": \"+992\",\n \"isoCode\": \"TJ\"\n },\n {\n \"name\": \"Tanzania, United Republic of Tanzania\",\n \"dialCode\": \"+255\",\n \"isoCode\": \"TZ\"\n },\n {\n \"name\": \"Thailand\",\n \"dialCode\": \"+66\",\n \"isoCode\": \"TH\"\n },\n {\n \"name\": \"Timor-Leste\",\n \"dialCode\": \"+670\",\n \"isoCode\": \"TL\"\n },\n {\n \"name\": \"Togo\",\n \"dialCode\": \"+228\",\n \"isoCode\": \"TG\"\n },\n {\n \"name\": \"Tokelau\",\n \"dialCode\": \"+690\",\n \"isoCode\": \"TK\"\n },\n {\n \"name\": \"Tonga\",\n \"dialCode\": \"+676\",\n \"isoCode\": \"TO\"\n },\n {\n \"name\": \"Trinidad and Tobago\",\n \"dialCode\": \"+1868\",\n \"isoCode\": \"TT\"\n },\n {\n \"name\": \"Tunisia\",\n \"dialCode\": \"+216\",\n \"isoCode\": \"TN\"\n },\n {\n \"name\": \"Turkey\",\n \"dialCode\": \"+90\",\n \"isoCode\": \"TR\"\n },\n {\n \"name\": \"Turkmenistan\",\n \"dialCode\": \"+993\",\n \"isoCode\": \"TM\"\n },\n {\n \"name\": \"Turks and Caicos Islands\",\n \"dialCode\": \"+1649\",\n \"isoCode\": \"TC\"\n },\n {\n \"name\": \"Tuvalu\",\n \"dialCode\": \"+688\",\n \"isoCode\": \"TV\"\n },\n {\n \"name\": \"Uganda\",\n \"dialCode\": \"+256\",\n \"isoCode\": \"UG\"\n },\n {\n \"name\": \"Ukraine\",\n \"dialCode\": \"+380\",\n \"isoCode\": \"UA\"\n },\n {\n \"name\": \"United Arab Emirates\",\n \"dialCode\": \"+971\",\n \"isoCode\": \"AE\"\n },\n {\n \"name\": \"United Kingdom\",\n \"dialCode\": \"+44\",\n \"isoCode\": \"GB\"\n },\n {\n \"name\": \"United States\",\n \"dialCode\": \"+1\",\n \"isoCode\": \"US\"\n },\n {\n \"name\": \"Uruguay\",\n \"dialCode\": \"+598\",\n \"isoCode\": \"UY\"\n },\n {\n \"name\": \"Uzbekistan\",\n \"dialCode\": \"+998\",\n \"isoCode\": \"UZ\"\n },\n {\n \"name\": \"Vanuatu\",\n \"dialCode\": \"+678\",\n \"isoCode\": \"VU\"\n },\n {\n \"name\": \"Venezuela, Bolivarian Republic of Venezuela\",\n \"dialCode\": \"+58\",\n \"isoCode\": \"VE\"\n },\n {\n \"name\": \"Vietnam\",\n \"dialCode\": \"+84\",\n \"isoCode\": \"VN\"\n },\n {\n \"name\": \"Virgin Islands, British\",\n \"dialCode\": \"+1284\",\n \"isoCode\": \"VG\"\n },\n {\n \"name\": \"Virgin Islands, U.S.\",\n \"dialCode\": \"+1340\",\n \"isoCode\": \"VI\"\n },\n {\n \"name\": \"Wallis and Futuna\",\n \"dialCode\": \"+681\",\n \"isoCode\": \"WF\"\n },\n {\n \"name\": \"Yemen\",\n \"dialCode\": \"+967\",\n \"isoCode\": \"YE\"\n },\n {\n \"name\": \"Zambia\",\n \"dialCode\": \"+260\",\n \"isoCode\": \"ZM\"\n },\n {\n \"name\": \"Zimbabwe\",\n \"dialCode\": \"+263\",\n \"isoCode\": \"ZW\"\n }\n]\n\n\nexport default dialCodes","const URL =\n process.env.REACT_APP_LINK_GEN_BACKEND_URL ||\n (process.env.REACT_APP_NODE_ENV === 'production'\n ? 'https://wa.aisensy.com'\n : 'https://wa.aisensy.com');\n\nconst NO_LABEL_URL =\n process.env.REACT_APP_NO_LABEL_LINK_GEN_BACKEND_URL ||\n (process.env.REACT_APP_NODE_ENV === 'production'\n ? 'https://api-wa.co'\n : 'https://api-wa.co');\n\nconst GOOGLE_CLIENT_ID =\n process.env.REACT_APP_GOOGLE_CLIENT_ID ||\n '882865407668-dl8a107bcb65kl8ttqe8e6j2usu3cm40.apps.googleusercontent.com';\n\nconst TENANT_ID = process.env.REACT_APP_TENANT_ID;\n\nexport { URL, NO_LABEL_URL, GOOGLE_CLIENT_ID, TENANT_ID };\n","export const fallbackCopyTextToClipboard = (text: string): void => {\n console.log({text})\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n \n // Avoid scrolling to bottom\n textArea.style.top = \"0\";\n textArea.style.left = \"0\";\n textArea.style.position = \"fixed\";\n\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n try {\n const successful = document.execCommand('copy');\n console.log({successful})\n const msg = successful ? 'successful' : 'unsuccessful';\n console.log('Fallback: Copying text command was ' + msg);\n } catch (err) {\n console.error('Fallback: Oops, unable to copy', err);\n }\n\n document.body.removeChild(textArea);\n}\n\nexport const copyTextToClipboard = (text: string): void => {\n if (!navigator.clipboard) {\n fallbackCopyTextToClipboard(text);\n return;\n }\n navigator.clipboard.writeText(text).then(function() {\n console.log('Async: Copying to clipboard was successful!');\n }, function(err) {\n console.error('Async: Could not copy text: ', err);\n });\n}","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n Button,\n} from '@material-ui/core';\n// import QRCode from \"qrcode.react\";\nimport { QRCode } from 'react-qrcode-logo';\nimport { copyTextToClipboard } from '../../helpers/clipboard';\nimport { NO_LABEL_URL } from '../../config/config';\nconst WhatsAppImage =\n 'https://create.wa.link/static/WhatsApp-0e878a0fa68c61b06e781cee2e6bc71f.svg';\nconst AiSensyLogo =\n 'http://aisensy-superadmin.s3-website.ap-south-1.amazonaws.com/favicon.ico';\n\nclass LinkDialogContent extends Component {\n static defaultProps = {\n name: '',\n linkid: 'default value',\n };\n state = {\n countryCode: '',\n name: this.props.name,\n copied: false,\n };\n // async componentDidMount(): Promise {\n // const clientId = '';\n // }\n downloadQR = () => {\n const canvas = document.getElementById(\n 'react-qrcode-logo',\n ) as HTMLCanvasElement;\n if (canvas) {\n const pngUrl = canvas\n .toDataURL('image/png')\n .replace('image/png', 'image/octet-stream');\n const downloadLink = document.createElement('a');\n downloadLink.href = pngUrl;\n downloadLink.download = this.props.linkid + '.png';\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n }\n };\n clickToCopy = () => {\n const link = `${NO_LABEL_URL}/` + this.props.linkid;\n // navigator.clipboard.writeText(link);\n copyTextToClipboard(link);\n // Pop up alert that link has been copied to clipboard\n this.setState({ copied: true });\n };\n render(): React.ReactElement {\n const { classes } = this.props;\n return (\n
\n \n Here is your WhatsApp short link\n \n \n Copy and share it on your social media, website, emails or anywhere\n you want to be contacted instantly by your customers.\n \n \n \n \n \n \n \n \n \n {NO_LABEL_URL.split('https://')[1] + `/${this.props.linkid}`}\n \n \n \n \n \n \n \n \n {\n this.state.copied && (\n \n Link has been copied to clipboard !!\n \n )\n // (\n // \n // FREE !!- Track links & much more,{' '}\n // \n // Sign Up\n // {' '}\n // now\n // \n // )\n }\n \n \n {!this.state.copied ? (\n \n Copy URL\n \n ) : (\n \n )}\n \n \n \n Download QR\n \n \n \n {/* \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAccess premium features for FREE\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t */}\n
\n );\n }\n}\n\ninterface Props extends WithStyles {\n name: string;\n linkid: string;\n closeDialog: () => void;\n // number: string\n}\n\ninterface cState {\n countryCode: string;\n name: string;\n copied: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: '100%',\n minHeight: 500,\n backgroundColor: 'white',\n boxSizing: 'border-box',\n marginBottom: 10,\n padding: '20px',\n },\n whatsappimg: {\n height: 50,\n marginRight: 15,\n },\n });\n\nexport default withStyles(styles)(LinkDialogContent);\n","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n Button,\n Popover,\n} from '@material-ui/core';\n\nimport Picker, { IEmojiData } from 'emoji-picker-react';\n\nclass EPicker extends Component {\n static defaultProps = {\n color: 'AiSensy',\n fieldName: ''\n };\n state = {\n countryCode: '',\n name: this.props.color,\n copied: false,\n anchorEl: null\n };\n handleClick = (event: React.MouseEvent) => {\n this.setState({ anchorEl: event.currentTarget });\n }\n handleClose = () => {\n this.setState({ anchorEl: null });\n }\n emojiHandler = (event: React.MouseEvent, data: IEmojiData) => {\n this.props.setEmoji(event, data, this.props.fieldName );\n }\n // async componentDidMount(): Promise {}\n render(): React.ReactElement {\n const { classes } = this.props;\n const open = Boolean(this.state.anchorEl);\n const id = open ? 'simple-popover' : undefined;\n return (\n
\n
\n 😊\n
\n \n
\n {/* */}\n\t\t\t\t\t\t\n
\n \n
\n );\n }\n}\n\ninterface Props extends WithStyles {\n color: string;\n fieldName: string;\n setEmoji: (event: React.MouseEvent, data: IEmojiData, fieldName: string) => void;\n // number: string\n}\n\ninterface cState {\n countryCode: string;\n name: string;\n copied: boolean;\n anchorEl: HTMLDivElement | null\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: 20,\n height: 20,\n borderRadius: \"50%\",\n cursor: \"pointer\",\n // border: `1px solid ${theme.palette.primary.main}`,\n display: 'flex',\n justifyContent: \"center\",\n fontSize: 20,\n lineHeight: 1,\n\t\t\t// background: theme.palette.primary.main,\n boxShadow: \"rgb(0 0 0 / 20%) 0px 0px 0.428571rem 0px\",\n // color: 'white'\n },\n demopicker: {\n // width: 200,\n // height: 200,\n background: \"transparent\",\n overflow: \"hidden\"\n }\n });\n\nexport default withStyles(styles)(EPicker);\n","import React, {Component} from 'react';\nimport { \n\twithStyles, \n\tBox, \n\tGrid, \n\tWithStyles, \n\tTheme, \n\tcreateStyles, \n\tTypography,\n\tTextField,\n\tButton,\n\tInputAdornment,\n\tCircularProgress,\n\tDialog,\n} from '@material-ui/core';\nimport MobileMock from './MobileMock';\nimport { Autocomplete } from '@material-ui/lab';\nimport dialCodes from \"../../config/dialCodes\";\nimport axios, { AxiosError, AxiosResponse } from 'axios';\n \n\nimport { URL } from '../../config/config';\nimport LinkDialogContent from './LinkDialogContent';\nimport { PlayCircleOutline } from '@material-ui/icons';\nimport EPicker from '../../commons/EPicker/EPicker';\nimport { IEmojiData } from 'emoji-picker-react';\n\nlet timer: number;\nconst timeoutVal = 300;\n\nclass LinkGenerator extends Component {\n\tstatic defaultProps = {\n\t\tname: \"\"\n\t}\n\tprivate textarea: React.RefObject = React.createRef();\n\tstate = {\n\t\tcountry: \"India\",\n\t\tcountryCode: \"+91\",\n\t\tname: this.props.name,\n\t\tmsg: \"\",\n\t\tpreviewMsg: true,\n\t\tphoneNumber: \"\",\n\t\tisSubmitting: false,\n\t\terrmsg: \"\",\n\t\tlinkid: \"\"\n\t}\n\tasync componentDidMount(): Promise {\n\t\t// const clientId = \"\"\n\t\tconst typer: HTMLElement | null = document.getElementById('typer');\n\t\tif (typer) {\n\t\t\ttyper.addEventListener('keypress', this.handleKeyPress);\n\t\t\t// triggers a check to see if the user is actually done typing\n\t\t\ttyper.addEventListener('keyup', this.handleKeyUp);\n\t\t}\n\t}\n\thandleKeyUp = (e: KeyboardEvent) => {\n\t\twindow.clearTimeout(timer);\n\t\ttimer = window.setTimeout(() => {\n\t\t\tthis.setState({ previewMsg: false })\n\t\t}, timeoutVal);\n\t}\n\thandleKeyPress = (e: KeyboardEvent) => {\n\t\twindow.clearTimeout(timer);\n\t\tthis.setState({ previewMsg: true })\n\t}\n handleAutoComplete = (field: string, value: string, reason: string) => {\n if(reason == 'select-option') {\n this.setState({ country: value, countryCode: this.getDialCode(value) })\n }\n }\n getDialCode = (value: string) => {\n const result = dialCodes.find( e => e.name == value);\n\t\tif (result) {\n\t\t\treturn result.dialCode;\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n }\n\thandleCustomMsg = (e: React.ChangeEvent ) => {\n\t\tthis.setState({msg: e.target.value})\n\t}\n\thandlePhoneNumber = (e: React.ChangeEvent) => {\n\t\tthis.setState({phoneNumber: e.target.value.trim()})\n\t}\n\tgenerateLink = async (): Promise => {\n\t\ttry {\n\t\t\tconst { phoneNumber, msg, countryCode, country } = this.state;\n\t\t\tconst dialCode = dialCodes.find( e => e.name == country );\n\t\t\tconst isPhoneInvalid = this.formValidation();\n\t\t\t// if(isPhoneInvalid) {\n\t\t\t// \tthrow { errmsg: isPhoneInvalid };\n\t\t\t// }\n\t\t\tif(!dialCode) {\n\t\t\t\tthrow { message: \"Dial code doesn't exist\", type: \"ERR104\" }\t\t\t\t\n\t\t\t}\n\t\t\tthis.setState({ isSubmitting: !this.state.isSubmitting });\n\t\t\tconst data = {\n\t\t\t\t// As per as backend validator\n\t\t\t\tentityType: \"LINK\",\n\t\t\t\tlinkId: \"\",\n\t\t\t\tphoneNumber: countryCode.slice(1) + phoneNumber,\n\t\t\t\tprefilledMsg: msg,\n\t\t\t\tclientId: \"\",\n\t\t\t\tassistantId: \"\",\n\t\t\t\twhatsappBtnSettings: null\n\t\t\t}\n\t\t\ttype createResp = {\n\t\t\t\tlinkId: string\n\t\t\t}\n\t\t\t\n\t\t\tconst res = await axios.post(URL + '/create', data);\n\t\t\t// console.log(res);\n\t\t\tthis.setState({ \n\t\t\t\tlinkid: res.data.linkId, \n\t\t\t\tisSubmitting: false,\n\t\t\t\terrmsg: \"\" \n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.log(err)\n\t\t\ttype errResp = {\n\t\t\t\tmessage: string,\n\t\t\t\ttype: string\n\t\t\t};\n\t\t\t// Handle axios error\n\t\t\tif (err && err.response) {\n\t\t\t\tconst axiosError = err as AxiosError;\n\t\t\t\tthis.setState({\n\t\t\t\t\tisSubmitting: false,\n\t\t\t\t\terrmsg: \n\t\t\t\t\t\taxiosError.response?.data.message || \n\t\t\t\t\t\t\t\"Somethig went wrong, Try again !\" \n\t\t\t\t});\n\t\t\t\treturn \n\t\t\t}\n\t\t\t// Handle direct in-function error \n\t\t\tif (err && err.message) {\n\t\t\t\tthis.setState({\n\t\t\t\t\terrmsg: err.message,\n\t\t\t\t\tisSubmitting: false\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Fallback to generic message\n\t\t\tthis.setState({\n\t\t\t\terrmsg: \"Something went wrong, Try again !\",\n\t\t\t\tisSubmitting: false\n\t\t\t});\n\t\t}\n\t}\n\tformValidation = (): string => {\n\t\tconst { phoneNumber } = this.state;\n\t\tif(!phoneNumber) {\n\t\t\treturn \"Phone number can't be empty\";\n\t\t}\n\t\tif(isNaN(Number(phoneNumber))) {\n\t\t\treturn \"Only digits are allowed in phone number\"\n\t\t}\n\t\treturn \"\"\n\t}\n\tcloseDialog = () => {\n\t\tthis.setState({ linkid: \"\", phoneNumber: \"\", msg: \"\" });\n\t}\n\tsetEmoji = (event: React.MouseEvent, data: IEmojiData, fieldName: string) => {\n\t\tconst ta = this.textarea;\n\t\tif (this.textarea.current !== null ) {\n\t\t\t// console.log(ta.current?.selectionEnd, ta.current?.selectionStart);\n\t\t\tconst cursorPos = ta.current?.selectionEnd || this.state.msg.length;\n\t\t\tconst selectionStart = ta.current?.selectionStart || this.state.msg.length;\n\t\t\tconst start = this.state.msg.substring(0, selectionStart);\n\t\t\tconst end = this.state.msg.substring(selectionStart);\n\t\t\tconst text = start + data.emoji + end;\n\t\t\tthis.setState({ msg: text }, () => {\n\t\t\t\t// ta.current?.focus();\n\t\t\t\tif (ta.current) {\n\t\t\t\t\tta.current.selectionEnd = cursorPos + 2;\n\t\t\t\t\tta.current.selectionStart = cursorPos + 2;\n\t\t\t\t}\n\t\t\t\t// console.log(\"After update\", ta.current?.selectionEnd, ta.current?.selectionStart);\n\t\t\t});\n\n\t\t} else {\n\t\t\tthis.setState({ msg: this.state.msg + data.emoji});\n\t\t}\n\t}\n\trender(): React.ReactElement {\n\t\tconst { classes } = this.props\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCreate WhatsApp Link\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEnter the Whatsapp Mobile Number and Pre-filled text and generate your Whatsapp Link Instantly \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tWhatsApp Phone Number\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSelect your country code & Type your WhatsApp phone number\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t option.name)}\n\t\t\t\t\t\t\t\t\t\tonChange={(e, value, reason) => this.handleAutoComplete(\"country\", value, reason)}\n\t\t\t\t\t\t\t\t\t\trenderInput={(params) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t/> \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.countryCode}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCustom Message \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tType your custom message with emojis & WhatsApp text formatting\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis.state.errmsg ?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{this.state.errmsg}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tMessage Preview \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t)\n\t}\n}\n\ninterface Props extends WithStyles {\n\tname: string,\n\t// number: string\n}\n\ninterface cState {\n\tcountry: string,\n\tcountryCode: string,\n\tname: string,\n\tmsg: string,\n\tpreviewMsg: boolean,\n\tphoneNumber: string,\n\tisSubmitting: boolean,\n\terrmsg: string,\n\tlinkid: string\n}\n\nconst styles = () => createStyles({\n\t\"root\": {\n\t\twidth: \"100%\",\n\t\tbackgroundColor: \"white\",\n\t\tboxSizing: \"border-box\",\n\t\tborderRadius: 8,\n\t\t// padding: \"25px 0px\",\n // border: \"1px solid lightgrey\",\n minHeight: 100\n\t},\n\ttextField: {\n\t\twidth: 120,\n\t\tmarginRight: 10\n\t},\n\tguideContainer: {\n background: \"white\",\n borderRadius: \"8px\",\n\t\t// border: \"1px solid lightgrey\"\n\t\tbackgroundColor: \"rgb(248, 248, 248)\"\n },\n})\n\nexport default withStyles(styles)(LinkGenerator);","import React, {Component} from 'react';\nimport { \n\twithStyles, \n\tBox, \n\tGrid, \n\tWithStyles, \n\tcreateStyles, \n} from '@material-ui/core';\nimport LinkGenerator from './LinkGenerator';\nimport Navbar from '../../commons/Navbar/Navbar';\nclass WhatsAppLinkPage extends Component {\n\tconstructor(props: Props) {\n\t\tsuper(props)\n\t\tthis.state = {}\n\t}\n\trender(): React.ReactElement {\n\t\tconst { classes } = this.props\n\t\treturn (\n<>\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{/* Put all content in here */}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t)\n\t}\n}\n\ninterface Props extends WithStyles {\n\t// name: string,\n\t// number: string\n}\n\ninterface cState {}\n\nconst styles = () => createStyles({\n\t\"root\": {\n\t\twidth: \"100%\",\n\t\tbackgroundColor: \"rgb(254, 254, 254)\",\n\t\tboxSizing: \"border-box\",\n\t},\n})\n\nexport default withStyles(styles)(WhatsAppLinkPage);","export enum entityType {\n LINK = \"LINK\",\n BTN = \"BTN\"\n}\nexport enum variantType {\n btn = \"WhatsAppBtn\",\n btnWithWidget = \"WhatsAppBtnAndChatWidget\"\n}\n\nexport enum widgetSessionWindowType {\n always = \"ALWAYS\",\n hour24 = \"24_HOUR\",\n week1 = \"1_WEEK\"\n}\n\nexport type personalizedUrl = {\n url: string,\n urlMsg: string,\n userMsg: string,\n regEx: string,\n toFormat: boolean,\n toCapitalize: boolean\n}\nexport type whatsAppBtn = {\n variant: string,\n btnBackground: string,\n btnCTA: string,\n mb: string,\n ml: string,\n mr: string,\n borderRadius: string,\n position: string,\n brandName: string,\n brandSub: string,\n brandColor: string,\n brandImgUrl: string,\n widgetBtnCTA: string,\n openWidgetByDefault: string,\n openWidgetSessionWindow: widgetSessionWindowType,\n onscreenMsg: string,\n widgetOnMobile: string,\n urlPersonalization: boolean,\n personalizedUrls: personalizedUrl[]\n}\n\nexport interface ILink {\n entityType: entityType,\n linkId: string,\n phoneNumber: string,\n prefilledMsg: string,\n clientId: string,\n assistantId: string\n whatsappBtnSettings: whatsAppBtn | null,\n}","import React from 'react';\nimport { cState } from '../pages/WhatsAppBtnPage/ButtonGenerator';\nimport { variantType, widgetSessionWindowType } from '../types/link.type';\nexport const getInstamojoConfig = (storeDomain: string) => {\n const config: cState = {\n env: 'dev',\n isSubmitting: false,\n errmsg: '',\n linkid: '',\n phoneNumber: '',\n variant: variantType.btnWithWidget,\n btnBackground: '#4dc247',\n btnCTA: 'Chat with us',\n mb: '30',\n ml: '30',\n mr: '30',\n borderRadius: '24',\n prefilledMsg: 'Hi',\n position: 'Bottom-Right',\n brandName: '',\n brandSub: 'online',\n brandColor: '#0A5F54',\n brandImgUrl:\n 'https://aisensy-project-media-library.s3.ap-south-1.amazonaws.com/IMAGE/606c10aa3ab7b800170522c3/4045404_emoticon.png',\n widgetBtnCTA: 'Start chat',\n openWidgetByDefault: 'true',\n openWidgetSessionWindow: widgetSessionWindowType.hour24,\n onscreenMsg: 'Hi,\\nHow can I help you ?',\n widgetOnMobile: 'false',\n urlPersonalization: true,\n personalizedUrls: [\n {\n url: `https://${storeDomain}/product/{{product_id}}/{{product_name}}`,\n userMsg: `Hi, I'm interested in {{product_name}}`,\n urlMsg: 'Hey there! \\nWould you like to know about this product?!',\n key: 0,\n toFormat: true,\n toCapitalize: true,\n prefilledRef: React.createRef(),\n onscreenRef: React.createRef(),\n },\n ],\n };\n return config;\n};\n","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n Button,\n} from '@material-ui/core';\nimport { TENANT_ID } from '../../config/config';\n// import QRCode from \"qrcode.react\";\n// const WhatsAppImage = \"https://create.wa.link/static/WhatsApp-0e878a0fa68c61b06e781cee2e6bc71f.svg\"\n// const AiSensyLogo = \"http://aisensy-superadmin.s3-website.ap-south-1.amazonaws.com/favicon.ico\";\n\nconst snippetScript = (linkId: string) => {\n const intgPluginUrl = TENANT_ID\n ? 'https://do8wl071qiuy9.cloudfront.net/integration-plugin.js'\n : 'https://d2jyl60qlhb39o.cloudfront.net/integration-plugin.js';\n return `\n \n\t`;\n};\n\nclass LinkDialogContent extends Component {\n static defaultProps = {\n name: '',\n linkid: 'default value',\n };\n state = {\n countryCode: '',\n name: this.props.name,\n copied: false,\n };\n // async componentDidMount(): Promise {}\n downloadQR = () => {\n const canvas = document.getElementById(\n 'react-qrcode-logo',\n ) as HTMLCanvasElement;\n if (canvas) {\n const pngUrl = canvas\n .toDataURL('image/png')\n .replace('image/png', 'image/octet-stream');\n const downloadLink = document.createElement('a');\n downloadLink.href = pngUrl;\n downloadLink.download = this.props.linkid + '.png';\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n }\n };\n clickToCopy = () => {\n if (this.props.isSrcInstamojo) {\n navigator.clipboard.writeText(this.props.linkid);\n } else {\n const script = snippetScript(this.props.linkid);\n navigator.clipboard.writeText(script);\n }\n // Pop up alert that link has been copied to clipboard\n this.setState({ copied: true });\n };\n render(): React.ReactElement {\n const { classes, isSrcInstamojo } = this.props;\n if (!isSrcInstamojo) {\n return (\n
\n \n Here is your Widget Snippet\n \n \n Copy and paste this snippet below body tag of your webpage.\n \n \n
\n
\n                {snippetScript(this.props.linkid)}\n              
\n
\n
\n {\n this.state.copied && (\n \n Snippet has been copied to clipboard !!\n \n )\n // : (\n // \n // FREE !!- Track clicks & much more,{' '}\n // \n // Sign Up\n // {' '}\n // now\n // \n // )\n }\n \n \n {!this.state.copied ? (\n \n Copy Snippet\n \n ) : (\n \n )}\n \n \n {/* \n \n \n \n Access premium features for FREE\n \n \n \n \n \n \n */}\n
\n );\n } else {\n return (\n
\n \n Widget generated successfully!\n \n \n {this.props.linkid}\n \n \n {\n 'Copy this widget-id -> Click on Configure button on top-right -> Paste widget-id -> Save & done!'\n }\n \n {this.state.copied ? (\n \n Copied!\n \n ) : (\n ''\n )}\n \n \n {!this.state.copied ? (\n \n Copy Widget Id\n \n ) : (\n \n )}\n \n \n {/* \n \n \n \n Access premium features for FREE\n \n \n \n \n \n \n */}\n
\n );\n }\n }\n}\n\ninterface Props extends WithStyles {\n name: string;\n linkid: string;\n closeDialog: () => void;\n isSrcInstamojo: boolean;\n // number: string\n}\n\ninterface cState {\n countryCode: string;\n name: string;\n copied: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: '100%',\n minHeight: 200,\n backgroundColor: 'white',\n boxSizing: 'border-box',\n marginBottom: 10,\n padding: '20px',\n },\n whatsappimg: {\n height: 50,\n marginRight: 15,\n },\n snippetContainer: {\n height: 200,\n width: '100%',\n overflow: 'auto',\n background: 'rgb(245, 245, 245)',\n boxSizing: 'border-box',\n padding: '0px 25px',\n borderRadius: '8px',\n },\n });\n\nexport default withStyles(styles)(LinkDialogContent);\n","export const preFormat = (url: string): string => {\n // Ignore hashed value in url\n let formattedUrl = url.split('#')[0];\n\n // Add trailing /\n if (url.slice(-1) !== '/') {\n formattedUrl += '/';\n }\n // Add trailing / before ?\n const t = formattedUrl.split('?');\n if (t.length == 2) {\n // Replace & with /\n t[1] = t[1].split('&').join('/');\n // Replace ? with / if there isn't / before ?\n if (t[0].slice(-1) !== '/') {\n formattedUrl = t[0] + '/' + t[1];\n } else {\n formattedUrl = t[0] + t[1];\n }\n }\n formattedUrl = decodeURI(formattedUrl);\n return formattedUrl;\n};\n\nexport const generateExp = (url: string): string => {\n // format url\n const formattedUrl = preFormat(url);\n let regEx = '';\n regEx = '^';\n regEx += formattedUrl\n .replace(/\\{\\{([a-z_]+)\\}\\}/g, 'AISENSY')\n .replace(/[-[\\]{}()*+?.\\/,\\\\^$|#\\s/\\\\]/g, '\\\\$&')\n .replace(/AISENSY/g, '([^\\\\/]+)');\n regEx += '$';\n return regEx;\n};\n\nexport const extractParams = (url: string): string[] => {\n // Only allowed param names a-z with _\n return url.match(/\\{\\{([a-z_]+)\\}\\}/g) || [];\n};\n\nexport const extractParamsValue = (url: string, pattern: string): string[] => {\n // pre format url first\n const formattedUrl = preFormat(url);\n // match formatted url against regex\n const matched = formattedUrl.match(new RegExp(pattern));\n // except first element rest will be values matched\n // order of extracted values and extracted param will be same\n if (matched) {\n return matched.slice(1);\n } else {\n return [];\n }\n};\n\nexport const validateUrl = (url: string): boolean => {\n // Check for http or https in begining\n return !!url.match(/^(http|https):\\/\\/*/);\n};\n\n// const sampleUrl = \"http://aisensy.com/products/{{product_name}}/{{site}}\"\n// const url = \"http://aisensy.com/products/hand-cleaner/alcohol\";\n\n// const formattedUrl = preFormat(url);\n// console.log({ formattedUrl });\n// const params = extractParams(formattedUrl);\n// console.log(\"params: \", params);\n","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n Button,\n Popover,\n} from '@material-ui/core';\nimport { HexColorPicker } from 'react-colorful';\n\nclass ColorPicker extends Component {\n static defaultProps = {\n color: 'AiSensy',\n };\n state = {\n countryCode: '',\n name: this.props.color,\n copied: false,\n anchorEl: null\n };\n handleClick = (event: React.MouseEvent) => {\n this.setState({ anchorEl: event.currentTarget });\n }\n handleClose = () => {\n this.setState({ anchorEl: null });\n }\n // async componentDidMount(): Promise {}\n render(): React.ReactElement {\n const { classes } = this.props;\n const open = Boolean(this.state.anchorEl);\n const id = open ? 'simple-popover' : undefined;\n return (\n
\n
\n
\n \n
\n \n
\n \n
\n );\n }\n}\n\ninterface Props extends WithStyles {\n color: string;\n setColor: (value: string) => void;\n // number: string\n}\n\ninterface cState {\n countryCode: string;\n name: string;\n copied: boolean;\n anchorEl: HTMLDivElement | null\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: 25,\n height: 25,\n borderRadius: \"50%\",\n cursor: \"pointer\"\n },\n demopicker: {\n width: 200,\n height: 200,\n background: \"transparent\",\n overflow: \"hidden\"\n }\n });\n\nexport default withStyles(styles)(ColorPicker);\n","import React, { Component } from 'react';\nimport { TransitionGroup } from 'react-transition-group';\nimport { withRouter } from 'react-router';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n TextField,\n Button,\n RadioGroup,\n FormControlLabel,\n Radio,\n Switch,\n IconButton,\n Zoom,\n Tooltip,\n CircularProgress,\n Dialog,\n Checkbox,\n InputAdornment,\n Hidden,\n} from '@material-ui/core';\nimport 'emoji-mart/css/emoji-mart.css';\nimport { Add, Clear, Info, PlayCircleOutline } from '@material-ui/icons';\nimport axios, { AxiosError } from 'axios';\n\nimport { NO_LABEL_URL, URL } from '../../config/config';\nimport { getInstamojoConfig } from '../../helpers/instamojoConfig';\nimport { variantType, widgetSessionWindowType } from '../../types/link.type';\nimport WidgetDialogContent from './WidgetDialogContent';\nimport { formatAndValidateForm } from '../../helpers/formatAndValidateWidgetForm';\nimport { extractParams } from '../../helpers/url';\nimport ColorPicker from \"../../commons/ColorPicker/ColorPicker\";\nimport { IEmojiData } from 'emoji-picker-react';\nimport EPicker from '../../commons/EPicker/EPicker';\nimport { RouteComponentProps, RouterProps } from 'react-router-dom';\n\nclass ButtonGenerator extends Component {\n static defaultProps = {\n // name: 'AiSensy',\n };\n private prefilledMsgTextArea: React.RefObject = React.createRef();\n private onscreenMsgTextArea: React.RefObject = React.createRef();\n\n state = {\n env: 'dev',\n isSubmitting: false,\n errmsg: '',\n linkid: '',\n phoneNumber: '',\n variant: variantType.btnWithWidget,\n btnBackground: '#4dc247',\n btnCTA: 'Chat with us',\n mb: '30',\n ml: '30',\n mr: '30',\n borderRadius: '24',\n prefilledMsg: 'Hi',\n position: 'Bottom-Right',\n brandName: '',\n brandSub: 'online',\n brandColor: '#0A5F54',\n brandImgUrl: '',\n widgetBtnCTA: 'Start chat',\n openWidgetByDefault: 'true',\n openWidgetSessionWindow: widgetSessionWindowType.always,\n onscreenMsg: \"Hi,\\nHow can I help you ?\",\n widgetOnMobile: 'true',\n urlPersonalization: false,\n personalizedUrls: [\n {\n url: '',\n urlMsg: '',\n userMsg: '',\n key: 0,\n toFormat: true,\n toCapitalize: true,\n prefilledRef: React.createRef(),\n onscreenRef: React.createRef()\n },\n ],\n };\n async componentDidMount(): Promise {\n // Get query params from here\n const queryString: string = this.props.history.location.search;\n const searchParams = new URLSearchParams(queryString);\n const src = searchParams.get(\"src\");\n const store_domain = searchParams.get(\"store_domain\");\n if (src === \"instamojo\" && store_domain) {\n const config = getInstamojoConfig(store_domain);\n this.setState({ ...config });\n }\n }\n isSrcInstamojo = () => {\n const queryString: string = this.props.history.location.search;\n const searchParams = new URLSearchParams(queryString);\n const src = searchParams.get(\"src\");\n const store_domain = searchParams.get(\"store_domain\");\n if (src === \"instamojo\" && store_domain) {\n return true;\n }\n return false;\n }\n handleTextInput = (e: React.ChangeEvent) => {\n const key = e.target.name;\n this.setState({ ...this.state, [key]: e.target.value });\n };\n handleRadioInput = (e: React.ChangeEvent) => {\n const key = e.target.name;\n this.setState({ ...this.state, [key]: e.target.value });\n };\n toggleUrlPersonalization = () => {\n this.setState({ urlPersonalization: !this.state.urlPersonalization });\n };\n removeRow = (index: number) => {\n this.setState({\n personalizedUrls: this.state.personalizedUrls.filter(\n (e, i) => i != index,\n ),\n });\n };\n addRow = () => {\n const { personalizedUrls } = this.state;\n const temp = {\n url: '',\n urlMsg: '',\n userMsg: '',\n toFormat: true,\n toCapitalize: true,\n // increment and add key for transition group\n key: personalizedUrls[0]['key'] + 1,\n prefilledRef: React.createRef(),\n onscreenRef: React.createRef()\n };\n this.setState({ personalizedUrls: [temp, ...this.state.personalizedUrls] });\n };\n handlePersonalizationInput = (\n e: React.ChangeEvent,\n index: number,\n ) => {\n // console.log(e, i)\n const temp = [...this.state.personalizedUrls];\n temp[index] = { ...temp[index], [e.target.name]: e.target.value };\n this.setState({ personalizedUrls: temp });\n };\n handlePersonalizedUrlFormatting = (\n e: React.ChangeEvent,\n index: number,\n ) => {\n const temp = [...this.state.personalizedUrls];\n temp[index] = { ...temp[index], [e.target.name]: e.target.checked };\n this.setState({ personalizedUrls: temp });\n };\n componentDidUpdate(prevProps: Props, prevState: cState) {\n // console.log(prevState, prevProps);\n // Update widget preview\n if (prevState != this.state) {\n if(typeof window.CreateWhatsAppButtonAndWidget === \"function\") {\n window.CreateWhatsAppButtonAndWidget({ ...this.state });\n }\n }\n }\n generateWidget = async (): Promise => {\n try {\n this.setState({ isSubmitting: !this.state.isSubmitting });\n const data = formatAndValidateForm(this.state);\n type createResp = {\n linkId: string;\n };\n const res = await axios.post(URL + '/create', data);\n this.setState({\n linkid: res.data.linkId,\n isSubmitting: false,\n errmsg: '',\n });\n } catch (err:any) {\n console.log(err);\n type errResp = {\n message: string;\n type: string;\n };\n // Handle axios error\n if (err && err.response) {\n const axiosError = err as AxiosError;\n this.setState({\n isSubmitting: false,\n errmsg:\n axiosError.response?.data.message ||\n 'Something went wrong, Try again !',\n });\n return;\n }\n // Handle direct in-function error\n if (err && err.message) {\n this.setState({\n errmsg: err.message,\n isSubmitting: false,\n });\n return;\n }\n // Fallback to generic message\n this.setState({\n errmsg: 'Something went wrong, Try again !',\n isSubmitting: false,\n });\n }\n };\n closeDialog = () => {\n this.setState({ linkid: '' });\n };\n setColor = (value: string, name: string) => {\n this.setState({ ...this.state, [name]: value });\n }\n setEmoji = (event: React.MouseEvent, data: IEmojiData, fieldName: string) => {\n const ta = fieldName === \"prefilledMsg\" ? this.prefilledMsgTextArea : this.onscreenMsgTextArea;\n const t = fieldName as keyof cState; \n\t\t\n if (ta.current !== null ) {\n\t\t\t// console.log(ta.current?.selectionEnd, ta.current?.selectionStart);\n const msg = String(this.state[t]);\n\t\t\tconst cursorPos = ta.current?.selectionEnd || msg.length;\n\t\t\tconst selectionStart = ta.current?.selectionStart || msg.length;\n\t\t\tconst start = msg.substring(0, selectionStart);\n\t\t\tconst end = msg.substring(selectionStart);\n\t\t\tconst text = start + data.emoji + end;\n\t\t\tthis.setState({...this.state, [fieldName]: text }, () => {\n\t\t\t\t// ta.current?.focus();\n\t\t\t\tif (ta.current) {\n\t\t\t\t\tta.current.selectionEnd = cursorPos + 2;\n\t\t\t\t\tta.current.selectionStart = cursorPos + 2;\n\t\t\t\t}\n\t\t\t\t// console.log(\"After update\", ta.current?.selectionEnd, ta.current?.selectionStart);\n\t\t\t});\n\n\t\t} else {\n this.setState({...this.state, [fieldName]: this.state[t] + data.emoji });\n }\n\t}\n setEmojiUrl = (event: React.MouseEvent, data: IEmojiData, fieldName: string) => {\n\t\t// this.setState({ msg: this.state.msg + data.emoji});\n const t = fieldName.split(\"-\")[0] as keyof personalizedUrl;\n const index = Number(fieldName.split(\"-\")[1]); \n const temp = [...this.state.personalizedUrls];\n const urlObj = temp[index];\n const ta = t === \"userMsg\" ? urlObj.prefilledRef : urlObj.onscreenRef;\n \n if (ta.current !== null ) {\n\t\t\t// console.log(ta.current?.selectionEnd, ta.current?.selectionStart);\n const msg = String(urlObj[t]);\n\t\t\tconst cursorPos = ta.current?.selectionEnd || msg.length;\n\t\t\tconst selectionStart = ta.current?.selectionStart || msg.length;\n\t\t\tconst start = msg.substring(0, selectionStart);\n\t\t\tconst end = msg.substring(selectionStart);\n\t\t\tconst text = start + data.emoji + end;\n temp[index] = { ...temp[index], [t]: text };\n this.setState({ personalizedUrls: temp }, () => {\n\t\t\t\t// ta.current?.focus();\n\t\t\t\tif (ta.current) {\n\t\t\t\t\tta.current.selectionEnd = cursorPos + 2;\n\t\t\t\t\tta.current.selectionStart = cursorPos + 2;\n\t\t\t\t}\n\t\t\t\tconsole.log(\"After update\", ta.current?.selectionEnd, ta.current?.selectionStart);\n\t\t\t});\n\n\t\t} else {\n temp[index] = { ...temp[index], [t]: temp[index][t] + data.emoji };\n this.setState({ personalizedUrls: temp });\n }\n\n }\n handleColorInput = (e: React.ChangeEvent) => {\n const key = e.target.name;\n let value = e.target.value.trim();\n value = value[0] !== '#' ? '#' + value : value;\n // if (key === \"btnBackground\") {\n // value = value === '#' ? \"#4dc247\" : value; \n // } else {\n // value = value === '#' ? \"#0A5F54\" : value; \n // }\n this.setState({ ...this.state, [key]: value });\n };\n // openColorPicker = (id: string) => {\n // this.setState({});\n // }\n render(): React.ReactElement {\n const { classes } = this.props;\n return (\n
\n \n \n Create WhatsApp Button\n \n {\n !this.isSrcInstamojo() ?\n \n Install the button on your website via simple JavaScript code. (Click on Generate Snippet to get the installation code for your website) \n
\n Embed the generated script in footer of your webpage(recommended).\n
\n :\n \n Customize the widget for your store.\n
\n Copy the generated widget-id to install the widget on your store.\n
\n }\n \n Check live preview of your WhatsApp Button at Bottom-Right of this page\n \n {/* \n \n \n \n
*/}\n \n \n \n \n {/* \n \n\t\t\t\t\t\t\t\tVariant\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{`You can personalize the user message based on your website's URL`}\n\t\t\t\t\t\t\t\n \n \n \n }\n label=\"WhatsApp Button\"\n />\n }\n label=\"WhatsApp Butoton & Widget\"\n />\n \n */}\n \n \n \n \n Chat Button\n \n \n {`You can personalize the user message based on your website's URL`}\n \n \n \n \n \n WhatsApp Phone Number\n \n \n \n \n \n \n \n \n Button Background\n \n \n \n \n {/* */}\n \n this.setColor(value, 'btnBackground')} \n />\n \n ),\n }}\n />\n \n \n \n CTA Text\n \n \n \n \n \n \n \n \n Margin Bottom(px)\n \n \n \n \n \n \n \n \n Margin Left(px)\n \n \n \n \n \n \n \n \n Margin Right(px)\n \n \n \n \n \n \n \n \n Border Radius(px)\n \n \n \n \n \n \n \n \n Default Pre-filled Message\n \n \n \n \n \n \n \n \n \n You can use defaults - {`{{page_url}} & {{page_title}}`}\n \n \n \n \n \n Position\n \n \n \n \n \n }\n label={\n Bottom-Right\n }\n />\n }\n label={Bottom-Left}\n />\n \n \n \n \n {this.state.variant != 'WhatsAppBtn' ? (\n \n \n \n \n \n Chat Widget\n \n \n {`You can personalize the user message based on your website's URL`}\n \n \n\n \n \n \n BrandName\n \n \n \n \n \n \n \n \n Brand Subtitle\n \n \n \n \n\n \n \n \n \n Brand Color\n \n \n \n \n \n this.setColor(value, 'brandColor')} \n />\n \n ),\n }}\n />\n \n \n \n Brand Image Url\n \n \n \n \n \n \n \n \n Widget CTA Text\n \n \n \n \n \n \n \n \n Default On-screen Message\n \n \n \n \n \n \n \n \n \n You can use defaults - {`{{page_url}} & {{page_title}}`}\n \n \n \n \n \n \n \n \n Open widget on Mobile screen\n \n \n \n \n \n }\n label={Yes}\n />\n }\n label={No}\n />\n \n \n \n \n Open widget by default\n \n \n \n \n \n }\n label={Yes}\n />\n }\n label={No}\n />\n \n \n {\n this.state.openWidgetByDefault == \"true\" ?\n \n \n Re-open widget by default \n \n \n \n \n \n }\n label={Always}\n />\n }\n label={After 24 hour}\n />\n {/* }\n label={After 1 Week}\n /> */}\n \n \n : \"\"\n }\n \n \n \n ) : (\n ''\n )}\n \n \n \n \n URL Personalization{' '}\n \n \n \n {`You can personalize the user message based on your website's URL`}\n \n \n \n {this.state.urlPersonalization ? (\n \n \n }\n onClick={this.addRow}\n color=\"primary\"\n variant=\"outlined\"\n size=\"small\"\n >\n ADD URL\n \n \n \n ) : (\n ''\n )}\n\n {this.state.urlPersonalization ? (\n \n {this.state.personalizedUrls.map((e, i) => {\n return (\n \n
\n \n \n \n \n Source Url\n \n \n \n \n \n this.handlePersonalizationInput(t, i)\n }\n />\n \n \n Parameters -{' '}\n {'{{page_url}}, {{page_title}},'}{' '}\n {extractParams(e.url).map((e) => e + ', ')}\n \n \n \n \n \n Pre-filled Message\n \n \n \n \n \n \n \n this.handlePersonalizationInput(t, i)\n }\n inputRef={e.prefilledRef}\n />\n \n {this.state.variant != 'WhatsAppBtn' ? (\n \n \n On-screen Message\n \n \n \n \n \n \n \n this.handlePersonalizationInput(t, i)\n }\n inputRef={e.onscreenRef}\n />\n \n ) : (\n ''\n )}\n \n \n \n \n \n \n Format parameters values\n \n \n \n \n \n \n \n this.handlePersonalizedUrlFormatting(\n k,\n i,\n )\n }\n name=\"toFormat\"\n color=\"secondary\"\n />\n }\n label=\"Remove - & _\"\n />\n \n this.handlePersonalizedUrlFormatting(\n k,\n i,\n )\n }\n name=\"toCapitalize\"\n color=\"secondary\"\n />\n }\n label=\"Capitilize first letter\"\n />\n \n \n \n \n this.removeRow(i)}\n disabled={\n this.state.personalizedUrls.length == 1\n }\n >\n \n \n \n \n
\n
\n );\n })}\n
\n ) : (\n
\n \n Enable URL personalization feature\n \n
\n )}\n
\n
\n \n \n \n \n {this.state.errmsg}\n \n \n \n \n {this.state.isSubmitting ? (\n \n ) : (\n \n {this.isSrcInstamojo() ? \"Generate Widget\" : \"Generate Snippet\"}\n \n )}\n \n \n \n \n \n \n \n
\n );\n }\n}\n\ninterface Props extends WithStyles, RouteComponentProps{\n // name: string;\n // number: string\n}\n\ntype personalizedUrl = {\n url: string;\n urlMsg: string;\n userMsg: string;\n toFormat: boolean;\n toCapitalize: boolean;\n key: number;\n prefilledRef: React.RefObject;\n onscreenRef: React.RefObject;\n};\n\nexport interface cState {\n env: string;\n isSubmitting: boolean;\n errmsg: string;\n // Form fields\n linkid: string;\n phoneNumber: string;\n variant: variantType;\n btnBackground: string;\n btnCTA: string;\n mb: string;\n ml: string;\n mr: string;\n borderRadius: string;\n prefilledMsg: string;\n position: string;\n brandName: string;\n brandSub: string;\n brandColor: string;\n brandImgUrl: string;\n widgetBtnCTA: string;\n openWidgetByDefault: string;\n openWidgetSessionWindow: widgetSessionWindowType;\n onscreenMsg: string;\n widgetOnMobile: string;\n // Url personalization specific results\n urlPersonalization: boolean;\n personalizedUrls: personalizedUrl[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: '100% !important',\n backgroundColor: 'white',\n boxSizing: 'border-box',\n borderRadius: 8,\n padding: '25px 0px',\n transition: '1s',\n // border: \"1px solid lightgrey\",\n minHeight: 100,\n '& ul': {\n padding: 0,\n margin: 0,\n 'list-style-type': 'none',\n width: '100%',\n },\n },\n textField: {\n width: 120,\n marginRight: 10,\n },\n multiTextField: {\n width: '70%',\n },\n switchBase: {\n color: 'lightgrey',\n },\n backgroundCont: {\n // background: \"rgb(247, 247, 247)\",\n border: '1px solid rgb(240, 240, 240)',\n width: '100%',\n borderRadius: '8px',\n boxSizing: 'border-box',\n padding: '20px 20px',\n marginTop: '20px',\n },\n infoIcon: {\n fontSize: '18px',\n color: 'grey',\n marginLeft: '5px',\n },\n colorBtn: {\n borderRadius: \"50%\",\n height: 30,\n width: 30\n },\n guideContainer: {\n background: \"white\",\n borderRadius: \"8px\",\n // border: \"1px solid lightgrey\"\n backgroundColor: \"rgb(248, 248, 248)\"\n },\n \"rightMargin\": {\n [theme.breakpoints.down('sm')]: {\n paddingRight: 16\n }\n }\n });\n\nexport default withStyles(styles)(withRouter(ButtonGenerator));\n","import { cState } from \"../pages/WhatsAppBtnPage/ButtonGenerator\";\nimport { entityType, ILink, whatsAppBtn, variantType } from \"../types/link.type\";\nimport { generateExp, validateUrl } from \"./url\";\n\nexport const formatAndValidateForm = (state: cState):ILink => {\n const s:cState = { ...state };\n if (!s.phoneNumber || s.phoneNumber.length < 5) {\n throw { message: \"Use valid phone number\", type: \"ERR104\" };\n }\n if (!s.onscreenMsg) {\n throw { message: \"On screen message is required field\", type: \"ERR104\" }\n }\n if (!s.brandName || !s.brandSub) {\n throw { message: \"Brand name & subtitle are required fields\", type: \"ERR104\" };\n }\n if (!s.brandImgUrl) {\n throw { message: \"Provide your brand image url\", type: \"ERR104\" };\n }\n if (s.brandColor.length !== 7) {\n s.brandColor = \"#0A5F54\";\n }\n if (s.btnBackground.length !== 7) {\n s.btnBackground = \"#4dc247\";\n }\n if (!s.urlPersonalization) {\n s.personalizedUrls = [];\n } else {\n // Validate empty fields in personalized urls\n s.personalizedUrls.forEach( e => {\n if (!e.url || !e.urlMsg || !e.userMsg) {\n throw { message: \"Personalized-url fields can't be empty\", type: \"ERR104\" }\n }\n })\n s.personalizedUrls.forEach( e => {\n if (!validateUrl(e.url)) {\n throw { message: \"Url must start with https or http\", type: \"ERR104\" }\n }\n })\n\n // Add regex\n\n // To care about\n // leading * - will match till immediate /\n // allowed variable names - defined chars (a-z, _)\n // allow url with only http or https\n // do not allow /, &, ? in param values - match to anything not allowed\n // ignore # hashed url part \n // only considered ? query params after \n // option for to consider query params or not while matching\n // if ?query speciafically mentioned in url then only consider that part\n // provide to values {{page_url}} {{page_title}} globally available\n // {{page_url}} to be with query params - no, use specific urls for that \n // limit max num of allowed personalized urls\n // sample url\n // display extracted params in url boxes\n // url should always end with / - append if not (on backend also)\n // trim inputs\n // handle %20 in query params\n // display url with decodedURI() in inputs and other places\n // handle url after decodeURI() on backend also then apply format for removing - or _\n \n // Every url will be bounded by http & /\n // Only one param b/w / & / if no const value between them\n // Convert & in /\n\n // exmaple regex - /^((http|https)://)aisensy.com\\/products\\/*\\//\n // example regex - replace {{param}} with *^(/|&) \n\n\n // http://aisensy.com/products/hair-{{product-name}}-his/\n // http://aisensy.com/products/hair-{{product-name}}/\n // http://aisensy.com/products/{{product-name}}/\n // http://aisensy.com/products/{{product-name}}/{{fields}}/\n // http://aisensy.com/products/?utm_name={{campaign-name}}\n // http://aisensy.com/products/?utm_name={{campaign-name}}&utm_source={{}}\n // http://aisensy.com/products/?{{everything-in-query-params}}\n // http://aisensy.com/products?utm_name={{campaign-name}}\n // http://aisensy.com/{{doesn't matter what comes after this}} - not allowed\n // {{match to anything}} - not allowed\n // http://aisensy.{{country_domain}}/products\n // http://aisensy.com/products/\n // http://{{domain_name}}/products\n // https://{{domain_name}}/products\n }\n\n const whatsAppBtnValue: whatsAppBtn = {\n\t\tvariant: variantType.btnWithWidget,\n btnBackground: s.btnBackground,\n btnCTA: s.btnCTA,\n mb: s.mb || \"0\",\n ml: s.ml || \"0\",\n mr: s.mr || \"0\",\n borderRadius: s.borderRadius || \"0\",\n position: s.position,\n brandName: s.brandName,\n brandSub: s.brandSub,\n brandColor: s.brandColor,\n brandImgUrl: s.brandImgUrl,\n widgetBtnCTA: s.widgetBtnCTA || \"\",\n openWidgetByDefault: s.openWidgetByDefault,\n openWidgetSessionWindow: s.openWidgetSessionWindow,\n onscreenMsg: s.onscreenMsg,\n widgetOnMobile: s.widgetOnMobile,\n\t\turlPersonalization: s.urlPersonalization,\n\t\tpersonalizedUrls: s.personalizedUrls.map(e => {\n return { \n url: e.url, \n urlMsg: e.urlMsg, \n userMsg: e.userMsg,\n toFormat: e.toFormat, \n toCapitalize: e.toCapitalize,\n regEx: generateExp(e.url),\n }\n })\n }\n return {\n entityType: entityType.BTN,\n linkId: \"\",\n phoneNumber: s.phoneNumber,\n prefilledMsg: s.prefilledMsg,\n clientId: \"\",\n assistantId: \"\",\n whatsappBtnSettings: whatsAppBtnValue,\n }\n}","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n} from '@material-ui/core';\nimport ButtonGenerator from './ButtonGenerator';\nimport Navbar from '../../commons/Navbar/Navbar';\nimport { TENANT_ID } from '../../config/config';\n\nclass WhatsAppLinkPage extends Component {\n private instance = React.createRef();\n state = { name: 'New Nam' };\n componentDidMount(): void {\n console.log(\"Mounting new instance\");\n console.log(this.state.name);\n if (this.instance != null) {\n // Download script\n const s = document.createElement('script');\n s.src = TENANT_ID\n ? 'https://do8wl071qiuy9.cloudfront.net/widget-plugin-dev.js'\n : 'https://d2jyl60qlhb39o.cloudfront.net/widget-plugin-dev.js';\n // s.src = 'http://192.168.0.106:8000/test_jsPlugin.js'\n s.type = 'text/javascript';\n s.async = true;\n s.id = 'df-script';\n // Download fonts\n const url =\n 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap';\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = url;\n document.getElementsByTagName('head')[0].appendChild(link);\n\n const options = {\n env: '',\n linkid: '',\n phoneNumber: '',\n variant: 'WhatsAppBtnAndChatWidget',\n btnBackground: '',\n btnCTA: 'Chat with us',\n mb: '',\n ml: '',\n mr: '',\n borderRadius: '',\n prefilledMsg: '',\n position: '',\n brandName: '',\n brandSub: '',\n brandColor: '',\n brandImgUrl: '',\n widgetBtnCTA: '',\n openWidgetByDefault: 'false',\n openWidgetSessionWindow: 'ALWAYS',\n onscreenMsg: '',\n widgetOnMobile: 'true',\n };\n s.onload = function () {\n window.CreateWhatsAppButtonAndWidget(options);\n };\n this.instance?.current?.appendChild(s);\n }\n }\n componentWillUnmount() {\n console.log(\"Unmounting WhatsAppBtnPage\");\n const dfCont = document.getElementById(\"df-btn-cont\");\n if (dfCont && dfCont !== null) {\n dfCont.remove();\n }\n }\n render(): React.ReactElement {\n const { classes } = this.props;\n return (\n <>\n \n
\n \n \n {/* Put all content in here */}\n \n \n \n
\n \n );\n }\n}\n\ninterface Props extends WithStyles {\n // name: string,\n // number: string\n}\n\ninterface cState {\n name: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: '100% !important',\n backgroundColor: 'rgb(254, 254, 254)',\n boxSizing: 'border-box',\n transition: '1s',\n // paddingBottom: \"50px\",\n },\n });\n\nexport default withStyles(styles)(WhatsAppLinkPage);\n","import React, {Component} from 'react';\n\nclass NotFoundPage extends Component {\n\trender(): React.ReactElement {\n\t\treturn (\n\t\t\t
\n\t\t\t\t404 Page\n\t\t\t
\n\t\t)\n\t}\n}\n\nexport default NotFoundPage;","import React, { Component } from 'react';\nimport { \n\twithStyles, \n\tBox, \n\tGrid, \n\tWithStyles, \n\tTheme, \n\tcreateStyles, \n\tTypography,\n\tTextField,\n\tButton,\n} from '@material-ui/core';\nimport { AccountCircle, ArrowForward, Send } from '@material-ui/icons';\nimport {RouteComponentProps} from \"react-router\";\nimport Navbar from '../../commons/Navbar/Navbar';\n\nclass MobileMock extends Component {\n\tstatic defaultProps = {\n\t}\n\tstate = {\n storeDomain: \"\",\n\t\terr: \"\"\n\t}\n\thandleTextInput = (e: React.ChangeEvent) => {\n\t\tthis.setState({ storeDomain: e.target.value });\n\t}\n\thandleNextClick = () => {\n\t\tconsole.log(\"Clicked on next\");\n\t\tif (this.state.storeDomain) {\n\t\t\tconst genWidgetUrl = `/generate-whatsapp-button?src=instamojo&store_domain=${this.state.storeDomain}`;\n\t\t\tthis.props.history.push(genWidgetUrl);\n\t\t} else {\n\t\t\tthis.setState({err: \"Provide valid domain\"});\n\t\t}\n\t}\n\trender(): React.ReactElement {\n const { classes } = this.props;\n\t\treturn (\n\t\t\t<>\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tInstamojo Store Domain\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tEnter your {\"store's\"} domain. If You have configured custom domain for your store then use that.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.state.err ? \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.state.err}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t: \"\"\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvariant=\"contained\"\n\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\tstyle={{color: \"white\"}}\n\t\t\t\t\t\t\tonClick={this.handleNextClick}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tNext\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n
\n\t \n )\n }\n}\n\n\ninterface Props extends WithStyles, RouteComponentProps {\n\n}\n\ninterface cState {\n\tstoreDomain: string,\n\terr: string\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\twidth: \"100%\",\n height: 500,\n\t\tbackgroundColor: \"white\",\n\t\tboxSizing: \"border-box\",\n marginBottom: 10,\n padding: \"12px 10px 16px 10px\",\n\t\t[theme.breakpoints.down('sm')]: {\n\t\t\theight: 300\n\t\t}\n\t}\n})\n\nexport default withStyles(styles)(MobileMock);","import React from 'react';\nimport { BrowserRouter as Router, Route, Switch, Redirect } from 'react-router-dom';\n\nimport HomePage from './pages/HomePage/HomePage';\nimport WhatsAppLinkPage from './pages/WhatsAppLinkPage/WhatsAppLinkPage';\nimport WhatsAppBtnPage from './pages/WhatsAppBtnPage/WhatsAppBtnPage';\nimport NotFoundPage from './pages/NotFoundPage/NotFoundPage';\nimport InstamojoStoreIntegrationPage from './pages/InstamojoStoreIntegrationPage/InstamojoStoreIntegrationPage';\nimport Navbar from './commons/Navbar/Navbar';\nimport { Theme, createStyles, WithStyles, withStyles } from '@material-ui/core';\nimport Footer from './commons/Footer/Footer';\n// import \"./types/material-ui-color.d.ts\";\n\ntype whatsAppButtonOptions = {\n env: string,\n linkid: string,\n phoneNumber: string,\n variant: string,\n btnBackground: string,\n btnCTA: string,\n mb: string,\n ml: string,\n mr: string,\n borderRadius: string,\n prefilledMsg: string,\n position: string,\n brandName: string,\n brandSub: string,\n brandColor: string,\n brandImgUrl: string,\n widgetBtnCTA: string,\n openWidgetByDefault: string,\n onscreenMsg: string,\n widgetOnMobile: string\n}\n\ndeclare global {\n interface Window {\n CreateWhatsAppButtonAndWidget(options: whatsAppButtonOptions): void;\n }\n}\n\nconst App = (props: Props): React.ReactElement => {\n const { classes } = props;\n return (\n
\n
\n \n \n
} />\n \n \n \n \n \n
\n
\n
\n
\n )\n}\n\ninterface Props extends WithStyles {\n\t// name: string,\n\t// number: string\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\theight: \"100vh\",\n\t\twidth: \"100vw !important\",\n\t\tbackgroundColor: \"white\",\n \t\tboxSizing: \"border-box\",\n overflowX: \"hidden\",\n overflowY: \"auto\"\n // paddingTop: theme.spacing(1)\n\t},\n \"routeContainer\": {\n // height: \"100vh\",\n width: \"100% !important\"\n }\n})\n\nexport default withStyles(styles)(App);","import { ThemeOptions } from \"@material-ui/core\";\n// import { AutocompleteClassKey } from \"@material-ui/lab/Autocomplete\";\nimport type {} from \"@material-ui/lab/themeAugmentation\";\n// import * as createPalette from '@material-ui/core/styles/createPalette';\n// import * as createPalette from \"\"\ndeclare module '@material-ui/core/styles/createPalette' {\n interface PaletteOptions { \n pending?: PaletteColorOptions;\n resolved?: PaletteColorOptions;\n backdrop?: PaletteColorOptions;\n }\n interface Palette { \n pending: PaletteColor;\n resolved: PaletteColor;\n backdrop: PaletteColor;\n }\n}\n\n// declare module '@material-ui/core/styles/overrides' {\n// interface ComponentNameToClassKey {\n// MuiAutocomplete: AutocompleteClassKey\n// }\n// }\n\nconst pending = \"#e65100\";\nconst resolved = \"#388e3c\";\nconst primary = \"#4dc247\";\nconst secondary = \"#fec000\";\nconst warning = \"#FFC260\";\nconst success = \"#4caf50\";\nconst error = \"#f44336\";\nconst info = \"#9013FE\";\n// const backdrop = \"#f6f7ff\";\n// const lightenRate = 7.5;\n// const darkenRate = 15;\n// const queryText = \"#e0e0e0\";\n\nconst defaults: ThemeOptions = {\n palette: {\n pending: {\n main: pending,\n },\n resolved: {\n main: resolved,\n },\n\n primary: {\n main: primary,\n },\n secondary: {\n main: secondary,\n },\n warning: {\n main: warning,\n },\n success: {\n main: success,\n },\n error: {\n main: error,\n },\n info: {\n main: info,\n },\n text: {\n primary: \"#4A4A4A\",\n secondary: \"#6E6E6E\",\n hint: \"#B9B9B9\",\n },\n // background: {\n // default: \"#F6F7FF\",\n // light: \"#F3F5FF\",\n // },\n // backdrop: {\n // default: \"#f6f7ff\",\n // },\n },\n breakpoints: {\n values: {\n xs: 0,\n sm: 767,\n md: 959, // 1348\n lg: 1599, //1902\n xl: 1920,\n },\n },\n // shadows: [\"none\"],\n shape: {\n borderRadius: 6,\n },\n typography: {\n h1: {\n fontFamily: \"Poppins\",\n fontSize: 32,\n fontWeight: 700,\n letterSpacing: 1,\n wordSpacing: 2,\n \"@media (max-width:600px)\": {\n fontSize: 24,\n fontWeight: 700,\n wordSpacing: 2,\n letterSpacing: 1\n },\n },\n h2: {\n fontFamily: \"Poppins\",\n fontSize: 25,\n fontWeight: 700,\n letterSpacing: 1,\n wordSpacing: 2,\n \"@media (max-width:600px)\": {\n fontSize: 20,\n fontWeight: 700,\n wordSpacing: 2,\n letterSpacing: 1\n },\n },\n h3: {\n fontFamily: \"Poppins\",\n fontSize: 20,\n \"@media (max-width:600px)\": {\n fontSize: 18,\n },\n },\n h4: {\n fontFamily: \"Poppins\",\n fontSize: 16,\n },\n h5: {\n fontFamily: \"Poppins\",\n fontSize: 14,\n fontWeight: 400,\n },\n h6: {\n // fontFamily: \"Poppins\",\n fontSize: 12,\n fontWeight: 400,\n },\n body1: {\n fontFamily: \"Roboto\",\n fontSize: 14,\n },\n body2: {\n fontFamily: \"Roboto\",\n fontSize: 12,\n },\n },\n \"overrides\": {\n \"MuiTextField\": {\n root:{\n backgroundColor: \"rgb(240,240,240)\",\n borderRadius: \"8px\",\n boxSizing: \"border-box\",\n fontSize: \"15px\",\n fontWeight: 500,\n padding: \"6px 15px\"\n },\n },\n \"MuiOutlinedInput\": {\n root: {\n \"& $notchedOutline\": {\n border: \"none\"\n },\n \"&:hover $notchedOutline\": {\n border: \"none\"\n },\n \"&$focused $notchedOutline\": {\n border: \"none\"\n },\n \"&&& $input\": {\n padding: \"12px\"\n },\n \"&&& $input:first-child\": {\n padding: \"12px\"\n }\n },\n multiline: {\n padding: 0\n }\n },\n MuiAutocomplete: {\n inputRoot: {\n '&[class*=\"MuiOutlinedInput-root\"].MuiAutocomplete-input': {\n padding: 12,\n },\n '&&[class*=\"MuiOutlinedInput-root\"]': {\n padding: 0,\n },\n }\n },\n \"MuiButton\": {\n \"root\": {\n textTransform: \"none\"\n },\n \"contained\": {\n boxShadow: \"none\"\n },\n \"containedPrimary\": {\n \"&:hover\": {\n boxShadow: \"none\"\n }\n }\n },\n \"MuiGrid\": {\n container: {\n }\n },\n // \"MuiTimelineItem\": {\n // // \"missingOppositeContent\": {\n // // \"&:before\": {\n // // flex: 0,\n // // padding: 0,\n // // }\n // // }\n // },\n // \"MuiTimelineDot\": {\n // root: {\n // boxShadow: \"none\"\n // }\n // },\n // MuiTimelineConnector: {\n // root: {\n // backgroundColor: primary\n // }\n // }\n },\n props: {\n MuiInput: {\n disableUnderline: true\n },\n MuiPaper: {\n // elevation: 0\n },\n MuiTooltip: {\n enterTouchDelay: 0\n }\n }\n};\n\nexport default defaults;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler): void => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ThemeProvider, createMuiTheme } from '@material-ui/core/styles';\nimport './index.css';\nimport App from './App';\nimport themes from './themes/index';\nimport reportWebVitals from './reportWebVitals';\n\n\nconst theme = createMuiTheme(themes);\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}