summaryrefslogtreecommitdiffstats
path: root/web/play/index.html
blob: f792ae3da1775cf03f5971f6e15f7ada6e122e94 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Play — żagań.bet</title>
<meta name="description" content="Play slots, roulette, blackjack and crash in your browser.">
<meta name="color-scheme" content="dark">
<meta name="robots" content="noindex, nofollow, noarchive">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self' ws: wss:; img-src 'self' data:; base-uri 'none'; form-action 'self'">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="shell">
  <header class="topbar">
    <a class="brand" href="/">żagań<span>.bet</span></a>
    <span id="version-pill" class="pill">v5.0.0</span>
    <span class="tagline">Slots · Roulette · Blackjack · Crash</span>
    <span class="spacer"></span>
    <div id="session-bar" class="session" hidden>
      <span class="who"><span class="label">User</span><strong id="account-name"></strong></span>
      <span class="who"><span class="label">Account</span><strong id="account-number">—</strong></span>
      <span class="balance-block"><span class="label">Balance</span><span id="account-balance" class="balance">— Kr</span></span>
    </div>
  </header>

  <main>
    <section id="auth-screen" hidden>
      <div class="auth-wrap">
        <div class="auth-card">
          <h1 id="auth-title">Sign in</h1>
          <p class="muted" style="margin: 6px 0 20px">Sign in to play.</p>
          <form id="auth-form">
            <label class="field">
              <span class="label">Username</span>
              <input id="auth-user" class="input" type="text" autocomplete="username" maxlength="32" required>
            </label>
            <label class="field">
              <span class="label">Password</span>
              <input id="auth-pass" class="input" type="password" autocomplete="current-password" required>
            </label>
            <p id="auth-error" class="error-text" style="margin: 0; min-height: 18px"></p>
            <button id="auth-submit" class="btn primary wide big" type="submit">LOG IN</button>
            <button id="auth-switch" class="btn ghost wide" type="button">CREATE ACCOUNT</button>
          </form>
          <p class="auth-foot">Registration gives you 1 000 Kr. No personal data beyond a username.</p>
        </div>
      </div>
    </section>

    <section id="lobby-screen" hidden>
      <div class="lobby-head">
        <h1>Lobby <span id="lobby-count" class="count">4 games</span></h1>
        <span class="spacer"></span>
        <button id="show-history" class="btn ghost small" type="button">HISTORY</button>
        <button id="logout" class="btn ghost small" type="button">LOG OUT</button>
      </div>
      <div id="game-grid" class="game-grid"></div>
    </section>

    <section id="game-screen" hidden>
      <div class="game-body">
        <div id="game-board" class="board"></div>
        <aside id="game-side" class="sidebar"></aside>
      </div>
    </section>

    <section id="history-screen" hidden>
      <div class="lobby-head">
        <div>
          <h1>Play history</h1>
          <p class="muted" style="margin: 4px 0 0">The last plays on your account.</p>
        </div>
        <span class="spacer"></span>
        <button id="history-back" class="btn ghost" type="button">← Lobby</button>
      </div>
      <div id="history-body"></div>
    </section>
  </main>
  <footer class="site-foot">
    Built from <a href="https://git.2137697.xyz/zagan-bet.git">the GPL source</a>
  </footer>
</div>

<div id="toasts" aria-live="polite"></div>

<div id="replaced-overlay" class="overlay" hidden>
  <div class="modal">
    <h2>Opened in another tab</h2>
    <p>This game was opened somewhere else. Only one tab can play a session at a time.</p>
    <button id="reload-replaced" class="btn primary" type="button">Reload this tab</button>
  </div>
</div>

<div id="reconnect-overlay" class="overlay" hidden>
  <div class="modal">
    <h2>Connection lost</h2>
    <p id="reconnect-message">Trying to reach the game server…</p>
    <button id="reload-reconnect" class="btn ghost" type="button">Reload</button>
  </div>
</div>

<script src="app.js" defer></script>
</body>
</html>