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 = 'back'; + backButton.innerHTML = 'back'; 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 = 'next'; + fwdButton.innerHTML = 'next'; 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 =