diff --git a/client/src/images/framed-phone-screenshot-2_resized.webp b/client/src/images/framed-phone-screenshot-2_resized.webp
new file mode 100644
index 0000000..9558a5a
Binary files /dev/null and b/client/src/images/framed-phone-screenshot-2_resized.webp differ
diff --git a/client/src/images/framed-phone-screenshot_resized.webp b/client/src/images/framed-phone-screenshot_resized.webp
new file mode 100644
index 0000000..6fa0a33
Binary files /dev/null and b/client/src/images/framed-phone-screenshot_resized.webp differ
diff --git a/client/src/modules/game_creation/GameCreationStepManager.js b/client/src/modules/game_creation/GameCreationStepManager.js
index 7dfb6b9..4d0b097 100644
--- a/client/src/modules/game_creation/GameCreationStepManager.js
+++ b/client/src/modules/game_creation/GameCreationStepManager.js
@@ -500,7 +500,7 @@ function showButtons (back, forward, forwardHandler, backHandler, builtGame = nu
document.querySelector('#create-game')?.remove();
if (back) {
const backButton = document.createElement('button');
- backButton.innerHTML = '';
+ backButton.innerHTML = '
';
backButton.addEventListener('click', backHandler);
backButton.setAttribute('id', 'step-back-button');
backButton.classList.add('app-button');
@@ -509,7 +509,7 @@ function showButtons (back, forward, forwardHandler, backHandler, builtGame = nu
if (forward && builtGame === null) {
const fwdButton = document.createElement('button');
- fwdButton.innerHTML = '
';
+ fwdButton.innerHTML = '
';
fwdButton.addEventListener('click', forwardHandler);
fwdButton.setAttribute('id', 'step-forward-button');
fwdButton.classList.add('app-button');
diff --git a/client/src/scripts/home.js b/client/src/scripts/home.js
index 3839f23..266855a 100644
--- a/client/src/scripts/home.js
+++ b/client/src/scripts/home.js
@@ -46,9 +46,7 @@ function attemptToJoinGame (event) {
} else {
res.json().then(json => {
window.location = window.location.protocol + '//' + window.location.host +
- '/join/' + encodeURIComponent(json.accessCode) +
- '?playerCount=' + encodeURIComponent(json.playerCount) +
- '&timer=' + encodeURIComponent(getTimeString(json.timerParams));
+ '/join/' + encodeURIComponent(json.accessCode);
});
}
}).catch(() => {
@@ -62,29 +60,6 @@ function attemptToJoinGame (event) {
}
}
-function getTimeString (timerParams) {
- let timeString = '';
- if (timerParams) {
- const hours = timerParams.hours;
- const minutes = timerParams.minutes;
- if (hours) {
- timeString += hours > 1
- ? hours + ' hours '
- : hours + ' hour ';
- }
- if (minutes) {
- timeString += minutes > 1
- ? minutes + ' minutes '
- : minutes + ' minute ';
- }
-
- return timeString;
- } else {
- timeString = 'untimed';
- return timeString;
- }
-}
-
if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
module.exports = home;
} else {
diff --git a/client/src/styles/GLOBAL.css b/client/src/styles/GLOBAL.css
index 2441968..7e363e6 100644
--- a/client/src/styles/GLOBAL.css
+++ b/client/src/styles/GLOBAL.css
@@ -15,6 +15,7 @@ th, thead, tr, tt, u, ul, var {
@font-face {
font-family: 'signika-negative';
src: url("../webfonts/SignikaNegative-Light.woff2") format("woff2");
+ font-display: swap;
}
html {
@@ -68,131 +69,12 @@ textarea {
resize: none;
}
-.toast-top {
- top: 2rem;
-}
-
-.toast-bottom {
- bottom: 140px;
-}
-
-.toast-success {
- background-color: #bef5cb;
- border: 3px solid #8ac78a;
-}
-
-.toast-warning {
- background-color: #fff5b1;
- border: 3px solid #c7c28a;
-}
-
-.toast-error {
- background-color: #f98e9a;
- border: 3px solid #c57272;
-}
-
-.toast-neutral {
- background-color: #e9e9e9;
- border: 3px solid #b7b7b7;
-}
-
-.toast-dispel-automatically {
- animation: fade-in-slide-down-then-exit ease normal forwards;
-}
-
-.toast-not-dispelled-automatically {
- animation: fade-in-slide-down ease normal forwards;
-}
-
-.toast-short {
- animation-duration: 3s;
-}
-
-.toast-medium {
- animation-duration: 5s;
-}
-
-.toast-long {
- animation-duration: 8s;
-}
-
-.toast-plus-one {
- color: #1c8a36;
- font-weight: bold;
- font-size: 20px;
- margin-right: 5px;
-}
-
-.toast-minus-one {
- font-size: 20px;
- margin-right: 5px;
- color: #e73333;
- font-weight: bold;
-}
-
-.toast-plus-role-quantity {
- color: #1c8a36;
- font-weight: bold;
- margin-left: 10px;
-}
-
-.toast-minus-role-quantity {
- color: #e73333;
- font-weight: bold;
- margin-left: 10px;
-}
-
-#footer {
- bottom: 0;
- width: 100%;
- text-align: center;
- align-items: center;
- display: flex;
- justify-content: center;
- flex-wrap: wrap;
- color: #d7d7d7;
- font-size: 14px;
- margin-top: 4em;
- margin-bottom: 0.5em;
-}
-#footer a:not([href='https://www.buymeacoffee.com/alecm33']) img {
- width: 32px;
-}
-
-#footer a[href='https://www.buymeacoffee.com/alecm33'] img {
- width: 200px;
-}
-
-#footer a {
- color: #f7f7f7;
- text-decoration: none;
- cursor: pointer;
- font-family: 'signika-negative', sans-serif;
- margin: 0 0.25em;
-}
-
-#footer a:hover {
- color: gray;
-}
-
-#footer div {
- display: flex;
-}
-
.teaser {
text-align:center;
color:gray;
margin-bottom:3em;
}
-#footer > div, #footer > a {
- margin: 0.5em;
-}
-
-#footer div:nth-child(2) > a, #footer div:nth-child(2) > p {
- margin: 0 5px;
-}
-
label {
color: #d7d7d7;
font-family: 'signika-negative', sans-serif;
diff --git a/client/src/styles/toast.css b/client/src/styles/toast.css
new file mode 100644
index 0000000..21c1fba
--- /dev/null
+++ b/client/src/styles/toast.css
@@ -0,0 +1,111 @@
+.toast-top {
+ top: 2rem;
+}
+
+.toast-bottom {
+ bottom: 140px;
+}
+
+.toast-success {
+ background-color: #bef5cb;
+ border: 3px solid #8ac78a;
+}
+
+.toast-warning {
+ background-color: #fff5b1;
+ border: 3px solid #c7c28a;
+}
+
+.toast-error {
+ background-color: #f98e9a;
+ border: 3px solid #c57272;
+}
+
+.toast-neutral {
+ background-color: #e9e9e9;
+ border: 3px solid #b7b7b7;
+}
+
+.toast-dispel-automatically {
+ animation: fade-in-slide-down-then-exit ease normal forwards;
+}
+
+.toast-not-dispelled-automatically {
+ animation: fade-in-slide-down ease normal forwards;
+}
+
+.toast-short {
+ animation-duration: 3s;
+}
+
+.toast-medium {
+ animation-duration: 5s;
+}
+
+.toast-long {
+ animation-duration: 8s;
+}
+
+.toast-plus-one {
+ color: #1c8a36;
+ font-weight: bold;
+ font-size: 20px;
+ margin-right: 5px;
+}
+
+.toast-minus-one {
+ font-size: 20px;
+ margin-right: 5px;
+ color: #e73333;
+ font-weight: bold;
+}
+
+.toast-plus-role-quantity {
+ color: #1c8a36;
+ font-weight: bold;
+ margin-left: 10px;
+}
+
+.toast-minus-role-quantity {
+ color: #e73333;
+ font-weight: bold;
+ margin-left: 10px;
+}
+
+@keyframes fade-in-slide-down-then-exit {
+ 0% {
+ opacity: 0;
+ transform: translateY(-20px);
+ }
+ 5% {
+ opacity: 1;
+ transform: translateY(0px);
+ }
+ 95% {
+ opacity: 1;
+ transform: translateY(0px);
+ }
+ 100% {
+ opacity: 0;
+ transform: translateY(-20px);
+ }
+}
+
+@keyframes fade-in-slide-down {
+ 0% {
+ opacity: 0;
+ transform: translateY(-20px);
+ }
+ 5% {
+ opacity: 1;
+ transform: translateY(0px);
+ }
+ 95% {
+ opacity: 1;
+ transform: translateY(0px);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0px);
+ }
+}
diff --git a/client/src/view_templates/CreateTemplate.js b/client/src/view_templates/CreateTemplate.js
index f7473a3..c7d1053 100644
--- a/client/src/view_templates/CreateTemplate.js
+++ b/client/src/view_templates/CreateTemplate.js
@@ -36,9 +36,9 @@ export const hiddenMenus =