mirror of
https://github.com/anatolykopyl/variants.git
synced 2026-03-26 04:44:37 +00:00
➡️ Ввод имени по нажатию enter
* Более подробные сообщения о неверном коде подключения * CSS курсора при наведении на кнопку * Ссылка на главную
This commit is contained in:
@@ -10,13 +10,18 @@
|
||||
|
||||
let id;
|
||||
let invalidId = false;
|
||||
let invalidIdMsg = '';
|
||||
|
||||
function connect() {
|
||||
if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(id)) {
|
||||
const url=`${process.env.URL}/room/?id=${id}`;
|
||||
window.location.href = url;
|
||||
} else if (id === '' || id === undefined) {
|
||||
invalidId = true;
|
||||
invalidIdMsg = 'Введите код'
|
||||
} else {
|
||||
invalidId = true;
|
||||
invalidIdMsg = 'Неверный формат кода :('
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +70,7 @@
|
||||
<div class="inputWrap">
|
||||
Код подключения:<br>
|
||||
<input type="text" size="45" placeholder="43d0505c-d695-4323-9140-5d7744ec95e7" bind:value={id}>
|
||||
{#if invalidId}<span class="error-hint">Неверный формат кода :(</span>{/if}
|
||||
{#if invalidId}<span class="error-hint">{invalidIdMsg}</span>{/if}
|
||||
</div>
|
||||
<span style="text-align: center;">
|
||||
<input class="btn" type="button" value="Подключиться" on:click={connect}>
|
||||
|
||||
@@ -44,16 +44,18 @@
|
||||
let nameInput = [];
|
||||
let enabledInput;
|
||||
|
||||
function selectVar(selected) {
|
||||
if (!room.teams[selected]) {
|
||||
room.teams[selected] = [];
|
||||
}
|
||||
if (nameInput[selected] !== "" && nameInput[selected] !== undefined) {
|
||||
room.teams[selected][room.teams[selected].length] = nameInput[selected];
|
||||
//room.teams[selected].push(nameInput[selected]);
|
||||
var url = `${process.env.URL}/api/select/?id=${parsed.id}&name=${nameInput[selected]}&team=${selected}`;
|
||||
fetch(url);
|
||||
nameInput[selected] = "";
|
||||
function selectVar(selected, event) {
|
||||
if (!event || event && event.keyCode === 13) {
|
||||
if (!room.teams[selected]) {
|
||||
room.teams[selected] = [];
|
||||
}
|
||||
if (nameInput[selected] !== "" && nameInput[selected] !== undefined) {
|
||||
room.teams[selected][room.teams[selected].length] = nameInput[selected];
|
||||
//room.teams[selected].push(nameInput[selected]);
|
||||
var url = `${process.env.URL}/api/select/?id=${parsed.id}&name=${nameInput[selected]}&team=${selected}`;
|
||||
fetch(url);
|
||||
nameInput[selected] = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,6 +87,7 @@
|
||||
|
||||
<list>
|
||||
{#if room}
|
||||
<div class="exit"><a href={process.env.URL}>Вернуться на главную</a></div>
|
||||
<h1>{room.name}</h1>
|
||||
<p class="subtext">По {room.group == "true" ? "бригадам" : "вариантам"}</p>
|
||||
<ol>
|
||||
@@ -100,7 +103,7 @@
|
||||
{/each}
|
||||
{#if room.teams[i].length == 0 || room.group == "true"}
|
||||
<input class="addName" type="button" value="+" on:click={() => selectVar(i)}>
|
||||
<input class="nameInput" type="text" bind:value={nameInput[i]}>
|
||||
<input class="nameInput" type="text" bind:value={nameInput[i]} on:keyup={(event) => selectVar(i, event)}>
|
||||
{/if}
|
||||
</li>
|
||||
{/each}
|
||||
@@ -124,6 +127,14 @@
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.exit {
|
||||
height: 0px;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
font-size: small;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.subtext {
|
||||
font-size: x-small;
|
||||
margin-bottom: 50px;
|
||||
@@ -182,6 +193,7 @@
|
||||
text-align: center;
|
||||
margin-right: 15px;
|
||||
margin-left: 15px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.deleteName {
|
||||
|
||||
Reference in New Issue
Block a user