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