Merge branch 'master' into newtribemerge

This commit is contained in:
Miodec 2025-12-26 21:32:25 +01:00
commit ec82527e29
2 changed files with 429 additions and 428 deletions

View file

@ -0,0 +1,428 @@
<div id="result" class="content-grid full-width hidden" tabindex="-1">
<div class="wrapper">
<div id="tribeResults" class="hidden">
<div class="top invisible">timer</div>
<table>
<thead>
<tr>
<td></td>
<td>
position
<br />
<span>points</span>
</td>
<td></td>
<td>
wpm
<br />
<span>accuracy</span>
</td>
<td>
raw
<br />
<span>consistency</span>
</td>
<td>
characters
<br />
<span>other</span>
</td>
<td></td>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
<div class="stats">
<!-- <div class="info">words 10<br>punctuation</div> -->
<div class="group wpm">
<div class="top">
<div class="text">wpm</div>
<div
class="crown hidden"
aria-label=""
data-balloon-pos="up"
data-balloon-length="medium"
>
<i class="fas fa-question"></i>
<i class="fas fa-crown"></i>
<i class="fas fa-slash"></i>
<i class="fas fa-exclamation-triangle"></i>
</div>
</div>
<div class="bottom" aria-label="" data-balloon-pos="up">-</div>
</div>
<div class="group acc">
<div class="top">acc</div>
<div class="bottom" aria-label="" data-balloon-pos="up">-</div>
</div>
</div>
<div class="stats morestats">
<div class="group testType">
<div class="top">test type</div>
<div class="bottom">-</div>
<div class="tags hidden" style="margin-top: 0.5rem">
<div class="top">
<span>tags</span>
<div
class="textButton editTagsButton"
result-id=""
active-tag-ids=""
aria-label="Edit tags"
role="button"
data-balloon-pos="right"
>
<i class="fas fa-pen fa-fw"></i>
</div>
</div>
<div class="bottom">-</div>
</div>
</div>
<!-- <div class="group infoAndTags"> -->
<div class="group info">
<div class="top">other</div>
<div class="bottom">-</div>
</div>
<!-- </div> -->
<!-- <div class="subgroup"> -->
<div class="group raw">
<div class="top">raw</div>
<div class="bottom" aria-label="" data-balloon-pos="up">-</div>
</div>
<div class="group key">
<div class="top">characters</div>
<div
class="bottom"
aria-label="correct&NewLine;incorrect&NewLine;extra&NewLine;missed"
data-balloon-break=""
data-balloon-pos="up"
>
-
</div>
</div>
<!-- </div> -->
<!-- <div class="subgroup"> -->
<div class="group flat consistency">
<div class="top">consistency</div>
<div class="bottom" aria-label="" data-balloon-pos="up">2 -</div>
</div>
<div class="group time">
<div class="top">time</div>
<div class="bottom" aria-label="" data-balloon-pos="up">
<div class="text">-</div>
<div class="afk"></div>
<div class="timeToday"></div>
</div>
</div>
<!-- </div> -->
<div class="group dailyLeaderboard hidden">
<div class="top">daily leaderboard</div>
<div
id="dailyLeaderboardRank"
aria-label="Show daily leaderboard"
data-balloon-pos="up"
class="bottom"
>
-
</div>
</div>
<div class="group source hidden">
<div class="top">
<span style="margin-right: 0.5em">source</span>
<span
id="reportQuoteButton"
class="textButton hidden"
aria-label="Report quote"
data-balloon-pos="up"
style="display: inline-block"
>
<i class="icon fas fa-fw fa-flag"></i>
</span>
<span
id="favoriteQuoteButton"
class="textButton hidden"
aria-label="Favorite quote"
data-balloon-pos="up"
style="display: inline-block"
>
<i class="icon far fa-fw fa-heart"></i>
</span>
<span
id="rateQuoteButton"
class="textButton hidden"
aria-label="Rate quote"
data-balloon-pos="up"
>
<i class="icon far fa-fw fa-star"></i>
<span class="rating"></span>
</span>
</div>
<div class="bottom">-</div>
</div>
</div>
<div class="chart">
<div class="chartLegend">
<button class="text" tabindex="-1" data-id="pbLine">
<i class="fas fa-crown"></i>
<div class="text">pb</div>
</button>
<button class="text" tabindex="-1" data-id="tagPbLine">
<i class="fas fa-tag"></i>
<div class="text">tag pb</div>
</button>
<button class="text" tabindex="-1" data-id="raw">
<div class="line dashed"></div>
<div class="text">raw</div>
</button>
<button class="text" tabindex="-1" data-id="burst">
<div class="line"></div>
<div class="text">burst</div>
</button>
<button class="text" tabindex="-1" data-id="errors">
<!-- <div class="line"></div> -->
<i class="fas fa-times"></i>
<div class="text">errors</div>
</button>
</div>
<!-- <div class="title">wpm over time</div> -->
<canvas id="wpmChart"></canvas>
</div>
<div class="bottom">
<div id="resultWordsHistory" class="hidden">
<div class="title">
<span>input history</span>
<button
id="copyWordsListButton"
class="textButton"
aria-label="Copy words list"
data-balloon-pos="up"
style="display: inline-block"
tabindex="-1"
>
<i class="fas fa-fw fa-align-left"></i>
</button>
<button
id="copyMissedWordsListButton"
class="textButton"
aria-label="Copy missed words list"
data-balloon-pos="up"
tabindex="-1"
>
<i class="fas fa-fw fa-times"></i>
</button>
<button
id="toggleBurstHeatmap"
class="textButton"
aria-label="Toggle burst heatmap"
data-balloon-pos="up"
style="display: inline-block"
tabindex="-1"
>
<i class="fas fa-fw fa-fire-alt"></i>
</button>
<div class="heatmapLegend hidden">
<div class="boxes">
<div class="box box0"></div>
<div class="box box1"></div>
<div class="box box2"></div>
<div class="box box3"></div>
<div class="box box4"></div>
</div>
</div>
</div>
<div class="words"></div>
</div>
<div id="resultReplay" class="hidden">
<div class="title">
watch replay
<button
id="playpauseReplayButton"
class="textButton"
aria-label="Start replay"
data-balloon-pos="up"
style="display: inline-block"
tabindex="-1"
>
<i class="fas fa-play"></i>
</button>
<p id="replayStats">0s</p>
</div>
<div id="replayWordsWrapper">
<div id="replayWords" class="words"></div>
</div>
</div>
<button id="retrySavingResultButton" class="danger hidden">
<i class="fas fa-redo"></i>
Retry saving result
</button>
<div class="buttons">
<button
class="text hidden"
id="readyButton"
aria-label="Ready"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-check"></i>
</button>
<button
class="hidden"
id="queueAgainButton"
aria-label="Queue again"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fas fa-satellite-dish"></i>
</button>
<button
class="text"
id="nextTestButton"
aria-label="Next test"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-chevron-right"></i>
</button>
<button
class="text"
id="restartTestButtonWithSameWordset"
aria-label="Repeat test"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-sync-alt"></i>
</button>
<button
class="text"
id="practiseWordsButton"
aria-label="Practice words"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-exclamation-triangle"></i>
</button>
<button
class="text"
id="showWordHistoryButton"
aria-label="Toggle words history"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-align-left"></i>
</button>
<button
class="text"
id="watchReplayButton"
aria-label="Watch replay"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-backward"></i>
</button>
<button
class="text"
id="saveScreenshotButton"
aria-label="Copy screenshot to clipboard&#10;(shift click to download)"
role="button"
data-balloon-pos="down"
data-balloon-break
>
<i class="far fa-fw fa-image"></i>
</button>
<!-- <button
class="text"
id="watchVideoAdButton"
aria-label="Watch video ad"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-ad"></i>
</button> -->
</div>
<div class="loginTip">
<a href="/login" router-link>Sign in</a>
to save your result
</div>
<div id="tribeResultBottom" class="hidden">
<div class="chat">
<div class="title">chat</div>
<div class="messages"></div>
<div class="input">
<div class="emojiSuggestion hidden"></div>
<input
type="text"
placeholder="Send a message (press / to focus)"
/>
</div>
<div class="whoIsTyping"></div>
</div>
<div class="buttons">
<div class="button startTestButton">
<i class="fas fa-chevron-right"></i>
Next test
</div>
<div class="button backToLobbyButton">
<i class="fas fa-home"></i>
Back to lobby
</div>
<div class="readyButtonGroup">
<div class="button userReadyButton">
<i class="fas fa-check"></i>
Ready
</div>
<div
class="button autoReadyButton"
data-balloon-pos="left"
aria-label="Auto ready"
>
<i class="fas fa-fw fa-magic"></i>
</div>
</div>
<div class="button userAfkButton">
<i class="fas fa-mug-hot"></i>
Take a break
</div>
<div class="button leaveRoomButton">
<i class="fas fa-door-open"></i>
Leave room
</div>
</div>
<div class="userlist">
<div class="title">users</div>
<div class="list"></div>
</div>
<div class="inviteLink">
<div class="code">
<div class="title">room code</div>
<div
class="text"
aria-label="Click to copy"
data-balloon-pos="up"
></div>
</div>
<div class="link"></div>
</div>
</div>
</div>
<div class="ssWatermark hidden">monkeytype.com</div>
</div>
<div class="full-width" style="margin-top: 1rem">
<div id="ad-result-wrapper" class="ad full-width advertisement ad-h">
<div class="iconAndText">
<div class="icon"><i class="fas fa-ad"></i></div>
<div class="text textRight"></div>
</div>
<div id="ad-result"></div>
</div>
<div id="ad-result-small-wrapper" class="ad advertisement ad-h-s">
<div class="icon small"><i class="fas fa-ad"></i></div>
<div id="ad-result-small"></div>
</div>
</div>
</div>

View file

@ -209,432 +209,5 @@
<div class="loading hidden">
<i class="fas fa-circle-notch fa-spin"></i>
</div>
<div id="result" class="content-grid full-width hidden" tabindex="-1">
<div class="wrapper">
<div id="tribeResults" class="hidden">
<div class="top invisible">timer</div>
<table>
<thead>
<tr>
<td></td>
<td>
position
<br />
<span>points</span>
</td>
<td></td>
<td>
wpm
<br />
<span>accuracy</span>
</td>
<td>
raw
<br />
<span>consistency</span>
</td>
<td>
characters
<br />
<span>other</span>
</td>
<td></td>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
<div class="stats">
<!-- <div class="info">words 10<br>punctuation</div> -->
<div class="group wpm">
<div class="top">
<div class="text">wpm</div>
<div
class="crown hidden"
aria-label=""
data-balloon-pos="up"
data-balloon-length="medium"
>
<i class="fas fa-question"></i>
<i class="fas fa-crown"></i>
<i class="fas fa-slash"></i>
<i class="fas fa-exclamation-triangle"></i>
</div>
</div>
<div class="bottom" aria-label="" data-balloon-pos="up">-</div>
</div>
<div class="group acc">
<div class="top">acc</div>
<div class="bottom" aria-label="" data-balloon-pos="up">-</div>
</div>
</div>
<div class="stats morestats">
<div class="group testType">
<div class="top">test type</div>
<div class="bottom">-</div>
<div class="tags hidden" style="margin-top: 0.5rem">
<div class="top">
<span>tags</span>
<div
class="textButton editTagsButton"
result-id=""
active-tag-ids=""
aria-label="Edit tags"
role="button"
data-balloon-pos="right"
>
<i class="fas fa-pen fa-fw"></i>
</div>
</div>
<div class="bottom">-</div>
</div>
</div>
<!-- <div class="group infoAndTags"> -->
<div class="group info">
<div class="top">other</div>
<div class="bottom">-</div>
</div>
<!-- </div> -->
<!-- <div class="subgroup"> -->
<div class="group raw">
<div class="top">raw</div>
<div class="bottom" aria-label="" data-balloon-pos="up">-</div>
</div>
<div class="group key">
<div class="top">characters</div>
<div
class="bottom"
aria-label="correct&NewLine;incorrect&NewLine;extra&NewLine;missed"
data-balloon-break=""
data-balloon-pos="up"
>
-
</div>
</div>
<!-- </div> -->
<!-- <div class="subgroup"> -->
<div class="group flat consistency">
<div class="top">consistency</div>
<div class="bottom" aria-label="" data-balloon-pos="up">2 -</div>
</div>
<div class="group time">
<div class="top">time</div>
<div class="bottom" aria-label="" data-balloon-pos="up">
<div class="text">-</div>
<div class="afk"></div>
<div class="timeToday"></div>
</div>
</div>
<!-- </div> -->
<div class="group dailyLeaderboard hidden">
<div class="top">daily leaderboard</div>
<div
id="dailyLeaderboardRank"
aria-label="Show daily leaderboard"
data-balloon-pos="up"
class="bottom"
>
-
</div>
</div>
<div class="group source hidden">
<div class="top">
<span style="margin-right: 0.5em">source</span>
<span
id="reportQuoteButton"
class="textButton hidden"
aria-label="Report quote"
data-balloon-pos="up"
style="display: inline-block"
>
<i class="icon fas fa-fw fa-flag"></i>
</span>
<span
id="favoriteQuoteButton"
class="textButton hidden"
aria-label="Favorite quote"
data-balloon-pos="up"
style="display: inline-block"
>
<i class="icon far fa-fw fa-heart"></i>
</span>
<span
id="rateQuoteButton"
class="textButton hidden"
aria-label="Rate quote"
data-balloon-pos="up"
>
<i class="icon far fa-fw fa-star"></i>
<span class="rating"></span>
</span>
</div>
<div class="bottom">-</div>
</div>
</div>
<div class="chart">
<div class="chartLegend">
<button class="text" tabindex="-1" data-id="pbLine">
<i class="fas fa-crown"></i>
<div class="text">pb</div>
</button>
<button class="text" tabindex="-1" data-id="tagPbLine">
<i class="fas fa-tag"></i>
<div class="text">tag pb</div>
</button>
<button class="text" tabindex="-1" data-id="raw">
<div class="line dashed"></div>
<div class="text">raw</div>
</button>
<button class="text" tabindex="-1" data-id="burst">
<div class="line"></div>
<div class="text">burst</div>
</button>
<button class="text" tabindex="-1" data-id="errors">
<!-- <div class="line"></div> -->
<i class="fas fa-times"></i>
<div class="text">errors</div>
</button>
</div>
<!-- <div class="title">wpm over time</div> -->
<canvas id="wpmChart"></canvas>
</div>
<div class="bottom">
<div id="resultWordsHistory" class="hidden">
<div class="title">
<span>input history</span>
<button
id="copyWordsListButton"
class="textButton"
aria-label="Copy words list"
data-balloon-pos="up"
style="display: inline-block"
tabindex="-1"
>
<i class="fas fa-fw fa-align-left"></i>
</button>
<button
id="copyMissedWordsListButton"
class="textButton"
aria-label="Copy missed words list"
data-balloon-pos="up"
tabindex="-1"
>
<i class="fas fa-fw fa-times"></i>
</button>
<button
id="toggleBurstHeatmap"
class="textButton"
aria-label="Toggle burst heatmap"
data-balloon-pos="up"
style="display: inline-block"
tabindex="-1"
>
<i class="fas fa-fw fa-fire-alt"></i>
</button>
<div class="heatmapLegend hidden">
<div class="boxes">
<div class="box box0"></div>
<div class="box box1"></div>
<div class="box box2"></div>
<div class="box box3"></div>
<div class="box box4"></div>
</div>
</div>
</div>
<div class="words"></div>
</div>
<div id="resultReplay" class="hidden">
<div class="title">
watch replay
<button
id="playpauseReplayButton"
class="textButton"
aria-label="Start replay"
data-balloon-pos="up"
style="display: inline-block"
tabindex="-1"
>
<i class="fas fa-play"></i>
</button>
<p id="replayStats">0s</p>
</div>
<div id="replayWordsWrapper">
<div id="replayWords" class="words"></div>
</div>
</div>
<button id="retrySavingResultButton" class="danger hidden">
<i class="fas fa-redo"></i>
Retry saving result
</button>
<div class="buttons">
<button
class="text hidden"
id="readyButton"
aria-label="Ready"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-check"></i>
</button>
<button
class="hidden"
id="queueAgainButton"
aria-label="Queue again"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fas fa-satellite-dish"></i>
</button>
<button
class="text"
id="nextTestButton"
aria-label="Next test"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-chevron-right"></i>
</button>
<button
class="text"
id="restartTestButtonWithSameWordset"
aria-label="Repeat test"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-sync-alt"></i>
</button>
<button
class="text"
id="practiseWordsButton"
aria-label="Practice words"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-exclamation-triangle"></i>
</button>
<button
class="text"
id="showWordHistoryButton"
aria-label="Toggle words history"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-align-left"></i>
</button>
<button
class="text"
id="watchReplayButton"
aria-label="Watch replay"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-backward"></i>
</button>
<button
class="text"
id="saveScreenshotButton"
aria-label="Copy screenshot to clipboard&#10;(shift click to download)"
role="button"
data-balloon-pos="down"
data-balloon-break
>
<i class="far fa-fw fa-image"></i>
</button>
<!-- <button
class="text"
id="watchVideoAdButton"
aria-label="Watch video ad"
role="button"
data-balloon-pos="down"
>
<i class="fas fa-fw fa-ad"></i>
</button> -->
</div>
<div class="loginTip">
<a href="/login" router-link>Sign in</a>
to save your result
</div>
<div id="tribeResultBottom" class="hidden">
<div class="chat">
<div class="title">chat</div>
<div class="messages"></div>
<div class="input">
<div class="emojiSuggestion hidden"></div>
<input
type="text"
placeholder="Send a message (press / to focus)"
/>
</div>
<div class="whoIsTyping"></div>
</div>
<div class="buttons">
<div class="button startTestButton">
<i class="fas fa-chevron-right"></i>
Next test
</div>
<div class="button backToLobbyButton">
<i class="fas fa-home"></i>
Back to lobby
</div>
<div class="readyButtonGroup">
<div class="button userReadyButton">
<i class="fas fa-check"></i>
Ready
</div>
<div
class="button autoReadyButton"
data-balloon-pos="left"
aria-label="Auto ready"
>
<i class="fas fa-fw fa-magic"></i>
</div>
</div>
<div class="button userAfkButton">
<i class="fas fa-mug-hot"></i>
Take a break
</div>
<div class="button leaveRoomButton">
<i class="fas fa-door-open"></i>
Leave room
</div>
</div>
<div class="userlist">
<div class="title">users</div>
<div class="list"></div>
</div>
<div class="inviteLink">
<div class="code">
<div class="title">room code</div>
<div
class="text"
aria-label="Click to copy"
data-balloon-pos="up"
></div>
</div>
<div class="link"></div>
</div>
</div>
</div>
<div class="ssWatermark hidden">monkeytype.com</div>
</div>
<div class="full-width" style="margin-top: 1rem">
<div id="ad-result-wrapper" class="ad full-width advertisement ad-h">
<div class="iconAndText">
<div class="icon"><i class="fas fa-ad"></i></div>
<div class="text textRight"></div>
</div>
<div id="ad-result"></div>
</div>
<div id="ad-result-small-wrapper" class="ad advertisement ad-h-s">
<div class="icon small"><i class="fas fa-ad"></i></div>
<div id="ad-result-small"></div>
</div>
</div>
</div>
<load src="./test-result.html" />
</div>