1<!DOCTYPE html> 2 3<html class="no-js css-scroll eds-theme-light" lang="en"> 4 <head> 5 <meta charset="utf-8" /> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 <meta name="apple-mobile-web-app-status-bar-style" content="black"> 9 <meta name="mobile-web-app-capable" content="yes"> 10 11 12 <title>Dumpling House - (Walnut St) Newton in MA | Contact Us</title> 13 <meta name="keywords" content="dumpling house, dumpling house newton, dumpling house menu, newton chinese delivery, newton chinese food, newton chinese restaurants, chinese delivery, newton chinese takeout, chinese food near me" /> 14 <meta name="description" content="Contact Dumpling House - (Walnut St) Newton in Newton, MA with all your inquiries about our delivery and takeout of the best Chinese in Newton, MA."> 15 16 <meta property="og:type" content="website"> 17 <meta property="og:title" content="Dumpling House - (Walnut St) Newton in MA | Contact Us"> 18 <meta property="og:description" content="Contact Dumpling House - (Walnut St) Newton in Newton, MA with all your inquiries about our delivery and takeout of the best Chinese in Newton, MA."> 19 <meta property="og:image" content="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/0dbe6dbb-f977-4902-84aa-d3797995c400/public" /> 20 21 <meta name="twitter:card" content="summary_large_image"> 22 <meta name="twitter:title" content="Dumpling House - (Walnut St) Newton in MA | Contact Us"> 23 <meta name="twitter:description" content="Contact Dumpling House - (Walnut St) Newton in Newton, MA with all your inquiries about our delivery and takeout of the best Chinese in Newton, MA."> 24 <meta name="twitter:image" content="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/0dbe6dbb-f977-4902-84aa-d3797995c400/public" /> 25 26 <link rel="shortcut icon" href="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/a8035091-2393-4b6a-43a7-f47299058900/public" type="image/x-icon" /> 27 28 <link rel="canonical" href="https://www.dumplinghousenewtonma.com/contact"/> 29 30 <link type="text/css" rel="stylesheet" href="/min/g=eds_css&1788377785" /> 31 <link type="text/css" rel="stylesheet" href="/min/g=css4.0&1788377785" /> 32 <link href="https://fonts.googleapis.com/css?family=Nunito:400,700|Open+Sans:400,600,700" rel="stylesheet" /> 33 <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/minified/jquery-ui.min.css" /> 34
34<script src="https://kit.fontawesome.com/0208faa9a2.js" crossorigin="anonymous"></script>
34 35 36 <style> 37 .home_hero, .menu_hero{ background-image: url(https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/8467ae8f-a29b-4c95-b64c-b0d970120c00/public); } 38 @media 39 (-webkit-min-device-pixel-ratio: 1.25), 40 (min-resolution: 120dpi){ 41 /* Retina header*/ 42 .home_hero, .menu_hero{ background-image: url(https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/607480f0-303c-4fc4-ded3-b1717039e200/public); } 43 } 44 /*body{ } */ 45 46 47 </style> 48 49 50
50<script type="text/javascript"> 51 var UrlTag = "dumplinghousenewtonma"; 52 var template = 'defaultv4'; 53 var formname = 'contact'; 54 var menulink = 'https://www.dumplinghousenewtonma.com/order/main'; 55 var checkoutlink = 'https://www.dumplinghousenewtonma.com/checkout'; 56 </script>
56 57
57<script> 58 /* http://writing.colin-gourlay.com/safely-using-ready-before-including-jquery/ */ 59 (function(w,d,u){w.readyQ=[];w.bindReadyQ=[];function p(x,y){if(x=="ready"){w.bindReadyQ.push(y);}else{w.readyQ.push(x);}};var a={ready:p,bind:p};w.$=w.jQuery=function(f){if(f===d||f===u){return a}else{p(f)}}})(window,document) 60 </script>
60 61 62 63<!-- Google Tag Manager -->
64<script> 65 window.dataLayer = window.dataLayer || []; 66 window.gtag = window.gtag || function gtag() { dataLayer.push(arguments); }; 67 gtag('js', new Date()); 68 69 let data = { 70 account: 'dumplinghousenewtonma', 71 context: 'direct', 72 templateVersion: 4, 73 rid: 66, 74 } 75 dataLayer.push({ ...data, event: 'app_data_ready' });
vendor: 337 bytes, lines 75-81
75 76 77 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 78 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 79 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 80 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 81 })(window,document,'script','dataLayer','
81GTM-K9P93M
vendor: 4 bytes, line 81
81');
82</script>
vendor: 67 bytes, lines 82-84
82 83 84 <script async src="https://www.googletagmanager.com/gtag/js?id=
84G-YMCV5ET06B
vendor: 15 bytes, lines 84-86
84"></script> 85 86
86<script> 87 88 gtag('config', "G-YMCV5ET06B"); 89 </script>
89 90 91 92 93 <meta name="smartbanner:title" content="Dumpling House - Newton"> 94 <meta name="smartbanner:author" content="Online Ordering"> 95 <meta name="smartbanner:price" content="FREE"> 96 <meta name="smartbanner:price-suffix-google" content=" "> 97 <meta name="smartbanner:button" content="VIEW"> 98 <meta name="smartbanner:button-url-google" content="https://play.google.com/store/apps/details?id=com.chinesemenuonline.dumplinghousenewtonma"> 99 <meta name="smartbanner:enabled-platforms" content="android"> 100 <meta name="smartbanner:icon-google" content="https://ehc-west-0-bucket.s3.us-west-2.amazonaws.com/web/documents/dumplinghousenewtonma/"> 101 </head> 102 103 <body 104 data-event-on:customer_registered="window.location.reload()" 105 data-event-on:customer_logged_in="window.location.reload()" 106 data-event-on:customer_logged_out="window.location.reload()" 107 > 108 <a class="skip-to-content-link" href="#main">Skip to content</a> 109 <!-- Google Tag Manager (noscript) -->
vendor: 70 bytes, lines 109-110
109 110 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
110GTM-K9P93M
vendor: 85 bytes, lines 110-111
110" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 111
111<!-- End Google Tag Manager (noscript) --> 112 <!-- wrapper starts --> 113 <div class="wrapper"> 114 <section style="grid-area: header-announcements" aria-label="Announcement"> 115 <div id="upgradeBrowserBanner" class="alert alert-warning mb-0 rounded-0 py-4" style="display:none;"> 116 <div class="alert-icon"><i class="fas fa-warning" aria-hidden="true"></i></div> 117 <div> 118 <strong>We're sorry, but the Web browser you are using is not supported.</strong> <br/> Please upgrade your browser or try a different one to use this Website. Supported browsers include:<br/> 119 <ul class="list-unstyled"> 120 <li class="mt-2"><a href="https://www.google.com/chrome" target="_blank" rel="noopener noreferrer" class="simple-link"><i class="fab fa-chrome"></i> Chrome</a></li> 121 <li class="mt-2"><a href="https://www.mozilla.com/firefox/upgrade.html" target="_blank" rel="noopener noreferrer" class="simple-link"><i class="fab fa-firefox"></i> Firefox</a></li> 122 <li class="mt-2"><a href="https://www.microsoft.com/en-us/windows/microsoft-edge" target="_blank" rel="noopener noreferrer" class="simple-link"><i class="fab fa-edge"></i> Edge</a></li> 123 <li class="mt-2"><a href="http://www.apple.com/safari/" target="_blank" rel="noopener noreferrer" class="simple-link"><i class="fab fa-safari"></i> Safari</a></li> 124 </ul> 125 </div> 126</div>
127<script> 128 var ua = navigator.userAgent; 129 var match = ua.match(/Firefox\/([0-9]+)\./); 130 var firefoxVersion = match ? parseInt(match[1]) : 1000; 131 var match = ua.match(/Chrome\/([0-9]+)\./); 132 var chromeVersion = match ? parseInt(match[1]) : 1000; 133 var isIE = ua.indexOf('MSIE') > -1 || ua.indexOf('Trident') > -1; 134 var upgradeBrowserBanner = document.getElementById('upgradeBrowserBanner'); 135 var isMatchesSupported = typeof(upgradeBrowserBanner.matches)!="undefined"; 136 var isEntriesSupported = typeof(Object.entries)!="undefined"; 137 //Safari version is verified with isEntriesSupported 138 if (isIE || !isMatchesSupported || !isEntriesSupported || firefoxVersion <= 46 || chromeVersion <= 53) { 139 upgradeBrowserBanner.style.display = 'flex'; 140 } 141</script>
141 142 <!-- get closed sign if applicable. --> 143 144 145 <div class="header-opensign announcement-bg-color announcement-txt-color"> 146 <p><strong><span style="color:#b22222;"><span style="font-size:12px;">Please be informed that the delivery fee may vary for catering orders. Thank you</span></span></strong></p> <a href="javascript:void(0)" class="close" id="closeAnnouncement" role="button" aria-label="Close Announcement" tabindex="0"> 147 <i class="eds_icon fas fa-xs fa-times" style="" aria-hidden="true"></i> </a> 148 </div> 149 </section> 150 151 <!-- Header Starts --> 152 <div class="headerAndWtype" style="grid-area: header"> 153 <header class="header" > 154 <div class="d-flex flex-column align-items-start flex-md-row align-items-md-center"> 155 <div class="logo_name_alt flex-shrink-0 d-flex align-items-center align-self-stretch pe-6 pe-md-0"> 156 <button class="eds_button btn btn-outline eds_menu_button" style="color: inherit" aria-label="Main menu" aria-expanded="false" data-bs-toggle="offcanvas" data-bs-target="#side-menu" aria-controls="side-menu" type="button"><span aria-hidden="true"></span><span aria-hidden="true"></span><span aria-hidden="true"></span></button> 157 <div class="d-flex flex-column align-items-center mx-auto align-items-md-start mx-md-0"> 158 <a 159 class="eds-display-text-title-xs text-truncate title-container" 160 href="https://www.dumplinghousenewtonma.com" 161 aria-current="false" 162 > 163 Dumpling House - Newton </a> 164 165 <span class="eds-copy-text-s-regular text-center text-md-start address-container" title="870 Walnut St Newton, MA 02459"> 166 870 Walnut St Newton, MA 02459 </span> 167 </div> 168 </div> 169 170 171 <div class="position-absolute top-0 end-0 p-2"> 172 173 <div id="login-status" > 174 <button class="eds_button btn btn-outline px-2 text-nowrap" aria-label="Log in" style="color: currentColor" data-bs-toggle="modal" data-bs-target="#login-modal" type="button"><i class="eds_icon fa fa-lg fa-user-circle d-block d-lg-none" style="" aria-hidden="true"></i> <div class="d-none d-lg-flex align-items-baseline gap-2"><i class="eds_icon fa fa-user-circle" style="" aria-hidden="true"></i><div class="profile-container text-truncate">Log in</div></div></button> </div> 175 176 </div> 177 </div> 178 179 180 <div data-eds-id="6ab536ad2eb67" 181 class="eds_side_menu offcanvas offcanvas-start " 182 tabindex="-1" 183 aria-label="Side navigation" 184 id="side-menu" data-event-on:menu_selected="this.dispatchEvent(new CustomEvent('eds.hide'))" data-event-on:category_selected="this.dispatchEvent(new CustomEvent('eds.hide'))" > 185 186 <div class="eds_side_menu-body offcanvas-body d-flex flex-column pt-0 px-0 css-scroll" style="padding-bottom: 115px; scroll-padding-bottom: 115px;"> 187 <div 188 class="eds_side_menu-close position-absolute top-0 end-0 pt-3 pe-3 " 189 style="z-index: 1" 190 > 191 <button data-bs-dismiss="offcanvas" data-bs-target="[data-eds-id="6ab536ad2eb67"]" aria-label="Close" class="eds_button btn btn-outline-secondary eds_button--shape-circle" type="button"><i class="eds_icon fa fa-close" style="" aria-hidden="true"></i></button> </div> 192 193 <nav aria-labelledby="header-navigation-title"> 194 <h2 id="header-navigation-title" class="eds-display-text-title-m m-0 p-3">Pages</h2> 195<ul class="eds_list eds_list--border-none border-bottom"> 196 <li class="eds_list-item"> 197 <a class="d-block p-3 " href="https://www.dumplinghousenewtonma.com" aria-current="false"> 198 Home </a> 199 </li> 200 201 <li class="eds_list-item"> 202 <a 203 class="d-block p-3 " 204 href="https://www.dumplinghousenewtonma.com/order/main" 205 aria-current="false" 206 > 207 Menu </a> 208 </li> 209 210 211 <li class="eds_list-item"> 212 <a class="d-block p-3 " href="https://www.dumplinghousenewtonma.com/page/delivery-info" aria-current="false"> 213 Delivery info </a> 214 </li> 215 216 <li class="eds_list-item"> 217 <a class="d-block p-3 " href="https://www.dumplinghousenewtonma.com/locationinfo" aria-current="false"> 218 Location & Hours </a> 219 </li> 220 221 <li class="eds_list-item"> 222 <a class="d-block p-3 active" href="https://www.dumplinghousenewtonma.com/contact" aria-current="page"> 223 Contact 224 </a> 225 </li> 226</ul> 227 </nav> 228 229 230 <div class="border-bottom border-light p-3"> 231 232 233 <details 234 class="eds_list eds_list--border-none" open data-menu-id="8669" 235 data-event-on:document_ready="this.open = localStorage.getItem('menu-open-8669') !== 'false'" 236 onclick="localStorage.setItem('menu-open-8669', !this.open)" 237 > 238 <summary class="eds-copy-text-l-regular list-unstyled rounded-3 mb-1 " tabindex="0"> 239 <h2 class="eds-display-text-title-m m-0 p-0"> 240 <i class="eds_icon fas fa-chevron-right" style="" aria-hidden="true"></i> Menu <span class="sr-only">17 categories</span> 241 </h2> 242 </summary> 243 <div class="mb-3"></div> 244 245 246 <a 247 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 248 data-event-on:category_pinned="(category) => { 249 const isCurrent = category.id === '103948'; 250 $(this).toggleClass('active', isCurrent); 251 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 252 }" 253 href="https://www.dumplinghousenewtonma.com/order/main/special-appetizers-street-bites-" 254 aria-current="false" 255 onclick="if (!event.ctrlKey) { 256 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 257 if (currentMenuIsActive) { 258 app.event.emit('category_selected', { id: '103948' }); 259 } else { 260 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '103948' }); 261 } 262 }" 263 > 264 Special Appetizers & Street Bites ååå°å<span class="sr-only"> menu category</span> 265 <span class="ms-auto">17<span class="sr-only"> items available</span></span> 266 </a> 267 <a 268 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 269 data-event-on:category_pinned="(category) => { 270 const isCurrent = category.id === '313441'; 271 $(this).toggleClass('active', isCurrent); 272 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 273 }" 274 href="https://www.dumplinghousenewtonma.com/order/main/appetizers--1" 275 aria-current="false" 276 onclick="if (!event.ctrlKey) { 277 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 278 if (currentMenuIsActive) { 279 app.event.emit('category_selected', { id: '313441' }); 280 } else { 281 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '313441' }); 282 } 283 }" 284 > 285 Appetizers é æ¬<span class="sr-only"> menu category</span> 286 <span class="ms-auto">12<span class="sr-only"> items available</span></span> 287 </a> 288 <a 289 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 290 data-event-on:category_pinned="(category) => { 291 const isCurrent = category.id === '103949'; 292 $(this).toggleClass('active', isCurrent); 293 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 294 }" 295 href="https://www.dumplinghousenewtonma.com/order/main/traditional-handmade-dumplings-buns-" 296 aria-current="false" 297 onclick="if (!event.ctrlKey) { 298 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 299 if (currentMenuIsActive) { 300 app.event.emit('category_selected', { id: '103949' }); 301 } else { 302 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '103949' }); 303 } 304 }" 305 > 306 Traditional Handmade Dumplings & Buns æå·¥æ°´é¤å湯å <span class="sr-only"> menu category</span> 307 <span class="ms-auto">15<span class="sr-only"> items available</span></span> 308 </a> 309 <a 310 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 311 data-event-on:category_pinned="(category) => { 312 const isCurrent = category.id === '103950'; 313 $(this).toggleClass('active', isCurrent); 314 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 315 }" 316 href="https://www.dumplinghousenewtonma.com/order/main/soup-" 317 aria-current="false" 318 onclick="if (!event.ctrlKey) { 319 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 320 if (currentMenuIsActive) { 321 app.event.emit('category_selected', { id: '103950' }); 322 } else { 323 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '103950' }); 324 } 325 }" 326 > 327 Soup ç¹è²é湯<span class="sr-only"> menu category</span> 328 <span class="ms-auto">12<span class="sr-only"> items available</span></span> 329 </a> 330 <a 331 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 332 data-event-on:category_pinned="(category) => { 333 const isCurrent = category.id === '103956'; 334 $(this).toggleClass('active', isCurrent); 335 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 336 }" 337 href="https://www.dumplinghousenewtonma.com/order/main/noodle-fried-rice-" 338 aria-current="false" 339 onclick="if (!event.ctrlKey) { 340 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 341 if (currentMenuIsActive) { 342 app.event.emit('category_selected', { id: '103956' }); 343 } else { 344 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '103956' }); 345 } 346 }" 347 > 348 Noodle & Fried Rice ç飯湯é¢<span class="sr-only"> menu category</span> 349 <span class="ms-auto">28<span class="sr-only"> items available</span></span> 350 </a> 351 <a 352 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 353 data-event-on:category_pinned="(category) => { 354 const isCurrent = category.id === '313444'; 355 $(this).toggleClass('active', isCurrent); 356 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 357 }" 358 href="https://www.dumplinghousenewtonma.com/order/main/egg-foo-young-chow-mein" 359 aria-current="false" 360 onclick="if (!event.ctrlKey) { 361 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 362 if (currentMenuIsActive) { 363 app.event.emit('category_selected', { id: '313444' }); 364 } else { 365 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '313444' }); 366 } 367 }" 368 > 369 Egg Foo Young & Chow Mein<span class="sr-only"> menu category</span> 370 <span class="ms-auto">10<span class="sr-only"> items available</span></span> 371 </a> 372 <a 373 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 374 data-event-on:category_pinned="(category) => { 375 const isCurrent = category.id === '313443'; 376 $(this).toggleClass('active', isCurrent); 377 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 378 }" 379 href="https://www.dumplinghousenewtonma.com/order/main/moo-shi" 380 aria-current="false" 381 onclick="if (!event.ctrlKey) { 382 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 383 if (currentMenuIsActive) { 384 app.event.emit('category_selected', { id: '313443' }); 385 } else { 386 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '313443' }); 387 } 388 }" 389 > 390 Moo Shi<span class="sr-only"> menu category</span> 391 <span class="ms-auto">5<span class="sr-only"> items available</span></span> 392 </a> 393 <a 394 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 395 data-event-on:category_pinned="(category) => { 396 const isCurrent = category.id === '103954'; 397 $(this).toggleClass('active', isCurrent); 398 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 399 }" 400 href="https://www.dumplinghousenewtonma.com/order/main/chicken-" 401 aria-current="false" 402 onclick="if (!event.ctrlKey) { 403 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 404 if (currentMenuIsActive) { 405 app.event.emit('category_selected', { id: '103954' }); 406 } else { 407 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '103954' }); 408 } 409 }" 410 > 411 Chicken éèé¡<span class="sr-only"> menu category</span> 412 <span class="ms-auto">22<span class="sr-only"> items available</span></span> 413 </a> 414 <a 415 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 416 data-event-on:category_pinned="(category) => { 417 const isCurrent = category.id === '103953'; 418 $(this).toggleClass('active', isCurrent); 419 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 420 }" 421 href="https://www.dumplinghousenewtonma.com/order/main/pork-" 422 aria-current="false" 423 onclick="if (!event.ctrlKey) { 424 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 425 if (currentMenuIsActive) { 426 app.event.emit('category_selected', { id: '103953' }); 427 } else { 428 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '103953' }); 429 } 430 }" 431 > 432 Pork 豬èé¡<span class="sr-only"> menu category</span> 433 <span class="ms-auto">26<span class="sr-only"> items available</span></span> 434 </a> 435 <a 436 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 437 data-event-on:category_pinned="(category) => { 438 const isCurrent = category.id === '103952'; 439 $(this).toggleClass('active', isCurrent); 440 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 441 }" 442 href="https://www.dumplinghousenewtonma.com/order/main/beef-lamb-" 443 aria-current="false" 444 onclick="if (!event.ctrlKey) { 445 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 446 if (currentMenuIsActive) { 447 app.event.emit('category_selected', { id: '103952' }); 448 } else { 449 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '103952' }); 450 } 451 }" 452 > 453 Beef & Lamb çç¾é¡<span class="sr-only"> menu category</span> 454 <span class="ms-auto">22<span class="sr-only"> items available</span></span> 455 </a> 456 <a 457 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 458 data-event-on:category_pinned="(category) => { 459 const isCurrent = category.id === '103951'; 460 $(this).toggleClass('active', isCurrent); 461 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 462 }" 463 href="https://www.dumplinghousenewtonma.com/order/main/seafood-" 464 aria-current="false" 465 onclick="if (!event.ctrlKey) { 466 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 467 if (currentMenuIsActive) { 468 app.event.emit('category_selected', { id: '103951' }); 469 } else { 470 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '103951
470' }); 471 } 472 }" 473 > 474 Seafood æµ·é®®é¡<span class="sr-only"> menu category</span> 475 <span class="ms-auto">24<span class="sr-only"> items available</span></span> 476 </a> 477 <a 478 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 479 data-event-on:category_pinned="(category) => { 480 const isCurrent = category.id === '103955'; 481 $(this).toggleClass('active', isCurrent); 482 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 483 }" 484 href="https://www.dumplinghousenewtonma.com/order/main/vegetable-" 485 aria-current="false" 486 onclick="if (!event.ctrlKey) { 487 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 488 if (currentMenuIsActive) { 489 app.event.emit('category_selected', { id: '103955' }); 490 } else { 491 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '103955' }); 492 } 493 }" 494 > 495 Vegetable è¬èé¡<span class="sr-only"> menu category</span> 496 <span class="ms-auto">26<span class="sr-only"> items available</span></span> 497 </a> 498 <a 499 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 500 data-event-on:category_pinned="(category) => { 501 const isCurrent = category.id === '313442'; 502 $(this).toggleClass('active', isCurrent); 503 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 504 }" 505 href="https://www.dumplinghousenewtonma.com/order/main/tofu-" 506 aria-current="false" 507 onclick="if (!event.ctrlKey) { 508 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 509 if (currentMenuIsActive) { 510 app.event.emit('category_selected', { id: '313442' }); 511 } else { 512 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '313442' }); 513 } 514 }" 515 > 516 Tofu è±è <span class="sr-only"> menu category</span> 517 <span class="ms-auto">10<span class="sr-only"> items available</span></span> 518 </a> 519 <a 520 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 521 data-event-on:category_pinned="(category) => { 522 const isCurrent = category.id === '103957'; 523 $(this).toggleClass('active', isCurrent); 524 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 525 }" 526 href="https://www.dumplinghousenewtonma.com/order/main/wok-cooked-foods-" 527 aria-current="false" 528 onclick="if (!event.ctrlKey) { 529 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 530 if (currentMenuIsActive) { 531 app.event.emit('category_selected', { id: '103957' }); 532 } else { 533 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '103957' }); 534 } 535 }" 536 > 537 Wok Cooked Foods 麻辣é¦é<span class="sr-only"> menu category</span> 538 <span class="ms-auto">9<span class="sr-only"> items available</span></span> 539 </a> 540 <a 541 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 542 data-event-on:category_pinned="(category) => { 543 const isCurrent = category.id === '103958'; 544 $(this).toggleClass('active', isCurrent); 545 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 546 }" 547 href="https://www.dumplinghousenewtonma.com/order/main/lunch-special-" 548 aria-current="false" 549 onclick="if (!event.ctrlKey) { 550 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 551 if (currentMenuIsActive) { 552 app.event.emit('category_selected', { id: '103958' }); 553 } else { 554 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '103958' }); 555 } 556 }" 557 > 558 Lunch Special ç¶æ¿å¥é¤<span class="sr-only"> menu category</span> 559 <span class="ms-auto">60<span class="sr-only"> items available</span></span> 560 </a> 561 <a 562 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 563 data-event-on:category_pinned="(category) => { 564 const isCurrent = category.id === '114729'; 565 $(this).toggleClass('active', isCurrent); 566 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 567 }" 568 href="https://www.dumplinghousenewtonma.com/order/main/dessert-" 569 aria-current="false" 570 onclick="if (!event.ctrlKey) { 571 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 572 if (currentMenuIsActive) { 573 app.event.emit('category_selected', { id: '114729' }); 574 } else { 575 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '114729' }); 576 } 577 }" 578 > 579 Dessert çå<span class="sr-only"> menu category</span> 580 <span class="ms-auto">2<span class="sr-only"> items available</span></span> 581 </a> 582 <a 583 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 584 data-event-on:category_pinned="(category) => { 585 const isCurrent = category.id === '114730'; 586 $(this).toggleClass('active', isCurrent); 587 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 588 }" 589 href="https://www.dumplinghousenewtonma.com/order/main/drinks-" 590 aria-current="false" 591 onclick="if (!event.ctrlKey) { 592 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 593 if (currentMenuIsActive) { 594 app.event.emit('category_selected', { id: '114730' }); 595 } else { 596 app.event.emit('menu_selected', { menu_id: '8669', menu_description: "", category_id: '114730' }); 597 } 598 }" 599 > 600 Drinks 飲æ<span class="sr-only"> menu category</span> 601 <span class="ms-auto">3<span class="sr-only"> items available</span></span> 602 </a> 603 </details> 604 605 </div> 606 607 608 <div class="restaurant-info border-top border-light p-3 position-absolute bottom-0 left-0 w-100"> 609 <h2 class="eds-display-text-title-xs mb-0 me-2 pe-4"><span class="sr-only">Location: You're currently ordering from </span>Dumpling House - (Walnut St) Newton</h2> 610 611 <address class="eds-copy-text-s-regular mb-0"> 612 870 Walnut St Newton, MA 02459 </address> 613 </div> 614 615 <div class="eds-copy-text-s-regular p-3 d-lg-none"> 616 <h2 class="eds-display-text-title-m m-0 pb-3">Additional info</h2> 617 <ul class="list-unstyled" aria-label="App store links"> 618 <li><a href="https://play.google.com/store/apps/details?id=com.chinesemenuonline.dumplinghousenewtonma"><span class="sr-only">Download from the Google Play Store</span><img src="/web/default4.0/images/google-play-badge.svg" alt="" aria-hidden="true"></a></li> 619 </ul> 620 621 <ul class="list-unstyled d-flex gap-2" aria-label="Social network links"> 622 <li><a href="https://www.facebook.com/Dumpling-House-Newton-106225301435390" target="new" title="Opens in new tab" class="icon" title="Facebook"><i class="fab fa-facebook"></i><span class="sr-only">Facebook</span></a></li> 623 <li><a href="https://www.yelp.com/biz/dumpling-house-newton" target="new" title="Opens in new tab" class="icon" title="Yelp"><i class="fab fa-yelp"></i><span class="sr-only">Yelp</span></a></li> 624 <li><a href="https://www.tripadvisor.com/Restaurant_Review-g41707-d9750076-Reviews-Dumpling_House
624-Newton_Massachusetts.html" target="new" title="Opens in new tab" class="icon" title="TripAdvisor"><i class="fak fa-tripadvisor"></i><span class="sr-only">TripAdvisor</span></a></li> 625 </ul> 626 627<div>© 2026 Online Ordering by <a href="http://chinesemenuonline.com">Chinese Menu Online</a></div> 628 <div>Taste authentic flavors from Chinese restaurants on <a href="https://www.springroll.com" target="_blank" title="Opens in new tab" >Springroll</a></div> 629 630<ul class="list-unstyled mb-0 pt-3" aria-label="Legal and support"> 631 <li><a href="https://www.dumplinghousenewtonma.com/reportbug">Technical Support</a></li> 632 <li><a href="https://www.dumplinghousenewtonma.com/privacy">Privacy Policy</a></li> 633 <li><a href="https://www.dumplinghousenewtonma.com/tos">Terms of Service</a></li> 634 <li><a href="https://www.dumplinghousenewtonma.com/accessibility">Accessibility</a></li> 635</ul> 636 637This site is protected by reCAPTCHA and <a href="https://policies.google.com/privacy">Google's Privacy Policy</a> and <a href="https://policies.google.com/terms">Google's Terms of Service</a> apply. 638 </div> </div> 639 640
640<script> 641 { 642 const container = document.querySelector('[data-eds-id="6ab536ad2eb67"]'); 643 644 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 645 container.addEventListener(`eds.${eventName}`, (e) => { 646 bootstrap.Offcanvas.getOrCreateInstance(container)[eventName]( 647 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 648 ); 649 }); 650 }); 651 } 652 </script>
652 653 </div> 654 655 </header> 656 </div> 657 658 <aside class="container p-0" style="grid-area: hero" aria-labelledby="hero-section-title"> 659 <section class="hero"> 660 <div class="menu_hero backbgbox position-relative"> 661 <div class="logo"> 662 <a class="logo-image" href="https://www.dumplinghousenewtonma.com" aria-current="false" > 663 <img 664 src="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/0dbe6dbb-f977-4902-84aa-d3797995c400/public" 665 srcset="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/0dbe6dbb-f977-4902-84aa-d3797995c400/public 1x, https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/0dbe6dbb-f977-4902-84aa-d3797995c400/public 2x" alt="Go to Home" 666 onerror="this.closest('.logo').style.setProperty('display', 'none', 'important')" 667 /> 668 </a> 669 </div> 670 </div> 671 672 <div class="p-3"> 673 <div class="pb-1"> 674 <h1 id="hero-section-title" class="eds-display-text-title-s m-0 p-0">Dumpling House - (Walnut St) Newton</h1> 675 </div> 676 677 <div class="d-sm-flex align-items-baseline"> 678 <div class="mt-2"> 679 680 <span 681 class="eds_label eds_label--variant-error eds-interface-text-m-bold me-1 text-nowrap" 682 > 683 Closed </span> 684 685 Opens at 11:00AM </div> 686 687 <div class="d-flex gap-2 ms-sm-auto mt-2"> 688 689 <a 690 class="eds_button btn btn-outline-secondary btn-sm col text-nowrap" 691 href="https://www.dumplinghousenewtonma.com/locationinfo?lid=6745" 692 > 693 <i class="eds_icon fa fa-info-circle" style="" aria-hidden="true"></i> Store info </a> 694 695 696 697 <a 698 class="eds_button btn btn-outline-secondary btn-sm col d-lg-none text-nowrap" 699 href="tel:(617) 969-2800" 700 > 701 <i class="eds_icon fa fa-phone" style="" aria-hidden="true"></i> Call us </a> 702 703 704 </div> 705 </div> 706 </div> 707 </section> 708 </aside> 709 710 711 712 <!-- Header ends --> 713<main class="main_content" id="main"> 714 <div class="container menu_page contact_page locationinfo"> 715 <div class="row menu_wrapper justify-content-center"> 716 <div class="col-sm-12 col-lg-8"> 717 <h1 class="eds-display-text-title-m">Contact Dumpling House - (Walnut St) Newton</h1> 718 <div class="row mb15"> 719 <div class="col-sm-12"> 720 If you would like to contact Dumpling House - (Walnut St) Newton, such as to ask questions about our menu, service, 721 or other non-technical issues, please contact us using the information below. 722 Thanks, and we appreciate your feedback! 723 </div> 724 </div> 725 <div class="row"> 726 <div class="col-md-12"> 727 <div class="location-info-box mb10"> 728 <div class="location-info-box-header"> 729 <h2>Dumpling House - (Walnut St) Newton</h2> 730 <span> 731 870 Walnut St<br/>Newton, MA 02459 <span>(<a href="?form=map&lid=6745">see on map</a>)</span> 732 </span> 733 <strong>Phone</strong>: (617) 969-2800 </div> 734 </div> 735 </div> 736 </div> 737 <div class="alert alert-warning clearfix mt10"> 738 <div class="alert-icon"> 739 <i class="fas fa-truck"></i> 740 </div> 741 <div class="inline-block alert-3-messsage">Note: If you need to make a change to your order, please call us directly as we may not see your email in time!</div> 742 </div> 743 </div> 744 745 </div> 746 </div> 747</main> 748 749<footer class="footer bg-white" style="grid-area: footer"> 750 <div class="container"> 751 <div class="social_wrapper"> 752 <div class="social_links"> 753 <ul class="d-flex align-items-start"> 754 <li> 755 <a class="icon" href="https://www.facebook.com/Dumpling-House-Newton-106225301435390" target="_blank" title="Facebook (opens in new tab)"> 756 <span class="sr-only">Facebook</span> 757 <i class="eds_icon fab fa-facebook" style="" aria-hidden="true"></i> </a> 758 </li> 759 <li> 760 <a class="icon" href="https://www.yelp.com/biz/dumpling-house-newton" target="_blank" title="Yelp (opens in new tab)"> 761 <span class="sr-only">Yelp</span> 762 <i class="eds_icon fab fa-yelp" style="" aria-hidden="true"></i> </a> 763 </li> 764 <li> 765 <a class="icon" href="https://www.tripadvisor.com/Restaurant_Review-g41707-d9750076-Reviews-Dumpling_House
765-Newton_Massachusetts.html" target="_blank" title="TripAdvisor (opens in new tab)"> 766 <span class="sr-only">TripAdvisor</span> 767 <img class="eds_icon fab fa-tripadvisor" style="" aria-hidden="true" src="/web/website/assets/svg/icons/social/tripadvisor.svg" alt="Tripadvisor" /> </a> 768 </li> 769 </ul> 770 </div> 771 <div class="d_app"> 772 <ul> 773 <li><a href="https://play.google.com/store/apps/details?id=com.chinesemenuonline.dumplinghousenewtonma"><span class="sr-only">Download from the Google Play Store</span><img src="/web/default4.0/images/google-play-badge.svg" alt="Get it on Google Play" aria-hidden="true"></a></li> 774 </ul> 775 </div> 776 </div> 777 778 <div class="d-flex flex-wrap justify-content-between gap-2 mt-2" style="--bs-link-color: var(--bs-body-color); --bs-link-hover-color: var(--bs-gray-dark)"> 779 <ul class="list-unstyled d-flex gap-3 mb-0 eds-interface-text-l-regular"> 780 <li><a class="text-decoration-none" href="https://www.dumplinghousenewtonma.com" aria-current="false">Home</a></li> 781 <li><a class="text-decoration-none" href="https://www.dumplinghousenewtonma.com/order/main" aria-current="false">Menu</a></li> 782 <li> 783 <a class="text-decoration-none" href="https://www.dumplinghousenewtonma.com/page/delivery-info" aria-current="false">Delivery info</a> 784 </li> 785 <li><a class="text-decoration-none" href="https://www.dumplinghousenewtonma.com/locationinfo" aria-current="false">Location & Hours</a></li> 786 <li><a class="text-decoration-none" href="https://www.dumplinghousenewtonma.com/contact" aria-current="page">Contact</a></li> 787 </ul> 788 789 <ul class="list-unstyled d-flex mb-0 eds-interface-text-m-regular"> 790 <li class="bullet-separated"><a href="https://www.dumplinghousenewtonma.com/reportbug" class="errorLink">Technical Support</a></li> 791 <li class="bullet-separated"><a href="https://www.dumplinghousenewtonma.com/privacy">Privacy Policy</a></li> 792 <li class="bullet-separated"><a href="https://www.dumplinghousenewtonma.com/tos">Terms of Service</a></li> 793 <li class="bullet-separated"><a href="https://www.dumplinghousenewtonma.com/accessibility">Accessibility</a></li> 794 </ul> 795 </div> 796 797 <div class="d-flex justify-content-between gap-3 border-top mt-3 pt-3" style="--bs-link-color: var(--bs-body-color); --bs-link-hover-color: var(--bs-gray-dark)"> 798 <p class="eds-copy-text-m-regular"> 799 This site is protected by reCAPTCHA and <a href="https://policies.google.com/privacy">Google's Privacy Policy</a> and <a href="https://policies.google.com/terms">Google's Terms of Service</a> apply. 800 </p> 801 802 <p class="eds-copy-text-m-regular text-end"> 803 © 2026 Online Ordering by <a href="http://chinesemenuonline.com">Chinese Menu Online</a> <br>Taste authentic flavors from Chinese restaurants on <a href="https://www.springroll.com" target="_blank" title="Opens in new tab" >Springroll</a> </p> 804 </div> 805 </div> 806</footer> 807<!-- footer ends --> 808 809 810</div> 811<!-- wrapper ends --> 812 813 814 815 <div 816 data-eds-id="6ab536ad2fff3" 817 class="eds_dialog modal fade " 818 tabindex="-1" 819 aria-labelledby="eds-dialog-title-6ab536ad2fff3" 820 aria-hidden="true" 821 id="forgot-password-modal" > 822 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md"> 823 <div class="modal-content "> 824 825 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 826 <h2 id="eds-dialog-title-6ab536ad2fff3" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 827 Forgot Password </h2> 828 829 <button class="eds_button btn btn-outline-secondary btn-lg eds_button--shape-circle position-absolute top-0 end-0 border d-sm-none" style="width: 3rem; height: 3rem; margin-top: 6px; margin-right: 6px" data-bs-dismiss="modal" aria-label="Close" type="button"><i class="eds_icon fa fa-close" style="" aria-hidden="true"></i></button> </div> 830
831 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular "> 832 <form 833 id="forgot-password-form" 834 name="forgot-password" 835 data-async-on-submit 836 method="post" 837 action="https://www.dumplinghousenewtonma.com/auth/forgotpassword" 838 data-async-block="#forgot-password-modal .modal-content" 839 data-async-target="#forgot-password-modal .eds_dialog-body" 840 data-async-recaptcha 841 novalidate 842 > 843 844 845 <label 846 data-eds-id="6ab536ad2ffb6" 847 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3" 848 > 849 <div class="eds_formfield-label"> 850 Your email <span aria-hidden="true">*</span> </div> 851 852 <div class="position-relative d-flex flex-column"> 853 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 854 855 <input 856 type="email" 857 class="eds-copy-text-l-regular " 858 placeholder=" " name="email" autocomplete="email" required value="" /> 859 860 861 862 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 863 </div> 864 865 866
866<script> 867 { 868 const container = document.querySelector('[data-eds-id="6ab536ad2ffb6"]'); 869 const input = container.querySelector('input, textarea, select'); 870 const error = container.querySelector('.eds_formfield-error'); 871 872 873 input.addEventListener('eds.validation.reset', () => { 874 input.removeAttribute('data-validation'); 875 input.setCustomValidity(''); 876 error.innerHTML = ''; 877 }); 878 879 input.addEventListener('eds.validation.hide', () => { 880 input.removeAttribute('data-validation'); 881 }); 882 883 input.addEventListener('eds.validation.success', (e) => { 884 input.setCustomValidity(''); 885 input.setAttribute('data-validation', ''); 886 error.innerHTML = ''; 887 }); 888 889 input.addEventListener('eds.validation.warning', (e) => { 890 input.setCustomValidity(''); 891 input.setAttribute('data-validation', ''); 892 error.innerHTML = e.detail; 893 }); 894 895 input.addEventListener('eds.validation.error', (e) => { 896 input.setCustomValidity(e.detail); 897 input.checkValidity(); input.setAttribute('data-validation', ''); 898 }); 899 900 input.addEventListener('invalid', (e) => { 901 error.innerHTML = input.validationMessage; 902 }); 903 904 } 905 </script>
905 906 </label> 907 908 909 <button class="eds_button btn btn-primary w-100 mb-3" type="submit" form="forgot-password-form">Reset password</button> 910 <div class="text-center"> 911 <button data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#login-modal" class="eds_button btn btn-link btn-text-link border-0 p-0 text-inherit text-decoration-none" type="button">< Back</button> </div> 912 </form> </div> 913 914 915 </div> 916 </div> 917 918
918<script> 919 { 920 const container = document.querySelector('[data-eds-id="6ab536ad2fff3"]'); 921 let edsMethodsDisabled = false; 922 923 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 924 container.addEventListener(`eds.${eventName}`, (e) => { 925 if (edsMethodsDisabled) return; 926 927 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 928 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 929 ); 930 }); 931 }); 932 933 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 934 container.addEventListener(`${eventName}.bs.modal`, (e) => { 935 if (edsMethodsDisabled) return; 936 937 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 938 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 939 edsMethodsDisabled = false; 940 }); 941 }); 942 943 944 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 945 container.addEventListener(eventName, () => { 946 const autofocusInput = container.querySelector('[autofocus]'); 947 if (autofocusInput) { 948 container.style.display = 'block'; 949 autofocusInput.focus(); 950 } 951 }); 952 }); 953 954 } 955 </script>
955 956 </div> 957 958 959 <div 960 data-eds-id="6ab536ad30299" 961 class="eds_dialog modal fade " 962 tabindex="-1" 963 aria-labelledby="eds-dialog-title-6ab536ad30299" 964 aria-hidden="true" 965 id="login-modal" > 966 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md"> 967 <div class="modal-content "> 968 969 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 970 <h2 id="eds-dialog-title-6ab536ad30299" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 971 Log in </h2> 972 973 <button class="eds_button btn btn-outline-secondary btn-lg eds_button--shape-circle position-absolute top-0 end-0 border d-sm-none" style="width: 3rem; height: 3rem; margin-top: 6px; margin-right: 6px" data-bs-dismiss="modal" aria-label="Close" type="button"><i class="eds_icon fa fa-close" style="" aria-hidden="true"></i></button> </div> 974 975 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular "> 976 <form 977 id="login-form" 978 name="login" 979 data-async-on-submit 980 method="post" 981 action="https://www.dumplinghousenewtonma.com/auth" 982 data-async-block="#login-modal .modal-content" 983 data-async-target="#login-modal .eds_dialog-body" 984 data-async-then="document.querySelector('#login-modal').dispatchEvent(new CustomEvent('eds.hide'))" 985 data-async-recaptcha 986 novalidate 987 > 988 989 990 <label 991 data-eds-id="6ab536ad301b3" 992 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3" 993 > 994 <div class="eds_formfield-label"> 995 Your email <span aria-hidden="true">*</span> </div> 996 997 <div class="position-relative d-flex flex-column"> 998 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 999 1000 <input 1001 type="email" 1002 class="eds-copy-text-l-regular " 1003 placeholder=" " name="email" autocomplete="username" required value="" /> 1004 1005 1006 1007 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1008 </div> 1009 1010 1011
1011<script> 1012 { 1013 const container = document.querySelector('[data-eds-id="6ab536ad301b3"]'); 1014 const input = container.querySelector('input, textarea, select'); 1015 const error = container.querySelector('.eds_formfield-error'); 1016 1017 1018 input.addEventListener('eds.validation.reset', () => { 1019 input.removeAttribute('data-validation'); 1020 input.setCustomValidity(''); 1021 error.innerHTML = ''; 1022 }); 1023 1024 input.addEventListener('eds.validation.hide', () => { 1025 input.removeAttribute('data-validation'); 1026 }); 1027 1028 input.addEventListener('eds.validation.success', (e) => { 1029 input.setCustomValidity(''); 1030 input.setAttribute('data-validation', ''); 1031 error.innerHTML = ''; 1032 }); 1033 1034 input.addEventListener('eds.validation.warning', (e) => { 1035 input.setCustomValidity(''); 1036 input.setAttribute('data-validation', ''); 1037 error.innerHTML = e.detail; 1038 }); 1039 1040 input.addEventListener('eds.validation.error', (e) => { 1041 input.setCustomValidity(e.detail); 1042 input.checkValidity(); input.setAttribute('data-validation', ''); 1043 }); 1044 1045 input.addEventListener('invalid', (e) => { 1046 error.innerHTML = input.validationMessage; 1047 }); 1048 1049 } 1050 </script>
1050 1051 </label> 1052 1053 1054 1055 <label 1056 data-eds-id="6ab536ad301cb" 1057 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2" 1058 > 1059 <div class="eds_formfield-label"> 1060 Your password <span aria-hidden="true">*</span> </div> 1061 1062 <div class="position-relative d-flex flex-column"> 1063 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1064 1065 <input 1066 type="password" 1067 class="eds-copy-text-l-regular pe-6" 1068 data-event-on:toggle_password_6ab536ad301cb="(shown) => $(this).attr('type', shown ? 'text' : 'password')" placeholder=" " name="password" autocomplete="current-password" required value="" /> 1069 1070 1071 <button class="eds_button btn btn-outline eds_formfield-toggle_password position-absolute end-0 px-2" style="--bs-btn-bg: transparent" title="Show password" aria-label="Show password" onclick="app.event.emit('toggle_password_6ab536ad301cb', !$(this).data('password-shown'))" data-event-on:toggle_password_6ab536ad301cb="(shown) => $(this).data('password-shown', shown).attr('title', shown ? 'Hide password' : 'Show password').attr('aria-label', shown ? 'Hide password' : 'Show password')" type="button"><i class="eds_icon fas fa-sm fa-eye" style="" aria-hidden="true" data-event-on:toggle_password_6ab536ad301cb="(shown) => this.hidden = shown"></i> <i class="eds_icon fas fa-sm fa-eye-slash" style="" aria-hidden="true" data-event-on:toggle_password_6ab536ad301cb="(shown) => this.hidden = !shown" hidden></i></button> 1072 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1073 </div> 1074 1075 1076
1076<script> 1077 { 1078 const container = document.querySelector('[data-eds-id="6ab536ad301cb"]'); 1079 const input = container.querySelector('input, textarea, select'); 1080 const error = container.querySelector('.eds_formfield-error'); 1081 1082 1083 input.addEventListener('eds.validation.reset', () => { 1084 input.removeAttribute('data-validation'); 1085 input.setCustomValidity(''); 1086 error.innerHTML = ''; 1087 }); 1088 1089 input.addEventListener('eds.validation.hide', () => { 1090 input.removeAttribute('data-validation'); 1091 }); 1092 1093 input.addEventListener('eds.validation.success', (e) => { 1094 input.setCustomValidity(''); 1095 input.setAttribute('data-validation', ''); 1096 error.innerHTML = ''; 1097 }); 1098 1099 input.addEventListener('eds.validation.warning', (e) => { 1100 input.setCustomValidity(''); 1101 input.setAttribute('data-validation', ''); 1102 error.innerHTML = e.detail; 1103 }); 1104 1105 input.addEventListener('eds.validation.error', (e) => { 1106 input.setCustomValidity(e.detail); 1107 input.checkValidity(); input.setAttribute('data-validation', ''); 1108 }); 1109 1110 input.addEventListener('invalid', (e) => { 1111 error.innerHTML = input.validationMessage; 1112 }); 1113 1114 } 1115 </script>
1115 1116 </label> 1117 1118 1119 <div class="text-end mb-3"> 1120 <button data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#forgot-password-modal" class="eds_button btn btn-link btn-text-link border-0 p-0 text-inherit text-decoration-none" type="button">Forgot your password?</button> </div> 1121 1122 1123 <button class="eds_button btn btn-primary w-100 mb-3" type="submit">Log in</button> 1124 <div class="d-flex align-items-center mb-3"><hr class="flex-grow-1"><span class="mx-3 text-muted eds-interface-text-s-regular">OR</span><hr class="flex-grow-1"></div> <div class="google-signin-container text-center mb-2"> 1125 <a href="https://sso.onlineorderingsecure.com/auth/google/redirect?return_to=https%3A%2F%2Fwww.dumplinghousenewtonma.com%2Fauth%2Fgoogle&redirect=%2Fcontact" class="btn btn-outline-secondary w-100 eds_button eds_button--shape-default d-flex align-items-center justify-content-center gap-2" onclick="var url = new URL(this.href); url.searchParams.set('redirect', window.location.pathname + window.location.search); this.href = url.toString();"> 1126 <svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M17.64 9.2c0-.637-.057-1.251-.164-1.84H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z" fill="#4285F4"/><path d="M9 18c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18Z" fill="#34A853"/><path d="M3.964 10.71A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.71V4.958H.957A8.997 8.997 0 0 0 0 9c0 1.452.348 2.827.957 4.042l3.007-2.332Z" fill="#FBBC05"/><path d="M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.958L3.964 6.29C4.672 4.163 6.656 2.58 9 2.58Z" fill="#EA4335"/></svg> 1127 Continue with Google 1128 </a> 1129 </div> 1130 <div class="apple-signin-container text-center mb-2"> 1131 <a href="https://sso.onlineorderingsecure.com/auth/apple/redirect?return_to=https%3A%2F%2Fwww.dumplinghousenewtonma.com%2Fauth%2Fapple&redirect=%2Fcontact" class="btn btn-outline-secondary w-100 eds_button eds_button--shape-default d-flex align-items-center justify-content-center gap-2" onclick="var url = new URL(this.href); url.searchParams.set('redirect', window.location.pathname + window.location.search); this.href = url.toString();"> 1132 <svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M15.1 6.2c-.1.1-2.1 1.2-2.1 3.7 0 2.9 2.5 3.9 2.6 3.9 0 0 0 .1-.4 1.3-.6 1.5-1.7 3-2.9 3-1.3 0-1.6-.7-3.1-.7s-2 .8-3.1.8c-1.2 0-2.2-1.3-3-2.8C2 13.3 1.4 10.9 1.4 8.6c0-3.7 2.4-5.6 4.7-5.6 1.2 0 2.3.8 3 .8.7 0 1.9-.9 3.3-.9.5 0 2.4.1 3.7 1.3zM11.7 1.5c.6-.7 1-1.7 1-2.7 0-.1 0-.3 0-.4-1 0-2.1.6-2.8 1.4-.6.6-1.1 1.6-1.1 2.6 0 .2 0 .3 0 .4.1 0 .2 0 .3 0 .9 0 1.9-.6 2.6-1.3z" fill="currentColor"/></svg> 1133 Continue with Apple 1134 </a> 1135 </div> 1136 <small class="d-block mt-2 eds-interface-text-s-regular"> 1137 By continuing, you agree to our <a href="https://www.dumplinghousenewtonma.com/tos" target="_blank" rel="noopener" title="Opens in new tab">Terms of Service</a> & <a href="https://www.dumplinghousenewtonma.com/privacy" target="_blank" rel="noopener" title="Opens in new tab">Privacy Policy</a> and consent to receive automated promotional emails. See our <a href="https://www.dumplinghousenewtonma.com/privacy#section-7-7" target="_blank" rel="noopener" title="Opens in new tab">Notice of Financial Incentive</a> regarding how we use your data for rewards and offers. 1138 </small> 1139 1140 <div class="text-center mt-3"> 1141 Don't have an account? 1142 <button data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#register-modal" class="eds_button btn btn-link btn-text-link border-0 p-0 text-inherit text-decoration-none" type="button">Sign up</button> </div> 1143 </form> </div> 1144 1145 1146 </div> 1147 </div> 1148 1149
1149<script> 1150 { 1151 const container = document.querySelector('[data-eds-id="6ab536ad30299"]'); 1152 let edsMethodsDisabled = false; 1153 1154 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 1155 container.addEventListener(`eds.${eventName}`, (e) => { 1156 if (edsMethodsDisabled) return; 1157 1158 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 1159 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 1160 ); 1161 }); 1162 }); 1163 1164 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 1165 container.addEventListener(`${eventName}.bs.modal`, (e) => { 1166 if (edsMethodsDisabled) return; 1167 1168 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 1169 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 1170 edsMethodsDisabled = false; 1171 }); 1172 }); 1173 1174 1175 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 1176 container.addEventListener(eventName, () => { 1177 const autofocusInput = container.querySelector('[autofocus]'); 1178 if (autofocusInput) { 1179 container.style.display = 'block'; 1180 autofocusInput.focus(); 1181 } 1182 }); 1183 }); 1184 1185 } 1186 </script>
1186 1187 </div> 1188 1189 1190 <div 1191 data-eds-id="6ab536ad304ad" 1192 class="eds_dialog modal fade " 1193 tabindex="-1" 1194 aria-labelledby="eds-dialog-title-6ab536ad304ad" 1195 aria-hidden="true" 1196 id="register-modal" > 1197 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md"> 1198 <div class="modal-content "> 1199 1200 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 1201 <h2 id="eds-dialog-title-6ab536ad304ad" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 1202 Sign up </h2> 1203 1204 <button class="eds_button btn btn-outline-secondary btn-lg eds_button--shape-circle position-absolute top-0 end-0 border d-sm-none" style="width: 3rem; height: 3rem; margin-top: 6px; margin-right: 6px" data-bs-dismiss="modal" aria-label="Close" type="button"><i class="eds_icon fa fa-close" style="" aria-hidden="true"></i></button> </div> 1205 1206 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular p-0"> 1207 <form 1208 id="register-form" 1209 name="register" 1210 data-async-on-submit 1211 method="post" 1212 action="https://www.dumplinghousenewtonma.com/auth/register" 1213 data-async-block="#register-modal .modal-content" 1214 data-async-target="#register-modal .eds_dialog-body" 1215 data-async-then="document.querySelector('#register-modal').dispatchEvent(new CustomEvent('eds.hide'))" 1216 data-async-recaptcha 1217 novalidate 1218 > 1219 1220 <div class="p-3 pt-0"> 1221 1222 <label 1223 data-eds-id="6ab536ad303a5" 1224 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1225 > 1226 <div class="eds_formfield-label"> 1227 First name <span aria-hidden="true">*</span> </div> 1228 1229 <div class="position-relative d-flex flex-column"> 1230 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1231 1232 <input 1233 type="text" 1234 class="eds-copy-text-l-regular " 1235 placeholder=" " name="firstname" autocomplete="given-name" required value="" /> 1236 1237 1238 1239 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1240 </div> 1241 1242 1243
1243<script> 1244 { 1245 const container = document.querySelector('[data-eds-id="6ab536ad303a5"]'); 1246 const input = container.querySelector('input, textarea, select'); 1247 const error = container.querySelector('.eds_formfield-error'); 1248 1249 1250 input.addEventListener('eds.validation.reset', () => { 1251 input.removeAttribute('data-validation'); 1252 input.setCustomValidity(''); 1253 error.innerHTML = ''; 1254 }); 1255 1256 input.addEventListener('eds.validation.hide', () => { 1257 input.removeAttribute('data-validation'); 1258 }); 1259 1260 input.addEventListener('eds.validation.success', (e) => { 1261 input.setCustomValidity(''); 1262 input.setAttribute('data-validation', ''); 1263 error.innerHTML = ''; 1264 }); 1265 1266 input.addEventListener('eds.validation.warning', (e) => { 1267 input.setCustomValidity(''); 1268 input.setAttribute('data-validation', ''); 1269 error.innerHTML = e.detail; 1270 }); 1271 1272 input.addEventListener('eds.validation.error', (e) => { 1273 input.setCustomValidity(e.detail); 1274 input.checkValidity(); input.setAttribute('data-validation', ''); 1275 }); 1276 1277 input.addEventListener('invalid', (e) => { 1278 error.innerHTML = input.validationMessage; 1279 }); 1280 1281 } 1282 </script>
1282 1283 </label> 1284 1285 1286 1287 <label 1288 data-eds-id="6ab536ad303bd" 1289 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1290 > 1291 <div class="eds_formfield-label"> 1292 Last name <span aria-hidden="true">*</span> </div> 1293 1294 <div class="position-relative d-flex flex-column"> 1295 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1296 1297 <input 1298 type="text" 1299 class="eds-copy-text-l-regular " 1300 placeholder=" " name="lastname" autocomplete="family-name" required value="" /> 1301 1302 1303 1304 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1305 </div> 1306 1307 1308
1308<script> 1309 { 1310 const container = document.querySelector('[data-eds-id="6ab536ad303bd"]'); 1311 const input = container.querySelector('input, textarea, select'); 1312 const error = container.querySelector('.eds_formfield-error'); 1313 1314 1315 input.addEventListener('eds.validation.reset', () => { 1316 input.removeAttribute('data-validation'); 1317 input.setCustomValidity(''); 1318 error.innerHTML = ''; 1319 }); 1320 1321 input.addEventListener('eds.validation.hide', () => { 1322 input.removeAttribute('data-validation'); 1323 }); 1324 1325 input.addEventListener('eds.validation.success', (e) => { 1326 input.setCustomValidity(''); 1327 input.setAttribute('data-validation', ''); 1328 error.innerHTML = ''; 1329 }); 1330 1331 input.addEventListener('eds.validation.warning', (e) => { 1332 input.setCustomValidity(''); 1333 input.setAttribute('data-validation', ''); 1334 error.innerHTML = e.detail; 1335 }); 1336 1337 input.addEventListener('eds.validation.error', (e) => { 1338 input.setCustomValidity(e.detail); 1339 input.checkValidity(); input.setAttribute('data-validation', ''); 1340 }); 1341 1342 input.addEventListener('invalid', (e) => { 1343 error.innerHTML = input.validationMessage; 1344 }); 1345 1346 } 1347 </script>
1347 1348 </label> 1349 1350 1351 1352 <label 1353 data-eds-id="6ab536ad303ce" 1354 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1355 > 1356 <div class="eds_formfield-label"> 1357 Email <span aria-hidden="true">*</span> </div> 1358 1359 <div class="position-relative d-flex flex-column"> 1360 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1361 1362 <input 1363 type="email" 1364 class="eds-copy-text-l-regular " 1365 placeholder=" " name="email" autocomplete="username" required value="" /> 1366 1367 1368 1369 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1370 </div> 1371 1372 1373
1373<script> 1374 { 1375 const container = document.querySelector('[data-eds-id="6ab536ad303ce"]'); 1376 const input = container.querySelector('input, textarea, select'); 1377 const error = container.querySelector('.eds_formfield-error'); 1378 1379 1380 input.addEventListener('eds.validation.reset', () => { 1381 input.removeAttribute('data-validation'); 1382 input.setCustomValidity(''); 1383 error.innerHTML = ''; 1384 }); 1385 1386 input.addEventListener('eds.validation.hide', () => { 1387 input.removeAttribute('data-validation'); 1388 }); 1389 1390 input.addEventListener('eds.validation.success', (e) => { 1391 input.setCustomValidity(''); 1392 input.setAttribute('data-validation', ''); 1393 error.innerHTML = ''; 1394 }); 1395 1396 input.addEventListener('eds.validation.warning', (e) => { 1397 input.setCustomValidity(''); 1398 input.setAttribute('data-validation', ''); 1399 error.innerHTML = e.detail; 1400 }); 1401 1402 input.addEventListener('eds.validation.error', (e) => { 1403 input.setCustomValidity(e.detail); 1404 input.checkValidity(); input.setAttribute('data-validation', ''); 1405 }); 1406 1407 input.addEventListener('invalid', (e) => { 1408 error.innerHTML = input.validationMessage; 1409 }); 1410 1411 } 1412 </script>
1412 1413 </label> 1414 1415 1416 1417 <label 1418 data-eds-id="6ab536ad303dd" 1419 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1420 > 1421 <div class="eds_formfield-label"> 1422 Password <span aria-hidden="true">*</span> </div> 1423 1424 <div class="position-relative d-flex flex-column"> 1425 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1426 1427 <input 1428 type="password" 1429 class="eds-copy-text-l-regular pe-6" 1430 data-event-on:toggle_password_6ab536ad303dd="(shown) => $(this).attr('type', shown ? 'text' : 'password')" placeholder=" " name="password" autocomplete="current-password" required value="" /> 1431 1432 1433 <button class="eds_button btn btn-outline eds_formfield-toggle_password position-absolute end-0 px-2" style="--bs-btn-bg: transparent" title="Show password" aria-label="Show password" onclick="app.event.emit('toggle_password_6ab536ad303dd', !$(this).data('password-shown'))" data-event-on:toggle_password_6ab536ad303dd="(shown) => $(this).data('password-shown', shown).attr('title', shown ? 'Hide password' : 'Show password').attr('aria-label', shown ? 'Hide password' : 'Show password')" type="button"><i class="eds_icon fas fa-sm fa-eye" style="" aria-hidden="true" data-event-on:toggle_password_6ab536ad303dd="(shown) => this.hidden = shown"></i> <i class="eds_icon fas fa-sm fa-eye-slash" style="" aria-hidden="true" data-event-on:toggle_password_6ab536ad303dd="(shown) => this.hidden = !shown" hidden></i></button> 1434 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1435 </div> 1436 1437 1438
1438<script> 1439 { 1440 const container = document.querySelector('[data-eds-id="6ab536ad303dd"]'); 1441 const input = container.querySelector('input, textarea, select'); 1442 const error = container.querySelector('.eds_formfield-error'); 1443 1444 1445 input.addEventListener('eds.validation.reset', () => { 1446 input.removeAttribute('data-validation'); 1447 input.setCustomValidity(''); 1448 error.innerHTML = ''; 1449 }); 1450 1451 input.addEventListener('eds.validation.hide', () => { 1452 input.removeAttribute('data-validation'); 1453 }); 1454 1455 input.addEventListener('eds.validation.success', (e) => { 1456 input.setCustomValidity(''); 1457 input.setAttribute('data-validation', ''); 1458 error.innerHTML = ''; 1459 }); 1460 1461 input.addEventListener('eds.validation.warning', (e) => { 1462 input.setCustomValidity(''); 1463 input.setAttribute('data-validation', ''); 1464 error.innerHTML = e.detail; 1465 }); 1466 1467 input.addEventListener('eds.validation.error', (e) => { 1468 input.setCustomValidity(e.detail); 1469 input.checkValidity(); input.setAttribute('data-validation', ''); 1470 }); 1471 1472 input.addEventListener('invalid', (e) => { 1473 error.innerHTML = input.validationMessage; 1474 }); 1475 1476 } 1477 </script>
1477 1478 </label> 1479 1480 1481 1482 <label 1483 data-eds-id="6ab536ad3040b" 1484 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3" 1485 > 1486 <div class="eds_formfield-label"> 1487 Phone number <span aria-hidden="true">*</span> </div> 1488 1489 <div class="position-relative d-flex flex-column"> 1490 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1491 1492 <input 1493 type="text" 1494 class="eds-copy-text-l-regular " 1495 placeholder=" " name="primary_phone" autocomplete="tel-national" required value="" /> 1496 1497 1498 1499 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1500 </div> 1501 1502 <div class="eds-interface-text-s-regular mt-2"> 1503 <i class="eds_icon fa fa-info-circle text-muted" style="" aria-hidden="true"></i> We require a phone number in case we need to contact you about your order. </div> 1504 1505
1505<script> 1506 { 1507 const container = document.querySelector('[data-eds-id="6ab536ad3040b"]'); 1508 const input = container.querySelector('input, textarea, select'); 1509 const error = container.querySelector('.eds_formfield-error'); 1510 1511 1512 input.addEventListener('eds.validation.reset', () => { 1513 input.removeAttribute('data-validation'); 1514 input.setCustomValidity(''); 1515 error.innerHTML = ''; 1516 }); 1517 1518 input.addEventListener('eds.validation.hide', () => { 1519 input.removeAttribute('data-validation'); 1520 }); 1521 1522 input.addEventListener('eds.validation.success', (e) => { 1523 input.setCustomValidity(''); 1524 input.setAttribute('data-validation', ''); 1525 error.innerHTML = ''; 1526 }); 1527 1528 input.addEventListener('eds.validation.warning', (e) => { 1529 input.setCustomValidity(''); 1530 input.setAttribute('data-validation', ''); 1531 error.innerHTML = e.detail; 1532 }); 1533 1534 input.addEventListener('eds.validation.error', (e) => { 1535 input.setCustomValidity(e.detail); 1536 input.checkValidity(); input.setAttribute('data-validation', ''); 1537 }); 1538 1539 input.addEventListener('invalid', (e) => { 1540 error.innerHTML = input.validationMessage; 1541 }); 1542 1543 } 1544 </script>
1544 1545 </label> 1546 1547 1548 1549 <div class="eds_checkable d-inline-block mb-2" > 1550 <input id="eds-checkable-6ab536ad3041c" name="receive_promotions" value="1" checked type="checkbox" /> 1551 <label for="eds-checkable-6ab536ad3041c" class="eds_checkable-text eds-interface-text-l-regular "> 1552 Receive Promotional Offers & Updates </label> 1553 </div> 1554 1555 1556 <button class="eds_button btn btn-primary w-100 mt-1 mb-3" type="submit">Sign up</button> 1557 <div class="d-flex align-items-center mb-3"><hr class="flex-grow-1"><span class="mx-3 text-muted eds-interface-text-s-regular">OR</span><hr class="flex-grow-1"></div> <div class="google-signin-container text-center mb-2"> 1558 <a href="https://sso.onlineorderingsecure.com/auth/google/redirect?return_to=https%3A%2F%2Fwww.dumplinghousenewtonma.com%2Fauth%2Fgoogle&redirect=%2Fcontact" class="btn btn-outline-secondary w-100 eds_button eds_button--shape-default d-flex align-items-center justify-content-center gap-2" onclick="var url = new URL(this.href); url.searchParams.set('redirect', window.location.pathname + window.location.search); this.href = url.toString();"> 1559 <svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M17.64 9.2c0-.637-.057-1.251-.164-1.84H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z" fill="#4285F4"/><path d="M9 18c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18Z" fill="#34A853"/><path d="M3.964 10.71A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.71V4.958H.957A8.997 8.997 0 0 0 0 9c0 1.452.348 2.827.957 4.042l3.007-2.332Z" fill="#FBBC05"/><path d="M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.958L3.964 6.29C4.672 4.163 6.656 2.58 9 2.58Z" fill="#EA4335"/></svg> 1560 Continue with Google 1561 </a> 1562 </div> 1563 <div class="apple-signin-container text-center mb-2"> 1564 <a href="https://sso.onlineorderingsecure.com/auth/apple/redirect?return_to=https%3A%2F%2Fwww.dumplinghousenewtonma.com%2Fauth%2Fapple&redirect=%2Fcontact" class="btn btn-outline-secondary w-100 eds_button eds_button--shape-default d-flex align-items-center justify-content-center gap-2" onclick="var url = new URL(this.href); url.searchParams.set('redirect', window.location.pathname + window.location.search); this.href = url.toString();"> 1565 <svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M15.1 6.2c-.1.1-2.1 1.2-2.1 3.7 0 2.9 2.5 3.9 2.6 3.9 0 0 0 .1-.4 1.3-.6 1.5-1.7 3-2.9 3-1.3 0-1.6-.7-3.1-.7s-2 .8-3.1.8c-1.2 0-2.2-1.3-3-2.8C2 13.3 1.4 10.9 1.4 8.6c0-3.7 2.4-5.6 4.7-5.6 1.2 0 2.3.8 3 .8.7 0 1.9-.9 3.3-.9.5 0 2.4.1 3.7 1.3zM11.7 1.5c.6-.7 1-1.7 1-2.7 0-.1 0-.3 0-.4-1 0-2.1.6-2.8 1.4-.6.6-1.1 1.6-1.1 2.6 0 .2 0 .3 0 .4.1 0 .2 0 .3 0 .9 0 1.9-.6 2.6-1.3z" fill="currentColor"/></svg> 1566 Continue with Apple 1567 </a> 1568 </div> 1569 <small class="d-block mt-2 eds-interface-text-s-regular"> 1570 By continuing, you agree to our <a href="https://www.dumplinghousenewtonma.com/tos" target="_blank" rel="noopener" title="Opens in new tab">Terms of Service</a> & <a href="https://www.dumplinghousenewtonma.com/privacy" target="_blank" rel="noopener" title="Opens in new tab">Privacy Policy</a> and consent to receive automated promotional emails. See our <a href="https://www.dumplinghousenewtonma.com/privacy#section-7-7" target="_blank" rel="noopener" title="Opens in new tab">Notice of Financial Incentive</a> regarding how we use your data for rewards and offers. 1571 </small> 1572 1573 <div class="text-center mt-3"> 1574 Already have an account? 1575 <button data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#login-modal" class="eds_button btn btn-link btn-text-link border-0 p-0 text-inherit text-decoration-none" type="button">Log in</button> </div> 1576 </div> 1577 </form> </div> 1578 1579 1580 </div> 1581 </div> 1582 1583
1583<script> 1584 { 1585 const container = document.querySelector('[data-eds-id="6ab536ad304ad"]'); 1586 let edsMethodsDisabled = false; 1587 1588 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 1589 container.addEventListener(`eds.${eventName}`, (e) => { 1590 if (edsMethodsDisabled) return; 1591 1592 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 1593 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 1594 ); 1595 }); 1596 }); 1597 1598 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 1599 container.addEventListener(`${eventName}.bs.modal`, (e) => { 1600 if (edsMethodsDisabled) return; 1601 1602 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 1603 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 1604 edsMethodsDisabled = false; 1605 }); 1606 }); 1607 1608 1609 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 1610 container.addEventListener(eventName, () => { 1611 const autofocusInput = container.querySelector('[autofocus]'); 1612 if (autofocusInput) { 1613 container.style.display = 'block'; 1614 autofocusInput.focus(); 1615 } 1616 }); 1617 }); 1618 1619 } 1620 </script>
1620 1621 </div> 1622 1623 1624
1624<script> 1625 window.__ssoConfig = { 1626 google: { 1627 pendingUrl: "https:\/\/www.dumplinghousenewtonma.com\/auth\/google\/pending", 1628 registerModalId: "register-modal", 1629 loginModalId: "login-modal" }, 1630 apple: { 1631 pendingUrl: "https:\/\/www.dumplinghousenewtonma.com\/auth\/apple\/pending", 1632 registerModalId: "register-modal", 1633 loginModalId: "login-modal" } 1634 }; 1635 </script>
1635 1636 1637 1638<div class="modal fade" id="modal-order-time" tabindex="-1" role="dialog" 1639 aria-hidden="true"> 1640 <div class="modal-dialog modal-fullscreen-md-down mt-md-6" role="document"> 1641 <div class="modal-content"> 1642 <button class="d-md-none close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> 1643 <div class="modal-header"> 1644 <h2 class="modal-title eds-display-text-title-m">Order time</h2> 1645 </div> 1646 <div class="modal-body"> 1647 <div class="btn-group w-100 btn-group-order-time-type mb-3" style="display: none;"> 1648 1649 <input type="radio" name="param_order~time~type_i_n_1" id="order_time_type_1-" value="1" class="btn-check timeswitch orderTimeTypeOption" 1650 checked /> 1651 <label for="order_time_type_1-" class="d-flex align-items-center justify-content-center btn btn-outline-secondary w-50"> 1652 <span> 1653 Later 1654 <span class="d-block small fw-normal">Later</span> 1655 </span> 1656 </label> 1657 </div> 1658 <div id="laterContent" class=""> 1659 <div class="select-time-container"> 1660 <div class="selecttime showcheck_parent "> 1661 <div class="select-time-header clearfix"> 1662 <h3 class="bold fl fs-5">Pick a day and time</h3> 1663 </div> 1664 <div class="select-time-content clearfix"> 1665 <div class="row select-time-row"> 1666 <div class="datepicker col-md-8" style="min-height: 248px;"> 1667 <div class="datepicker-days" style="display: block;"> 1668 <div data-datetimepicker data-datepicker-min-date="2026-09-24" class="errorable"></div> 1669 </div> 1670 </div> 1671 <div class="timepicker col-md-4"> 1672 <div class="timepicker-picker"> 1673 <ul class="ready-at-time css-scroll"> 1674 <li class="time-button "> 1675 <input id="timeValue0" type="radio" value="11:30 AM" name="param_ready~at~time_s_n_15" 1676 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1677 data-required-field data-ready-attime/> 1678 <label for="timeValue0" class="btn btn-outline-secondary btn-sm" for="">11:30 AM</label> 1679 </li> 1680 <li class="time-button "> 1681 <input id="timeValue1" type="radio" value="11:45 AM" name="param_ready~at~time_s_n_15" 1682 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1683 data-required-field data-ready-attime/> 1684 <label for="timeValue1" class="btn btn-outline-secondary btn-sm" for="">11:45 AM</label> 1685 </li> 1686 <li class="time-button "> 1687 <input id="timeValue2" type="radio" value="12:00 PM" name="param_ready~at~time_s_n_15" 1688 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1689 data-required-field data-ready-attime/> 1690 <label for="timeValue2" class="btn btn-outline-secondary btn-sm" for="">12:00 PM</label> 1691 </li> 1692 <li class="time-button "> 1693 <input id="timeValue3" type="radio" value="12:15 PM" name="param_ready~at~time_s_n_15" 1694 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1695 data-required-field data-ready-attime/> 1696 <label for="timeValue3" class="btn btn-outline-secondary btn-sm" for="">12:15 PM</label> 1697 </li> 1698 <li class="time-button "> 1699 <input id="timeValue4" type="radio" value="12:30 PM" name="param_ready~at~time_s_n_15" 1700 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1701 data-required-field data-ready-attime/> 1702 <label for="timeValue4" class="btn btn-outline-secondary btn-sm" for="">12:30 PM</label> 1703 </li> 1704 <li class="time-button "> 1705 <input id="timeValue5" type="radio" value="12:45 PM" name="param_ready~at~time_s_n_15" 1706 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1707 data-required-field data-ready-attime/> 1708 <label for="timeValue5" class="btn btn-outline-secondary btn-sm" for="">12:45 PM</label> 1709 </li> 1710 <li class="time-button "> 1711 <input id="timeValue6" type="radio" value="1:00 PM" name="param_ready~at~time_s_n_15" 1712 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1713 data-required-field data-ready-attime/> 1714 <label for="timeValue6" class="btn btn-outline-secondary btn-sm" for="">1:00 PM</label> 1715 </li> 1716 <li class="time-button "> 1717 <input id="timeValue7" type="radio" value="1:15 PM" name="param_ready~at~time_s_n_15" 1718 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1719 data-required-field data-ready-attime/> 1720 <label for="timeValue7" class="btn btn-outline-secondary btn-sm" for="">1:15 PM</label> 1721 </li> 1722 <li class="time-button "> 1723 <input id="timeValue8" type="radio" value="1:30 PM" name="param_ready~at~time_s_n_15" 1724 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1725 data-required-field data-ready-attime/> 1726 <label for="timeValue8" class="btn btn-outline-secondary btn-sm" for="">1:30 PM</label> 1727 </li> 1728 <li class="time-button "> 1729 <input id="timeValue9" type="radio" value="1:45 PM" name="param_ready~at~time_s_n_15" 1730 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1731 data-required-field data-ready-attime/> 1732 <label for="timeValue9" class="btn btn-outline-secondary btn-sm" for="">1:45 PM</label> 1733 </li> 1734 <li class="time-button "> 1735 <input id="timeValue10" type="radio" value="2:00 PM" name="param_ready~at~time_s_n_15" 1736 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1737 data-required-field data-ready-attime/> 1738 <label for="timeValue10" class="btn btn-outline-secondary btn-sm" for="">2:00 PM</label> 1739 </li> 1740 <li class="time-button "> 1741 <input id="timeValue11" type="radio" value="2:15 PM" name="param_ready~at~time_s_n_15" 1742 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1743 data-required-field data-ready-attime/> 1744 <label for="timeValue11" class="btn btn-outline-secondary btn-sm" for="">2:15 PM</label> 1745 </li> 1746 <li class="time-button "> 1747 <input id="timeValue12" type="radio" value="2:30 PM" name="param_ready~at~time_s_n_15" 1748 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1749 data-required-field data-ready-attime/> 1750 <label for="timeValue12" class="btn btn-outline-secondary btn-sm" for="">2:30 PM</label> 1751 </li> 1752 <li class="time-button "> 1753 <input id="timeValue13" type="radio" value="2:45 PM" name="param_ready~at~time_s_n_15" 1754 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1755 data-required-field data-ready-attime/> 1756 <label for="timeValue13" class="btn btn-outline-secondary btn-sm" for="">2:45 PM</label> 1757 </li> 1758 <li class="time-button "> 1759 <input id="timeValue14" type="radio" value="3:00 PM" name="param_ready~at~time_s_n_15" 1760 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1761 data-required-field data-ready-attime/> 1762 <label for="timeValue14" class="btn btn-outline-secondary btn-sm" for="">3:00 PM</label> 1763 </li> 1764 <li class="time-button "> 1765 <input id="timeValue15" type="radio" value="3:15 PM" name="param_ready~at~time_s_n_15" 1766 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1767 data-required-field data-ready-attime/> 1768 <label for="timeValue15" class="btn btn-outline-secondary btn-sm" for="">3:15 PM</label> 1769 </li> 1770 <li class="time-button "> 1771 <input id="timeValue16" type="radio" value="3:30 PM" name="param_ready~at~time_s_n_15" 1772 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1773 data-required-field data-ready-attime/> 1774 <label for="timeValue16" class="btn btn-outline-secondary btn-sm" for="">3:30 PM</label> 1775 </li> 1776 <li class="time-button "> 1777 <input id="timeValue17" type="radio" value="3:45 PM" name="param_ready~at~time_s_n_15" 1778 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1779 data-required-field data-ready-attime/> 1780 <label for="timeValue17" class="btn btn-outline-secondary btn-sm" for="">3:45 PM</label> 1781 </li> 1782 <li class="time-button "> 1783 <input id="timeValue18" type="radio" value="4:00 PM" name="param_ready~at~time_s_n_15" 1784 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1785 data-required-field data-ready-attime/> 1786 <label for="timeValue18" class="btn btn-outline-secondary btn-sm" for="">4:00 PM</label> 1787 </li> 1788 <li class="time-button "> 1789 <input id="timeValue19" type="radio" value="4:15 PM" name="param_ready~at~time_s_n_15" 1790 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1791 data-required-field data-ready-attime/> 1792 <label for="timeValue19" class="btn btn-outline-secondary btn-sm" for="">4:15 PM</label> 1793 </li> 1794 <li class="time-button "> 1795 <input id="timeValue20" type="radio" value="4:30 PM" name="param_ready~at~time_s_n_15" 1796 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1797 data-required-field data-ready-attime/> 1798 <label for="timeValue20" class="btn btn-outline-secondary btn-sm" for="">4:30 PM</label> 1799 </li> 1800 <li class="time-button "> 1801 <input id="timeValue21" type="radio" value="4:45 PM" name="param_ready~at~time_s_n_15" 1802 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1803 data-required-field data-ready-attime/> 1804 <label for="timeValue21" class="btn btn-outline-secondary btn-sm" for="">4:45 PM</label> 1805 </li> 1806 <li class="time-button "> 1807 <input id="timeValue22" type="radio" value="5:00 PM" name="param_ready~at~time_s_n_15" 1808 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1809 data-required-field data-ready-attime/> 1810 <label for="timeValue22" class="btn btn-outline-secondary btn-sm" for="">5:00 PM</label> 1811 </li> 1812 <li class="time-button "> 1813 <input id="timeValue23" type="radio" value="5:15 PM" name="param_ready~at~time_s_n_15" 1814 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1815 data-required-field data-ready-attime/> 1816 <label for="timeValue23" class="btn btn-outline-secondary btn-sm" for="">5:15 PM</label> 1817 </li> 1818 <li class="time-button "> 1819 <input id="timeValue24" type="radio" value="5:30 PM" name="param_ready~at~time_s_n_15" 1820 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1821 data-required-field data-ready-attime/> 1822 <label for="timeValue24" class="btn btn-outline-secondary btn-sm" for="">5:30 PM</label> 1823 </li> 1824 <li class="time-button "> 1825 <input id="timeValue25" type="radio" value="5:45 PM" name="param_ready~at~time_s_n_15" 1826 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1827 data-required-field data-ready-attime/> 1828 <label for="timeValue25" class="btn btn-outline-secondary btn-sm" for="">5:45 PM</label> 1829 </li> 1830 <li class="time-button "> 1831 <input id="timeValue26" type="radio" value="6:00 PM" name="param_ready~at~time_s_n_15" 1832 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1833 data-required-field data-ready-attime/> 1834 <label for="timeValue26" class="btn btn-outline-secondary btn-sm" for="">6:00 PM</label> 1835 </li> 1836 <li class="time-button "> 1837 <input id="timeValue27" type="radio" value="6:15 PM" name="param_ready~at~time_s_n_15" 1838 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1839 data-required-field data-ready-attime/> 1840 <label for="timeValue27" class="btn btn-outline-secondary btn-sm" for="">6:15 PM</label> 1841 </li> 1842 <li class="time-button "> 1843 <input id="timeValue28" type="radio" value="6:30 PM" name="param_ready~at~time_s_n_15" 1844 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1845 data-required-field data-ready-attime/> 1846 <label for="timeValue28" class="btn btn-outline-secondary btn-sm" for="">6:30 PM</label> 1847 </li> 1848 <li class="time-button "> 1849 <input id="timeValue29" type="radio" value="6:45 PM" name="param_ready~at~time_s_n_15" 1850 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1851 data-required-field data-ready-attime/> 1852 <label for="timeValue29" class="btn btn-outline-secondary btn-sm" for="">6:45 PM</label> 1853 </li> 1854 <li class="time-button "> 1855 <input id="timeValue30" type="radio" value="7:00 PM" name="param_ready~at~time_s_n_15" 1856 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1857 data-required-field data-ready-attime/> 1858 <label for="timeValue30" class="btn btn-outline-secondary btn-sm" for="">7:00 PM</label> 1859 </li> 1860 <li class="time-button "> 1861 <input id="timeValue31" type="radio" value="7:15 PM" name="param_ready~at~time_s_n_15" 1862 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1863 data-required-field data-ready-attime/> 1864 <label for="timeValue31" class="btn btn-outline-secondary btn-sm" for="">7:15 PM</label> 1865 </li> 1866 <li class="time-button "> 1867 <input id="timeValue32" type="radio" value="7:30 PM" name="param_ready~at~time_s_n_15" 1868 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1869 data-required-field data-ready-attime/> 1870 <label for="timeValue32" class="btn btn-outline-secondary btn-sm" for="">7:30 PM</label> 1871 </li> 1872 <li class="time-button "> 1873 <input id="timeValue33" type="radio" value="7:45 PM" name="param_ready~at~time_s_n_15" 1874 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1875 data-required-field data-ready-attime/> 1876 <label for="timeValue33" class="btn btn-outline-secondary btn-sm" for="">7:45 PM</label> 1877 </li> 1878 <li class="time-button "> 1879 <input id="timeValue34" type="radio" value="8:00 PM" name="param_ready~at~time_s_n_15" 1880 class="btn-check rad-ready_at_time" onchange="saveFormStat
1880e('param_ready~at~time_s_n_15', this.value, true);" 1881 data-required-field data-ready-attime/> 1882 <label for="timeValue34" class="btn btn-outline-secondary btn-sm" for="">8:00 PM</label> 1883 </li> 1884 <li class="time-button "> 1885 <input id="timeValue35" type="radio" value="8:15 PM" name="param_ready~at~time_s_n_15" 1886 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1887 data-required-field data-ready-attime/> 1888 <label for="timeValue35" class="btn btn-outline-secondary btn-sm" for="">8:15 PM</label> 1889 </li> 1890 <li class="time-button "> 1891 <input id="timeValue36" type="radio" value="8:30 PM" name="param_ready~at~time_s_n_15" 1892 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1893 data-required-field data-ready-attime/> 1894 <label for="timeValue36" class="btn btn-outline-secondary btn-sm" for="">8:30 PM</label> 1895 </li> 1896 </ul> 1897 </div> 1898 </div> 1899 </div> 1900 </div> 1901</div> 1902</div> 1903<input type="hidden" name="param_ready~at_s_n_100" class="hid-ready-at" value="" /> 1904<input type="hidden" class="hid-ready-at-date" value="2026-09-24" /> 1905<input type="hidden" class="hid-eot" value="1969-12-31 16:00:00" /> </div> 1906 </div> 1907 <div class="modal-footer"> 1908 <input type="hidden" id="hid-order-time-type" value="1" /> 1909 <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Cancel</button> 1910 <button type="button" class="btn btn-primary" data-save-time-modal>Save</button> 1911 </div> 1912 </div> 1913 </div> 1914</div> 1915 1916<!-- www modal start --> 1917<div class="modal fade mob_full_modal www_modal order-options" id="modal-order-options" tabindex="-1" role="dialog" 1918 aria-hidden="true" data-update-otype-on-modal-close> 1919 <div class="modal-dialog modal-fullscreen-sm-down mt-sm-6" role="document"> 1920 <div class="modal-content"> 1921 <button class="d-md-none close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> 1922 <div class="modal-header"> 1923 <h2 class="modal-title eds-display-text-title-m">Order details</h2> 1924 </div> 1925 <div class="modal-body"> 1926 <div class="www_moda_content"> 1927 <div class="cs_box order_type" onchange="app.event.emit('order_type_changed', { order_type: event.target.value })"> 1928 <div class="h5">What:</div> 1929 <div class="position-relative"> 1930 <div class="mdropbtn" data-toggle-mdrop role="button"> 1931 <span class="visually-hidden">Order type:</span> 1932 <span data-order-type-label> 1933 Select </span> 1934 </div> 1935 <ul data-mdrop-ul> 1936 <li class=" "> 1937 <input data-order-type-on-change type="radio" name="param_order~type_s_n_10" id="order-type-pickup-1" 1938 class="orderTypeOption css-checkbox " data-name="Pick up" value="PICKUP" 1939 data-constant="1" data-base="PICKUP" > 1940 <label for="order-type-pickup-1" class="css-label" data-update-mdrop-on-click> 1941 Pick up </label> 1942 </li> 1943 <li class=" "> 1944 <input data-order-type-on-change type="radio" name="param_order~type_s_n_10" id="order-type-delivery-1" 1945 class="orderTypeOption css-checkbox deliveryswitch" data-name="Delivery" value="DELIVERY" 1946 data-constant="2" data-base="DELIVERY" > 1947 <label for="order-type-delivery-1" class="css-label" data-update-mdrop-on-click> 1948 Delivery </label> 1949 </li> 1950 </ul> 1951</div> 1952 </div> 1953 <form class=""> 1954 <div class="cs_box guest_checkout_address checkout_address deliveryAddressContainer" style="display:none;"> 1955 <label for="street-address-bar" class="h5">Enter your address:</label> 1956 <div class="form-group street-address-container"> 1957 <input name="param_full~address_s_n_255" id="street-address-bar" placeholder="Enter your address" 1958 data-autocomplete-address data-autocomplete-success="autoCompleteSuccess" 1959 onkeyup="scheduleFormStateSave(this.name, this.value)" onchange="validateAddress($('#modal-order-options .deliveryAddressContainer'))" 1960 type="search" class="form-control input-search input-validate-address input-street-address user-address-field" 1961 value="" data-required-field /> 1962 </div> 1963 <input type="hidden" name="param_street~address_s_n_255" data-autocompleted-street
1963-address /> 1964 <input type="hidden" name="param_city_s_n_90" data-autocompleted-city /> 1965 <input type="hidden" name="param_state_s_n_2" data-autocompleted-state /> 1966 <input type="hidden" name="param_zip~code_z_n_10" data-autocompleted-zip /> 1967 </div> 1968 </form> 1969 <!-- <div class="form-submit-wrapper"> 1970 <input type="submit" class="form-submit btn btn-primary" value="Save" data-close-modal data-select-later-date data-saveotype-modal> 1971 </div> --> 1972 </div> 1973 </div> 1974 <div 1975 data-async-on-event="order_type_changed" 1976 data-async-action="https://www.dumplinghousenewtonma.com/ajax/?form=minimum_order_value_warning&component=order_type" 1977 data-async-method="get" 1978 > 1979 </div> 1980 <div class="modal-footer"> 1981 <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Close</button> 1982 <button type="button" class="btn btn-primary" data-close-modal data-saveotype-modal>Save</button> 1983 </div> 1984 </div> 1985 </div> 1986</div> 1987<!-- www modal end --> 1988 1989<!-- menu item modal --> 1990<div class="modal fade add_menu" id="add_menu_item" tabindex="-1" role="dialog" aria-hidden="true" aria-labelledby="item_name"> 1991 <div class="modal-dialog modal-dialog-centered modal-fullscreen-md-down" role="document"> 1992 <div class="modal-content menu-item-container-wrapper"> 1993 <div class="modal-body menu-item-container "> 1994 <p id="item_name">Menu item dialog</p> 1995 </div> 1996 </div> 1997 </div> 1998</div> 1999<!-- menu item modal end --> 2000 2001 2002 <div 2003 data-eds-id="6ab536ad37ea2" 2004 class="eds_dialog modal fade " 2005 tabindex="-1" 2006 aria-labelledby="eds-dialog-title-6ab536ad37ea2" 2007 aria-hidden="true" 2008 data-event-on:coupon_modal_shown="(shown) => $(this).data(`coupon_modal_shown`, shown)" data-event-on:show_coupon_restrictions="({ coupon, errors }) => { 2009 if ($(this).data(`coupon_modal_shown`)) return; 2010 2011 $(this).find(`.eds_dialog-title`).html(`<div class="text-truncate">${coupon}</div>`); 2012 $(this).find(`.eds_dialog-body`).html(errors); 2013 this.dispatchEvent(new CustomEvent(`eds.show`)); 2014 }" data-event-on:restore_coupon_modal="this.dispatchEvent(new CustomEvent(`eds.hide`))" > 2015 <div class="modal-dialog modal-dialog-scrollable modal-dialog-centered modal-fullscreen-sm-down modal-md"> 2016 <div class="modal-content "> 2017 2018 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 2019 <h2 id="eds-dialog-title-6ab536ad37ea2" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 2020 Coupon restrictions </h2> 2021 2022 <button class="eds_button btn btn-outline-secondary btn-lg eds_button--shape-circle position-absolute top-0 end-0 border" style="width: 3rem; height: 3rem; margin-top: 6px; margin-right: 6px" data-bs-dismiss="modal" aria-label="Close" type="button"><i class="eds_icon fa fa-close" style="" aria-hidden="true"></i></button> </div> 2023 2024 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular vh-100"> 2025 </div> 2026 2027 2028 </div> 2029 </div> 2030 2031
2031<script> 2032 { 2033 const container = document.querySelector('[data-eds-id="6ab536ad37ea2"]'); 2034 let edsMethodsDisabled = false; 2035 2036 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 2037 container.addEventListener(`eds.${eventName}`, (e) => { 2038 if (edsMethodsDisabled) return; 2039 2040 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 2041 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 2042 ); 2043 }); 2044 }); 2045 2046 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 2047 container.addEventListener(`${eventName}.bs.modal`, (e) => { 2048 if (edsMethodsDisabled) return; 2049 2050 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 2051 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 2052 edsMethodsDisabled = false; 2053 }); 2054 }); 2055 2056 2057 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 2058 container.addEventListener(eventName, () => { 2059 const autofocusInput = container.querySelector('[autofocus]'); 2060 if (autofocusInput) { 2061 container.style.display = 'block'; 2062 autofocusInput.focus(); 2063 } 2064 }); 2065 }); 2066 2067 } 2068 </script>
2068 2069 </div> 2070 2071 2072<!-- location modal mobile start--> 2073<div class="modal fade location-picker" id="locationModal" tabindex="-1" role="dialog" aria-hidden="true"> 2074 <div class="backdrop" data-bs-dismiss="modal"></div> 2075 <div class="modal-dialog modal-sm modal-dialog-centered" role="document"> 2076 <div class="modal-content"> 2077 <div class="modal-header"> 2078 <h2 class="modal-title eds-display-text-title-m">Change Location</h2> 2079 </div> 2080 2081 <div class="modal-body"> 2082 2083<div class="change_location-locations"> 2084 <input 2085 type="radio" 2086 class="css-checkbox" 2087 id="locations-1-location-6745" 2088 name="locations-1" 2089 value="https://www.dumplinghousenewtonma.com/order" 2090 checked /> 2091 <label class="css-label" for="locations-1-location-6745"> 2092 <div style="line-height: normal"> 2093 <strong>Dumpling House - (Walnut St) Newton</strong> 2094 <br /> 2095 870 Walnut St Newton, MA 02459 </div> 2096 </label> 2097 </div> 2098 2099 </div> 2100 2101 <div class="modal-footer"> 2102 <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Close</button> 2103 <button type="button" class="btn btn-warning" data-go-to-url-on-click="[name='locations-1']:checked"> 2104 Change location </button> 2105 </div> 2106 </div> 2107 </div> 2108</div> 2109<!-- location modal mobile end --> 2110 2111<div class="modal fade add_new_card_modal" id="modal-add-new-card" tabindex="-1" role="dialog" aria-modal="true"> 2112 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down" role="document"> 2113 <div class="modal-content"> 2114 <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"></button> 2115 <div class="modal-header"> 2116 <h2 class="modal-title eds-display-text-title-m">Add new card</h2> 2117 </div> 2118 <div class="modal-body pb-6"> 2119 <div class="ajax-creditcards"> 2120 <div class="fa fa-spinner fa-spin fa-4x"> 2121 </div> 2122 </div> 2123 </div> 2124 </div> 2125 </div> 2126</div> 2127 2128<div class="modal fade" id="modal-payment-change" tabindex="-1" role="dialog" aria-modal="true"> 2129 <div class="modal-dialog modal-dialog-centered" role="document"> 2130 <div class="modal-content"> 2131 <div class="modal-header"> 2132 <h2 class="modal-title modal-title-accent eds-display-text-title-m">Confirm <span data-confirm-payment-name>Pay with cash</span></h2> 2133 </div> 2134 <div class="modal-body"> 2135 <p>You've just changed your payment type to <strong data-confirm-payment-name>Pay with cash</strong>. Please confirm that to proceed.</p> 2136 <button class="btn btn-primary w-100" data-bs-dismiss="modal" data-confirm-payment-switch>Confirm and proceed</button> 2137 <button class="btn eh-btn-silent w-100 mt-2" data-bs-dismiss="modal" data-cancel-payment-switch>Cancel</button> 2138 </div> 2139 </div> 2140 </div> 2141</div> 2142 2143<div class="modal fade modal_over_modal" id="modal-confirm-no-number-address" tabindex="-1" role="dialog" aria-modal="true" style="z-index: 2000;"> 2144 <div class="modal-dialog modal-dialog-centered" role="document"> 2145 <div class="modal-content"> 2146 <div class="modal-header"> 2147 <h2 class="modal-title modal-title-accent eds-display-text-title-m">Confirm Address</h2> 2148 </div> 2149 <div class="modal-body"> 2150 <p>This address doesn't start with a street number. Please confirm the address is correct.</p> 2151 <button class="btn btn-warning w-100" data-bs-dismiss="modal" data-confirm-no-number-address>Yes, it's correct</button> 2152 <button class="btn btn-secondary w-100 mt-2" data-bs-dismiss="modal" data-cancel-no-number-address>No, let me edit it</button> 2153 </div> 2154 </div> 2155 </div> 2156</div> 2157 2158<div class="modal fade mob_full_modal" id="modal-invalid-address" tabindex="-1" role="dialog" aria-modal="true"> 2159 <div class="modal-dialog modal-dialog-centered" role="document"> 2160 <div class="modal-content"> 2161 <button class="close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> 2162 <div class="modal-header"> 2163 <h2 class="modal-title eds-display-text-title-m">Sorry we do not deliver to your address!</h2> 2164 </div> 2165 <div class="modal-body"> 2166 <div class="www_moda_content"> 2167 <div class="cs_box pickup_when showcheck_parent"> 2168 <div>You can Pick up your order at this location</div> 2169 <div class="pickup_locbox"> 2170 <div class="rest_loc"> 2171 <p> 2172 Dumpling House - (Walnut St) Newton<br/> 2173 870 Walnut St<br/>Newton, MA 02459 </p> 2174 </div> 2175</div> </div> 2176 <div class="form-submit-wrapper"> 2177 <input type="submit" class="form-submit" value="Switch to pickup" data-bs-dismiss="modal" data-switch-to-pickup> 2178 </div> 2179 </div> 2180 </div> 2181 </div> 2182 </div> 2183</div> 2184 2185<div class="modal fade mob_full_modal" id="modal-view-delivery-zone" tabindex="-1" role="dialog" aria-modal="true"> 2186 <div class="modal-dialog modal-dialog-centered" role="document"> 2187 <div class="modal-content">
2188 <div class="modal-body modal-body-view-delivery-zone" style="min-height: 75px;"> 2189 <div id="loading-view-delivery-area" class="loading-ajax-spinner"><i class="fa fa-spin fa-spinner fa-3x "></i></div> 2190 <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"></button> 2191 <div id="modal-view-delivery-zone-content" style="display:none;"> 2192 <div class="h4 mt15">View our delivery area</div> 2193 <div class="mb15"></div> 2194 <style> 2195 #iframe-view-delivery-area { 2196 width:100%; 2197 height:100%; 2198 min-height:556px; 2199 } 2200 @media screen and (max-width: 768px) { 2201 #iframe-view-delivery-area { 2202 height: calc(100vh - 90px); 2203 } 2204 } 2205 </style> 2206 <iframe id="iframe-view-delivery-area" name="iframe-deliveryzone" frameborder="0" hspace="0" scrolling="auto" 2207 data-src="https://www.dumplinghousenewtonma.com/viewdeliveryzone/altdoc/1/vdz/1" title="Map of delivery areas"></iframe> 2208 </div> 2209 </div> 2210 </div> 2211 </div> 2212</div> 2213 2214<!-- Alert modal --> 2215<div class="modal fade" id="modal-alert" tabindex="-1" aria-labelledby="modal-alert" aria-hidden="true"> 2216 <div class="modal-dialog"> 2217 <div class="modal-content"> 2218 <div class="modal-header"> 2219 <h2 class="modal-title fs-5 eds-display-text-title-m">Error</h2> 2220 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> 2221 </div> 2222 <div class="modal-body"> 2223 Description 2224 </div> 2225 <div class="modal-footer"> 2226 <button type="button" class="btn btn-primary btn-close-modal" data-bs-dismiss="modal">Close</button> 2227 <button type="button" class="btn btn-primary hidden">Save changes</button> 2228 </div> 2229 </div> 2230 </div> 2231</div> 2232 2233 2234 2235 2236 2237 <div 2238 id="toasts" 2239 class="toast-container position-fixed start-50 translate-middle-x" 2240 style="bottom: calc(var(--eds-fixed-cta-height, 0) * 1px); max-width: calc(100% - 2rem)" 2241 > 2242 </div> 2243 2244
2244<script> 2245 $(() => { 2246 const ctas = document.querySelectorAll('[data-fixed-cta]'); 2247 if (!ctas.length) { 2248 return; 2249 } 2250 2251 function updateFixedCTAHeight() { 2252 document.documentElement.style.setProperty( 2253 '--eds-fixed-cta-height', 2254 Math.max(0, ...Array.from(ctas, (element) => { 2255 const rect = element.getBoundingClientRect(); 2256 return rect.height > 0 && getComputedStyle(element).position === 'fixed' 2257 ? Math.max(0, window.innerHeight - rect.top) 2258 : 0; 2259 })) 2260 ); 2261 } 2262 2263 if ('ResizeObserver' in window) { 2264 ctas.forEach((cta) => new ResizeObserver(updateFixedCTAHeight).observe(cta)); 2265 } else { 2266 updateFixedCTAHeight(); 2267 } 2268 2269 window.addEventListener('resize', app.throttle(updateFixedCTAHeight)); 2270 }); 2271 </script>
2271 2272 2273 <div class="visually-hidden"> 2274 <div id="announcements-polite" aria-live="polite" aria-atomic="true"> 2275 <div id="announcement-polite"></div> 2276 </div> 2277 2278 <div id="announcements-assertive" aria-live="assertive" aria-atomic="true"> 2279 <div id="announcement-assertive"></div> 2280 </div> 2281 </div> 2282 2283
2284<script type="text/javascript" src="/share42/share42.js"></script>
2284 2285 2286<!-- SET: SCRIPTS -->
2287<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2287
2287
2288<script>window.jQuery || document.write('
2288<script src="/web/default3.0/js/vendor/jquery-3.6.0.min.js"><\/script>')</script>
vendor: 1 bytes, line 2288
2288
2289<script src="https://code.jquery.com/jquery-migrate-3.3.2.js" integrity="sha384-KwAndHbPSueZ9+pG1mDjru/Q6KT6cliBs+/SCGpcOO6XvhrkbF0cBzkSs3+Pl2Zz" crossorigin="anonymous"></script>
2289 2290<!--
2290<script src="https://code.jquery.com/jquery-migrate-3.3.2.min.js" integrity="sha256-Ap4KLoCf1rXb52q+i3p0k2vjBsmownyBTE1EqlRiMwA=" crossorigin="anonymous"></script>
2290-->
2291<script> 2292 /* http://writing.colin-gourlay.com/safely-using-ready-before-including-jquery/ */ 2293 (function($,d){$.each(readyQ,function(i,f){$(f)});$.each(bindReadyQ,function(i,f){$(d).bind("ready",f)})})(jQuery,document) 2294</script>
vendor: 1 bytes, line 2294
2294
2295<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js" integrity="sha256-lSjKY0/srUM9BE3dPm+c4fBo1dky2v27Gdjm2uoZaL0=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2295
2295
2296<script type="text/javascript" src="/min/g=js4.0&1788675044"></script>
2296 2297<!-- END: SCRIPTS --> 2298 2299
2300<script> 2301 function closeAnnouncementModal(){ 2302 $("#announcementBox").hide(); 2303 setAnnouncementSession("<p><strong><span style=\"color:#b22222;\"><span style=\"font-size:12px;\">Please be informed that the delivery fee may vary for catering orders. Thank you<\/span><\/span><\/strong><\/p>"); 2304 } 2305 2306 $('body').on('click', '#closeAnnouncement', function(e) { 2307 e.preventDefault(); 2308 setAnnouncementSession("<p><strong><span style=\"color:#b22222;\"><span style=\"font-size:12px;\">Please be informed that the delivery fee may vary for catering orders. Thank you<\/span><\/span><\/strong><\/p>"); 2309 }); 2310</script>
vendor: 1 bytes, line 2310
2310
2311<script> 2312$(() => { 2313 const stickyHeader = document.querySelector('.headerAndWtype'); 2314 if (!stickyHeader) { 2315 return; 2316 } 2317 2318 function updateHeaderHeight() { 2319 const gap = parseFloat(getComputedStyle(document.documentElement).fontSize) || 16; 2320 const offset = stickyHeader.offsetHeight + gap; 2321 document.documentElement.style.scrollPaddingTop = offset + 'px'; 2322 2323 document.documentElement.style.setProperty('--sticky-header-offset', offset + 'px'); 2324 } 2325 2326 updateHeaderHeight(); 2327 if ('ResizeObserver' in window) { 2328 new ResizeObserver(updateHeaderHeight).observe(stickyHeader); 2329 } else { 2330 window.addEventListener('resize', app.throttle(updateHeaderHeight)); 2331 } 2332}); 2333</script>
2333 2334 2335 <div id="recaptcha" class="g-recaptcha" data-callback="submitAjaxForm" data-size="invisible"></div> 2336 <div id="async-recaptcha" class="g-recaptcha" data-callback="recaptchaAsyncCallback" data-size="invisible"></div> 2337 2338
2338<script> 2339 var ajaxRecaptcha; 2340 var asyncRecaptcha; 2341 var checkoutRecaptcha; 2342 2343 function initRecaptchas() { 2344 const options = { 2345 sitekey: "6LeS6lMUAAAAADOPnBKluMb49PS1NyzPT1kR87Re", 2346 size: 'invisible', 2347 }; 2348 2349 $('[data-recaptcha]').not('[data-ajax-form]').each(function (k, v) { 2350 const submit = $(v).find('[type="submit"]'); 2351 grecaptcha.render(submit[0], { 2352 ...options, 2353 callback(token) { 2354 $(v).submit(); 2355 }, 2356 }); 2357 }); 2358 2359 ajaxRecaptcha = grecaptcha.render('recaptcha', options); 2360 asyncRecaptcha = grecaptcha.render('async-recaptcha', options); 2361 } 2362 </script>
vendor: 119 bytes, lines 2362-2364
2362 2363 <script src="https://www.google.com/recaptcha/api.js?render=explicit&onload=initRecaptchas" async defer></script> 2364
2365</body> 2366</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.