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>
|
||||
<html lang="en">
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Tauri App</title>
|
||||
<script type="module" src="/main.js" defer></script>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
<title>ridein</title>
|
||||
<script type="module" src="main.js" defer></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="screen" id="connect">
|
||||
<h1>подключение датчиков</h1>
|
||||
<div class="device-selection" id="hr-monitor-selection"><h2>чсс</h2></div>
|
||||
<div class="device-selection" id="cadence-sensor-selection"><h2>каденс</h2></div>
|
||||
<div class="device-selection" id="trainer-selection"><h2>станок</h2></div>
|
||||
<button>начать</button>
|
||||
</div>
|
||||
<main class="screen" id="connect">
|
||||
<header class="screen-header">
|
||||
<h1 class="title">ridein</h1>
|
||||
<p class="subtitle">датчики</p>
|
||||
</header>
|
||||
|
||||
<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>
|
||||
</html>
|
||||
|
||||
@ -1,7 +1,50 @@
|
||||
const { once } = window.__TAURI__.event;
|
||||
|
||||
once("devices-loaded", (devices) => {
|
||||
console.log("Devices are loaded", devices);
|
||||
});
|
||||
const groups = {
|
||||
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>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Tauri App</title>
|
||||
<script type="module" src="/init.js" defer></script>
|
||||
</head>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
<title>ridein</title>
|
||||
<script type="module" src="init.js" defer></script>
|
||||
</head>
|
||||
|
||||
<body class="screen splashscreen">
|
||||
<h1>поиск перефирии</h1>
|
||||
</body>
|
||||
<body class="screen splashscreen">
|
||||
<p class="splash-label">поиск датчиков</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Loading…
Reference in new issue