2024-08-10 23:10:03 +02:00
|
|
|
<!DOCTYPE html>
|
|
|
|
|
|
|
|
<html>
|
|
|
|
<head>
|
2024-08-24 20:09:52 +02:00
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
2024-08-10 23:13:20 +02:00
|
|
|
<title>rakugaki</title>
|
|
|
|
|
2024-08-26 23:25:36 +02:00
|
|
|
<link rel="stylesheet" href="static/base.css">
|
2024-08-10 23:13:20 +02:00
|
|
|
<link rel="stylesheet" href="static/index.css">
|
2024-08-26 23:25:36 +02:00
|
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
2024-08-10 23:13:20 +02:00
|
|
|
|
2024-08-10 23:10:03 +02:00
|
|
|
<script src="static/live-reload.js" type="module"></script>
|
2024-08-10 23:13:20 +02:00
|
|
|
|
|
|
|
<script src="static/brush-editor.js" type="module"></script>
|
|
|
|
<script src="static/canvas-renderer.js" type="module"></script>
|
2024-08-24 20:09:52 +02:00
|
|
|
<script src="static/connection-status.js" type="module"></script>
|
2024-08-10 23:13:20 +02:00
|
|
|
<script src="static/framework.js" type="module"></script>
|
2024-09-02 22:37:50 +02:00
|
|
|
<script src="static/resize-handle.js" type="module"></script>
|
2024-08-10 23:13:20 +02:00
|
|
|
<script src="static/reticle-renderer.js" type="module"></script>
|
|
|
|
<script src="static/session.js" type="module"></script>
|
|
|
|
<script src="static/throbber.js" type="module"></script>
|
|
|
|
<script src="static/viewport.js" type="module"></script>
|
|
|
|
<script src="static/welcome.js" type="module"></script>
|
|
|
|
|
2024-08-24 20:09:52 +02:00
|
|
|
<script src="static/index.js" type="module" defer></script>
|
2024-08-27 14:13:03 +02:00
|
|
|
|
|
|
|
<link rel="icon" sizes="16x16" href="/static/favicon/rkgk@1x.png">
|
|
|
|
<link rel="icon" sizes="32x32" href="/static/favicon/rkgk@2x.png">
|
|
|
|
<link rel="icon" sizes="64x64" href="/static/favicon/rkgk@4x.png">
|
|
|
|
<link rel="icon" sizes="128x128" href="/static/favicon/rkgk@8x.png">
|
|
|
|
<link rel="icon" sizes="256x256" href="/static/favicon/rkgk@16x.png">
|
|
|
|
<link rel="icon" sizes="512x512" href="/static/favicon/rkgk@32x.png">
|
|
|
|
<link rel="apple-touch-icon" sizes="16x16" href="/static/favicon/rkgk@1x.png">
|
|
|
|
<link rel="apple-touch-icon" sizes="32x32" href="/static/favicon/rkgk@2x.png">
|
|
|
|
<link rel="apple-touch-icon" sizes="64x64" href="/static/favicon/rkgk@4x.png">
|
|
|
|
<link rel="apple-touch-icon" sizes="128x128" href="/static/favicon/rkgk@8x.png">
|
|
|
|
<link rel="apple-touch-icon" sizes="256x256" href="/static/favicon/rkgk@16x.png">
|
|
|
|
<link rel="apple-touch-icon" sizes="512x512" href="/static/favicon/rkgk@32x.png">
|
2024-08-10 23:10:03 +02:00
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
|
|
|
<main>
|
2024-08-24 20:09:52 +02:00
|
|
|
<rkgk-canvas-renderer class="fullscreen"></rkgk-canvas-renderer>
|
|
|
|
<rkgk-reticle-renderer class="fullscreen"></rkgk-reticle-renderer>
|
2024-09-02 22:37:50 +02:00
|
|
|
<div class="panels fullscreen" id="panels-overlay">
|
2024-08-27 14:13:03 +02:00
|
|
|
<div class="rkgk-panel menu-bar">
|
|
|
|
<a class="icon icon-rkgk-grayscale" title="I know this menu bar is really ugly. Sorry about that."></a>
|
|
|
|
<hr>
|
|
|
|
<a href="/docs/rkgk.html">Manual</a>
|
|
|
|
</div>
|
2024-09-02 22:37:50 +02:00
|
|
|
<div class="right">
|
|
|
|
<rkgk-resize-handle
|
|
|
|
data-direction="vertical"
|
|
|
|
data-target="panels-overlay"
|
|
|
|
data-target-property="--right-width"
|
|
|
|
data-init-size="384"></rkgk-resize-handle>
|
|
|
|
<rkgk-brush-editor></rkgk-brush-editor>
|
|
|
|
</div>
|
2024-08-25 14:36:45 +02:00
|
|
|
</div>
|
2024-08-10 23:13:20 +02:00
|
|
|
|
|
|
|
<rkgk-welcome>
|
|
|
|
<dialog name="welcome-dialog" class="rkgk-panel">
|
|
|
|
<form method="dialog">
|
|
|
|
<h3>
|
|
|
|
My name is
|
|
|
|
<input
|
|
|
|
name="nickname"
|
|
|
|
type="text"
|
|
|
|
required minlength="1" maxlength="32"
|
|
|
|
placeholder="... (type here!)"
|
|
|
|
autocomplete="off"
|
|
|
|
autofocus></input>
|
|
|
|
</h3>
|
|
|
|
<p>This name will be visible to any friends drawing along with you, so choose something recognizable!<br>
|
|
|
|
Keep in mind you can always change it later.</p>
|
|
|
|
|
|
|
|
<div style="display: flex; flex-direction: row; align-items: center; justify-content: end; gap: 8px;">
|
|
|
|
<rkgk-throbber name="register-progress"></rkgk-throbber>
|
|
|
|
<button name="register">Register</button>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</dialog>
|
|
|
|
</rkgk-welcome>
|
2024-08-24 20:09:52 +02:00
|
|
|
|
|
|
|
<rkgk-connection-status>
|
|
|
|
<dialog name="logging-in-dialog">
|
2024-08-25 12:53:53 +02:00
|
|
|
<rkgk-throbber class="loading"></rkgk-throbber><p>Logging in…</p>
|
|
|
|
</dialog>
|
|
|
|
|
|
|
|
<dialog name="error-dialog" class="rkgk-panel">
|
|
|
|
<h1>owie! >_<</h1>
|
|
|
|
<p><i>Uh oh. Seems like the pipe cracked again… There's water everywhere.<br>The basement's half full already. God dammit.</i></p>
|
|
|
|
|
|
|
|
<p>Super sorry about this! But rakugaki encountered an error and has to restart.</p>
|
|
|
|
<p><b>Rest assured your drawings are safe and sound.</b></p>
|
|
|
|
<p>Either way… try refreshing the page and see if it helps. If not, please report a bug with the following details.</p>
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>Show error details</summary>
|
|
|
|
<textarea name="error-text" rows="10" readonly></textarea>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<p>Thank you from the mountain!</p>
|
|
|
|
|
|
|
|
<div style="display: flex; flex-direction: row; align-items: center; justify-content: end;">
|
|
|
|
<button name="refresh">Refresh</button>
|
|
|
|
</div>
|
|
|
|
</dialog>
|
|
|
|
|
|
|
|
<dialog name="disconnected-dialog">
|
|
|
|
<rkgk-throbber class="loading"></rkgk-throbber>
|
|
|
|
<p>Connection lost. Attempting to reconnect in <span name="reconnect-duration"></span>…</p>
|
2024-08-24 20:09:52 +02:00
|
|
|
</dialog>
|
|
|
|
</rkgk-connection-status>
|
|
|
|
|
|
|
|
<div class="fullscreen" id="js-loading">
|
|
|
|
<rkgk-throbber class="loading"></rkgk-throbber>
|
2024-08-25 12:53:53 +02:00
|
|
|
|
2024-08-24 20:09:52 +02:00
|
|
|
<noscript>
|
|
|
|
<style>
|
|
|
|
#js-loading>rkgk-throbber { display: none; }
|
|
|
|
</style>
|
|
|
|
<p>
|
|
|
|
rakugaki is a web app and does not work without JavaScript :(<br>
|
|
|
|
but I swear it's a very lightweight and delightful web app!
|
2024-08-25 12:53:53 +02:00
|
|
|
You won't regret trying it out.
|
2024-08-24 20:09:52 +02:00
|
|
|
</p>
|
|
|
|
</noscript>
|
|
|
|
</div>
|
2024-08-10 23:10:03 +02:00
|
|
|
</main>
|
|
|
|
</body>
|
|
|
|
</html>
|