diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 2ff8f5b..69083d4 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -119,62 +119,65 @@ h1,h2,h3,h4,p,span,b,label{ text-align: center; } .list-enter-active, .list-leave-active { - transition: all 0.5s; + transition: all 0.5s; } .list-enter, .list-leave-to /* .list-leave-active below version 2.1.8 */ { - opacity: 0; - transform: translateY(30px); + opacity: 0; + transform: translateY(30px); } .fade-enter-active, .fade-leave-active { - transition: opacity 0.25s ease-out; + transition: opacity 0.25s ease-out; } .fade-enter, .fade-leave-to { - opacity: 0; + opacity: 0; } .bounce-enter-active, .bounce-leave-active { - animation: bounce-in .5s; + animation: bounce-in .5s; } .fade-enter, .bounce-leave-to { - animation: bounce-out .5s; + animation: bounce-out .5s; } @keyframes bounce-in { - 0% { - transform: scale(0); - } - 50% { - transform: scale(1.2); - } - 100% { - transform: scale(1); - } + 0% { + transform: scale(0); + } + 50% { + transform: scale(1.2); + } + 100% { + transform: scale(1); + } } @keyframes bounce-out { - 0% { - transform: scale(1); - } - 50% { - transform: scale(1.1); - } - 100% { - transform: scale(0); - } + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.1); + } + 100% { + transform: scale(0); + } } input, select { - border: 2px solid; - border-radius: 4px; - font-size: 1rem; - margin: 0.25rem; - min-width: 125px; - padding: 0.5rem; - transition: border-color 0.5s ease-out; + border: 2px solid; + border-radius: 4px; + font-size: 1rem; + margin: 0.25rem; + min-width: 125px; + padding: 0.5rem; + transition: border-color 0.5s ease-out; +} +input:disabled { + opacity: 0.5; } @media (prefers-color-scheme: dark) { :root, #app, input, select { - background-color: #181a1b; - color: rgb(174, 194, 211); - } + background-color: #181a1b; + color: rgb(174, 194, 211); + } } diff --git a/frontend/src/components/Lobby.vue b/frontend/src/components/Lobby.vue index ddc8ce5..72ff412 100644 --- a/frontend/src/components/Lobby.vue +++ b/frontend/src/components/Lobby.vue @@ -39,6 +39,7 @@
+

{{$t('minimum_players')}}

{{$t("expansions")}}

{{ex.name}} @@ -46,6 +47,9 @@

{{$t('mods')}}

{{$t('mod_comp')}} +

{{$t('bots')}}

+ +
@@ -146,6 +150,9 @@ export default { inviteLink() { return `${window.location.origin}/game?code=${this.lobbyName}${this.password?`&pwd=${this.password}`:''}` }, + isThereAnyBot() { + return this.players.filter(x => x.is_bot).length > 0; + }, expansionsStatus() { return this.togglable_expansions.map(x=>{ return { @@ -297,15 +304,15 @@ export default { } } @keyframes turn-animation { - 0% { - transform: scale(1); - } - 50% { - transform: scale(1.02); - } - 100% { - transform: scale(1); - } + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.02); + } + 100% { + transform: scale(1); + } } .tiny-equipment { position: absolute; diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json index f5356fd..2f893e1 100644 --- a/frontend/src/i18n/en.json +++ b/frontend/src/i18n/en.json @@ -105,6 +105,10 @@ "leggedelwest": "He must play this card on this turn if possible." }, "mods": "Modifiers", + "bots": "Bots", + "add_bot": "Add a bot", + "remove_bot": "Remove a bot", + "minimum_players": "The game needs at least 3 players to start", "mod_comp": "Competitive mode (disables automatic take damage)", "disconnect_bot": "Replace players that disconnect with bots", "your_turn": "Play your turn!", diff --git a/frontend/src/i18n/it.json b/frontend/src/i18n/it.json index dbe71cb..0d9adf4 100644 --- a/frontend/src/i18n/it.json +++ b/frontend/src/i18n/it.json @@ -105,6 +105,10 @@ "leggedelwest": "Ed è obbligato a usarla nel suo turno, se possibile" }, "mods": "Modificatori", + "bots": "Bot", + "add_bot": "Aggiungi un bot", + "remove_bot": "Rimuovi un bot", + "minimum_players": "Per iniziare la partita servono minimo 3 giocatori", "mod_comp": "Modalità competitiva (disattiva il prendi danno automatico)", "disconnect_bot": "Sostituisci i giocatori che si disconnettono con bot", "your_turn": "È il tuo turno!",