parent
d8049e89c3
commit
9fb6a22c84
@ -1,8 +0,0 @@
|
|||||||
:root {
|
|
||||||
--jet: hsla(0, 0%, 21%, 1);
|
|
||||||
--gunmetal: hsla(216, 28%, 20%, 1);
|
|
||||||
--cadet-gray: hsla(212, 8%, 58%, 1);
|
|
||||||
--nyanza: hsla(114, 100%, 93%, 1);
|
|
||||||
--rojo: hsla(357, 73%, 50%, 1);
|
|
||||||
--basewhite: #f6f6f6;
|
|
||||||
}
|
|
||||||
Binary file not shown.
@ -1,20 +1,38 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="ru">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="stylesheet" href="styles.css" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Tauri App</title>
|
<link rel="stylesheet" href="styles.css" />
|
||||||
<script type="module" src="/main.js" defer></script>
|
<title>ridein</title>
|
||||||
|
<script type="module" src="main.js" defer></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div class="screen" id="connect">
|
<main class="screen" id="connect">
|
||||||
<h1>подключение датчиков</h1>
|
<header class="screen-header">
|
||||||
<div class="device-selection" id="hr-monitor-selection"><h2>чсс</h2></div>
|
<h1 class="title">ridein</h1>
|
||||||
<div class="device-selection" id="cadence-sensor-selection"><h2>каденс</h2></div>
|
<p class="subtitle">датчики</p>
|
||||||
<div class="device-selection" id="trainer-selection"><h2>станок</h2></div>
|
</header>
|
||||||
<button>начать</button>
|
|
||||||
</div>
|
<section class="devices">
|
||||||
|
<section class="device-group">
|
||||||
|
<h2 class="device-group__title">чсс</h2>
|
||||||
|
<ul class="device-list" id="hr-list"></ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="device-group">
|
||||||
|
<h2 class="device-group__title">каденс</h2>
|
||||||
|
<ul class="device-list" id="cadence-list"></ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="device-group">
|
||||||
|
<h2 class="device-group__title">станок</h2>
|
||||||
|
<ul class="device-list" id="trainer-list"></ul>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<button class="btn btn--primary" id="start-btn">начать</button>
|
||||||
|
</main>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@ -1,7 +1,50 @@
|
|||||||
const { once } = window.__TAURI__.event;
|
const { once } = window.__TAURI__.event;
|
||||||
|
|
||||||
once("devices-loaded", (devices) => {
|
const groups = {
|
||||||
console.log("Devices are loaded", devices);
|
hr_sensors: document.querySelector("#hr-list"),
|
||||||
});
|
cad_sensors: document.querySelector("#cadence-list"),
|
||||||
|
trainers: document.querySelector("#trainer-list"),
|
||||||
|
};
|
||||||
|
|
||||||
|
function renderDevice(device) {
|
||||||
|
const li = document.createElement("li");
|
||||||
|
li.className = "device";
|
||||||
|
|
||||||
|
const name = document.createElement("span");
|
||||||
|
name.className = "device__name";
|
||||||
|
name.textContent = device.display_name || "без имени";
|
||||||
|
|
||||||
|
const rssi = document.createElement("span");
|
||||||
|
rssi.className = "device__rssi";
|
||||||
|
rssi.textContent = device.rssi != null ? `${device.rssi} dBm` : "";
|
||||||
|
|
||||||
|
const address = document.createElement("span");
|
||||||
|
address.className = "device__meta";
|
||||||
|
address.textContent = device.address;
|
||||||
|
|
||||||
console.log("hello from main.js");
|
li.append(name, rssi, address);
|
||||||
|
return li;
|
||||||
|
}
|
||||||
|
|
||||||
|
function renderGroup(list, devices) {
|
||||||
|
list.replaceChildren();
|
||||||
|
|
||||||
|
if (!devices.length) {
|
||||||
|
const empty = document.createElement("li");
|
||||||
|
empty.className = "device device--empty";
|
||||||
|
empty.textContent = "нет";
|
||||||
|
list.appendChild(empty);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const device of devices) {
|
||||||
|
list.appendChild(renderDevice(device));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
once("devices-loaded", (event) => {
|
||||||
|
const repo = event.payload;
|
||||||
|
renderGroup(groups.hr_sensors, repo.hr_sensors ?? []);
|
||||||
|
renderGroup(groups.cad_sensors, repo.cad_sensors ?? []);
|
||||||
|
renderGroup(groups.trainers, repo.trainers ?? []);
|
||||||
|
});
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="ru">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="stylesheet" href="styles.css" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Tauri App</title>
|
<link rel="stylesheet" href="styles.css" />
|
||||||
<script type="module" src="/init.js" defer></script>
|
<title>ridein</title>
|
||||||
|
<script type="module" src="init.js" defer></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="screen splashscreen">
|
<body class="screen splashscreen">
|
||||||
<h1>поиск перефирии</h1>
|
<p class="splash-label">поиск датчиков</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Loading…
Reference in new issue