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>Happy Wok - Erie in PA | Online Ordering | Chinese</title> 13 <meta name="keywords" content="happy wok, happy wok erie, happy wok menu, erie chinese delivery, erie chinese food, erie chinese restaurants, chinese delivery, erie chinese takeout, chinese restaurants in erie, best chinese food in erie, chinese restaurant near me, chinese food near me" /> 14 <meta name="description" content="Order Chinese online from Happy Wok - Erie in Erie, PA for delivery and takeout. Browse our menu and easily choose and modify your selection."> 15 16 <meta property="og:type" content="website"> 17 <meta property="og:title" content="Happy Wok - Erie in PA | Online Ordering | Chinese"> 18 <meta property="og:description" content="Order Chinese online from Happy Wok - Erie in Erie, PA for delivery and takeout. Browse our menu and easily choose and modify your selection."> 19 <meta property="og:image" content="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/a1540cc9-fa58-4474-6779-df679434f200/public" /> 20 21 <meta name="twitter:card" content="summary_large_image"> 22 <meta name="twitter:title" content="Happy Wok - Erie in PA | Online Ordering | Chinese"> 23 <meta name="twitter:description" content="Order Chinese online from Happy Wok - Erie in Erie, PA for delivery and takeout. Browse our menu and easily choose and modify your selection."> 24 <meta name="twitter:image" content="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/a1540cc9-fa58-4474-6779-df679434f200/public" /> 25 26 <link rel="shortcut icon" href="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/2291b888-080d-4966-bb0b-50147b51ab00/public" type="image/x-icon" /> 27 28 <link rel="canonical" href="https://www.happywokeriepa.com/"/> 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/d4968fcb-cc47-4861-cb0f-c5d299fd6800/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/ca228b7e-49d6-4367-bef8-128a63e0ef00/public); } 43 } 44 /*body{ } */ 45 46 47 </style> 48 49 50
50<script type="text/javascript"> 51 var UrlTag = "happywokerie"; 52 var template = 'defaultv4'; 53 var formname = 'home'; 54 var menulink = 'https://www.happywokeriepa.com/order/main-menu'; 55 var checkoutlink = 'https://www.happywokeriepa.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
62<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Restaurant","@id":"https://www.happywokeriepa.com/#restaurant","name":"Happy Wok - Erie","url":"https://www.happywokeriepa.com/","telephone":"+18148688988","address":{"@type":"PostalAddress","streetAddress":"1537 W 38th St","addressLocality":"Erie","addressRegion":"PA","postalCode":"16508","addressCountry":"US"},"hasMap":"https://maps.google.com/?q=Happy Wok - Erie, 1537 W 38th St, Erie, PA, 16508","priceRange":"$$","potentialAction":{"@type":"OrderAction","target":"https://www.happywokeriepa.com"},"servesCuisine":"Chinese","amenityFeature":[{"@type":"LocationFeatureSpecification","name":"Pick up","value":true},{"@type":"LocationFeatureSpecification","name":"Delivery","value":true}],"image":{"@type":"ImageObject","contentLocation":"Erie, PA","url":"https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/a1540cc9-fa58-4474-6779-df679434f200/public"},"geo":{"@type":"GeoCoordinates","name":"Happy Wok - Erie","latitude":42.0898493,"longitude":-80.0977506},"hasMenu":[{"@id":"https://www.happywokeriepa.com/order/main-menu#menu"}],"sameAs":["https://www.tripadvisor.com/Restaurant_Review-g52607-d11646198-Reviews-Happy_Wok-Erie_Pennsylvania.html"],"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","opens":"10:30","closes":"21:00","dayOfWeek":["https://schema.org/Monday","https://schema.org/Tuesday","https://schema.org/Thursday","https://schema.org/Sunday"]},{"@type":"OpeningHoursSpecification","opens":"10:30","closes":"21:30","dayOfWeek":["https://schema.org/Friday","https://schema.org/Saturday"]}]},{"@type":"Menu","@id":"https://www.happywokeriepa.com/order/main-menu#menu","url":"https://www.happywokeriepa.com/order/main-menu","name":"Main Menu"}]}</script>
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: 'happywokerie', 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-Y2S4E3KLQF
vendor: 15 bytes, lines 84-86
84"></script> 85 86
86<script> 87 88 gtag('config', "G-Y2S4E3KLQF"); 89 </script>
89 90 91 92 93 <meta name="smartbanner:title" content="Happy Wok - Erie Online Order"> 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.happywokerie.ordering"> 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/happywokerie/"> 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 <aside aria-label="Accessibility"> 110 <a 111 href="https://www.happywokeriepa.com/accessibility" 112 class="accessibility-statement-link eds_button btn btn-secondary btn-lg eds_button--shape-circle" 113 aria-label="Accessibility statement" 114 > 115 <i class="eds_icon fa fa-lg fa-person-limbs-wide" style="" aria-hidden="true"></i> </a> 116 </aside> 117 <!-- Google Tag Manager (noscript) -->
vendor: 70 bytes, lines 117-118
117 118 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
118GTM-K9P93M
vendor: 85 bytes, lines 118-119
118" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 119
119<!-- End Google Tag Manager (noscript) --> 120 <!-- wrapper starts --> 121 <div class="wrapper"> 122 <section style="grid-area: header-announcements" aria-label="Announcement"> 123 <div id="upgradeBrowserBanner" class="alert alert-warning mb-0 rounded-0 py-4" style="display:none;"> 124 <div class="alert-icon"><i class="fas fa-warning" aria-hidden="true"></i></div> 125 <div> 126 <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/> 127 <ul class="list-unstyled"> 128 <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> 129 <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> 130 <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> 131 <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> 132 </ul> 133 </div> 134</div>
135<script> 136 var ua = navigator.userAgent; 137 var match = ua.match(/Firefox\/([0-9]+)\./); 138 var firefoxVersion = match ? parseInt(match[1]) : 1000; 139 var match = ua.match(/Chrome\/([0-9]+)\./); 140 var chromeVersion = match ? parseInt(match[1]) : 1000; 141 var isIE = ua.indexOf('MSIE') > -1 || ua.indexOf('Trident') > -1; 142 var upgradeBrowserBanner = document.getElementById('upgradeBrowserBanner'); 143 var isMatchesSupported = typeof(upgradeBrowserBanner.matches)!="undefined"; 144 var isEntriesSupported = typeof(Object.entries)!="undefined"; 145 //Safari version is verified with isEntriesSupported 146 if (isIE || !isMatchesSupported || !isEntriesSupported || firefoxVersion <= 46 || chromeVersion <= 53) { 147 upgradeBrowserBanner.style.display = 'flex'; 148 } 149</script>
149 150 <!-- get closed sign if applicable. --> 151 152 153 </section> 154 155 <!-- Header Starts --> 156 <div class="headerAndWtype" style="grid-area: header"> 157 <header class="header" style="background-color: var(--dot-header-background); color: var(--dot-header-color)"> 158 <div class="d-flex flex-column align-items-start flex-md-row align-items-md-center"> 159 <div class="logo_name_alt flex-shrink-0 d-flex align-items-center align-self-stretch pe-6 pe-md-0"> 160 <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> 161 <div class="d-flex flex-column align-items-center mx-auto align-items-md-start mx-md-0"> 162 <a 163 class="eds-display-text-title-xs text-truncate title-container" 164 href="https://www.happywokeriepa.com" 165 aria-current="page" 166 > 167 Happy Wok - Erie </a> 168 169 <span class="eds-copy-text-s-regular text-center text-md-start address-container" title="1537 W 38th St Erie, PA 16508"> 170 1537 W 38th St Erie, PA 16508 </span> 171 </div> 172 </div> 173 174 <div class="eds-display-text-title-s d-none d-md-block border-start mx-4" style="width: 0"> </div> 175 176 <div class="header_order_options d-flex align-items-center w-100 p-2p5 p-md-0"> 177 <div class="what"> 178 <button 179 type="button" 180 class="border-0 bg-transparent text-start" 181 data-bs-toggle="modal" 182 data-bs-target="#modal-order-options" 183 aria-haspopup="dialog" 184 style="min-height: 44px" 185> 186 <span class="visually-hidden">Order type: </span> 187 <div class="d-flex align-items-baseline gap-2"> 188 <div class="otype-name-label eds-copy-text-l-bold text-truncate" style="flex: 1" data-order-type-label> 189 Select Order Type </div> 190 191 <i class="fa fa-fw fa-caret-down"></i> 192 </div> 193 194 <div 195 class="otype-picker-label otype-address-label eds-interface-text-m-regular text-truncate hidden" 196 > 197 </div> 198</button> 199
200<script> 201 $(function() { 202 var $autoCompleteInputs = $('[data-autocomplete-address]'); 203 if ($autoCompleteInputs && $autoCompleteInputs.length) { 204 $autoCompleteInputs.each(function() { 205 let $input = $(this); 206 let $deliveryAddressContainer = $input.parents('.deliveryAddressContainer').first(); 207 $input.autocomplete({ 208 source : addressAC, 209 minLength: 3, 210 delay : 300, 211 select : function(event, ui) { 212 $.getJSON('/' + UrlTag + '/?form=addresslookup', { 213 id: ui.item.id, 214 }, function(data) { 215 let location = data 216 if (location.address.street.endsWith('Trl')) { 217 location.address.street = location.address.street.replace('Trl', 'Trail') 218 } 219 let autoCompleteSuccess = $input.data('autocomplete-success'); 220 if (autoCompleteSuccess) { 221 let autoCompleteSuccessFunction = window[autoCompleteSuccess]; 222 if (typeof autoCompleteSuccessFunction == "function") { 223 autoCompleteSuccessFunction(location); 224 } 225 } 226 227 let address = location.address 228 229 $('#add-address-city, [data-autocompleted-city]').val(address.city) 230 $('#add-address-state, [data-autocompleted-state]').val(address.stateCode) 231 $('#add-address-zip, [data-autocompleted-zip]').val(address.postalCode) 232 $('#add-address-latitude, [data-autocompleted-latitude]').val(location.position.lat) 233 $('#add-address-longitude, [data-autocompleted-longitude]').val(location.position.lng) 234 let streetAddress = (address.houseNumber || '') + ' ' + (address.street || ''); 235 $('#street-address-1, [data-autocompleted-street-address]').val(streetAddress) 236 validateAddress($deliveryAddressContainer); 237 }) 238 }, 239 }) 240 $input.attr('autocomplete', 'street-address') 241 }); 242 } 243 244 // autocomplete using Address autocomplete 245 // jquery autocomplete needs 2 fields: title and value 246 // id holds the LocationId which can be used at a later stage to get the coordinate of the selected choice 247 function addressAC(query, callback) { 248 //we don't actually want to search until they've entered the street number and at least one character 249 words = query.term.trim().split(' ') 250 if (words.length < 2) { 251 return false 252 } 253 254 $.getJSON('/' + UrlTag + '/?form=addresssuggest', { q: query.term }, function(data) { 255 var addresses = data.items 256 addresses = addresses.map(addr => { 257 if ((addr.address.label || '').endsWith('Trl')) { 258 addr.address.label = addr.address.label.replace('Trl', 'Trail') 259 } 260 let streetAddress = (addr.address.label || '') 261 return { 262 label: streetAddress, 263 value: streetAddress, 264 id : addr.id, 265 } 266 }) 267 268 return callback(addresses) 269 }) 270 } 271 272 $('[data-address-from-current-loc]').on('click', function(e) { 273 let $streetAddressContainer = $(this).parents('.street-address-container').first(); 274 let $deliveryAddressContainer = $(this).parents('.deliveryAddressContainer').first(); 275 e.preventDefault(); 276 if(navigator.geolocation) { 277 navigator.geolocation.getCurrentPosition(position => { 278 $.getJSON('/' + UrlTag + '/?form=addresssuggest', { 279 at: position.coords.latitude + "," + position.coords.longitude 280 }, function(data) { 281 let location = data.items[0]; 282 let address = location.address 283 $streetAddressContainer.find('.input-street-address').val((address.houseNumber ? address.houseNumber : '') + ' ' + (address.street ? address.street : '')); 284 $('#add-address-city').val(address.city ? address.city : ''); 285 $('#add-address-state').val(address.state ? address.state : ''); 286 $('#add-address-zip').val(address.postalCode ? address.postalCode : ''); 287 $('#add-address-latitude').val(location.position.lat ? location.position.lat : ''); 288 $('#add-address-longitude').val(location.position.lng ? location.position.lng : ''); 289 validateAddress($deliveryAddressContainer, 0); 290 }); 291 }); 292 } else { 293 alert("Geolocation is not supported by this browser!"); 294 } 295 }); 296 }); 297 298 function autoCompleteSuccess(location) 299 { 300 if (location && location.address) { 301 let address = location.address 302 303 let streetAddress = (address.houseNumber || '') + ' ' + (address.street || ''); 304 $.ajax({
305 url: '/' + UrlTag + '/?form=saveformfields', 306 data: { 307 'param_full~address_s_n_255': streetAddress + ', ' + address.city + ', ' + address.state, 308 'param_street~address_s_n_255': streetAddress, 309 'param_city_s_n_90': address.city, 310 'param_state_s_n_2': address.state, 311 'param_zip~code_z_n_10': address.postalCode, 312 } 313 }); 314 } 315 } 316</script>
316 317 </div> 318 319 <div class="when showcheck_parent"> 320 <div class="ordertimetypes "> 321 <button 322 type="button" 323 class="border-0 bg-transparent text-start loadable-content" 324 data-bs-toggle="modal" 325 data-bs-target="#modal-order-time" 326 aria-haspopup="dialog" 327 style="min-height: 44px" 328 data-change-label-to-later-date 329 > 330 <span class="visually-hidden">Order time: </span> 331 <div class="d-flex align-items-baseline gap-2"> 332 <div class="eds-copy-text-l-bold text-truncate flex-fill" data-otype-time-day> 333 ASAP 334 </div> 335 336 <i class="fa fa-fw fa-caret-down"></i> 337 </div> 338 339 <div 340 class="otype-picker-label otype-picker-time eds-interface-text-m-regular text-truncate hidden" 341 data-otype-time 342 > 343 <span class="visually-hidden">at</span> 344 Later </div> 345 </button> 346</div> 347 </div> 348 </div> 349 350 <div class="position-absolute top-0 end-0 p-2"> 351 352 <div id="login-status" > 353 <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> 354 355 </div> 356 </div> 357 358 359 <div data-eds-id="6ab5374783dfe" 360 class="eds_side_menu offcanvas offcanvas-start " 361 tabindex="-1" 362 aria-label="Side navigation" 363 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'))" > 364 365 <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;"> 366 <div 367 class="eds_side_menu-close position-absolute top-0 end-0 pt-3 pe-3 " 368 style="z-index: 1" 369 > 370 <button data-bs-dismiss="offcanvas" data-bs-target="[data-eds-id="6ab5374783dfe"]" 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> 371 372 <nav aria-labelledby="header-navigation-title"> 373 <h2 id="header-navigation-title" class="eds-display-text-title-m m-0 p-3">Pages</h2> 374<ul class="eds_list eds_list--border-none border-bottom"> 375 <li class="eds_list-item"> 376 <a class="d-block p-3 active" href="https://www.happywokeriepa.com" aria-current="page"> 377 Home </a> 378 </li> 379 380 <li class="eds_list-item"> 381 <a 382 class="d-block p-3 " 383 href="https://www.happywokeriepa.com/order" 384 aria-current="false" 385 > 386 Menu </a> 387 </li> 388 389 390 <li class="eds_list-item"> 391 <a class="d-block p-3 " href="https://www.happywokeriepa.com/page/delivery-info" aria-current="false"> 392 Delivery Info </a> 393 </li> 394 395 <li class="eds_list-item"> 396 <a class="d-block p-3 " href="https://www.happywokeriepa.com/locationinfo" aria-current="false"> 397 Location & Hours </a> 398 </li> 399 400 <li class="eds_list-item"> 401 <a class="d-block p-3 " href="https://www.happywokeriepa.com/contact" aria-current="false"> 402 Contact 403 </a> 404 </li> 405</ul> 406 </nav> 407 408 409 <div class="border-bottom border-light p-3"> 410 411 412 <details 413 class="eds_list eds_list--border-none" open data-menu-id="9185" 414 data-event-on:document_ready="this.open = localStorage.getItem('menu-open-9185') !== 'false'" 415 onclick="localStorage.setItem('menu-open-9185', !this.open)" 416 > 417 <summary class="eds-copy-text-l-regular list-unstyled rounded-3 mb-1 " tabindex="0"> 418 <h2 class="eds-display-text-title-m m-0 p-0"> 419 <i class="eds_icon fas fa-chevron-right" style="" aria-hidden="true"></i> Menu <span class="sr-only">23 categories</span> 420 </h2> 421 </summary> 422 <div class="mb-3"></div> 423 424 425 <a 426 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 427 data-event-on:category_pinned="(category) => { 428 const isCurrent = category.id === '111039'; 429 $(this).toggleClass('active', isCurrent); 430 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 431 }" 432 href="https://www.happywokeriepa.com/order/main-menu/appetizers" 433 aria-current="false" 434 onclick="if (!event.ctrlKey) { 435 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 436 if (currentMenuIsActive) { 437 app.event.emit('category_selected', { id: '111039' }); 438 } else { 439 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111039' }); 440 } 441 }" 442 > 443 Appetizers<span class="sr-only"> menu category</span> 444 <span class="ms-auto">19<span class="sr-only"> items available</span></span> 445 </a> 446 <a 447 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 448 data-event-on:category_pinned="(category) => { 449 const isCurrent = category.id === '111040'; 450 $(this).toggleClass('active', isCurrent); 451 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 452 }" 453 href="https://www.happywokeriepa.com/order/main-menu/soup" 454 aria-current="false" 455 onclick="if (!event.ctrlKey) { 456 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 457 if (currentMenuIsActive) { 458 app.event.emit('category_selected', { id: '111040' }); 459 } else { 460 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111040' }); 461 } 462 }" 463 > 464 Soup<span class="sr-only"> menu category</span> 465 <span class="ms-auto">8<span class="sr-only"> items available</span></span> 466 </a> 467 <a 468 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 469 data-event-on:category_pinned="(category) => { 470 const isCurrent = category.id === '111041'; 471 $(this).toggleClass('active', isCurrent); 472 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 473 }"
474 href="https://www.happywokeriepa.com/order/main-menu/chow-mein-or-chop-suey" 475 aria-current="false" 476 onclick="if (!event.ctrlKey) { 477 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 478 if (currentMenuIsActive) { 479 app.event.emit('category_selected', { id: '111041' }); 480 } else { 481 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111041' }); 482 } 483 }" 484 > 485 Chow Mein or Chop Suey<span class="sr-only"> menu category</span> 486 <span class="ms-auto">14<span class="sr-only"> items available</span></span> 487 </a> 488 <a 489 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 490 data-event-on:category_pinned="(category) => { 491 const isCurrent = category.id === '111042'; 492 $(this).toggleClass('active', isCurrent); 493 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 494 }" 495 href="https://www.happywokeriepa.com/order/main-menu/fried-rice" 496 aria-current="false" 497 onclick="if (!event.ctrlKey) { 498 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 499 if (currentMenuIsActive) { 500 app.event.emit('category_selected', { id: '111042' }); 501 } else { 502 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111042' }); 503 } 504 }" 505 > 506 Fried Rice<span class="sr-only"> menu category</span> 507 <span class="ms-auto">8<span class="sr-only"> items available</span></span> 508 </a> 509 <a 510 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 511 data-event-on:category_pinned="(category) => { 512 const isCurrent = category.id === '306767'; 513 $(this).toggleClass('active', isCurrent); 514 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 515 }" 516 href="https://www.happywokeriepa.com/order/main-menu/fried-rice-noodle" 517 aria-current="false" 518 onclick="if (!event.ctrlKey) { 519 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 520 if (currentMenuIsActive) { 521 app.event.emit('category_selected', { id: '306767' }); 522 } else { 523 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '306767' }); 524 } 525 }" 526 > 527 Fried Rice Noodle<span class="sr-only"> menu category</span> 528 <span class="ms-auto">5<span class="sr-only"> items available</span></span> 529 </a> 530 <a 531 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 532 data-event-on:category_pinned="(category) => { 533 const isCurrent = category.id === '111043'; 534 $(this).toggleClass('active', isCurrent); 535 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 536 }" 537 href="https://www.happywokeriepa.com/order/main-menu/lo-mein" 538 aria-current="false" 539 onclick="if (!event.ctrlKey) { 540 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 541 if (currentMenuIsActive) { 542 app.event.emit('category_selected', { id: '111043' }); 543 } else { 544 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111043' }); 545 } 546 }" 547 > 548 Lo Mein<span class="sr-only"> menu category</span> 549 <span class="ms-auto">8<span class="sr-only"> items available</span></span> 550 </a> 551 <a 552 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 553 data-event-on:category_pinned="(category) => { 554 const isCurrent = category.id === '111044'; 555 $(this).toggleClass('active', isCurrent); 556 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 557 }" 558 href="https://www.happywokeriepa.com/order/main-menu/mei-fun" 559 aria-current="false" 560 onclick="if (!event.ctrlKey) { 561 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 562 if (currentMenuIsActive) { 563 app.event.emit('category_selected', { id: '111044' }); 564 } else { 565 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111044' }); 566 } 567 }" 568 > 569 Mei Fun<span class="sr-only"> menu category</span> 570 <span class="ms-auto">7<span class="sr-only"> items available</span></span> 571 </a> 572 <a 573 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 574 data-event-on:category_pinned="(category) => { 575 const isCurrent = category.id === '111045'; 576 $(this).toggleClass('active', isCurrent); 577 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 578 }" 579 href="https://www.happywokeriepa.com/order/main-menu/egg-foo-young" 580 aria-current="false" 581 onclick="if (!event.ctrlKey) { 582 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 583 if (currentMenuIsActive) { 584 app.event.emit('category_selected', { id: '111045' }); 585 } else { 586 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111045' }); 587 } 588 }" 589 > 590 Egg Foo Young<span class="sr-only"> menu category</span> 591 <span class="ms-auto">6<span class="sr-only"> items available</span></span> 592 </a> 593 <a 594 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 595 data-event-on:category_pinned="(category) => { 596 const isCurrent = category.id === '111046'; 597 $(this).toggleClass('active', isCurrent); 598 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 599 }" 600 href="https://www.happywokeriepa.com/order/main-menu/beef" 601 aria-current="false" 602 onclick="if (!event.ctrlKey) { 603 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 604 if (currentMenuIsActive) { 605 app.event.emit('category_selected', { id: '111046' }); 606 } else { 607 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111046' }); 608 } 609 }" 610 > 611 Beef<span class="sr-only"> menu category</span> 612 <span class="ms-auto">10<span class="sr-only"> items available</span></span> 613 </a> 614 <a 615 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 616 data-event-on:category_pinned="(category) => { 617 const isCurrent = category.id === '111047'; 618 $(this).toggleClass('active', isCurrent); 619 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 620 }" 621 href="https://www.happywokeriepa.com/order/main-menu/pork" 622 aria-current="false" 623 onclick="if (!event.ctrlKey) { 624 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 625 if (currentMenuIsActive) { 626 app.event.emit('category_selected', { id: '111047' }); 627 } else { 628 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111047' }); 629 } 630 }" 631 > 632 Pork<span class="sr-only"> menu category</span> 633 <span class="ms-auto">7<span class="sr-only"> items available</span></span> 634 </a> 635 <a 636 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 637 data-event-on:category_pinned="(category) => { 638 const isCurrent = category.id === '111048'; 639 $(this).toggleClass('active', isCurrent); 640 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 641 }" 642 href="https://www.happywokeriepa.com/order/main-menu/chicken" 643 aria-current="false" 644 onclick="if (!event.ctrlKey) { 645 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 646 if (currentMenuIsActive) { 647 app.event.emit('category_selected', { id: '111048' }); 648 } else { 649 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111048' }); 650 } 651 }" 652 > 653 Chicken<span class="sr-only"> menu category</span> 654 <span class="ms-auto">9<span class="sr-only"> items available</span></span> 655 </a> 656 <a 657 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 658 data-event-on:category_pinned="(category) => { 659 const isCurrent = category.id === '111049'; 660 $(this).toggleClass('active', isCurrent); 661 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 662 }" 663 href="https://www.happywokeriepa.com/order/main-menu/seafood" 664 aria-current="false" 665 onclick="if (!event.ctrlKey) { 666 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 667 if (currentMenuIsActive) { 668 app.event.emit('category_selected', { id: '111049' }); 669 } else { 670 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111049' }); 671 } 672 }" 673 > 674 Seafood<span class="sr-only"> menu category</span> 675 <span class="ms-auto">10<span class="sr-only"> items available</span></span> 676 </a> 677 <a 678 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 679 data-event-on:category_pinned="(category) => { 680 const isCurrent = category.id === '111050'; 681 $(this).toggleClass('active', isCurrent); 682 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 683 }" 684 href="https://www.happywokeriepa.com/order/main-menu/sweet-sour" 685 aria-current="false" 686 onclick="if (!event.ctrlKey) { 687 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 688 if (currentMenuIsActive) { 689 app.event.emit('category_selected', { id: '111050' }); 690 } else { 691 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111050' }); 692 } 693 }" 694 > 695 Sweet & Sour<span class="sr-only"> menu category</span> 696 <span class="ms-auto">4<span class="sr-only"> items available</span></span> 697 </a> 698 <a 699 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 700 data-event-on:category_pinned="(category) => { 701 const isCurrent = category.id === '111051'; 702 $(this).toggleClass('active', isCurrent); 703 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 704 }" 705 href="https://www.happywokeriepa.com/order/main-menu/vegetable-dishes" 706 aria-current="false" 707 onclick="if (!event.ctrlKey) { 708 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 709 if (currentMenuIsActive) { 710 app.event.emit('category_selected', { id: '111051' }); 711 } else { 712 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111051' }); 713 } 714 }" 715 > 716 Vegetable Dishes<span class="sr-only"> menu category</span> 717 <span class="ms-auto">5<span class="sr-only"> items available</span></span> 718 </a> 719 <a 720 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 721 data-event-on:category_pinned="(category) => { 722 const isCurrent = category.id === '111052'; 723 $(this).toggleClass('active', isCurrent); 724 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 725 }" 726 href="https://www.happywokeriepa.com/order/main-menu/moo-shu" 727 aria-current="false" 728 onclick="if (!event.ctrlKey) { 729 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 730 if (currentMenuIsActive) { 731 app.event.emit('category_selected', { id: '111052' }); 732 } else { 733 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111052' }); 734 } 735 }" 736 > 737 Moo Shu<span class="sr-only"> menu category</span> 738 <span class="ms-auto">4<span class="sr-only"> items available</span></span> 739 </a> 740 <a 741 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 742 data-event-on:category_pinned="(category) => { 743 const isCurrent = category.id === '111054'; 744 $(this).toggleClass('active', isCurrent); 745 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 746 }" 747 href="https://www.happywokeriepa.com/order/main-menu/chefs-special" 748 aria-current="false" 749 onclick="if (!event.ctrlKey) { 750 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 751 if (currentMenuIsActive) { 752 app.event.emit('category_selected', { id: '111054' }); 753 } else { 754 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111054' }); 755 } 756 }" 757 > 758 Chef's Special<span class="sr-only"> menu category</span> 759 <span class="ms-auto">15<span class="sr-only"> items available</span></span> 760 </a> 761 <a 762 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 763 data-event-on:category_pinned="(category) => { 764 const isCurrent = category.id === '111053'; 765 $(this).toggleClass('active', isCurrent); 766 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 767 }" 768 href="https://www.happywokeriepa.com/order/main-menu/hunan-szechuan-dishes" 769 aria-current="false" 770 onclick="if (!event.ctrlKey) { 771 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 772 if (currentMenuIsActive) { 773 app.event.emit('category_selected', { id: '111053' }); 774 } else { 775 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111053' }); 776 } 777 }" 778 > 779 Hunan & Szechuan Dishes<span class="sr-only"> menu category</span> 780 <span class="ms-auto">30<span class="sr-only"> items available</span></span> 781 </a> 782 <a 783 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 784 data-event-on:category_pinned="(category) => { 785 const isCurrent = category.id === '111055'; 786 $(this).toggleClass('active', isCurrent); 787 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 788 }" 789 href="https://www.happywokeriepa.com/order/main-menu/diet-food" 790 aria-current="false" 791 onclick="if (!event.ctrlKey) { 792 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 793 if (currentMenuIsActive) { 794 app.event.emit('category_selected', { id: '111055' }); 795 } else { 796 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111055' }); 797 } 798 }" 799 > 800 Diet Food<span class="sr-only"> menu category</span> 801 <span class="ms-auto">5<span class="sr-only"> items available</span></span> 802 </a> 803 <a 804 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 805 data-event-on:category_pinned="(category) => { 806 const isCurrent = category.id === '111056'; 807 $(this).toggleClass('active', isCurrent); 808 this.setAttribute('aria-current', isCurrent ? 'page'
808 : 'false'); 809 }" 810 href="https://www.happywokeriepa.com/order/main-menu/combination-platters" 811 aria-current="false" 812 onclick="if (!event.ctrlKey) { 813 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 814 if (currentMenuIsActive) { 815 app.event.emit('category_selected', { id: '111056' }); 816 } else { 817 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111056' }); 818 } 819 }" 820 > 821 Combination Platters<span class="sr-only"> menu category</span> 822 <span class="ms-auto">40<span class="sr-only"> items available</span></span> 823 </a> 824 <a 825 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 826 data-event-on:category_pinned="(category) => { 827 const isCurrent = category.id === '198032'; 828 $(this).toggleClass('active', isCurrent); 829 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 830 }" 831 href="https://www.happywokeriepa.com/order/main-menu/family-combo" 832 aria-current="false" 833 onclick="if (!event.ctrlKey) { 834 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 835 if (currentMenuIsActive) { 836 app.event.emit('category_selected', { id: '198032' }); 837 } else { 838 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '198032' }); 839 } 840 }" 841 > 842 Family Combo<span class="sr-only"> menu category</span> 843 <span class="ms-auto">1<span class="sr-only"> item available</span></span> 844 </a> 845 <a 846 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 847 data-event-on:category_pinned="(category) => { 848 const isCurrent = category.id === '111057'; 849 $(this).toggleClass('active', isCurrent); 850 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 851 }" 852 href="https://www.happywokeriepa.com/order/main-menu/lunch-special" 853 aria-current="false" 854 onclick="if (!event.ctrlKey) { 855 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 856 if (currentMenuIsActive) { 857 app.event.emit('category_selected', { id: '111057' }); 858 } else { 859 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '111057' }); 860 } 861 }" 862 > 863 Lunch Special<span class="sr-only"> menu category</span> 864 <span class="ms-auto">41<span class="sr-only"> items available</span></span> 865 </a> 866 <a 867 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 868 data-event-on:category_pinned="(category) => { 869 const isCurrent = category.id === '166521'; 870 $(this).toggleClass('active', isCurrent); 871 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 872 }" 873 href="https://www.happywokeriepa.com/order/main-menu/beverages" 874 aria-current="false" 875 onclick="if (!event.ctrlKey) { 876 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 877 if (currentMenuIsActive) { 878 app.event.emit('category_selected', { id: '166521' }); 879 } else { 880 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '166521' }); 881 } 882 }" 883 > 884 Beverages<span class="sr-only"> menu category</span> 885 <span class="ms-auto">6<span class="sr-only"> items available</span></span> 886 </a> 887 <a 888 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 889 data-event-on:category_pinned="(category) => { 890 const isCurrent = category.id === '169071'; 891 $(this).toggleClass('active', isCurrent); 892 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 893 }" 894 href="https://www.happywokeriepa.com/order/main-menu/side-order" 895 aria-current="false" 896 onclick="if (!event.ctrlKey) { 897 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 898 if (currentMenuIsActive) { 899 app.event.emit('category_selected', { id: '169071' }); 900 } else { 901 app.event.emit('menu_selected', { menu_id: '9185', menu_description: "", category_id: '169071' }); 902 } 903 }" 904 > 905 Side Order<span class="sr-only"> menu category</span> 906 <span class="ms-auto">10<span class="sr-only"> items available</span></span> 907 </a> 908 </details> 909 910 </div> 911 912 913 <div class="restaurant-info border-top border-light p-3 position-absolute bottom-0 left-0 w-100"> 914 <h2 class="eds-display-text-title-xs mb-0 me-2 pe-4"><span class="sr-only">Location: You're currently ordering from </span>Happy Wok - Erie</h2> 915 916 <address class="eds-copy-text-s-regular mb-0"> 917 1537 W 38th St Erie, PA 16508 </address> 918 </div> 919 920 <div class="eds-copy-text-s-regular p-3 d-lg-none"> 921 <h2 class="eds-display-text-title-m m-0 pb-3">Additional info</h2> 922 <ul class="list-unstyled" aria-label="App store links"> 923 <li><a href="https://play.google.com/store/apps/details?id=com.happywokerie.ordering"><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> 924 </ul> 925 926 <ul class="list-unstyled d-flex gap-2" aria-label="Social network links"> 927 <li><a href="https://www.tripadvisor.com/Restaurant_Review-g52607-d11646198-Reviews-Happy_Wok-Erie_Pennsylvania.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> 928 </ul> 929 930<div>© 2026 Online Ordering by <a href="http://chinesemenuonline.com">Chinese Menu Online</a></div> 931 <div>Discover more dining options at <a href="https://www.springroll.com" target="_blank" title="Opens in new tab" >Springroll</a></div> 932 933<ul class="list-unstyled mb-0 pt-3" aria-label="Legal and support"> 934 <li><a href="https://www.happywokeriepa.com/reportbug">Technical Support</a></li> 935 <li><a href="https://www.happywokeriepa.com/privacy">Privacy Policy</a></li> 936 <li><a href="https://www.happywokeriepa.com/tos">Terms of Service</a></li> 937 <li><a href="https://www.happywokeriepa.com/accessibility">Accessibility</a></li> 938</ul> 939
940This 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. 941 </div> </div> 942 943
943<script> 944 { 945 const container = document.querySelector('[data-eds-id="6ab5374783dfe"]'); 946 947 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 948 container.addEventListener(`eds.${eventName}`, (e) => { 949 bootstrap.Offcanvas.getOrCreateInstance(container)[eventName]( 950 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 951 ); 952 }); 953 }); 954 } 955 </script>
955 956 </div> 957 958 </header> 959 </div> 960 961 <aside class="container p-0" style="grid-area: hero" aria-labelledby="hero-section-title"> 962 <section class="hero"> 963 <div class="home_hero backbgbox position-relative"> 964 <div class="logo"> 965 <a class="logo-image" href="https://www.happywokeriepa.com" aria-current="page" > 966 <img 967 src="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/a1540cc9-fa58-4474-6779-df679434f200/public" 968 srcset="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/a1540cc9-fa58-4474-6779-df679434f200/public 1x, https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/a1540cc9-fa58-4474-6779-df679434f200/public 2x" alt="Go to Home" 969 onerror="this.closest('.logo').style.setProperty('display', 'none', 'important')" 970 /> 971 </a> 972 </div> 973 </div> 974 975 <div class="p-3"> 976 <div class="pb-1"> 977 <h1 id="hero-section-title" class="eds-display-text-title-s m-0 p-0">Happy Wok - Erie</h1> 978 </div> 979 980 <div class="d-sm-flex align-items-baseline"> 981 <div class="mt-2"> 982 983 <span 984 class="eds_label eds_label--variant-success eds-interface-text-m-bold me-1 text-nowrap" 985 > 986 Open </span> 987 988 10:30AM - 9:00PM </div> 989 990 <div class="d-flex gap-2 ms-sm-auto mt-2"> 991 992 <a 993 class="eds_button btn btn-outline-secondary btn-sm col text-nowrap" 994 href="https://www.happywokeriepa.com/locationinfo?lid=7189" 995 > 996 <i class="eds_icon fa fa-info-circle" style="" aria-hidden="true"></i> Store info </a> 997 998 999 1000 <a 1001 class="eds_button btn btn-outline-secondary btn-sm col d-lg-none text-nowrap" 1002 href="tel:(814) 868-8988" 1003 > 1004 <i class="eds_icon fa fa-phone" style="" aria-hidden="true"></i> Call us </a> 1005 1006 1007 </div> 1008 </div> 1009 </div> 1010 </section> 1011 </aside> 1012 1013 1014 1015 <!-- Header ends --> 1016 1017 1018 <main id="main" class="main_content pb-6 pb-lg-0"> 1019 <section class="container home_welcome"> 1020 <div class="row"> 1021 <div class="col-lg-12"> 1022 <div class="custom-content" style="max-width:600px;margin:auto;"> 1023 <h1>Welcome to Happy Wok - Erie</h1> 1024 1025<div style="color:#555555;font-size:1.2em;font-weight:bolder;">Sep 24, 2026</div> 1026 1027<p>Happy Wok offers delicious tasting Chinese cuisine in Erie, PA. Happy Wok's convenient location and affordable prices make our restaurant a natural choice for dine-in and take-out meals in the Erie community. Our restaurant is known for its varieties of taste and fresh ingredients. Come and experience our friendly atmosphere and excellent service.</p> 1028 1029<h2>No Registration Required. Order Online!</h2> 1030 1031<p>Start ordering online by clicking the button below. Simply select the menu items you want, add them to your cart and checkout. Your order will be sent to the restaurant and will be ready at the time you specify. It's that easy!</p> </div> 1032 <div style="text-align: center;"> 1033 <a href="https://www.happywokeriepa.com/order" class="btn btn-primary btn-lg mt-4 d-none d-lg-inline-block" role="button" id="order-button-desktop">Start a new order</a> 1034 </div> 1035 </div> 1036 1037 1038 <div class="fixed_submit d-lg-none p-3 pwa-pb-md-down" data-fixed-cta> 1039 <a href="https://www.happywokeriepa.com/order" class="btn btn-primary btn-lg w-100" role="button">Start a new order</a> 1040 </div> 1041 </div> 1042 </section> 1043 </main> 1044 1045<footer class="footer bg-white" style="grid-area: footer"> 1046 <div class="container"> 1047 <div class="social_wrapper"> 1048 <div class="social_links"> 1049 <ul class="d-flex align-items-start"> 1050 <li> 1051 <a class="icon" href="https://www.tripadvisor.com/Restaurant_Review-g52607-d11646198-Reviews-Happy_Wok-Erie_Pennsylvania.html" target="_blank" title="TripAdvisor (opens in new tab)"> 1052 <span class="sr-only">TripAdvisor</span> 1053 <img class="eds_icon fab fa-tripadvisor" style="" aria-hidden="true" src="/web/website/assets/svg/icons/social/tripadvisor.svg" alt="Tripadvisor" /> </a> 1054 </li> 1055 </ul> 1056 </div> 1057 <div class="d_app"> 1058 <ul> 1059 <li><a href="https://play.google.com/store/apps/details?id=com.happywokerie.ordering"><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> 1060 </ul> 1061 </div> 1062 </div> 1063 1064 <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)"> 1065 <ul class="list-unstyled d-flex gap-3 mb-0 eds-interface-text-l-regular"> 1066 <li><a class="text-decoration-none" href="https://www.happywokeriepa.com" aria-current="page">Home</a></li> 1067 <li><a class="text-decoration-none" href="https://www.happywokeriepa.com/order" aria-current="false">Menu</a></li> 1068 <li> 1069 <a class="text-decoration-none" href="https://www.happywokeriepa.com/page/delivery-info" aria-current="false">Delivery Info</a> 1070 </li> 1071 <li><a class="text-decoration-none" href="https://www.happywokeriepa.com/locationinfo" aria-current="false">Location & Hours</a></li> 1072 <li><a class="text-decoration-none" href="https://www.happywokeriepa.com/contact" aria-current="false">Contact</a></li> 1073 </ul> 1074 1075 <ul class="list-unstyled d-flex mb-0 eds-interface-text-m-regular"> 1076 <li class="bullet-separated"><a href="https://www.happywokeriepa.com/reportbug" class="errorLink">Technical Support</a></li> 1077 <li class="bullet-separated"><a href="https://www.happywokeriepa.com/privacy">Privacy Policy</a></li> 1078 <li class="bullet-separated"><a href="https://www.happywokeriepa.com/tos">Terms of Service</a></li> 1079 <li class="bullet-separated"><a href="https://www.happywokeriepa.com/accessibility">Accessibility</a></li> 1080 </ul> 1081 </div> 1082 1083 <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)"> 1084 <p class="eds-copy-text-m-regular"> 1085 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. 1086 </p> 1087 1088 <p class="eds-copy-text-m-regular text-end"> 1089 © 2026 Online Ordering by <a href="http://chinesemenuonline.com">Chinese Menu Online</a> <br>Discover more dining options at <a href="https://www.springroll.com" target="_blank" title="Opens in new tab" >Springroll</a> </p> 1090 </div> 1091 </div> 1092</footer> 1093<!-- footer ends --> 1094 1095 1096</div> 1097<!-- wrapper ends --> 1098 1099 1100 1101 <div 1102 data-eds-id="6ab5374785020" 1103 class="eds_dialog modal fade " 1104 tabindex="-1" 1105 aria-labelledby="eds-dialog-title-6ab5374785020" 1106 aria-hidden="true" 1107 id="forgot-password-modal" >
1108 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md"> 1109 <div class="modal-content "> 1110 1111 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 1112 <h2 id="eds-dialog-title-6ab5374785020" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 1113 Forgot Password </h2> 1114 1115 <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> 1116 1117 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular "> 1118 <form 1119 id="forgot-password-form" 1120 name="forgot-password" 1121 data-async-on-submit 1122 method="post" 1123 action="https://www.happywokeriepa.com/auth/forgotpassword" 1124 data-async-block="#forgot-password-modal .modal-content" 1125 data-async-target="#forgot-password-modal .eds_dialog-body" 1126 data-async-recaptcha 1127 novalidate 1128 > 1129 1130 1131 <label 1132 data-eds-id="6ab5374784fe9" 1133 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3" 1134 > 1135 <div class="eds_formfield-label"> 1136 Your email <span aria-hidden="true">*</span> </div> 1137 1138 <div class="position-relative d-flex flex-column"> 1139 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1140 1141 <input 1142 type="email" 1143 class="eds-copy-text-l-regular " 1144 placeholder=" " name="email" autocomplete="email" required value="" /> 1145 1146 1147 1148 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1149 </div> 1150 1151 1152
1152<script> 1153 { 1154 const container = document.querySelector('[data-eds-id="6ab5374784fe9"]'); 1155 const input = container.querySelector('input, textarea, select'); 1156 const error = container.querySelector('.eds_formfield-error'); 1157 1158 1159 input.addEventListener('eds.validation.reset', () => { 1160 input.removeAttribute('data-validation'); 1161 input.setCustomValidity(''); 1162 error.innerHTML = ''; 1163 }); 1164 1165 input.addEventListener('eds.validation.hide', () => { 1166 input.removeAttribute('data-validation'); 1167 }); 1168 1169 input.addEventListener('eds.validation.success', (e) => { 1170 input.setCustomValidity(''); 1171 input.setAttribute('data-validation', ''); 1172 error.innerHTML = ''; 1173 }); 1174 1175 input.addEventListener('eds.validation.warning', (e) => { 1176 input.setCustomValidity(''); 1177 input.setAttribute('data-validation', ''); 1178 error.innerHTML = e.detail; 1179 }); 1180 1181 input.addEventListener('eds.validation.error', (e) => { 1182 input.setCustomValidity(e.detail); 1183 input.checkValidity(); input.setAttribute('data-validation', ''); 1184 }); 1185 1186 input.addEventListener('invalid', (e) => { 1187 error.innerHTML = input.validationMessage; 1188 }); 1189 1190 } 1191 </script>
1191 1192 </label> 1193 1194 1195 <button class="eds_button btn btn-primary w-100 mb-3" type="submit" form="forgot-password-form">Reset password</button> 1196 <div class="text-center"> 1197 <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> 1198 </form> </div> 1199 1200 1201 </div> 1202 </div> 1203 1204
1204<script> 1205 { 1206 const container = document.querySelector('[data-eds-id="6ab5374785020"]'); 1207 let edsMethodsDisabled = false; 1208 1209 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 1210 container.addEventListener(`eds.${eventName}`, (e) => { 1211 if (edsMethodsDisabled) return; 1212 1213 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 1214 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 1215 ); 1216 }); 1217 }); 1218 1219 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 1220 container.addEventListener(`${eventName}.bs.modal`, (e) => { 1221 if (edsMethodsDisabled) return; 1222 1223 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 1224 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 1225 edsMethodsDisabled = false; 1226 }); 1227 }); 1228 1229 1230 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 1231 container.addEventListener(eventName, () => { 1232 const autofocusInput = container.querySelector('[autofocus]'); 1233 if (autofocusInput) { 1234 container.style.display = 'block'; 1235 autofocusInput.focus(); 1236 } 1237 }); 1238 }); 1239 1240 } 1241 </script>
1241 1242 </div> 1243 1244 1245 <div 1246 data-eds-id="6ab53747852cc" 1247 class="eds_dialog modal fade " 1248 tabindex="-1" 1249 aria-labelledby="eds-dialog-title-6ab53747852cc" 1250 aria-hidden="true" 1251 id="login-modal" > 1252 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md"> 1253 <div class="modal-content "> 1254 1255 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 1256 <h2 id="eds-dialog-title-6ab53747852cc" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 1257 Log in </h2> 1258 1259 <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> 1260 1261 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular "> 1262 <form 1263 id="login-form" 1264 name="login" 1265 data-async-on-submit 1266 method="post" 1267 action="https://www.happywokeriepa.com/auth" 1268 data-async-block="#login-modal .modal-content" 1269 data-async-target="#login-modal .eds_dialog-body" 1270 data-async-then="document.querySelector('#login-modal').dispatchEvent(new CustomEvent('eds.hide'))" 1271 data-async-recaptcha 1272 novalidate 1273 > 1274 1275 1276 <label 1277 data-eds-id="6ab53747851eb" 1278 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3" 1279 > 1280 <div class="eds_formfield-label"> 1281 Your email <span aria-hidden="true">*</span> </div> 1282 1283 <div class="position-relative d-flex flex-column"> 1284 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1285 1286 <input 1287 type="email" 1288 class="eds-copy-text-l-regular " 1289 placeholder=" " name="email" autocomplete="username" required value="" /> 1290 1291 1292 1293 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1294 </div> 1295 1296 1297
1297<script> 1298 { 1299 const container = document.querySelector('[data-eds-id="6ab53747851eb"]'); 1300 const input = container.querySelector('input, textarea, select'); 1301 const error = container.querySelector('.eds_formfield-error'); 1302 1303 1304 input.addEventListener('eds.validation.reset', () => { 1305 input.removeAttribute('data-validation'); 1306 input.setCustomValidity(''); 1307 error.innerHTML = ''; 1308 }); 1309 1310 input.addEventListener('eds.validation.hide', () => { 1311 input.removeAttribute('data-validation'); 1312 }); 1313 1314 input.addEventListener('eds.validation.success', (e) => { 1315 input.setCustomValidity(''); 1316 input.setAttribute('data-validation', ''); 1317 error.innerHTML = ''; 1318 }); 1319 1320 input.addEventListener('eds.validation.warning', (e) => { 1321 input.setCustomValidity(''); 1322 input.setAttribute('data-validation', ''); 1323 error.innerHTML = e.detail; 1324 }); 1325 1326 input.addEventListener('eds.validation.error', (e) => { 1327 input.setCustomValidity(e.detail); 1328 input.checkValidity(); input.setAttribute('data-validation', ''); 1329 }); 1330 1331 input.addEventListener('invalid', (e) => { 1332 error.innerHTML = input.validationMessage; 1333 }); 1334 1335 } 1336 </script>
1336 1337 </label> 1338 1339 1340 1341 <label 1342 data-eds-id="6ab5374785204" 1343 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2" 1344 > 1345 <div class="eds_formfield-label"> 1346 Your password <span aria-hidden="true">*</span> </div> 1347 1348 <div class="position-relative d-flex flex-column"> 1349 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1350 1351 <input 1352 type="password" 1353 class="eds-copy-text-l-regular pe-6" 1354 data-event-on:toggle_password_6ab5374785204="(shown) => $(this).attr('type', shown ? 'text' : 'password')" placeholder=" " name="password" autocomplete="current-password" required value="" /> 1355 1356 1357 <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_6ab5374785204', !$(this).data('password-shown'))" data-event-on:toggle_password_6ab5374785204="(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_6ab5374785204="(shown) => this.hidden = shown"></i> <i class="eds_icon fas fa-sm fa-eye-slash" style="" aria-hidden="true" data-event-on:toggle_password_6ab5374785204="(shown) => this.hidden = !shown" hidden></i></button> 1358 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1359 </div> 1360 1361 1362
1362<script> 1363 { 1364 const container = document.querySelector('[data-eds-id="6ab5374785204"]'); 1365 const input = container.querySelector('input, textarea, select'); 1366 const error = container.querySelector('.eds_formfield-error'); 1367 1368 1369 input.addEventListener('eds.validation.reset', () => { 1370 input.removeAttribute('data-validation'); 1371 input.setCustomValidity(''); 1372 error.innerHTML = ''; 1373 }); 1374 1375 input.addEventListener('eds.validation.hide', () => { 1376 input.removeAttribute('data-validation'); 1377 }); 1378 1379 input.addEventListener('eds.validation.success', (e) => { 1380 input.setCustomValidity(''); 1381 input.setAttribute('data-validation', ''); 1382 error.innerHTML = ''; 1383 }); 1384 1385 input.addEventListener('eds.validation.warning', (e) => { 1386 input.setCustomValidity(''); 1387 input.setAttribute('data-validation', ''); 1388 error.innerHTML = e.detail; 1389 }); 1390 1391 input.addEventListener('eds.validation.error', (e) => { 1392 input.setCustomValidity(e.detail); 1393 input.checkValidity(); input.setAttribute('data-validation', ''); 1394 }); 1395 1396 input.addEventListener('invalid', (e) => { 1397 error.innerHTML = input.validationMessage; 1398 }); 1399 1400 } 1401 </script>
1401 1402 </label> 1403 1404 1405 <div class="text-end mb-3"> 1406 <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> 1407 1408 1409 <button class="eds_button btn btn-primary w-100 mb-3" type="submit">Log in</button> 1410 <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"> 1411 <a href="https://sso.onlineorderingsecure.com/auth/google/redirect?return_to=https%3A%2F%2Fwww.happywokeriepa.com%2Fauth%2Fgoogle&redirect=%2F" 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();"> 1412 <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> 1413 Continue with Google 1414 </a> 1415 </div> 1416 <div class="apple-signin-container text-center mb-2"> 1417 <a href="https://sso.onlineorderingsecure.com/auth/apple/redirect?return_to=https%3A%2F%2Fwww.happywokeriepa.com%2Fauth%2Fapple&redirect=%2F" 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();"> 1418 <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> 1419 Continue with Apple 1420 </a> 1421 </div> 1422 <small class="d-block mt-2 eds-interface-text-s-regular"> 1423 By continuing, you agree to our <a href="https://www.happywokeriepa.com/tos" target="_blank" rel="noopener" title="Opens in new tab">Terms of Service</a> & <a href="https://www.happywokeriepa.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.happywokeriepa.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. 1424 </small> 1425 1426 <div class="text-center mt-3"> 1427 Don't have an account? 1428 <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> 1429 </form> </div> 1430 1431 1432 </div> 1433 </div> 1434 1435
1435<script> 1436 { 1437 const container = document.querySelector('[data-eds-id="6ab53747852cc"]'); 1438 let edsMethodsDisabled = false; 1439 1440 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 1441 container.addEventListener(`eds.${eventName}`, (e) => { 1442 if (edsMethodsDisabled) return; 1443 1444 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 1445 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 1446 ); 1447 }); 1448 }); 1449 1450 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 1451 container.addEventListener(`${eventName}.bs.modal`, (e) => { 1452 if (edsMethodsDisabled) return; 1453 1454 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 1455 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 1456 edsMethodsDisabled = false; 1457 }); 1458 }); 1459 1460 1461 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 1462 container.addEventListener(eventName, () => { 1463 const autofocusInput = container.querySelector('[autofocus]'); 1464 if (autofocusInput) { 1465 container.style.display = 'block'; 1466 autofocusInput.focus(); 1467 } 1468 }); 1469 }); 1470 1471 } 1472 </script>
1472 1473 </div> 1474 1475 1476 <div 1477 data-eds-id="6ab5374785576" 1478 class="eds_dialog modal fade " 1479 tabindex="-1" 1480 aria-labelledby="eds-dialog-title-6ab5374785576" 1481 aria-hidden="true" 1482 id="register-modal" > 1483 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md"> 1484 <div class="modal-content "> 1485 1486 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 1487 <h2 id="eds-dialog-title-6ab5374785576" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 1488 Sign up </h2> 1489 1490 <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> 1491 1492 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular p-0"> 1493 <form 1494 id="register-form" 1495 name="register" 1496 data-async-on-submit 1497 method="post" 1498 action="https://www.happywokeriepa.com/auth/register" 1499 data-async-block="#register-modal .modal-content" 1500 data-async-target="#register-modal .eds_dialog-body" 1501 data-async-then="document.querySelector('#register-modal').dispatchEvent(new CustomEvent('eds.hide'))" 1502 data-async-recaptcha 1503 novalidate 1504 > 1505 1506 <div class="p-3 pt-0"> 1507 1508 <label 1509 data-eds-id="6ab5374785466" 1510 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1511 > 1512 <div class="eds_formfield-label"> 1513 First name <span aria-hidden="true">*</span> </div> 1514 1515 <div class="position-relative d-flex flex-column"> 1516 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1517 1518 <input 1519 type="text" 1520 class="eds-copy-text-l-regular " 1521 placeholder=" " name="firstname" autocomplete="given-name" required value="" /> 1522 1523 1524 1525 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1526 </div> 1527 1528 1529
1529<script> 1530 { 1531 const container = document.querySelector('[data-eds-id="6ab5374785466"]'); 1532 const input = container.querySelector('input, textarea, select'); 1533 const error = container.querySelector('.eds_formfield-error'); 1534 1535 1536 input.addEventListener('eds.validation.reset', () => { 1537 input.removeAttribute('data-validation'); 1538 input.setCustomValidity(''); 1539 error.innerHTML = ''; 1540 }); 1541 1542 input.addEventListener('eds.validation.hide', () => { 1543 input.removeAttribute('data-validation'); 1544 }); 1545 1546 input.addEventListener('eds.validation.success', (e) => { 1547 input.setCustomValidity(''); 1548 input.setAttribute('data-validation', ''); 1549 error.innerHTML = ''; 1550 }); 1551 1552 input.addEventListener('eds.validation.warning', (e) => { 1553 input.setCustomValidity(''); 1554 input.setAttribute('data-validation', ''); 1555 error.innerHTML = e.detail; 1556 }); 1557 1558 input.addEventListener('eds.validation.error', (e) => { 1559 input.setCustomValidity(e.detail); 1560 input.checkValidity(); input.setAttribute('data-validation', ''); 1561 }); 1562 1563 input.addEventListener('invalid', (e) => { 1564 error.innerHTML = input.validationMessage; 1565 }); 1566 1567 } 1568 </script>
1568 1569 </label> 1570 1571 1572 1573 <label 1574 data-eds-id="6ab5374785481" 1575 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1576 > 1577 <div class="eds_formfield-label"> 1578 Last name <span aria-hidden="true">*</span> </div> 1579 1580 <div class="position-relative d-flex flex-column"> 1581 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1582 1583 <input 1584 type="text" 1585 class="eds-copy-text-l-regular " 1586 placeholder=" " name="lastname" autocomplete="family-name" required value="" /> 1587 1588 1589 1590 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1591 </div> 1592 1593 1594
1594<script> 1595 { 1596 const container = document.querySelector('[data-eds-id="6ab5374785481"]'); 1597 const input = container.querySelector('input, textarea, select'); 1598 const error = container.querySelector('.eds_formfield-error'); 1599 1600 1601 input.addEventListener('eds.validation.reset', () => { 1602 input.removeAttribute('data-validation'); 1603 input.setCustomValidity(''); 1604 error.innerHTML = ''; 1605 }); 1606 1607 input.addEventListener('eds.validation.hide', () => { 1608 input.removeAttribute('data-validation'); 1609 }); 1610 1611 input.addEventListener('eds.validation.success', (e) => { 1612 input.setCustomValidity(''); 1613 input.setAttribute('data-validation', ''); 1614 error.innerHTML = ''; 1615 }); 1616 1617 input.addEventListener('eds.validation.warning', (e) => { 1618 input.setCustomValidity(''); 1619 input.setAttribute('data-validation', ''); 1620 error.innerHTML = e.detail; 1621 }); 1622 1623 input.addEventListener('eds.validation.error', (e) => { 1624 input.setCustomValidity(e.detail); 1625 input.checkValidity(); input.setAttribute('data-validation', ''); 1626 }); 1627 1628 input.addEventListener('invalid', (e) => { 1629 error.innerHTML = input.validationMessage; 1630 }); 1631 1632 } 1633 </script>
1633 1634 </label> 1635 1636 1637 1638 <label 1639 data-eds-id="6ab5374785493" 1640 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1641 > 1642 <div class="eds_formfield-label"> 1643 Email <span aria-hidden="true">*</span> </div> 1644 1645 <div class="position-relative d-flex flex-column"> 1646 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1647 1648 <input 1649 type="email" 1650 class="eds-copy-text-l-regular " 1651 placeholder=" " name="email" autocomplete="username" required value="" /> 1652 1653 1654 1655 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1656 </div> 1657 1658 1659
1659<script> 1660 { 1661 const container = document.querySelector('[data-eds-id="6ab5374785493"]'); 1662 const input = container.querySelector('input, textarea, select'); 1663 const error = container.querySelector('.eds_formfield-error'); 1664 1665 1666 input.addEventListener('eds.validation.reset', () => { 1667 input.removeAttribute('data-validation'); 1668 input.setCustomValidity(''); 1669 error.innerHTML = ''; 1670 }); 1671 1672 input.addEventListener('eds.validation.hide', () => { 1673 input.removeAttribute('data-validation'); 1674 }); 1675 1676 input.addEventListener('eds.validation.success', (e) => { 1677 input.setCustomValidity(''); 1678 input.setAttribute('data-validation', ''); 1679 error.innerHTML = ''; 1680 }); 1681 1682 input.addEventListener('eds.validation.warning', (e) => { 1683 input.setCustomValidity(''); 1684 input.setAttribute('data-validation', ''); 1685 error.innerHTML = e.detail; 1686 }); 1687 1688 input.addEventListener('eds.validation.error', (e) => { 1689 input.setCustomValidity(e.detail); 1690 input.checkValidity(); input.setAttribute('data-validation', ''); 1691 }); 1692 1693 input.addEventListener('invalid', (e) => { 1694 error.innerHTML = input.validationMessage; 1695 }); 1696 1697 } 1698 </script>
1698 1699 </label> 1700 1701 1702 1703 <label 1704 data-eds-id="6ab53747854a2" 1705 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1706 > 1707 <div class="eds_formfield-label"> 1708 Password <span aria-hidden="true">*</span> </div> 1709 1710 <div class="position-relative d-flex flex-column"> 1711 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1712 1713 <input 1714 type="password" 1715 class="eds-copy-text-l-regular pe-6" 1716 data-event-on:toggle_password_6ab53747854a2="(shown) => $(this).attr('type', shown ? 'text' : 'password')" placeholder=" " name="password" autocomplete="current-password" required value="" /> 1717 1718 1719 <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_6ab53747854a2', !$(this).data('password-shown'))" data-event-on:toggle_password_6ab53747854a2="(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_6ab53747854a2="(shown) => this.hidden = shown"></i> <i class="eds_icon fas fa-sm fa-eye-slash" style="" aria-hidden="true" data-event-on:toggle_password_6ab53747854a2="(shown) => this.hidden = !shown" hidden></i></button> 1720 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1721 </div> 1722 1723 1724
1724<script> 1725 { 1726 const container = document.querySelector('[data-eds-id="6ab53747854a2"]'); 1727 const input = container.querySelector('input, textarea, select'); 1728 const error = container.querySelector('.eds_formfield-error'); 1729 1730 1731 input.addEventListener('eds.validation.reset', () => { 1732 input.removeAttribute('data-validation'); 1733 input.setCustomValidity(''); 1734 error.innerHTML = ''; 1735 }); 1736 1737 input.addEventListener('eds.validation.hide', () => { 1738 input.removeAttribute('data-validation'); 1739 }); 1740 1741 input.addEventListener('eds.validation.success', (e) => { 1742 input.setCustomValidity(''); 1743 input.setAttribute('data-validation', ''); 1744 error.innerHTML = ''; 1745 }); 1746 1747 input.addEventListener('eds.validation.warning', (e) => { 1748 input.setCustomValidity(''); 1749 input.setAttribute('data-validation', ''); 1750 error.innerHTML = e.detail; 1751 }); 1752 1753 input.addEventListener('eds.validation.error', (e) => { 1754 input.setCustomValidity(e.detail); 1755 input.checkValidity(); input.setAttribute('data-validation', ''); 1756 }); 1757 1758 input.addEventListener('invalid', (e) => { 1759 error.innerHTML = input.validationMessage; 1760 }); 1761 1762 } 1763 </script>
1763 1764 </label> 1765 1766 1767 1768 <label 1769 data-eds-id="6ab53747854d1" 1770 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3" 1771 > 1772 <div class="eds_formfield-label"> 1773 Phone number <span aria-hidden="true">*</span> </div> 1774 1775 <div class="position-relative d-flex flex-column"> 1776 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1777 1778 <input 1779 type="text" 1780 class="eds-copy-text-l-regular " 1781 placeholder=" " name="primary_phone" autocomplete="tel-national" required value="" /> 1782 1783 1784 1785 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1786 </div> 1787 1788 <div class="eds-interface-text-s-regular mt-2"> 1789 <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> 1790 1791
1791<script> 1792 { 1793 const container = document.querySelector('[data-eds-id="6ab53747854d1"]'); 1794 const input = container.querySelector('input, textarea, select'); 1795 const error = container.querySelector('.eds_formfield-error'); 1796 1797 1798 input.addEventListener('eds.validation.reset', () => { 1799 input.removeAttribute('data-validation'); 1800 input.setCustomValidity(''); 1801 error.innerHTML = ''; 1802 }); 1803 1804 input.addEventListener('eds.validation.hide', () => { 1805 input.removeAttribute('data-validation'); 1806 }); 1807 1808 input.addEventListener('eds.validation.success', (e) => { 1809 input.setCustomValidity(''); 1810 input.setAttribute('data-validation', ''); 1811 error.innerHTML = ''; 1812 }); 1813 1814 input.addEventListener('eds.validation.warning', (e) => { 1815 input.setCustomValidity(''); 1816 input.setAttribute('data-validation', ''); 1817 error.innerHTML = e.detail; 1818 }); 1819 1820 input.addEventListener('eds.validation.error', (e) => { 1821 input.setCustomValidity(e.detail); 1822 input.checkValidity(); input.setAttribute('data-validation', ''); 1823 }); 1824 1825 input.addEventListener('invalid', (e) => { 1826 error.innerHTML = input.validationMessage; 1827 }); 1828 1829 } 1830 </script>
1830 1831 </label> 1832 1833 1834 1835 <div class="eds_checkable d-inline-block mb-2" > 1836 <input id="eds-checkable-6ab53747854e2" name="receive_promotions" value="1" checked type="checkbox" /> 1837 <label for="eds-checkable-6ab53747854e2" class="eds_checkable-text eds-interface-text-l-regular "> 1838 Receive Promotional Offers & Updates </label> 1839 </div> 1840 1841 1842 <button class="eds_button btn btn-primary w-100 mt-1 mb-3" type="submit">Sign up</button> 1843 <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"> 1844 <a href="https://sso.onlineorderingsecure.com/auth/google/redirect?return_to=https%3A%2F%2Fwww.happywokeriepa.com%2Fauth%2Fgoogle&redirect=%2F" 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();"> 1845 <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> 1846 Continue with Google 1847 </a> 1848 </div> 1849 <div class="apple-signin-container text-center mb-2"> 1850 <a href="https://sso.onlineorderingsecure.com/auth/apple/redirect?return_to=https%3A%2F%2Fwww.happywokeriepa.com%2Fauth%2Fapple&redirect=%2F" 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();"> 1851 <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> 1852 Continue with Apple 1853 </a> 1854 </div> 1855 <small class="d-block mt-2 eds-interface-text-s-regular"> 1856 By continuing, you agree to our <a href="https://www.happywokeriepa.com/tos" target="_blank" rel="noopener" title="Opens in new tab">Terms of Service</a> & <a href="https://www.happywokeriepa.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.happywokeriepa.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. 1857 </small> 1858 1859 <div class="text-center mt-3"> 1860 Already have an account? 1861 <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> 1862 </div> 1863 </form> </div> 1864 1865 1866 </div> 1867 </div> 1868 1869
1869<script> 1870 { 1871 const container = document.querySelector('[data-eds-id="6ab5374785576"]'); 1872 let edsMethodsDisabled = false; 1873 1874 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 1875 container.addEventListener(`eds.${eventName}`, (e) => { 1876 if (edsMethodsDisabled) return; 1877 1878 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 1879 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 1880 ); 1881 }); 1882 }); 1883 1884 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 1885 container.addEventListener(`${eventName}.bs.modal`, (e) => { 1886 if (edsMethodsDisabled) return; 1887 1888 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 1889 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 1890 edsMethodsDisabled = false; 1891 }); 1892 }); 1893 1894 1895 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 1896 container.addEventListener(eventName, () => { 1897 const autofocusInput = container.querySelector('[autofocus]'); 1898 if (autofocusInput) { 1899 container.style.display = 'block'; 1900 autofocusInput.focus(); 1901 } 1902 }); 1903 }); 1904 1905 } 1906 </script>
1906 1907 </div> 1908 1909 1910
1910<script> 1911 window.__ssoConfig = { 1912 google: { 1913 pendingUrl: "https:\/\/www.happywokeriepa.com\/auth\/google\/pending", 1914 registerModalId: "register-modal", 1915 loginModalId: "login-modal" }, 1916 apple: { 1917 pendingUrl: "https:\/\/www.happywokeriepa.com\/auth\/apple\/pending", 1918 registerModalId: "register-modal", 1919 loginModalId: "login-modal" } 1920 }; 1921 </script>
1921 1922 1923 1924<div class="modal fade" id="modal-order-time" tabindex="-1" role="dialog" 1925 aria-hidden="true"> 1926 <div class="modal-dialog modal-fullscreen-md-down mt-md-6" role="document"> 1927 <div class="modal-content"> 1928 <button class="d-md-none close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> 1929 <div class="modal-header"> 1930 <h2 class="modal-title eds-display-text-title-m">Order time</h2> 1931 </div> 1932 <div class="modal-body"> 1933 <div class="btn-group w-100 btn-group-order-time-type mb-3" > 1934 <input type="radio" name="param_order~time~type_i_n_1" id="order_time_type_0-1" value="0" class="btn-check beforetimeswitch orderTimeTypeOption" 1935 checked> 1936 <label for="order_time_type_0-1" class="d-flex align-items-center justify-content-center btn btn-outline-secondary w-50">ASAP</label> 1937 1938 <input type="radio" name="param_order~time~type_i_n_1" id="order_time_type_1-1" value="1" class="btn-check timeswitch orderTimeTypeOption" 1939 /> 1940 <label for="order_time_type_1-1" class="d-flex align-items-center justify-content-center btn btn-outline-secondary w-50"> 1941 <span> 1942 Later 1943 <span class="d-block small fw-normal">Later</span> 1944 </span> 1945 </label> 1946 </div> 1947 <div id="asapContent" class=""> 1948 <p class="mt-3 mb-0">Your order will be ready as soon as possible.</p> 1949 </div> 1950 <div id="laterContent" class="d-none"> 1951 <div class="select-time-container"> 1952 <div class="selecttime showcheck_parent "> 1953 <div class="select-time-header clearfix"> 1954 <h3 class="bold fl fs-5">Pick a day and time</h3> 1955 </div> 1956 <div class="select-time-content clearfix"> 1957 <div class="row select-time-row"> 1958 <div class="datepicker col-md-8" style="min-height: 248px;"> 1959 <div class="datepicker-days" style="display: block;"> 1960 <div data-datetimepicker data-datepicker-min-date="2026-09-24" class="errorable"></div> 1961 </div> 1962 </div> 1963 <div class="timepicker col-md-4"> 1964 <div class="timepicker-picker"> 1965 <ul class="ready-at-time css-scroll"> 1966 <li class="time-button "> 1967 <input id="timeValue0" type="radio" value="11:00 AM" name="param_ready~at~time_s_n_15" 1968 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1969 data-required-field data-ready-attime/> 1970 <label for="timeValue0" class="btn btn-outline-secondary btn-sm" for="">11:00 AM</label> 1971 </li> 1972 <li class="time-button "> 1973 <input id="timeValue1" type="radio" value="11:15 AM" name="param_ready~at~time_s_n_15" 1974 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1975 data-required-field data-ready-attime/> 1976 <label for="timeValue1" class="btn btn-outline-secondary btn-sm" for="">11:15 AM</label> 1977 </li> 1978 <li class="time-button "> 1979 <input id="timeValue2" type="radio" value="11:30 AM" name="param_ready~at~time_s_n_15" 1980 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1981 data-required-field data-ready-attime/> 1982 <label for="timeValue2" class="btn btn-outline-secondary btn-sm" for="">11:30 AM</label> 1983 </li> 1984 <li class="time-button "> 1985 <input id="timeValue3" type="radio" value="11:45 AM" name="param_ready~at~time_s_n_15" 1986 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1987 data-required-field data-ready-attime/> 1988 <label for="timeValue3" class="btn btn-outline-secondary btn-sm" for="">11:45 AM</label> 1989 </li> 1990 <li class="time-button "> 1991 <input id="timeValue4" type="radio" value="12:00 PM" name="param_ready~at~time_s_n_15" 1992 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1993 data-required-field data-ready-attime/> 1994 <label for="timeValue4" class="btn btn-outline-secondary btn-sm" for="">12:00 PM</label> 1995 </li> 1996 <li class="time-button "> 1997 <input id="timeValue5" type="radio" value="12:15 PM" name="param_ready~at~time_s_n_15" 1998 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1999 data-required-field data-ready-attime/> 2000 <label for="timeValue5" class="btn btn-outline-secondary btn-sm" for="">12:15 PM</label> 2001 </li> 2002 <li class="time-button "> 2003 <input id="timeValue6" type="radio" value="12:30 PM" name="param_ready~at~time_s_n_15" 2004 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2005 data-required-field data-ready-attime/> 2006 <label for="timeValue6" class="btn btn-outline-secondary btn-sm" for="">12:30 PM</label> 2007 </li> 2008 <li class="time-button "> 2009 <input id="timeValue7" type="radio" value="12:45 PM" name="param_ready~at~time_s_n_15" 2010 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2011 data-required-field data-ready-attime/> 2012 <label for="timeValue7" class="btn btn-outline-secondary btn-sm" for="">12:45 PM</label> 2013 </li> 2014 <li class="time-button "> 2015 <input id="timeValue8" type="radio" value="1:00 PM" name="param_ready~at~time_s_n_15" 2016 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2017 data-required-field data-ready-attime/> 2018 <label for="timeValue8" class="btn btn-outline-secondary btn-sm" for="">1:00 PM</label> 2019 </li> 2020 <li class="time-button "> 2021 <input id="timeValue9" type="radio" value="1:15 PM" name="param_ready~at~time_s_n_15" 2022 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2023 data-required-field data-ready-attime/> 2024 <label for="timeValue9" class="btn btn-outline-secondary btn-sm" for="">1:15 PM</label> 2025 </li> 2026 <li class="time-button "> 2027 <input id="timeValue10" type="radio" value="1:30 PM" name="param_ready~at~time_s_n_15" 2028 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2029 data-required-field data-ready-attime/> 2030 <label for="timeValue10" class="btn btn-outline-secondary btn-sm" for="">1:30 PM</label> 2031 </li> 2032 <li class="time-button "> 2033 <input id="timeValue11" type="radio" value="1:45 PM" name="param_ready~at~time_s_n_15" 2034 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2035 data-required-field data-ready-attime/> 2036 <label for="timeValue11" class="btn btn-outline-secondary btn-sm" for="">1:45 PM</label> 2037 </li> 2038 <li class="time-button "> 2039 <input id="timeValue12" type="radio" value="2:00 PM" name="param_ready~at~time_s_n_15" 2040 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2041 data-required-field data-ready-attime/> 2042 <label for="timeValue12" class="btn btn-outline-secondary btn-sm" for="">2:00 PM</label> 2043 </li> 2044 <li class="time-button "> 2045 <input id="timeValue13" type="radio" value="2:15 PM" name="param_ready~at~time_s_n_15" 2046 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2047 data-required-field data-ready-attime/> 2048 <label for="timeValue13" class="btn btn-outline-secondary btn-sm" for="">2:15 PM</label> 2049 </li> 2050 <li class="time-button "> 2051 <input id="timeValue14" type="radio" value="2:30 PM" name="param_ready~at~time_s_n_15" 2052 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2053 data-required-field data-ready-attime/> 2054 <label for="timeValue14" class="btn btn-outline-secondary btn-sm" for="">2:30 PM</label> 2055 </li> 2056 <li class="time-button "> 2057 <input id="timeValue15" type="radio" value="2:45 PM" name="param_ready~at~time_s_n_15" 2058 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2059 data-required-field data-ready-attime/> 2060 <label for="timeValue15" class="btn btn-outline-secondary btn-sm" for="">2:45 PM</label> 2061 </li> 2062 <li class="time-button "> 2063 <input id="timeValue16" type="radio" value="3:00 PM" name="param_ready~at~time_s_n_15" 2064 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2065 data-required-field data-ready-attime/> 2066 <label for="timeValue16" class="btn btn-outline-secondary btn-sm" for="">3:00 PM</label> 2067 </li> 2068 <li class="time-button "> 2069 <input id="timeValue17" type="radio" value="3:15 PM" name="param_ready~at~time_s_n_15" 2070 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2071 data-required-field data-ready-attime/> 2072 <label for="timeValue17" class="btn btn-outline-secondary btn-sm" for="">3:15 PM</label> 2073 </li> 2074 <li class="time-button "> 2075 <input id="timeValue18" type="radio" value="3:30 PM" name="param_ready~at~time_s_n_15" 2076 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2077 data-required-field data-ready-attime/> 2078 <label for="timeValue18" class="btn btn-outline-secondary btn-sm" for="">3:30 PM</label> 2079 </li> 2080 <li class="time-button "> 2081 <input id="timeValue19" type="radio" value="3:45 PM" name="param_ready~at~time_s_n_15" 2082 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2083 data-required-field data-ready-attime/> 2084 <label for="timeValue19" class="btn btn-outline-secondary btn-sm" for="">3:45 PM</label> 2085 </li> 2086 <li class="time-button "> 2087 <input id="timeValue20" type="radio" value="4:00 PM" name="param_ready~at~time_s_n_15" 2088 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2089 data-required-field data-ready-attime/> 2090 <label for="timeValue20" class="btn btn-outline-secondary btn-sm" for="">4:00 PM</label> 2091 </li> 2092 <li class="time-button "> 2093 <input id="timeValue21" type="radio" value="4:15 PM" name="param_ready~at~time_s_n_15" 2094 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2095 data-required-field data-ready-attime/> 2096 <label for="timeValue21" class="btn btn-outline-secondary btn-sm" for="">4:15 PM</label> 2097 </li> 2098 <li class="time-button "> 2099 <input id="timeValue22" type="radio" value="4:30 PM" name="param_ready~at~time_s_n_15" 2100 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2101 data-required-field data-ready-attime/> 2102 <label for="timeValue22" class="btn btn-outline-secondary btn-sm" for="">4:30 PM</label> 2103 </li> 2104 <li class="time-button "> 2105 <input id="timeValue23" type="radio" value="4:45 PM" name="param_ready~at~time_s_n_15" 2106 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2107 data-required-field data-ready-attime/> 2108 <label for="timeValue23" class="btn btn-outline-secondary btn-sm" for="">4:45 PM</label> 2109 </li> 2110 <li class="time-button "> 2111 <input id="timeValue24" type="radio" value="5:00 PM" name="param_ready~at~time_s_n_15" 2112 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2113 data-required-field data-ready-attime/> 2114 <label for="timeValue24" class="btn btn-outline-secondary btn-sm" for="">5:00 PM</label> 2115 </li> 2116 <li class="time-button "> 2117 <input id="timeValue25" type="radio" value="5:15 PM" name="param_ready~at~time_s_n_15" 2118 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2119 data-required-field data-ready-attime/> 2120 <label for="timeValue25" class="btn btn-outline-secondary btn-sm" for="">5:15 PM</label> 2121 </li> 2122 <li class="time-button "> 2123 <input id="timeValue26" type="radio" value="5:30 PM" name="param_ready~at~time_s_n_15" 2124 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2125 data-required-field data-ready-attime/> 2126 <label for="timeValue26" class="btn btn-outline-secondary btn-sm" for="">5:30 PM</label> 2127 </li> 2128 <li class="time-button "> 2129 <input id="timeValue27" type="radio" value="5:45 PM" name="param_ready~at~time_s_n_15" 2130 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2131 data-required-field data-ready-attime/> 2132 <label for="timeValue27" class="btn btn-outline-secondary btn-sm" for="">5:45 PM</label> 2133 </li> 2134 <li class="time-button "> 2135 <input id="timeValue28" type="radio" value="6:00 PM" name="param_ready~at~time_s_n_15" 2136 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2137 data-required-field data-ready-attime/> 2138 <label for="timeValue28" class="btn btn-outline-secondary btn-sm" for="">6:00 PM</label> 2139 </li> 2140 <li class="time-button "> 2141 <input id="timeValue29" type="radio" value="6:15 PM" name="param_ready~at~time_s_n_15" 2142 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2143 data-required-field data-ready-attime/> 2144 <label for="timeValue29" class="btn btn-outline-secondary btn-sm" for="">6:15 PM</label> 2145 </li> 2146 <li class="time-button "> 2147 <input id="timeValue30" type="radio" value="6:30 PM" name="param_ready~at~time_s_n_15" 2148 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2149 data-required-field data-ready-attime/> 2150 <label for="timeValue30" class="btn btn-outline-secondary btn-sm" for="">6:30 PM</label> 2151 </li> 2152 <li class="time-button "> 2153 <input id="timeValue31" type="radio" value="6:45 PM" name="param_ready~at~time_s_n_15" 2154 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2155 data-required-field data-ready-attime/> 2156 <label for="timeValue31" class="btn btn-outline-secondary btn-sm" for="">6:45 PM</label> 2157 </li> 2158 <li class="time-button "> 2159 <input id="timeValue32" type="radio" value="7:00 PM" name="param_ready~at~time_s_n_15" 2160 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2161 data-required-field data-ready-attime/> 2162 <label for="timeValue32" class="btn btn-outline-secondary btn-sm" for="">7:00 PM</label> 2163 </li> 2164 <li class="time-button "> 2165 <input id="timeValue33" type="radio" value="7:15 PM" name="param_ready~at~time_s_n_15" 2166 class="btn-check rad-ready_at_time" onchange="saveFormState(
2166'param_ready~at~time_s_n_15', this.value, true);" 2167 data-required-field data-ready-attime/> 2168 <label for="timeValue33" class="btn btn-outline-secondary btn-sm" for="">7:15 PM</label> 2169 </li> 2170 <li class="time-button "> 2171 <input id="timeValue34" type="radio" value="7:30 PM" name="param_ready~at~time_s_n_15" 2172 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2173 data-required-field data-ready-attime/> 2174 <label for="timeValue34" class="btn btn-outline-secondary btn-sm" for="">7:30 PM</label> 2175 </li> 2176 <li class="time-button "> 2177 <input id="timeValue35" type="radio" value="7:45 PM" name="param_ready~at~time_s_n_15" 2178 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2179 data-required-field data-ready-attime/> 2180 <label for="timeValue35" class="btn btn-outline-secondary btn-sm" for="">7:45 PM</label> 2181 </li> 2182 <li class="time-button "> 2183 <input id="timeValue36" type="radio" value="8:00 PM" name="param_ready~at~time_s_n_15" 2184 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2185 data-required-field data-ready-attime/> 2186 <label for="timeValue36" class="btn btn-outline-secondary btn-sm" for="">8:00 PM</label> 2187 </li> 2188 <li class="time-button "> 2189 <input id="timeValue37" type="radio" value="8:15 PM" name="param_ready~at~time_s_n_15" 2190 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2191 data-required-field data-ready-attime/> 2192 <label for="timeValue37" class="btn btn-outline-secondary btn-sm" for="">8:15 PM</label> 2193 </li> 2194 <li class="time-button "> 2195 <input id="timeValue38" type="radio" value="8:30 PM" name="param_ready~at~time_s_n_15" 2196 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2197 data-required-field data-ready-attime/> 2198 <label for="timeValue38" class="btn btn-outline-secondary btn-sm" for="">8:30 PM</label> 2199 </li> 2200 <li class="time-button "> 2201 <input id="timeValue39" type="radio" value="8:45 PM" name="param_ready~at~time_s_n_15" 2202 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2203 data-required-field data-ready-attime/> 2204 <label for="timeValue39" class="btn btn-outline-secondary btn-sm" for="">8:45 PM</label> 2205 </li> 2206 </ul> 2207 </div> 2208 </div> 2209 </div> 2210 </div> 2211</div> 2212</div> 2213<input type="hidden" name="param_ready~at_s_n_100" class="hid-ready-at" value="" /> 2214<input type="hidden" class="hid-ready-at-date" value="2026-09-24" /> 2215<input type="hidden" class="hid-eot" value="2026-09-24 10:59:23" /> </div> 2216 </div> 2217 <div class="modal-footer"> 2218 <input type="hidden" id="hid-order-time-type" value="0" /> 2219 <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Cancel</button> 2220 <button type="button" class="btn btn-primary" data-save-time-modal>Save</button> 2221 </div> 2222 </div> 2223 </div> 2224</div> 2225 2226<!-- www modal start --> 2227<div class="modal fade mob_full_modal www_modal order-options" id="modal-order-options" tabindex="-1" role="dialog" 2228 aria-hidden="true" data-update-otype-on-modal-close> 2229 <div class="modal-dialog modal-fullscreen-sm-down mt-sm-6" role="document"> 2230 <div class="modal-content"> 2231 <button class="d-md-none close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> 2232 <div class="modal-header"> 2233 <h2 class="modal-title eds-display-text-title-m">Order details</h2> 2234 </div> 2235 <div class="modal-body"> 2236 <div class="www_moda_content"> 2237 <div class="cs_box order_type" onchange="app.event.emit('order_type_changed', { order_type: event.target.value })"> 2238 <div class="h5">What:</div> 2239 <div class="position-relative"> 2240 <div class="mdropbtn" data-toggle-mdrop role="button"> 2241 <span class="visually-hidden">Order type:</span> 2242 <span data-order-type-label> 2243 Select </span> 2244 </div> 2245 <ul data-mdrop-ul> 2246 <li class=" "> 2247 <input data-order-type-on-change type="radio" name="param_order~type_s_n_10" id="order-type-pickup-1" 2248 class="orderTypeOption css-checkbox " data-name="Pick up" value="PICKUP" 2249 data-constant="1" data-base="PICKUP" > 2250 <label for="order-type-pickup-1" class="css-label" data-update-mdrop-on-click> 2251 Pick up </label> 2252 </li> 2253 <li class=" "> 2254 <input data-order-type-on-change type="radio" name="param_order~type_s_n_10" id="order-type-
2254delivery-1" 2255 class="orderTypeOption css-checkbox deliveryswitch" data-name="Delivery" value="DELIVERY" 2256 data-constant="2" data-base="DELIVERY" > 2257 <label for="order-type-delivery-1" class="css-label" data-update-mdrop-on-click> 2258 Delivery </label> 2259 </li> 2260 </ul> 2261</div> 2262 </div> 2263 <form class=""> 2264 <div class="cs_box guest_checkout_address checkout_address deliveryAddressContainer" style="display:none;"> 2265 <label for="street-address-bar" class="h5">Enter your address:</label> 2266 <div class="form-group street-address-container"> 2267 <input name="param_full~address_s_n_255" id="street-address-bar" placeholder="Enter your address" 2268 data-autocomplete-address data-autocomplete-success="autoCompleteSuccess" 2269 onkeyup="scheduleFormStateSave(this.name, this.value)" onchange="validateAddress($('#modal-order-options .deliveryAddressContainer'))" 2270 type="search" class="form-control input-search input-validate-address input-street-address user-address-field" 2271 value="" data-required-field /> 2272 </div> 2273 <input type="hidden" name="param_street~address_s_n_255" data-autocompleted-street-address /> 2274 <input type="hidden" name="param_city_s_n_90" data-autocompleted-city /> 2275 <input type="hidden" name="param_state_s_n_2" data-autocompleted-state /> 2276 <input type="hidden" name="param_zip~code_z_n_10" data-autocompleted-zip /> 2277 </div> 2278 </form> 2279 <!-- <div class="form-submit-wrapper"> 2280 <input type="submit" class="form-submit btn btn-primary" value="Save" data-close-modal data-select-later-date data-saveotype-modal> 2281 </div> --> 2282 </div> 2283 </div> 2284 <div 2285 data-async-on-event="order_type_changed" 2286 data-async-action="https://www.happywokeriepa.com/ajax/?form=minimum_order_value_warning&component=order_type" 2287 data-async-method="get" 2288 > 2289 </div> 2290 <div class="modal-footer"> 2291 <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Close</button> 2292 <button type="button" class="btn btn-primary" data-close-modal data-saveotype-modal>Save</button> 2293 </div> 2294 </div> 2295 </div> 2296</div> 2297<!-- www modal end --> 2298 2299<!-- menu item modal --> 2300<div class="modal fade add_menu" id="add_menu_item" tabindex="-1" role="dialog" aria-hidden="true" aria-labelledby="item_name"> 2301 <div class="modal-dialog modal-dialog-centered modal-fullscreen-md-down" role="document"> 2302 <div class="modal-content menu-item-container-wrapper"> 2303 <div class="modal-body menu-item-container "> 2304 <p id="item_name">Menu item dialog</p> 2305 </div> 2306 </div> 2307 </div> 2308</div> 2309<!-- menu item modal end --> 2310 2311 2312 <div 2313 data-eds-id="6ab537478a973" 2314 class="eds_dialog modal fade " 2315 tabindex="-1" 2316 aria-labelledby="eds-dialog-title-6ab537478a973" 2317 aria-hidden="true" 2318 data-event-on:coupon_modal_shown="(shown) => $(this).data(`coupon_modal_shown`, shown)" data-event-on:show_coupon_restrictions="({ coupon, errors }) => { 2319 if ($(this).data(`coupon_modal_shown`)) return; 2320 2321 $(this).find(`.eds_dialog-title`).html(`<div class="text-truncate">${coupon}</div>`); 2322 $(this).find(`.eds_dialog-body`).html(errors); 2323 this.dispatchEvent(new CustomEvent(`eds.show`)); 2324 }" data-event-on:restore_coupon_modal="this.dispatchEvent(new CustomEvent(`eds.hide`))" > 2325 <div class="modal-dialog modal-dialog-scrollable modal-dialog-centered modal-fullscreen-sm-down modal-md"> 2326 <div class="modal-content "> 2327 2328 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 2329 <h2 id="eds-dialog-title-6ab537478a973" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 2330 Coupon restrictions </h2> 2331 2332 <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> 2333
2334 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular vh-100"> 2335 </div> 2336 2337 2338 </div> 2339 </div> 2340 2341
2341<script> 2342 { 2343 const container = document.querySelector('[data-eds-id="6ab537478a973"]'); 2344 let edsMethodsDisabled = false; 2345 2346 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 2347 container.addEventListener(`eds.${eventName}`, (e) => { 2348 if (edsMethodsDisabled) return; 2349 2350 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 2351 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 2352 ); 2353 }); 2354 }); 2355 2356 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 2357 container.addEventListener(`${eventName}.bs.modal`, (e) => { 2358 if (edsMethodsDisabled) return; 2359 2360 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 2361 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 2362 edsMethodsDisabled = false; 2363 }); 2364 }); 2365 2366 2367 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 2368 container.addEventListener(eventName, () => { 2369 const autofocusInput = container.querySelector('[autofocus]'); 2370 if (autofocusInput) { 2371 container.style.display = 'block'; 2372 autofocusInput.focus(); 2373 } 2374 }); 2375 }); 2376 2377 } 2378 </script>
2378 2379 </div> 2380 2381 2382<!-- location modal mobile start--> 2383<div class="modal fade location-picker" id="locationModal" tabindex="-1" role="dialog" aria-hidden="true"> 2384 <div class="backdrop" data-bs-dismiss="modal"></div> 2385 <div class="modal-dialog modal-sm modal-dialog-centered" role="document"> 2386 <div class="modal-content"> 2387 <div class="modal-header"> 2388 <h2 class="modal-title eds-display-text-title-m">Change Location</h2> 2389 </div> 2390 2391 <div class="modal-body"> 2392 2393<div class="change_location-locations"> 2394 <input 2395 type="radio" 2396 class="css-checkbox" 2397 id="locations-1-location-7189" 2398 name="locations-1" 2399 value="https://www.happywokeriepa.com/order" 2400 /> 2401 <label class="css-label" for="locations-1-location-7189"> 2402 <div style="line-height: normal"> 2403 <strong>Happy Wok - Erie</strong> 2404 <br /> 2405 1537 W 38th St Erie, PA 16508 </div> 2406 </label> 2407 </div> 2408 2409 </div> 2410 2411 <div class="modal-footer"> 2412 <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Close</button> 2413 <button type="button" class="btn btn-warning" data-go-to-url-on-click="[name='locations-1']:checked"> 2414 Change location </button> 2415 </div> 2416 </div> 2417 </div> 2418</div> 2419<!-- location modal mobile end --> 2420 2421<div class="modal fade add_new_card_modal" id="modal-add-new-card" tabindex="-1" role="dialog" aria-modal="true"> 2422 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down" role="document"> 2423 <div class="modal-content"> 2424 <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"></button> 2425 <div class="modal-header"> 2426 <h2 class="modal-title eds-display-text-title-m">Add new card</h2> 2427 </div> 2428 <div class="modal-body pb-6"> 2429 <div class="ajax-creditcards"> 2430 <div class="fa fa-spinner fa-spin fa-4x"> 2431 </div> 2432 </div> 2433 </div> 2434 </div> 2435 </div> 2436</div> 2437 2438<div class="modal fade" id="modal-payment-change" tabindex="-1" role="dialog" aria-modal="true"> 2439 <div class="modal-dialog modal-dialog-centered" role="document"> 2440 <div class="modal-content"> 2441 <div class="modal-header"> 2442 <h2 class="modal-title modal-title-accent eds-display-text-title-m">Confirm <span data-confirm-payment-name>Pay with cash</span></h2> 2443 </div> 2444 <div class="modal-body"> 2445 <p>You've just changed your payment type to <strong data-confirm-payment-name>Pay with cash</strong>. Please confirm that to proceed.</p> 2446 <button class="btn btn-primary w-100" data-bs-dismiss="modal" data-confirm-payment-switch>Confirm and proceed</button> 2447 <button class="btn eh-btn-silent w-100 mt-2" data-bs-dismiss="modal" data-cancel-payment-switch>Cancel</button> 2448 </div> 2449 </div> 2450 </div> 2451</div> 2452 2453<div class="modal fade modal_over_modal" id="modal-confirm-no-number-address" tabindex="-1" role="dialog" aria-modal="true" style="z-index: 2000;"> 2454 <div class="modal-dialog modal-dialog-centered" role="document"> 2455 <div class="modal-content"> 2456 <div class="modal-header"> 2457 <h2 class="modal-title modal-title-accent eds-display-text-title-m">Confirm Address</h2> 2458 </div> 2459 <div class="modal-body"> 2460 <p>This address doesn't start with a street number. Please confirm the address is correct.</p> 2461 <button class="btn btn-warning w-100" data-bs-dismiss="modal" data-confirm-no-number-address>Yes, it's correct</button> 2462 <button class="btn btn-secondary w-100 mt-2" data-bs-dismiss="modal" data-cancel-no-number-address>No, let me edit it</button> 2463 </div> 2464 </div> 2465 </div> 2466</div> 2467 2468<div class="modal fade mob_full_modal" id="modal-invalid-address" tabindex="-1" role="dialog" aria-modal="true"> 2469 <div class="modal-dialog modal-dialog-centered" role="document"> 2470 <div class="modal-content"> 2471 <button class="close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> 2472 <div class="modal-header"> 2473 <h2 class="modal-title eds-display-text-title-m">Sorry we do not deliver to your address!</h2> 2474 </div> 2475 <div class="modal-body"> 2476 <div class="www_moda_content"> 2477 <div class="cs_box pickup_when showcheck_parent"> 2478 <div>You can Pick up your order at this location</div> 2479 <div class="pickup_locbox"> 2480 <div class="rest_loc"> 2481 <p> 2482 Happy Wok - Erie<br/> 2483 1537 W 38th St<br/>Erie, PA 16508 </p> 2484 </div> 2485</div> </div> 2486 <div class="form-submit-wrapper"> 2487 <input type="submit" class="form-submit" value="Switch to pickup" data-bs-dismiss="modal" data-switch-to-pickup> 2488 </div> 2489 </div> 2490 </div> 2491 </div> 2492 </div> 2493</div> 2494 2495<div class="modal fade mob_full_modal" id="modal-view-delivery-zone" tabindex="-1" role="dialog" aria-modal="true"> 2496 <div class="modal-dialog modal-dialog-centered" role="document"> 2497 <div class="modal-content">
2498 <div class="modal-body modal-body-view-delivery-zone" style="min-height: 75px;"> 2499 <div id="loading-view-delivery-area" class="loading-ajax-spinner"><i class="fa fa-spin fa-spinner fa-3x "></i></div> 2500 <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"></button> 2501 <div id="modal-view-delivery-zone-content" style="display:none;"> 2502 <div class="h4 mt15">View our delivery area</div> 2503 <div class="mb15"></div> 2504 <style> 2505 #iframe-view-delivery-area { 2506 width:100%; 2507 height:100%; 2508 min-height:556px; 2509 } 2510 @media screen and (max-width: 768px) { 2511 #iframe-view-delivery-area { 2512 height: calc(100vh - 90px); 2513 } 2514 } 2515 </style> 2516 <iframe id="iframe-view-delivery-area" name="iframe-deliveryzone" frameborder="0" hspace="0" scrolling="auto" 2517 data-src="https://www.happywokeriepa.com/viewdeliveryzone/altdoc/1/vdz/1" title="Map of delivery areas"></iframe> 2518 </div> 2519 </div> 2520 </div> 2521 </div> 2522</div> 2523 2524<!-- Alert modal --> 2525<div class="modal fade" id="modal-alert" tabindex="-1" aria-labelledby="modal-alert" aria-hidden="true"> 2526 <div class="modal-dialog"> 2527 <div class="modal-content"> 2528 <div class="modal-header"> 2529 <h2 class="modal-title fs-5 eds-display-text-title-m">Error</h2> 2530 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> 2531 </div> 2532 <div class="modal-body"> 2533 Description 2534 </div> 2535 <div class="modal-footer"> 2536 <button type="button" class="btn btn-primary btn-close-modal" data-bs-dismiss="modal">Close</button> 2537 <button type="button" class="btn btn-primary hidden">Save changes</button> 2538 </div> 2539 </div> 2540 </div> 2541</div> 2542 2543 2544 2545 2546 2547 <div 2548 id="toasts" 2549 class="toast-container position-fixed start-50 translate-middle-x" 2550 style="bottom: calc(var(--eds-fixed-cta-height, 0) * 1px); max-width: calc(100% - 2rem)" 2551 > 2552 </div> 2553 2554
2554<script> 2555 $(() => { 2556 const ctas = document.querySelectorAll('[data-fixed-cta]'); 2557 if (!ctas.length) { 2558 return; 2559 } 2560 2561 function updateFixedCTAHeight() { 2562 document.documentElement.style.setProperty( 2563 '--eds-fixed-cta-height', 2564 Math.max(0, ...Array.from(ctas, (element) => { 2565 const rect = element.getBoundingClientRect(); 2566 return rect.height > 0 && getComputedStyle(element).position === 'fixed' 2567 ? Math.max(0, window.innerHeight - rect.top) 2568 : 0; 2569 })) 2570 ); 2571 } 2572 2573 if ('ResizeObserver' in window) { 2574 ctas.forEach((cta) => new ResizeObserver(updateFixedCTAHeight).observe(cta)); 2575 } else { 2576 updateFixedCTAHeight(); 2577 } 2578 2579 window.addEventListener('resize', app.throttle(updateFixedCTAHeight)); 2580 }); 2581 </script>
2581 2582 2583 <div class="visually-hidden"> 2584 <div id="announcements-polite" aria-live="polite" aria-atomic="true"> 2585 <div id="announcement-polite"></div> 2586 </div> 2587 2588 <div id="announcements-assertive" aria-live="assertive" aria-atomic="true"> 2589 <div id="announcement-assertive"></div> 2590 </div> 2591 </div> 2592 2593 2594
2594<script type="text/javascript" src="/web/default3.0/js/vendor/smartbanner.min.js"></script>
2594 2595
2595<script type="text/javascript" src="/share42/share42.js"></script>
2595 2596 2597<!-- SET: SCRIPTS -->
2598<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2598
2598
2599<script>window.jQuery || document.write('
2599<script src="/web/default3.0/js/vendor/jquery-3.6.0.min.js"><\/script>')</script>
vendor: 1 bytes, line 2599
2599
2600<script src="https://code.jquery.com/jquery-migrate-3.3.2.js" integrity="sha384-KwAndHbPSueZ9+pG1mDjru/Q6KT6cliBs+/SCGpcOO6XvhrkbF0cBzkSs3+Pl2Zz" crossorigin="anonymous"></script>
2600 2601<!--
2601<script src="https://code.jquery.com/jquery-migrate-3.3.2.min.js" integrity="sha256-Ap4KLoCf1rXb52q+i3p0k2vjBsmownyBTE1EqlRiMwA=" crossorigin="anonymous"></script>
2601-->
2602<script> 2603 /* http://writing.colin-gourlay.com/safely-using-ready-before-including-jquery/ */ 2604 (function($,d){$.each(readyQ,function(i,f){$(f)});$.each(bindReadyQ,function(i,f){$(d).bind("ready",f)})})(jQuery,document) 2605</script>
vendor: 1 bytes, line 2605
2605
2606<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 2606
2606
2607<script type="text/javascript" src="/min/g=js4.0&1788675044"></script>
2607 2608<!-- END: SCRIPTS --> 2609 2610
2611<script> 2612 function closeAnnouncementModal(){ 2613 $("#announcementBox").hide(); 2614 setAnnouncementSession("<pre style=\"text-align:center;\">\n<span style=\"color:#c0392b;\"><span style=\"font-size:16px;\"><span style=\"font-family:Arial, Helvetica, sans-serif;\">Dear Customers,\nWe will be closed due to family matters. and will be reopen on July 9 2026\nThank you for your understanding and support!\n We look forward to serving you again soon!<\/span><\/span><\/span><\/pre>"); 2615 } 2616 2617 $('body').on('click', '#closeAnnouncement', function(e) { 2618 e.preventDefault(); 2619 setAnnouncementSession("<pre style=\"text-align:center;\">\n<span style=\"color:#c0392b;\"><span style=\"font-size:16px;\"><span style=\"font-family:Arial, Helvetica, sans-serif;\">Dear Customers,\nWe will be closed due to family matters. and will be reopen on July 9 2026\nThank you for your understanding and support!\n We look forward to serving you again soon!<\/span><\/span><\/span><\/pre>"); 2620 }); 2621</script>
vendor: 1 bytes, line 2621
2621
2622<script> 2623$(() => { 2624 const stickyHeader = document.querySelector('.headerAndWtype'); 2625 if (!stickyHeader) { 2626 return; 2627 } 2628 2629 function updateHeaderHeight() { 2630 const gap = parseFloat(getComputedStyle(document.documentElement).fontSize) || 16; 2631 const offset = stickyHeader.offsetHeight + gap; 2632 document.documentElement.style.scrollPaddingTop = offset + 'px'; 2633 2634 document.documentElement.style.setProperty('--sticky-header-offset', offset + 'px'); 2635 } 2636 2637 updateHeaderHeight(); 2638 if ('ResizeObserver' in window) { 2639 new ResizeObserver(updateHeaderHeight).observe(stickyHeader); 2640 } else { 2641 window.addEventListener('resize', app.throttle(updateHeaderHeight)); 2642 } 2643}); 2644</script>
2644 2645 2646 <div id="recaptcha" class="g-recaptcha" data-callback="submitAjaxForm" data-size="invisible"></div> 2647 <div id="async-recaptcha" class="g-recaptcha" data-callback="recaptchaAsyncCallback" data-size="invisible"></div> 2648 2649
2649<script> 2650 var ajaxRecaptcha; 2651 var asyncRecaptcha; 2652 var checkoutRecaptcha; 2653 2654 function initRecaptchas() { 2655 const options = { 2656 sitekey: "6LeS6lMUAAAAADOPnBKluMb49PS1NyzPT1kR87Re", 2657 size: 'invisible', 2658 }; 2659 2660 $('[data-recaptcha]').not('[data-ajax-form]').each(function (k, v) { 2661 const submit = $(v).find('[type="submit"]'); 2662 grecaptcha.render(submit[0], { 2663 ...options, 2664 callback(token) { 2665 $(v).submit(); 2666 }, 2667 }); 2668 }); 2669 2670 ajaxRecaptcha = grecaptcha.render('recaptcha', options); 2671 asyncRecaptcha = grecaptcha.render('async-recaptcha', options); 2672 } 2673 </script>
vendor: 119 bytes, lines 2673-2675
2673 2674 <script src="https://www.google.com/recaptcha/api.js?render=explicit&onload=initRecaptchas" async defer></script> 2675
2676</body> 2677</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.