annotate mrjunejune/test/snapshots/talk.snapshot @ 183:a8976a008a9d

[BenchMark] Added bun bench mark to test seoboe vs other popular benchmarks.
author MrJuneJune <me@mrjunejune.com>
date Fri, 23 Jan 2026 21:19:08 -0800
parents 1c0878eb17de
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
129
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
1 <!DOCTYPE html>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
2 <html lang="en">
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
3 <head>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
4 <meta charset="UTF-8">
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
5 <title>Talk!</title>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
6 <meta charset="UTF-8">
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
7 <meta name="viewport" content="width=device-width, initial-scale=1.0">
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
8 <link rel="icon" type="image/svg+xml" href="/public/epi_all_colors.svg">
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
9
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
10 <link rel="preload" href="/public/fonts/Roboto-Regular.ttf" as="font" crossorigin>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
11 <link rel="preload" href="/public/fonts/Roboto-Thin.ttf"as="font" crossorigin>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
12
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
13 <!-- <link rel="preload" href="/public/fonts/atkinson-regular.woff" as="font" type="font/woff" crossorigin> -->
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
14 <!-- <link rel="preload" href="/public/fonts/atkinson-bold.woff" as="font" type="font/woff" crossorigin> -->
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
15
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
16 <!-- <link rel="preload" href="/public/fonts/more-sugar.extras.otf" as="font" type="font/otf" crossorigin> -->
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
17 <link rel="preload" href="/public/fonts/more-sugar.regular.otf" as="font" type="font/otf" crossorigin>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
18 <link rel="preload" href="/public/fonts/more-sugar.thin.otf" as="font" type="font/otf" crossorigin>
158
1c0878eb17de [MrJuneJune] Readme file gets compiled in server side.
June Park <parkjune1995@gmail.com>
parents: 145
diff changeset
19 <link rel="preload" href="/public/epi_all_colors.svg" as="image">
129
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
20
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
21 <link rel="preload" href="/base.css" as="style" />
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
22 <link rel="stylesheet" href="/base.css" />
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
23
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
24
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
25 <style>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
26 body { font-family: sans-serif; padding: 20px; }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
27 #messages { height: 200px; border: 1px solid #ccc; overflow-y: scroll; margin-bottom: 10px; padding: 10px; }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
28 #chat { display: flex; gap: 10px; }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
29 input { flex-grow: 1; }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
30 </style>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
31 </head>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
32 <body>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
33 <style>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
34 :root {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
35 --header-background: var(--white);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
36 --header-color: rgb(var(--black));
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
37 --link-hover-accent: var(--awesome);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
38 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
39
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
40 /* Fixed icon in top left corner */
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
41 #themeToggle {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
42 position: fixed;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
43 top: 20px;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
44 left: 20px;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
45 background: var(--header-background);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
46 display: flex;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
47 align-items: center;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
48 border-radius: 50%;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
49 cursor: pointer;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
50 z-index: 1000;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
51 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
52 transition: transform 0.2s ease;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
53 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
54
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
55 #themeToggle:hover {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
56 transform: scale(1.05);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
57 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
58
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
59 /* Professional header */
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
60 header {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
61 margin: auto;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
62 padding: 1.5em 1em;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
63 font-family: "More", sans-serif;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
64 box-shadow: 0 2px 8px rgba(var(--black), 5%);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
65 width: 720px;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
66 max-width: calc(100% - 2em);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
67 text-align: center;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
68 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
69
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
70 header h1 {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
71 margin: 0;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
72 font-size: 1.8em;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
73 font-weight: 700;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
74 letter-spacing: -0.5px;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
75 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
76
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
77 header h1 a {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
78 text-decoration: none;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
79 color: var(--header-color);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
80 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
81
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
82 header h1 a::before {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
83 display: none;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
84 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
85
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
86 /* Mobile responsiveness */
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
87 @media (max-width: 720px) {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
88 #themeToggle {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
89 top: 15px;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
90 left: 15px;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
91 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
92
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
93 header {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
94 padding: 1em;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
95 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
96
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
97 header h1 {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
98 font-size: 1.5em;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
99 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
100 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
101
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
102 @media (max-width: 480px) {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
103 #themeToggle {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
104 top: 10px;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
105 left: 10px;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
106 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
107
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
108 #themeToggle img {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
109 height: 40px;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
110 width: 40px;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
111 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
112
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
113 header h1 {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
114 font-size: 1.3em;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
115 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
116 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
117
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
118 #logo {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
119 width: 300px;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
120 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
121
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
122 /* 1. DEFINE THE DEFAULTS (Light Mode) */
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
123 :root {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
124 --logo-invert: invert(0);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
125 --epi-grayscale: grayscale(0) brightness(1);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
126 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
127
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
128 /* 2. MANUAL DARK OVERRIDE */
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
129 html.dark {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
130 --logo-invert: invert(1);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
131 --epi-grayscale: grayscale(1);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
132 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
133
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
134 /* 3. MANUAL LIGHT OVERRIDE */
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
135 html.light-mode {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
136 --logo-invert: invert(0);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
137 --epi-grayscale: brightness(2.9) grayscale(1);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
138 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
139
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
140 /* 4. SYSTEM PREFERENCE */
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
141 @media (prefers-color-scheme: dark) {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
142 :root:not(.light-mode) {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
143 --logo-invert: invert(1);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
144 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
145 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
146
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
147 /* 5. APPLY TO ELEMENTS */
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
148 #logo {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
149 -webkit-filter: var(--logo-invert);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
150 filter: var(--logo-invert);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
151 transition: filter 0.3s ease;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
152 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
153
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
154 .epi-logo {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
155 -webkit-filter: var(--epi-grayscale);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
156 filter: var(--epi-grayscale);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
157 transition: filter 0.3s ease;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
158 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
159 </style>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
160
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
161 <div id="themeToggle">
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
162 <img id="epiChan" class="epi-logo" aria-label="Toggle dark mode" src="/public/epi_all_colors.svg" height="50" width="50">
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
163 </div>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
164
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
165 <header>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
166 <h1><a href="/">MrJuneJune</a></h1>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
167 </header>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
168 <script src="/index.js"></script>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
169
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
170
145
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
171 <main>
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
172 <h1>Talk with strangers xDDD</h1>
129
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
173
145
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
174 <div id="messages"></div>
129
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
175
145
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
176 <div id="chat">
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
177 <input type="text" id="messageInput" placeholder="Type a message...">
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
178 <button id="sendBtn">Send</button>
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
179 </div>
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
180 </main>
129
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
181 <div style="display: flex; align-items: center; justify-content: center; margin: 30px 0px;">
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
182 <small>&copy; 2026 June Park</small>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
183 </div>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
184
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
185 <script>
145
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
186 const host = window.location.hostname;
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
187 const port = '6969';
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
188 const url = host === "mrjunejune.com" ? `wss://${host}/echo` : `ws://${host}:${port}/echo`;
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
189 const ws = new WebSocket(url);
129
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
190 const messagesDiv = document.getElementById('messages');
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
191
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
192 ws.onopen = () => {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
193 console.log('Connected!');
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
194 appendMessage('System: Connected to server');
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
195 };
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
196
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
197 ws.onmessage = (event) => {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
198 console.log('Received:', event.data);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
199 appendMessage('Server: ' + event.data);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
200 };
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
201
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
202 // Function to send message
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
203 sendBtn.onclick = () => {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
204 const message = messageInput.value;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
205 if (message) {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
206 ws.send(message);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
207 appendMessage('You: ' + message);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
208 messageInput.value = ''; // Clear input
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
209 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
210 };
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
211
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
212 // Helper to show messages on screen
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
213 function appendMessage(text) {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
214 const msg = document.createElement('p');
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
215 msg.textContent = text;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
216 messagesDiv.appendChild(msg);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
217 messagesDiv.scrollTop = messagesDiv.scrollHeight;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
218 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
219
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
220 messageInput.addEventListener('keydown', (event) => {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
221 if (event.key === 'Enter' && !event.shiftKey)
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
222 {
145
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
223 event.preventDefault();
c1eab8c0b0f9 [MrJuneJune] Small improvement UX and tests passes now.
June Park <parkjune1995@gmail.com>
parents: 129
diff changeset
224 sendBtn.click();
129
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
225 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
226 });
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
227 </script>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
228 </body>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
229 </html>