1<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="color-scheme" content="dark"><title>BEASTSIDE | Register Now</title><meta name="description" content="Register for BEASTSIDE. Enter your name and email to join the game. Sign up now and be part of the action."><meta name="robots" content="index,follow"><link rel="canonical" href="https://akidcalledbeast.com/game/"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="icon" type="image/x-icon" href="/favicon.ico"><link rel="apple-touch-icon" href="/webclip.png"><meta property="og:type" content="website"><meta property="og:title" content="BEASTSIDE | Register Now"><meta property="og:description" content="Register for BEASTSIDE. Enter your name and email to join the game. Sign up now and be part of the action."><meta property="og:image" content="https://akidcalledbeast.com/assets/webflow/images/photo_2024-05-01-12.49.45.jpeg"><meta property="og:url" content="https://akidcalledbeast.com/game/"><meta property="og:site_name" content="A Kid Called BEAST"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@akidcalledbeast"><meta name="twitter:title" content="BEASTSIDE | Register Now"><meta name="twitter:description" content="Register for BEASTSIDE. Enter your name and email to join the game. Sign up now and be part of the action."><meta name="twitter:image" content="https://akidcalledbeast.com/assets/webflow/images/photo_2024-05-01-12.49.45.jpeg"><meta name="generator" content="Astro v6.1.8"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate">
1<script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.BcdOYiQn.js"></script>
1<!-- 2 Flip `html.js-ready` before paint so the IX2-strip fallback rule in 3 global.css (which forces inline `opacity:0` elements visible) does NOT 4 fire when GSAP is about to take over. No `is:inline` async: we want 5 this to execute synchronously in the document head. 6 -->
6<script> 7 document.documentElement.classList.add("js-ready"); 8 </script>
8<link rel="stylesheet" href="/_astro/Base.vajFj7Wc.css"></head> <body> <main id="main"> <div data-poster-url="/assets/site/game/Beastside_Island_HQ_nologo_optimsed_poster.0000000.jpg" data-video-urls="/assets/site/game/Beastside_Island_HQ_nologo_optimsed_mp4.mp4,/assets/site/game/Beastside_Island_HQ_nologo_optimsed_webm.webm" data-autoplay="true" data-loop="true" data-wf-ignore="true" class="background-video-7 w-background-video w-background-video-atom"> <video autoplay loop muted playsinline data-wf-ignore="true" data-object-fit="cover" style="background-image:url('/assets/site/game/Beastside_Island_HQ_nologo_optimsed_poster.0000000.jpg')"> <source src="/assets/site/game/Beastside_Island_HQ_nologo_optimsed_mp4.mp4" data-wf-ignore="true"> <source src="/assets/site/game/Beastside_Island_HQ_nologo_optimsed_webm.webm" data-wf-ignore="true"> </video> <div class="basic-swiper-heading game">JOIN WAITLIST</div> <img src="/assets/site/game/beastside-game-logo-3d-render-transparent-optimised-cropped.png" loading="lazy" sizes="(max-width: 2000px) 100vw, 2000px, 239.0625px" alt="BEASTSIDE" srcset="/assets/site/game/acfeae2a35e8c09cd529793c05870977_beastside-game-logo-3d-render-transparent-optimised-cropped-p-500.png 500w, /assets/site/game/acfeae2a35e8c09cd529793c05870977_beastside-game-logo-3d-render-transparent-optimised-cropped-p-800.png 800w, /assets/site/game/acfeae2a35e8c09cd529793c05870977_beastside-game-logo-3d-render-transparent-optimised-cropped-p-1080.png 1080w, /assets/site/game/beastside-game-logo-3d-render-transparent-optimised-cropped.png 2000w" class="image-4"> <div class="form-block w-form"> <form id="email-form" name="email-form" data-name="Email Form" data-waitlist-form data-waitlist-endpoint="/api/waitlist" action="mailto:[email protected]" method="post" enctype="text/plain" class="form-2"> <div class="div-block-22"> <input class="cta form w-input" maxlength="256" name="name" data-name="Name" placeholder="Name" type="text" id="name" required> <input class="cta form w-input" maxlength="256" name="email" data-name="Email" placeholder="Email" type="email" id="email" required> <input type="submit" data-wait="Please wait..." class="cta game w-button" value="Submit"> </div> </form> <div class="w-form-done"> <div>Thank you! Your submission has been received!</div> </div> <div class="w-form-fail"> <div>Oops! Something went wrong while submitting the form.</div> </div> </div> </div>
8<script> 9 function initWaitlistForm() { 10 const form = document.querySelector("[data-waitlist-form]"); 11 12 if (!(form instanceof HTMLFormElement) || form.dataset.waitlistInit === "1") { 13 return; 14 } 15 16 form.dataset.waitlistInit = "1"; 17 18 const formBlock = form.closest(".w-form"); 19 const doneState = formBlock?.querySelector(".w-form-done"); 20 const failState = formBlock?.querySelector(".w-form-fail"); 21 const failMessage = failState?.querySelector("div"); 22 const submitButton = form.querySelector('input[type="submit"]'); 23 const endpoint = form.dataset.waitlistEndpoint; 24 const defaultFailMessage = "Oops! Something went wrong while submitting the form."; 25 26 const setVisible = (element, isVisible) => { 27 if (element instanceof HTMLElement) { 28 element.style.display = isVisible ? "block" : "none"; 29 } 30 }; 31 32 const setSubmitting = (isSubmitting) => { 33 if (!(submitButton instanceof HTMLInputElement)) { 34 return; 35 } 36 37 submitButton.disabled = isSubmitting; 38 submitButton.value = 39 isSubmitting && submitButton.dataset.wait 40 ? submitButton.dataset.wait 41 : "Submit"; 42 }; 43 44 const fallbackToMailClient = () => { 45 setSubmitting(false); 46 HTMLFormElement.prototype.submit.call(form); 47 }; 48 49 form.addEventListener("submit", async (event) => { 50 if (!endpoint || typeof window.fetch !== "function") { 51 return; 52 } 53 54 event.preventDefault(); 55 setVisible(doneState, false); 56 setVisible(failState, false); 57 setSubmitting(true); 58 59 try { 60 const response = await fetch(endpoint, { 61 method: "POST", 62 body: new FormData(form), 63 headers: { 64 accept: "application/json", 65 }, 66 }); 67 68 const payload = await response.json().catch(() => null); 69 70 if (payload?.status === "fallback") { 71 fallbackToMailClient(); 72 return; 73 } 74 75 if (response.ok && payload?.status === "ok") { 76 form.style.display = "none"; 77 setVisible(doneState, true); 78 setSubmitting(false); 79 return; 80 } 81 82 if (failMessage instanceof HTMLElement) { 83 failMessage.textContent = payload?.message ?? defaultFailMessage; 84 } 85 setVisible(failState, true); 86 } catch { 87 fallbackToMailClient(); 88 return; 89 } 90 91 setSubmitting(false); 92 }); 93 } 94 95 if (document.readyState !== "loading") { 96 initWaitlistForm(); 97 } else { 98 document.addEventListener("DOMContentLoaded", initWaitlistForm, { 99 once: true, 100 }); 101 } 102 document.addEventListener("astro:page-load", initWaitlistForm); 103 </script>
103 </main> </body></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.