479 lines
12 KiB
HTML
479 lines
12 KiB
HTML
|
|
|
|
<div class="flex flex-col lg:flex-row w-full gap-4">
|
|
|
|
<div class="w-80 shrink-0 hidden lg:flex flex-col gap-4">
|
|
|
|
<div class="card flush flex flex-col divide-y-2 divide-primary-500">
|
|
|
|
<div class="relative min-h-[72px] p-2 cursor-pointer hover:bg-neutral-100 dark:hover:bg-neutral-800" hx-get="?s=snk_YTR3fVjmptmFtxGGCbpJf74d">
|
|
<h3 class="mb-2 font-semibold">
|
|
|
|
snek
|
|
</h3>
|
|
<div class="flex flex-row justify-end gap-2 text-lg">
|
|
|
|
|
|
|
|
|
|
</div>
|
|
<div class="absolute bottom-0 my-2 ">
|
|
<img src="https://exporter.battlesnake.com/avatars/head:default/tail:default/color:%23d5dbdb/230x25.svg" alt="battlesnake avatar" loading="lazy" style="width: 230px; height: 25px; filter: drop-shadow(0.1em 0.1em 0.05em rgba(0, 0, 0, 0.3));">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="relative min-h-[72px] p-2 cursor-pointer hover:bg-neutral-100 dark:hover:bg-neutral-800" hx-get="?s=snk_8vmHy6SHSmdxpHwqGbvCQPQf">
|
|
<h3 class="mb-2 font-semibold">
|
|
|
|
snek2
|
|
</h3>
|
|
<div class="flex flex-row justify-end gap-2 text-lg">
|
|
|
|
|
|
|
|
|
|
</div>
|
|
<div class="absolute bottom-0 my-2 ">
|
|
<img src="https://exporter.battlesnake.com/avatars/head:default/tail:default/color:%23d5dbdb/230x25.svg" alt="battlesnake avatar" loading="lazy" style="width: 230px; height: 25px; filter: drop-shadow(0.1em 0.1em 0.05em rgba(0, 0, 0, 0.3));">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="relative min-h-[72px] p-2 cursor-pointer hover:bg-neutral-100 dark:hover:bg-neutral-800" hx-get="?s=snk_tPxXdy8qxDvTFxMg7wRQhSm3">
|
|
<h3 class="mb-2 font-semibold">
|
|
|
|
snek3
|
|
</h3>
|
|
<div class="flex flex-row justify-end gap-2 text-lg">
|
|
|
|
|
|
|
|
|
|
</div>
|
|
<div class="absolute bottom-0 my-2 ">
|
|
<img src="https://exporter.battlesnake.com/avatars/head:default/tail:default/color:%23d5dbdb/230x25.svg" alt="battlesnake avatar" loading="lazy" style="width: 230px; height: 25px; filter: drop-shadow(0.1em 0.1em 0.05em rgba(0, 0, 0, 0.3));">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="relative min-h-[72px] p-2 cursor-pointer hover:bg-neutral-100 dark:hover:bg-neutral-800" hx-get="?s=snk_XKgpjMGcKmc9GpHYrHMpYBfB">
|
|
<h3 class="mb-2 font-semibold">
|
|
|
|
snek4
|
|
</h3>
|
|
<div class="flex flex-row justify-end gap-2 text-lg">
|
|
|
|
|
|
|
|
|
|
</div>
|
|
<div class="absolute bottom-0 my-2 ">
|
|
<img src="https://exporter.battlesnake.com/avatars/head:default/tail:default/color:%23d5dbdb/230x25.svg" alt="battlesnake avatar" loading="lazy" style="width: 230px; height: 25px; filter: drop-shadow(0.1em 0.1em 0.05em rgba(0, 0, 0, 0.3));">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="relative min-h-[72px] p-2 cursor-pointer hover:bg-neutral-100 dark:hover:bg-neutral-800" hx-get="?s=snk_gFRCVDCkP3F4hwBcmDFkptq9">
|
|
<h3 class="mb-2 font-semibold">
|
|
|
|
snekkk
|
|
</h3>
|
|
<div class="flex flex-row justify-end gap-2 text-lg">
|
|
|
|
|
|
|
|
|
|
</div>
|
|
<div class="absolute bottom-0 my-2 ">
|
|
<img src="https://exporter.battlesnake.com/avatars/head:all-seeing/tail:mouse/color:%23db16be/230x25.svg" alt="battlesnake avatar" loading="lazy" style="width: 230px; height: 25px; filter: drop-shadow(0.1em 0.1em 0.05em rgba(0, 0, 0, 0.3));">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="card bg-primary-500 text-white" >
|
|
<p class="text-center font-semibold">
|
|
Create New Battlesnake
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="lg:hidden flex flex-col gap-2">
|
|
|
|
<select name="s" class="w-full" hx-get>
|
|
|
|
<option value="snk_YTR3fVjmptmFtxGGCbpJf74d" >snek</option>
|
|
|
|
<option value="snk_8vmHy6SHSmdxpHwqGbvCQPQf" >snek2</option>
|
|
|
|
<option value="snk_tPxXdy8qxDvTFxMg7wRQhSm3" >snek3</option>
|
|
|
|
<option value="snk_XKgpjMGcKmc9GpHYrHMpYBfB" >snek4</option>
|
|
|
|
<option value="snk_gFRCVDCkP3F4hwBcmDFkptq9" >snekkk</option>
|
|
|
|
<option disabled>──────────</option>
|
|
<option value="new" selected>Create New Battlesnake</option>
|
|
</select>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="card grow shrink">
|
|
<div class="mb-4 flex flex-col gap-2">
|
|
<div class="flex flex-row justify-between">
|
|
<h2 class="text-xl font-bold">Create New Battlesnake</h2>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<form class="flex flex-col gap-4" hx-post="?s=new" hx-swap="settle:1s" hx-disabled-elt="form [type='submit']">
|
|
|
|
<input type="hidden" name="slug" id="id_slug">
|
|
|
|
|
|
|
|
|
|
<label class="label">
|
|
|
|
|
|
|
|
<span class="font-semibold">Name</span>
|
|
|
|
|
|
|
|
<input type="text" name="name" value="snekkk" maxlength="128" class="input required invalid" required id="id_name">
|
|
|
|
|
|
|
|
|
|
<div class="text-error-500 text-sm">
|
|
Battlesnake with name 'snekkk' already exists.
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</label>
|
|
|
|
<label class="label">
|
|
<span class="flex justify-between">
|
|
<span class="font-semibold">Server URL</span>
|
|
<span class="cursor-pointer text-sm text-primary-500 hover:underline" hx-on:click="htmx.trigger(this, 'toggleServerURLVisibility', {});" tabindex="-1">
|
|
Show
|
|
</span>
|
|
</span>
|
|
|
|
|
|
<label class="label">
|
|
|
|
|
|
|
|
|
|
|
|
<input type="password" name="url" value="https://snaketest.fly.dev/fdaa:c:cd38:a7b:1b0:97a7:6db6:2/" maxlength="128" class="input required" required id="id_url">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</label>
|
|
|
|
</label>
|
|
<label class="label">
|
|
<span class="flex justify-between">
|
|
<span class="font-semibold">Engine Region</span>
|
|
<a class="cursor-pointer text-sm text-primary-500 hover:underline" href="https://docs.battlesnake.com/guides/engine-regions" target="_blank" tabindex="-1">
|
|
What are engine regions?
|
|
</a>
|
|
</span>
|
|
|
|
|
|
<label class="label">
|
|
|
|
|
|
|
|
|
|
|
|
<select name="engine_region" class="input required" required id="id_engine_region">
|
|
<option value="">---------</option>
|
|
|
|
<option value="engr_HqgfRd3YGM799YRJbGmYF3B7" selected>US-WEST (Oregon)</option>
|
|
|
|
<option value="engr_yctXfWTJTkbDFjGCcSQ3ccMJ">US-EAST (Virginia)</option>
|
|
|
|
<option value="engr_HdgSXkXkWb8TCmkmTxbctbfb">EUROPE (Netherlands)</option>
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</label>
|
|
|
|
</label>
|
|
|
|
|
|
<label class="label">
|
|
|
|
|
|
|
|
<span class="font-semibold">Description</span>
|
|
|
|
|
|
|
|
<input type="text" name="description" maxlength="1024" class="input" id="id_description">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</label>
|
|
|
|
|
|
|
|
<label class="label">
|
|
|
|
|
|
|
|
<span class="font-semibold">Programming Language</span>
|
|
|
|
|
|
|
|
<select name="language_tag" class="input" id="id_language_tag">
|
|
<option value="" selected>---------</option>
|
|
|
|
<option value="tt_STqh9qqCvK3cPqpDJWx9TBqH">Bash</option>
|
|
|
|
<option value="37tFBtb8BpDW7mVr8F8kSwbV">C</option>
|
|
|
|
<option value="fG8pMx8m9M46vV6grkb47GvF">C#</option>
|
|
|
|
<option value="7K3KQF6YYkvhgxBr3RCX3rmR">C++</option>
|
|
|
|
<option value="qWcgQFGyXTrXCrVFVj4JmcgV">Clojure</option>
|
|
|
|
<option value="tt_tp7B7Wj6WqwhJRtGypFqD3P4">Crystal</option>
|
|
|
|
<option value="tt_XC9kBx4FCpkKDqWqSqCKHBJF">DataWeave</option>
|
|
|
|
<option value="fTqmvb4YmTq6tDjdvP7yFGx4">Elixir</option>
|
|
|
|
<option value="tt_tbdRC9TrxHj4jqjQY6XQhr6M">Factor</option>
|
|
|
|
<option value="8hgc3DqjRVFX3WCHYQTCSyTY">Go</option>
|
|
|
|
<option value="tt_VQRMbq7373xFkTdxYpKGxVtB">Haskell</option>
|
|
|
|
<option value="XfXb3XwFp8M8JpDqP6TF66dF">Java</option>
|
|
|
|
<option value="gcCJkMM9FHWWpkSwDpQ9mV3V">JavaScript</option>
|
|
|
|
<option value="tt_wGxYkgKQqtmJ9dBTFxYdBJDD">Julia</option>
|
|
|
|
<option value="pmttV6p4RBjDPtwDwxwvx3J4">Kotlin</option>
|
|
|
|
<option value="tt_j44rkr6tdDQKVcdrVVVYgCvc">Lua</option>
|
|
|
|
<option value="tt_yTpwFBDKBrvJCvFXbmCVqB39">Nim</option>
|
|
|
|
<option value="tt_kJSvk6fybVypmgjcC7f6QM34">Node-RED</option>
|
|
|
|
<option value="8ktftbBdKvhtcjDdp6vmHfyC">Objective-C</option>
|
|
|
|
<option value="tt_xPCQqBC6Bp7mrQJ9DVGghBq9">Perl</option>
|
|
|
|
<option value="qSyjVJ8q9BG9V9Ct3vVYFGXQ">PHP</option>
|
|
|
|
<option value="BG93gVDXS3XktDxwCYSS9F3T">Python</option>
|
|
|
|
<option value="HRgwC3W8yMYGGRjW7YTbqdwF">Ruby</option>
|
|
|
|
<option value="6mtQWMHwBtQb4hfBTKJ7RdPQ">Rust</option>
|
|
|
|
<option value="hprb69cWP7bKMS9MXCktthxS">Scala</option>
|
|
|
|
<option value="fmBkrgqPPG7XJgSJKB3vpvvP">Smalltalk</option>
|
|
|
|
<option value="HrKQgPT8GbY4QPfWcgyDRXwC">Squeak</option>
|
|
|
|
<option value="tTJrHXVBkkcSkdmJtGxbKfQQ">Swift</option>
|
|
|
|
<option value="mgMKQJwhp6WrBbBMXCXwcv6V">TypeScript</option>
|
|
|
|
<option value="kVJ39xWvk3v7xVtrGkXwKbWH">Unity</option>
|
|
|
|
<option value="tt_K6KMrMP9QpfPDYF9qBWtPJDb">Zig</option>
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</label>
|
|
|
|
|
|
|
|
<label class="label">
|
|
|
|
|
|
|
|
<span class="font-semibold">Platform</span>
|
|
|
|
|
|
|
|
<select name="platform_tag" class="input" id="id_platform_tag">
|
|
<option value="" selected>---------</option>
|
|
|
|
<option value="tt_hBBjDkwfjPVKgTjkY6MCpxdD">Arduino</option>
|
|
|
|
<option value="tt_R9dDW67WhXQc63fFmtV4Vmvb">AutoCode</option>
|
|
|
|
<option value="rVmrfkJV8yr98vYxHYQv6YxX">AWS</option>
|
|
|
|
<option value="GvhJVyBTpR6P7R74SdH9FFw8">Azure</option>
|
|
|
|
<option value="tt_M94dfGb6MCMrD8TT74bk98bB">Cloudflare</option>
|
|
|
|
<option value="qgbY7gPxJ4qh9RDcpH979vTd">DigitalOcean</option>
|
|
|
|
<option value="tt_vJq34gHrWCgHDC74KdhvH8cD">Directus</option>
|
|
|
|
<option value="tt_96WYVSpmGbQmxqCY3dtpqJ7J">Fly.io</option>
|
|
|
|
<option value="k6vcwMpcKhSS6QD6WDStDP99">GCP</option>
|
|
|
|
<option value="tt_9pMTyJhPkjPYGSKXX8MkBxYK">GitHub Codespaces</option>
|
|
|
|
<option value="hPmry9vkqFg9Pfqjy7g9j7HY">Heroku</option>
|
|
|
|
<option value="tt_KVSvmfpQMbRfg7XdS6kHJSvY">IBM Cloud</option>
|
|
|
|
<option value="TxdxJG44Dkqx46hxV6vkVQkd">Linode</option>
|
|
|
|
<option value="tt_R34M7TG7XS6j3MhG67xXf4jC">Netlify</option>
|
|
|
|
<option value="tt_9X9vCDmvGgQmDHbMPbrKGgMT">Oracle Cloud</option>
|
|
|
|
<option value="tt_Yd4bFgfBjDGYrGKj6F9hpHSX">Railway</option>
|
|
|
|
<option value="tt_cfbmhrDhCkv767bmcQyFCSSB">Raspberry Pi</option>
|
|
|
|
<option value="tt_SkyHfYYMYvbjWXBXWrpgSTpR">Replit</option>
|
|
|
|
<option value="tt_4SjgtS7VkX3SmbKgbJcrxm3V">Self-Hosted</option>
|
|
|
|
<option value="tt_dCh6wyQ9WCRxKd3DCHXgdb6K">Vercel</option>
|
|
|
|
<option value="tt_MkGJGt6V8jBHfHfRVrJHrBQQ">Vultr</option>
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</label>
|
|
|
|
|
|
|
|
<label class="label">
|
|
|
|
|
|
|
|
<span class="font-semibold">Who can create custom games with this Battlesnake?</span>
|
|
|
|
|
|
|
|
<div id="id_is_public" class="input"><div>
|
|
<label for="id_is_public_0"><input type="radio" name="is_public" value="False" class="input" id="id_is_public_0">
|
|
Only me (Private)</label>
|
|
|
|
</div><div>
|
|
<label for="id_is_public_1"><input type="radio" name="is_public" value="True" class="input" id="id_is_public_1" checked>
|
|
Anyone with a Battlesnake account (Public)</label>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</label>
|
|
|
|
<div class="flex flex-row items-center gap-4">
|
|
<button class="btn btn-primary grow-0 shrink-0" type="submit">Save Battlesnake</button>
|
|
<div class="grow shrink">
|
|
<p class="htmx-indicator text-xl">
|
|
<svg width="1.2em" height="1.2em" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg">
|
|
<defs>
|
|
<linearGradient x1="8.042%" y1="0%" x2="65.682%" y2="23.865%" id="a">
|
|
<stop stop-color="currentColor" stop-opacity="0" offset="0%"/>
|
|
<stop stop-color="currentColor" stop-opacity=".631" offset="63.146%"/>
|
|
<stop stop-color="currentColor" offset="100%"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<g fill="none" fill-rule="evenodd">
|
|
<g transform="translate(1 1)">
|
|
<path d="M36 18c0-9.94-8.06-18-18-18" id="Oval-2" stroke="url(#a)" stroke-width="2">
|
|
<animateTransform
|
|
attributeName="transform"
|
|
type="rotate"
|
|
from="0 18 18"
|
|
to="360 18 18"
|
|
dur="0.9s"
|
|
repeatCount="indefinite" />
|
|
</path>
|
|
<circle fill="currentColor" cx="36" cy="18" r="1">
|
|
<animateTransform
|
|
attributeName="transform"
|
|
type="rotate"
|
|
from="0 18 18"
|
|
to="360 18 18"
|
|
dur="0.9s"
|
|
repeatCount="indefinite" />
|
|
</circle>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
</p>
|
|
<p class="htmx-settle text-xl">
|
|
|
|
<span class="text-error-500">
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="1.2em" height="1.2em" class="bsnake-icon ">
|
|
<use href="#bsnake-icon-exclamation" />
|
|
</svg>
|
|
</span>
|
|
|
|
</p>
|
|
</div>
|
|
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
|
|
</div>
|