mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
cleanup
This commit is contained in:
parent
0a0e89a1bc
commit
c39af02e97
5 changed files with 2 additions and 1410 deletions
45
gui/main.js
45
gui/main.js
|
@ -212,21 +212,6 @@ function createWindow() {
|
||||||
})
|
})
|
||||||
*/
|
*/
|
||||||
win.loadFile("src/index.html");
|
win.loadFile("src/index.html");
|
||||||
/*
|
|
||||||
chat = new BrowserWindow({
|
|
||||||
height: 600,
|
|
||||||
width: 1000,
|
|
||||||
show: false,
|
|
||||||
//parent: win,
|
|
||||||
webPreferences: {
|
|
||||||
preload: require.resolve("./preload-chat.js"),
|
|
||||||
nodeIntegration: true,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
chat.loadFile("src/chat-module.html");
|
|
||||||
chat.setMenuBarVisibility(false);
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
logViewer = new BrowserWindow({
|
logViewer = new BrowserWindow({
|
||||||
|
@ -299,15 +284,7 @@ function createWindow() {
|
||||||
//autoUpdater.quitAndInstall();
|
//autoUpdater.quitAndInstall();
|
||||||
});
|
});
|
||||||
|
|
||||||
//chat.on("closed", function () {});
|
|
||||||
|
|
||||||
// https://stackoverflow.com/questions/44258831/only-hide-the-window-when-closing-it-electron
|
|
||||||
/*
|
|
||||||
chat.on("close", function (evt) {
|
|
||||||
evt.preventDefault();
|
|
||||||
chat.hide();
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
app.whenReady().then(() => {
|
app.whenReady().then(() => {
|
||||||
|
@ -403,8 +380,7 @@ app.on("window-all-closed", () => {
|
||||||
ipcMain.on("set-config-global", (event, data) => {
|
ipcMain.on("set-config-global", (event, data) => {
|
||||||
config = data;
|
config = data;
|
||||||
win.webContents.send("update-config", config);
|
win.webContents.send("update-config", config);
|
||||||
//chat.webContents.send("update-config", config);
|
|
||||||
//console.log("set-config-global called");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
//Show/update task bar/button progressbar
|
//Show/update task bar/button progressbar
|
||||||
|
@ -412,14 +388,6 @@ ipcMain.on("request-show-electron-progressbar", (event, data) => {
|
||||||
win.setProgressBar(data / 100);
|
win.setProgressBar(data / 100);
|
||||||
});
|
});
|
||||||
|
|
||||||
ipcMain.on("request-show-chat-window", () => {
|
|
||||||
//chat.show();
|
|
||||||
});
|
|
||||||
|
|
||||||
ipcMain.on("request-clear-chat-connected", () => {
|
|
||||||
//Clear chat window's connected with text
|
|
||||||
//chat.webContents.send("action-clear-reception-status");
|
|
||||||
});
|
|
||||||
|
|
||||||
ipcMain.on("request-update-dbclean-spinner", () => {
|
ipcMain.on("request-update-dbclean-spinner", () => {
|
||||||
//Turn off dbclean spinner
|
//Turn off dbclean spinner
|
||||||
|
@ -514,13 +482,6 @@ ipcMain.on("request-clean-db", () => {
|
||||||
win.webContents.send("action-clean-db");
|
win.webContents.send("action-clean-db");
|
||||||
});
|
});
|
||||||
|
|
||||||
ipcMain.on("request-open-tnc-log", () => {
|
|
||||||
logViewer.show();
|
|
||||||
});
|
|
||||||
|
|
||||||
ipcMain.on("request-open-mesh-module", () => {
|
|
||||||
meshViewer.show();
|
|
||||||
});
|
|
||||||
|
|
||||||
//file selector
|
//file selector
|
||||||
ipcMain.on("get-file-path", (event, data) => {
|
ipcMain.on("get-file-path", (event, data) => {
|
||||||
|
@ -944,9 +905,7 @@ function close_all() {
|
||||||
mainLog.warn("quitting app");
|
mainLog.warn("quitting app");
|
||||||
|
|
||||||
win.destroy();
|
win.destroy();
|
||||||
//chat.destroy();
|
|
||||||
logViewer.destroy();
|
|
||||||
meshViewer.destroy();
|
|
||||||
|
|
||||||
app.quit();
|
app.quit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,843 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<html lang="en" data-bs-theme="light">
|
|
||||||
<head>
|
|
||||||
<!-- Required meta tags -->
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<meta http-equiv="Content-Security-Policy" content="script-src 'self';" />
|
|
||||||
<!-- Bootstrap CSS -->
|
|
||||||
<link
|
|
||||||
rel="stylesheet"
|
|
||||||
id="bootstrap_theme"
|
|
||||||
href="../node_modules/bootstrap/dist/css/bootstrap.min.css"
|
|
||||||
/>
|
|
||||||
<link
|
|
||||||
rel="stylesheet"
|
|
||||||
href="../node_modules/bootstrap-icons/font/bootstrap-icons.css"
|
|
||||||
/>
|
|
||||||
<!-- Custom CSS -->
|
|
||||||
<link rel="stylesheet" type="text/css" href="styles.css" />
|
|
||||||
<title>FreeDATA - CHAT</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<!-- bootstrap -->
|
|
||||||
<script src="../node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
|
||||||
<!-- chart.js -->
|
|
||||||
<script src="../node_modules/chart.js/dist/chart.umd.js"></script>
|
|
||||||
<!--<script src="../node_modules/chartjs-plugin-annotation/dist/chartjs-plugin-annotation.min.js"></script>-->
|
|
||||||
<!--<script type="module" src="../node_modules/emoji-picker-element/index.js"></script>-->
|
|
||||||
<script
|
|
||||||
type="module"
|
|
||||||
src="../node_modules/emoji-picker-element/picker.js"
|
|
||||||
></script>
|
|
||||||
<script
|
|
||||||
type="module"
|
|
||||||
src="../node_modules/emoji-picker-element/database.js"
|
|
||||||
></script>
|
|
||||||
<div
|
|
||||||
class="position-absolute container w-100 h-100 bottom-0 end-0 mb-5"
|
|
||||||
style="z-index: 100; display: none"
|
|
||||||
id="emojipickercontainer"
|
|
||||||
>
|
|
||||||
<emoji-picker
|
|
||||||
locale="en"
|
|
||||||
class="position-absolute bottom-0 end-0 p-1 mb-2"
|
|
||||||
data-source="../node_modules/emoji-picker-element-data/en/emojibase/data.json"
|
|
||||||
></emoji-picker>
|
|
||||||
</div>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="row h-100">
|
|
||||||
<div class="col-4 p-2">
|
|
||||||
<! ------Chats area ---------------------------------------------------------------------->
|
|
||||||
<div class="container-fluid m-0 p-0">
|
|
||||||
<div class="input-group bottom-0 m-0 w-100">
|
|
||||||
<input
|
|
||||||
class="form-control w-50"
|
|
||||||
maxlength="9"
|
|
||||||
style="text-transform: uppercase"
|
|
||||||
id="chatModuleNewDxCall"
|
|
||||||
placeholder="DX CALL"
|
|
||||||
/>
|
|
||||||
<button
|
|
||||||
class="btn btn-sm btn-success"
|
|
||||||
id="createNewChatButton"
|
|
||||||
type="button"
|
|
||||||
title="Start a new chat (enter dx call sign first)"
|
|
||||||
>
|
|
||||||
<i class="bi bi-pencil-square" style="font-size: 1.2rem"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
id="userModalButton"
|
|
||||||
data-bs-toggle="modal"
|
|
||||||
data-bs-target="#userModal"
|
|
||||||
class="btn btn-sm btn-primary ms-2"
|
|
||||||
title="My station info"
|
|
||||||
>
|
|
||||||
<i class="bi bi-person" style="font-size: 1.2rem"></i>
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
id="sharedFolderButton"
|
|
||||||
data-bs-toggle="modal"
|
|
||||||
data-bs-target="#sharedFolderModal"
|
|
||||||
class="btn btn-sm btn-primary"
|
|
||||||
title="My shared folder"
|
|
||||||
>
|
|
||||||
<i class="bi bi-files" style="font-size: 1.2rem"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr class="m-2" />
|
|
||||||
<div class="overflow-auto vh-100">
|
|
||||||
<div
|
|
||||||
class="list-group overflow-auto"
|
|
||||||
id="list-tab"
|
|
||||||
role="tablist"
|
|
||||||
style="height: calc(100vh - 70px)"
|
|
||||||
></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-8 border vh-100 p-0">
|
|
||||||
<! ------ chat navbar ---------------------------------------------------------------------->
|
|
||||||
<div class="container-fluid m-2 p-0">
|
|
||||||
<div class="input-group bottom-0">
|
|
||||||
<button
|
|
||||||
class="btn btn-sm btn-outline-secondary me"
|
|
||||||
id="ping"
|
|
||||||
type="button"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
data-bs-trigger="hover"
|
|
||||||
data-bs-html="false"
|
|
||||||
title="Ping remote station"
|
|
||||||
>
|
|
||||||
Ping
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
id="userModalDXButton"
|
|
||||||
data-bs-toggle="modal"
|
|
||||||
data-bs-target="#userModalDX"
|
|
||||||
class="btn btn-sm btn-outline-secondary"
|
|
||||||
title="Request remote station's information"
|
|
||||||
>
|
|
||||||
<i class="bi bi-person" style="font-size: 1.2rem"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
id="sharedFolderDXButton"
|
|
||||||
data-bs-toggle="modal"
|
|
||||||
data-bs-target="#sharedFolderModalDX"
|
|
||||||
class="btn btn-sm btn-outline-secondary me-2"
|
|
||||||
title="Request remote station's shared files"
|
|
||||||
>
|
|
||||||
<i class="bi bi-files" style="font-size: 1.2rem"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn btn-small btn-outline-primary dropdown-toggle me-2"
|
|
||||||
data-bs-toggle="dropdown"
|
|
||||||
aria-expanded="false"
|
|
||||||
data-bs-auto-close="outside"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
data-bs-trigger="hover"
|
|
||||||
data-bs-html="false"
|
|
||||||
title="Message filter"
|
|
||||||
>
|
|
||||||
<i class="bi bi-funnel-fill"></i>
|
|
||||||
</button>
|
|
||||||
<form class="dropdown-menu p-4" id="frmFilter">
|
|
||||||
<div class="mb-1">
|
|
||||||
<div class="form-check">
|
|
||||||
<input
|
|
||||||
checked="true"
|
|
||||||
type="checkbox"
|
|
||||||
class="form-check-input"
|
|
||||||
id="chkMessage"
|
|
||||||
/>
|
|
||||||
<label class="form-check-label" for="chkMessage">
|
|
||||||
All Messages
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-1">
|
|
||||||
<div class="form-check">
|
|
||||||
<input
|
|
||||||
checked="false"
|
|
||||||
type="checkbox"
|
|
||||||
class="form-check-input"
|
|
||||||
id="chkNewMessage"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<label class="form-check-label" for="chkNewMessage">
|
|
||||||
Unread Messages
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-1">
|
|
||||||
<div class="form-check">
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
class="form-check-input"
|
|
||||||
id="chkPing"
|
|
||||||
/>
|
|
||||||
<label class="form-check-label" for="chkPing">
|
|
||||||
Pings
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-1">
|
|
||||||
<div class="form-check">
|
|
||||||
<input
|
|
||||||
checked="true"
|
|
||||||
type="checkbox"
|
|
||||||
class="form-check-input"
|
|
||||||
id="chkPingAck"
|
|
||||||
/>
|
|
||||||
<label class="form-check-label" for="chkPingAck">
|
|
||||||
Ping-Acks
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-1">
|
|
||||||
<div class="form-check">
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
class="form-check-input"
|
|
||||||
id="chkBeacon"
|
|
||||||
/>
|
|
||||||
<label class="form-check-label" for="chkBeacon">
|
|
||||||
Beacons
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-1">
|
|
||||||
<div class="form-check">
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
class="form-check-input"
|
|
||||||
id="chkRequest"
|
|
||||||
/>
|
|
||||||
<label class="form-check-label" for="chkRequest">
|
|
||||||
Requests
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-1">
|
|
||||||
<div class="form-check">
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
class="form-check-input"
|
|
||||||
id="chkResponse"
|
|
||||||
/>
|
|
||||||
<label class="form-check-label" for="chkResponse">
|
|
||||||
Responses
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<button type="button" class="btn btn-primary" id="btnFilter">
|
|
||||||
Refresh
|
|
||||||
</button>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<button
|
|
||||||
id="chatSettingsDropDown"
|
|
||||||
type="button"
|
|
||||||
class="btn btn-outline-secondary dropdown-toggle"
|
|
||||||
data-bs-toggle="dropdown"
|
|
||||||
aria-expanded="false"
|
|
||||||
title="More options...."
|
|
||||||
>
|
|
||||||
<i class="bi bi-three-dots-vertical"></i>
|
|
||||||
</button>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="chatSettingsDropDown">
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
class="dropdown-item bg-danger text-white"
|
|
||||||
id="delete_selected_chat"
|
|
||||||
href="#"
|
|
||||||
><i class="bi bi-person-x" style="font-size: 1rem"></i>
|
|
||||||
Delete chat</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<div class="dropdown-divider"></div>
|
|
||||||
<li>
|
|
||||||
<button
|
|
||||||
class="dropdown-item"
|
|
||||||
id="openHelpModalchat"
|
|
||||||
data-bs-toggle="modal"
|
|
||||||
data-bs-target="#chatHelpModal"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
class="bi bi-question-circle"
|
|
||||||
style="font-size: 1rem"
|
|
||||||
></i>
|
|
||||||
Help
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<span
|
|
||||||
class="input-group-text ms-2"
|
|
||||||
id="txtConnectedWithChat"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
data-bs-trigger="hover"
|
|
||||||
title="Connected with"
|
|
||||||
>------</span
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<hr class="m-0" />
|
|
||||||
<! ------messages area ---------------------------------------------------------------------->
|
|
||||||
<div
|
|
||||||
class="container overflow-auto"
|
|
||||||
id="message-container"
|
|
||||||
style="height: calc(100% - 150px)"
|
|
||||||
>
|
|
||||||
<div class="tab-content" id="nav-tabContent"></div>
|
|
||||||
<!--<div class="container position-absolute bottom-0">-->
|
|
||||||
</div>
|
|
||||||
<!-- </div>-->
|
|
||||||
<div class="container-fluid mt-2 p-0">
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
id="expand_textarea"
|
|
||||||
class="btn-check"
|
|
||||||
autocomplete="off"
|
|
||||||
/>
|
|
||||||
<label
|
|
||||||
class="btn d-flex justify-content-center"
|
|
||||||
id="expand_textarea_label"
|
|
||||||
for="expand_textarea"
|
|
||||||
><i
|
|
||||||
id="expand_textarea_button"
|
|
||||||
class="bi bi-chevron-compact-up"
|
|
||||||
></i
|
|
||||||
></label>
|
|
||||||
|
|
||||||
<div class="input-group bottom-0 ms-2">
|
|
||||||
<!--<input class="form-control" maxlength="8" style="max-width: 6rem; text-transform:uppercase; display:none" id="chatModuleDxCall" placeholder="DX CALL"></input>-->
|
|
||||||
<!--<button class="btn btn-sm btn-primary me-2" id="emojipickerbutton" type="button">-->
|
|
||||||
<div class="input-group-text">
|
|
||||||
<i
|
|
||||||
id="emojipickerbutton"
|
|
||||||
class="bi bi-emoji-smile p-0"
|
|
||||||
style="font-size: 1rem"
|
|
||||||
></i>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<textarea
|
|
||||||
class="form-control"
|
|
||||||
rows="1"
|
|
||||||
id="chatModuleMessage"
|
|
||||||
placeholder="Message - Send with [Enter]"
|
|
||||||
></textarea>
|
|
||||||
|
|
||||||
<div class="input-group-text me-3">
|
|
||||||
<i
|
|
||||||
class="bi bi-paperclip"
|
|
||||||
style="font-size: 1rem"
|
|
||||||
id="selectFilesButton"
|
|
||||||
></i>
|
|
||||||
|
|
||||||
<button
|
|
||||||
class="btn btn-sm btn-secondary d-none invisible"
|
|
||||||
id="sendMessage"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
<i class="bi bi-send" style="font-size: 1.2rem"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- user modal -->
|
|
||||||
|
|
||||||
<div
|
|
||||||
class="modal fade"
|
|
||||||
id="userModal"
|
|
||||||
tabindex="-1"
|
|
||||||
aria-labelledby="userModalLabel"
|
|
||||||
aria-hidden="true"
|
|
||||||
>
|
|
||||||
<div class="modal-dialog" style="max-width: 600px">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="card mb-1 border-0">
|
|
||||||
<div class="row g-0">
|
|
||||||
<div class="col-md-4">
|
|
||||||
<div class="row position-relative p-0 m-0">
|
|
||||||
<div class="col p-0 m-0">
|
|
||||||
<img
|
|
||||||
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktcGVyc29uLWJvdW5kaW5nLWJveCIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBkPSJNMS41IDFhLjUuNSAwIDAgMC0uNS41djNhLjUuNSAwIDAgMS0xIDB2LTNBMS41IDEuNSAwIDAgMSAxLjUgMGgzYS41LjUgMCAwIDEgMCAxaC0zek0xMSAuNWEuNS41IDAgMCAxIC41LS41aDNBMS41IDEuNSAwIDAgMSAxNiAxLjV2M2EuNS41IDAgMCAxLTEgMHYtM2EuNS41IDAgMCAwLS41LS41aC0zYS41LjUgMCAwIDEtLjUtLjV6TS41IDExYS41LjUgMCAwIDEgLjUuNXYzYS41LjUgMCAwIDAgLjUuNWgzYS41LjUgMCAwIDEgMCAxaC0zQTEuNSAxLjUgMCAwIDEgMCAxNC41di0zYS41LjUgMCAwIDEgLjUtLjV6bTE1IDBhLjUuNSAwIDAgMSAuNS41djNhMS41IDEuNSAwIDAgMS0xLjUgMS41aC0zYS41LjUgMCAwIDEgMC0xaDNhLjUuNSAwIDAgMCAuNS0uNXYtM2EuNS41IDAgMCAxIC41LS41eiIvPgogIDxwYXRoIGQ9Ik0zIDE0cy0xIDAtMS0xIDEtNCA2LTQgNiAzIDYgNC0xIDEtMSAxSDN6bTgtOWEzIDMgMCAxIDEtNiAwIDMgMyAwIDAgMSA2IDB6Ii8+Cjwvc3ZnPg=="
|
|
||||||
class="img-fluid rounded-start w-100"
|
|
||||||
alt="..."
|
|
||||||
id="user_info_image"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="col position-absolute image-overlay text-white justify-content-center align-items-center d-flex align-middle h-100 opacity-0"
|
|
||||||
id="userImageSelector"
|
|
||||||
>
|
|
||||||
<i class="bi bi-upload" style="font-size: 2.2rem"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-8">
|
|
||||||
<div class="card-body">
|
|
||||||
<div class="input-group input-group-sm mb-1">
|
|
||||||
<span class="input-group-text"
|
|
||||||
><i class="bi bi-pass"></i
|
|
||||||
></span>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="Callsign"
|
|
||||||
id="user_info_callsign"
|
|
||||||
aria-label="Call"
|
|
||||||
aria-describedby="basic-addon1"
|
|
||||||
/>
|
|
||||||
<span class="input-group-text"
|
|
||||||
><i class="bi bi-person-vcard"></i
|
|
||||||
></span>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="name"
|
|
||||||
id="user_info_name"
|
|
||||||
aria-label="Name"
|
|
||||||
aria-describedby="basic-addon1"
|
|
||||||
/>
|
|
||||||
<span class="input-group-text"
|
|
||||||
><i class="bi bi-sunrise"></i
|
|
||||||
></span>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="age"
|
|
||||||
id="user_info_age"
|
|
||||||
aria-label="age"
|
|
||||||
aria-describedby="basic-addon1"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="input-group input-group-sm mb-1">
|
|
||||||
<span class="input-group-text"
|
|
||||||
><i class="bi bi-house"></i
|
|
||||||
></span>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="Location"
|
|
||||||
id="user_info_location"
|
|
||||||
aria-label="Name"
|
|
||||||
aria-describedby="basic-addon1"
|
|
||||||
/>
|
|
||||||
<span class="input-group-text"
|
|
||||||
><i class="bi bi-pin-map"></i
|
|
||||||
></span>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="Grid"
|
|
||||||
id="user_info_gridsquare"
|
|
||||||
aria-label="Name"
|
|
||||||
aria-describedby="basic-addon1"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="input-group input-group-sm mb-1">
|
|
||||||
<span class="input-group-text"
|
|
||||||
><i class="bi bi-projector"></i
|
|
||||||
></span>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="Radio"
|
|
||||||
id="user_info_radio"
|
|
||||||
aria-label="Name"
|
|
||||||
aria-describedby="basic-addon1"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<span class="input-group-text"
|
|
||||||
><i class="bi bi-broadcast-pin"></i
|
|
||||||
></span>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="Antenna"
|
|
||||||
id="user_info_antenna"
|
|
||||||
aria-label="Name"
|
|
||||||
aria-describedby="basic-addon1"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="input-group input-group-sm mb-1">
|
|
||||||
<span class="input-group-text"
|
|
||||||
><i class="bi bi-envelope"></i
|
|
||||||
></span>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="Email"
|
|
||||||
id="user_info_email"
|
|
||||||
aria-label="Name"
|
|
||||||
aria-describedby="basic-addon1"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<span class="input-group-text"
|
|
||||||
><i class="bi bi-globe"></i
|
|
||||||
></span>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="Website"
|
|
||||||
id="user_info_website"
|
|
||||||
aria-label="Name"
|
|
||||||
aria-describedby="basic-addon1"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="input-group input-group-sm mb-1">
|
|
||||||
<span class="input-group-text"
|
|
||||||
><i class="bi bi-info-circle"></i
|
|
||||||
></span>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="Comments"
|
|
||||||
id="user_info_comments"
|
|
||||||
aria-label="Comments"
|
|
||||||
aria-describedby="basic-addon1"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn btn-primary"
|
|
||||||
data-bs-dismiss="modal"
|
|
||||||
aria-label="Close"
|
|
||||||
id="userInfoSave"
|
|
||||||
>
|
|
||||||
Save & Close
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- dx user modal -->
|
|
||||||
<div
|
|
||||||
class="modal fade"
|
|
||||||
id="userModalDX"
|
|
||||||
tabindex="-1"
|
|
||||||
aria-labelledby="userModalDXLabel"
|
|
||||||
aria-hidden="true"
|
|
||||||
>
|
|
||||||
<div class="modal-dialog" style="max-width: 600px">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="card mb-1 border-0">
|
|
||||||
<div class="row g-0">
|
|
||||||
<div class="col-md-4">
|
|
||||||
<img
|
|
||||||
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktcGVyc29uLWJvdW5kaW5nLWJveCIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBkPSJNMS41IDFhLjUuNSAwIDAgMC0uNS41djNhLjUuNSAwIDAgMS0xIDB2LTNBMS41IDEuNSAwIDAgMSAxLjUgMGgzYS41LjUgMCAwIDEgMCAxaC0zek0xMSAuNWEuNS41IDAgMCAxIC41LS41aDNBMS41IDEuNSAwIDAgMSAxNiAxLjV2M2EuNS41IDAgMCAxLTEgMHYtM2EuNS41IDAgMCAwLS41LS41aC0zYS41LjUgMCAwIDEtLjUtLjV6TS41IDExYS41LjUgMCAwIDEgLjUuNXYzYS41LjUgMCAwIDAgLjUuNWgzYS41LjUgMCAwIDEgMCAxaC0zQTEuNSAxLjUgMCAwIDEgMCAxNC41di0zYS41LjUgMCAwIDEgLjUtLjV6bTE1IDBhLjUuNSAwIDAgMSAuNS41djNhMS41IDEuNSAwIDAgMS0xLjUgMS41aC0zYS41LjUgMCAwIDEgMC0xaDNhLjUuNSAwIDAgMCAuNS0uNXYtM2EuNS41IDAgMCAxIC41LS41eiIvPgogIDxwYXRoIGQ9Ik0zIDE0cy0xIDAtMS0xIDEtNCA2LTQgNiAzIDYgNC0xIDEtMSAxSDN6bTgtOWEzIDMgMCAxIDEtNiAwIDMgMyAwIDAgMSA2IDB6Ii8+Cjwvc3ZnPg=="
|
|
||||||
class="img-fluid rounded-start w-100"
|
|
||||||
alt="..."
|
|
||||||
id="dx_user_info_image"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-8">
|
|
||||||
<div class="card-body">
|
|
||||||
<h5>
|
|
||||||
<span
|
|
||||||
class="badge bg-secondary"
|
|
||||||
id="dx_user_info_callsign"
|
|
||||||
></span>
|
|
||||||
-
|
|
||||||
<span
|
|
||||||
class="badge bg-secondary"
|
|
||||||
id="dx_user_info_name"
|
|
||||||
></span>
|
|
||||||
<span
|
|
||||||
class="badge bg-secondary"
|
|
||||||
id="dx_user_info_age"
|
|
||||||
></span>
|
|
||||||
</h5>
|
|
||||||
|
|
||||||
<ul class="card-text list-unstyled">
|
|
||||||
<li>
|
|
||||||
<strong class="col"><i class="bi bi-house"></i> </strong
|
|
||||||
><span id="dx_user_info_location"></span> (<span
|
|
||||||
id="dx_user_info_gridsquare"
|
|
||||||
></span
|
|
||||||
>)
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<strong class="col"
|
|
||||||
><i class="bi bi-envelope"></i> </strong
|
|
||||||
><span id="dx_user_info_email"></span>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<strong class="col"><i class="bi bi-globe"></i> </strong
|
|
||||||
><span id="dx_user_info_website"></span>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<strong class="col"
|
|
||||||
><i class="bi bi-broadcast-pin"></i> </strong
|
|
||||||
><span id="dx_user_info_antenna"></span>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<strong class="col"
|
|
||||||
><i class="bi bi-projector"></i> </strong
|
|
||||||
><span id="dx_user_info_radio"></span>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<strong class="col"
|
|
||||||
><i class="bi bi-info-circle"></i> </strong
|
|
||||||
><span id="dx_user_info_comments"></span>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="input-group input-group-sm m-0 p-0">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn btn-warning w-75"
|
|
||||||
aria-label="Request"
|
|
||||||
id="requestUserInfo"
|
|
||||||
>
|
|
||||||
Request user data (about 20kBytes!)
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn btn-primary w-25"
|
|
||||||
data-bs-dismiss="modal"
|
|
||||||
aria-label="Close"
|
|
||||||
>
|
|
||||||
Close
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- user shared folder -->
|
|
||||||
<div
|
|
||||||
class="modal fade"
|
|
||||||
id="sharedFolderModal"
|
|
||||||
tabindex="-1"
|
|
||||||
aria-labelledby="sharedFolderModalLabel"
|
|
||||||
aria-hidden="true"
|
|
||||||
>
|
|
||||||
<div class="modal-dialog modal-dialog-scrollable">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<h1 class="modal-title fs-5" id="sharedFolderModalLabel">
|
|
||||||
My Shared folder
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn btn-primary"
|
|
||||||
id="openSharedFilesFolder"
|
|
||||||
>
|
|
||||||
<i class="bi bi-archive"></i>
|
|
||||||
</button>
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn-close"
|
|
||||||
data-bs-dismiss="modal"
|
|
||||||
aria-label="Close"
|
|
||||||
></button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="modal-body">
|
|
||||||
<div class="container-fluid p-0">
|
|
||||||
<div class="center mb-1">
|
|
||||||
<div class="badge text-bg-info">
|
|
||||||
<i class="bi bi-info"></i> Change folder in settings!
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="table-responsive">
|
|
||||||
<!-- START OF TABLE FOR SHARED FOLDER -->
|
|
||||||
<table
|
|
||||||
class="table table-sm table-hover table-bordered align-middle"
|
|
||||||
>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th scope="col">#</th>
|
|
||||||
<th scope="col">Name</th>
|
|
||||||
<th scope="col">Type</th>
|
|
||||||
<th scope="col">Size</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody id="sharedFolderTable"></tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- HELP MODAL -->
|
|
||||||
<div
|
|
||||||
class="modal fade"
|
|
||||||
data-bs-backdrop="static"
|
|
||||||
tabindex="-1"
|
|
||||||
id="chatHelpModal"
|
|
||||||
>
|
|
||||||
<div class="modal-dialog modal-dialog-scrollable">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<h5 class="modal-title">Chat Help</h5>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn btn-close"
|
|
||||||
data-bs-dismiss="modal"
|
|
||||||
aria-label="Close"
|
|
||||||
></button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<div class="card mb-3">
|
|
||||||
<div class="card-body">
|
|
||||||
<p class="card-text">
|
|
||||||
Welcome to the chat window. Heard stations are listed in the
|
|
||||||
list on the left. Clicking on a station will show messages
|
|
||||||
sent and/or received from the selected station. Additional
|
|
||||||
help is available on various extra features below.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card mb-3">
|
|
||||||
<div class="card-body">
|
|
||||||
<button type="button" class="btn btn-sm btn-primary ms-2">
|
|
||||||
<i class="bi bi-person" style="font-size: 1.2rem"></i>
|
|
||||||
</button>
|
|
||||||
<p class="card-text">
|
|
||||||
Set your station information and picture. This information can
|
|
||||||
be requested by a remote station and can be enabled/disabled
|
|
||||||
via settings.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card mb-3">
|
|
||||||
<div class="card-body">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn btn-sm btn-outline-secondary ms-2"
|
|
||||||
>
|
|
||||||
<i class="bi bi-person" style="font-size: 1.2rem"></i>
|
|
||||||
</button>
|
|
||||||
<p class="card-text">
|
|
||||||
Request the selected station's information.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card mb-3">
|
|
||||||
<div class="card-body">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn btn-sm btn-outline-secondary ms-2"
|
|
||||||
>
|
|
||||||
<i class="bi bi-files" style="font-size: 1.2rem"></i>
|
|
||||||
</button>
|
|
||||||
<p class="card-text">
|
|
||||||
Request the selected station's shared file(s) list. Clicking
|
|
||||||
<button type="button" class="btn btn-sm btn-primary ms-2">
|
|
||||||
<i class="bi bi-files" style="font-size: 1.2rem"></i>
|
|
||||||
</button>
|
|
||||||
will allow you to preview your shared files. Shared file can
|
|
||||||
be enabled/disabled in settings.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card mb-3">
|
|
||||||
<div class="card-body">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn btn-small btn-outline-primary dropdown-toggle me-2"
|
|
||||||
>
|
|
||||||
<i class="bi bi-funnel-fill"></i>
|
|
||||||
</button>
|
|
||||||
<p class="card-text">
|
|
||||||
The filter button allows you to show or hide certain types of
|
|
||||||
messages. A lot of data is logged and this allows you to
|
|
||||||
modify what is shown. By default sent and received messages
|
|
||||||
and ping acknowlegements are displayed.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- dx user shared folder -->
|
|
||||||
<div
|
|
||||||
class="modal fade"
|
|
||||||
id="sharedFolderModalDX"
|
|
||||||
tabindex="-1"
|
|
||||||
aria-labelledby="sharedFolderModalDXLabel"
|
|
||||||
aria-hidden="true"
|
|
||||||
>
|
|
||||||
<div class="modal-dialog modal-dialog-scrollable">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<h1 class="modal-title fs-5" id="sharedFolderModalDXLabel">
|
|
||||||
Shared folder
|
|
||||||
</h1>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn btn-primary m-2"
|
|
||||||
aria-label="Request"
|
|
||||||
id="requestSharedFolderList"
|
|
||||||
>
|
|
||||||
<i class="bi bi-arrow-repeat"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn-close"
|
|
||||||
data-bs-dismiss="modal"
|
|
||||||
aria-label="Close"
|
|
||||||
></button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="table-responsive">
|
|
||||||
<!-- START OF TABLE FOR SHARED FOLDER DX -->
|
|
||||||
<table
|
|
||||||
class="table table-sm table-hover table-bordered align-middle"
|
|
||||||
>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th scope="col">#</th>
|
|
||||||
<th scope="col">Name</th>
|
|
||||||
<th scope="col">Type</th>
|
|
||||||
<th scope="col">Size</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody id="sharedFolderTableDX"></tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<div class="input-group input-group-sm m-0 p-0"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,285 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<!-- Required meta tags -->
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<!--<meta http-equiv="Content-Security-Policy" content="script-src 'self';">-->
|
|
||||||
<!-- Bootstrap CSS -->
|
|
||||||
<link
|
|
||||||
rel="stylesheet"
|
|
||||||
href="../node_modules/bootstrap/dist/css/bootstrap.min.css"
|
|
||||||
/>
|
|
||||||
<title>Send & Receive Data</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="container mt-1">
|
|
||||||
<div class="row mb-1">
|
|
||||||
<div class="col">
|
|
||||||
<div class="card text-dark bg-light mb-0">
|
|
||||||
<div class="card-header">Select data</div>
|
|
||||||
<div class="card-body">
|
|
||||||
<div class="input-group input-group-sm mb-0">
|
|
||||||
<input
|
|
||||||
type="file"
|
|
||||||
class="form-control"
|
|
||||||
id="inputGroupFile02"
|
|
||||||
/>
|
|
||||||
<label class="input-group-text" for="inputGroupFile02"
|
|
||||||
>kB</label
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--col-->
|
|
||||||
</div>
|
|
||||||
<!--row-->
|
|
||||||
<div class="row mb-2">
|
|
||||||
<div class="col">
|
|
||||||
<div class="card text-dark bg-light mb-0">
|
|
||||||
<div class="card-header">Transmission</div>
|
|
||||||
<div class="card-body">
|
|
||||||
<div class="row mb-2">
|
|
||||||
<div class="col-auto">
|
|
||||||
<div class="input-group input-group-sm">
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
style="max-width: 6rem"
|
|
||||||
placeholder="DX Call"
|
|
||||||
id="dxCall"
|
|
||||||
maxlength="6"
|
|
||||||
aria-label="Input group example"
|
|
||||||
aria-describedby="btnGroupAddon"
|
|
||||||
/>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
id="sendPing"
|
|
||||||
class="btn btn-primary"
|
|
||||||
>
|
|
||||||
Ping
|
|
||||||
</button>
|
|
||||||
<span class="input-group-text" id="tnc_running_state"
|
|
||||||
>ACK</span
|
|
||||||
>
|
|
||||||
<span class="input-group-text" id="tnc_running_state"
|
|
||||||
>0000 km</span
|
|
||||||
>
|
|
||||||
<span class="input-group-text" id="tnc_running_state"
|
|
||||||
>0 dB</span
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-auto">
|
|
||||||
<div class="input-group input-group-sm">
|
|
||||||
<span class="input-group-text" id="basic-addon1"
|
|
||||||
>Mode</span
|
|
||||||
>
|
|
||||||
<select
|
|
||||||
class="form-select form-select-sm"
|
|
||||||
aria-label=".form-select-sm example"
|
|
||||||
id="hamlib_deviceport"
|
|
||||||
>
|
|
||||||
<option selected value="DATAC1">DATAC1</option>
|
|
||||||
<option value="DATAC3">DATAC3</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<div class="input-group input-group-sm">
|
|
||||||
<span class="input-group-text" id="basic-addon1"
|
|
||||||
>Frames</span
|
|
||||||
>
|
|
||||||
<select
|
|
||||||
class="form-select form-select-sm"
|
|
||||||
aria-label=".form-select-sm example"
|
|
||||||
id="hamlib_deviceport"
|
|
||||||
>
|
|
||||||
<option selected value="1">1</option>
|
|
||||||
<option value="2">2</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<div class="input-group input-group-sm">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
id="startTransmission"
|
|
||||||
class="btn btn-success"
|
|
||||||
>
|
|
||||||
Send
|
|
||||||
</button>
|
|
||||||
<!--<button type="button" id="stopTNC"class="btn btn-danger">STOP</button>-->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--col-->
|
|
||||||
</div>
|
|
||||||
<!--row-->
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col">
|
|
||||||
<div class="card text-dark bg-light mb-0">
|
|
||||||
<div class="card-header">Info</div>
|
|
||||||
<div class="card-body">123</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col">
|
|
||||||
<hr />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--row-->
|
|
||||||
</div>
|
|
||||||
<!--container-->
|
|
||||||
</div>
|
|
||||||
<!---------------------------------------------------------------------- FOOTER AREA ------------------------------------------------------------>
|
|
||||||
<nav class="navbar fixed-bottom navbar-light bg-light">
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div
|
|
||||||
class="btn-toolbar"
|
|
||||||
role="toolbar"
|
|
||||||
aria-label="Toolbar with button groups"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="btn-group btn-group-sm me-2"
|
|
||||||
role="group"
|
|
||||||
aria-label="First group"
|
|
||||||
>
|
|
||||||
<button class="btn btn-secondary" id="ptt_state" type="button">
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="16"
|
|
||||||
height="16"
|
|
||||||
fill="currentColor"
|
|
||||||
class="bi bi-broadcast-pin"
|
|
||||||
viewBox="0 0 16 16"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
d="M3.05 3.05a7 7 0 0 0 0 9.9.5.5 0 0 1-.707.707 8 8 0 0 1 0-11.314.5.5 0 0 1 .707.707zm2.122 2.122a4 4 0 0 0 0 5.656.5.5 0 1 1-.708.708 5 5 0 0 1 0-7.072.5.5 0 0 1 .708.708zm5.656-.708a.5.5 0 0 1 .708 0 5 5 0 0 1 0 7.072.5.5 0 1 1-.708-.708 4 4 0 0 0 0-5.656.5.5 0 0 1 0-.708zm2.122-2.12a.5.5 0 0 1 .707 0 8 8 0 0 1 0 11.313.5.5 0 0 1-.707-.707 7 7 0 0 0 0-9.9.5.5 0 0 1 0-.707zM6 8a2 2 0 1 1 2.5 1.937V15.5a.5.5 0 0 1-1 0V9.937A2 2 0 0 1 6 8z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="btn-group btn-group-sm me-2"
|
|
||||||
role="group"
|
|
||||||
aria-label="Second group"
|
|
||||||
>
|
|
||||||
<button class="btn btn-secondary" id="busy_state" type="button">
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="16"
|
|
||||||
height="16"
|
|
||||||
fill="currentColor"
|
|
||||||
class="bi bi-cpu"
|
|
||||||
viewBox="0 0 16 16"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
d="M5 0a.5.5 0 0 1 .5.5V2h1V.5a.5.5 0 0 1 1 0V2h1V.5a.5.5 0 0 1 1 0V2h1V.5a.5.5 0 0 1 1 0V2A2.5 2.5 0 0 1 14 4.5h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14a2.5 2.5 0 0 1-2.5 2.5v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14A2.5 2.5 0 0 1 2 11.5H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2A2.5 2.5 0 0 1 4.5 2V.5A.5.5 0 0 1 5 0zm-.5 3A1.5 1.5 0 0 0 3 4.5v7A1.5 1.5 0 0 0 4.5 13h7a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 11.5 3h-7zM5 6.5A1.5 1.5 0 0 1 6.5 5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3zM6.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="btn-group btn-group-sm me-2"
|
|
||||||
role="group"
|
|
||||||
aria-label="Second group"
|
|
||||||
>
|
|
||||||
<button class="btn btn-secondary" id="arq_state" type="button">
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="16"
|
|
||||||
height="16"
|
|
||||||
fill="currentColor"
|
|
||||||
class="bi bi-arrow-left-right"
|
|
||||||
viewBox="0 0 16 16"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
fill-rule="evenodd"
|
|
||||||
d="M1 11.5a.5.5 0 0 0 .5.5h11.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 11H1.5a.5.5 0 0 0-.5.5zm14-7a.5.5 0 0 1-.5.5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H14.5a.5.5 0 0 1 .5.5z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="btn-group btn-group-sm me-2"
|
|
||||||
role="group"
|
|
||||||
aria-label="Third group"
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
class="btn btn-secondary"
|
|
||||||
id="signalling_state"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="16"
|
|
||||||
height="16"
|
|
||||||
fill="currentColor"
|
|
||||||
class="bi bi-journal-code"
|
|
||||||
viewBox="0 0 16 16"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
fill-rule="evenodd"
|
|
||||||
d="M8.646 5.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8 8.646 6.354a.5.5 0 0 1 0-.708zm-1.292 0a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L5.707 8l1.647-1.646a.5.5 0 0 0 0-.708z"
|
|
||||||
/>
|
|
||||||
<path
|
|
||||||
d="M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z"
|
|
||||||
/>
|
|
||||||
<path
|
|
||||||
d="M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
<button class="btn btn-secondary" id="data_state" type="button">
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="16"
|
|
||||||
height="16"
|
|
||||||
fill="currentColor"
|
|
||||||
class="bi bi-journal-richtext"
|
|
||||||
viewBox="0 0 16 16"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
d="M7.5 3.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047L11 4.75V7a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 7v-.5s1.54-1.274 1.639-1.208zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z"
|
|
||||||
/>
|
|
||||||
<path
|
|
||||||
d="M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z"
|
|
||||||
/>
|
|
||||||
<path
|
|
||||||
d="M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="input-group input-group-sm me-2">
|
|
||||||
<span class="input-group-text" id="basic-addon1">Bytes/s</span>
|
|
||||||
<span class="input-group-text" id="basic-addon1">----</span>
|
|
||||||
</div>
|
|
||||||
<div class="progress" style="height: 100%; width: 200px">
|
|
||||||
<div
|
|
||||||
class="progress-bar progress-bar-striped bg-primary"
|
|
||||||
id="arq-progress"
|
|
||||||
role="progressbar"
|
|
||||||
style="width: 25%"
|
|
||||||
aria-valuenow="25"
|
|
||||||
aria-valuemin="0"
|
|
||||||
aria-valuemax="100"
|
|
||||||
>
|
|
||||||
25%
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<script src="../node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,92 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<!-- Required meta tags -->
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<meta http-equiv="Content-Security-Policy" content="script-src 'self';" />
|
|
||||||
|
|
||||||
<!-- Bootstrap CSS -->
|
|
||||||
<link
|
|
||||||
rel="stylesheet"
|
|
||||||
href="../node_modules/bootstrap/dist/css/bootstrap.min.css"
|
|
||||||
/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="styles.css" />
|
|
||||||
<title>FreeDATA - Live Log</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<!-- bootstrap -->
|
|
||||||
<script src="../node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
|
||||||
<!-- chart.js -->
|
|
||||||
|
|
||||||
<nav class="navbar fixed-top bg-light">
|
|
||||||
<div class="container-fluid">
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
class="btn-check"
|
|
||||||
id="enable_filter_info"
|
|
||||||
autocomplete="off"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label class="btn btn-outline-info" for="enable_filter_info"
|
|
||||||
>info</label
|
|
||||||
>
|
|
||||||
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
class="btn-check"
|
|
||||||
id="enable_filter_debug"
|
|
||||||
autocomplete="off"
|
|
||||||
/>
|
|
||||||
<label class="btn btn-outline-primary" for="enable_filter_debug"
|
|
||||||
>debug</label
|
|
||||||
>
|
|
||||||
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
class="btn-check"
|
|
||||||
id="enable_filter_warning"
|
|
||||||
autocomplete="off"
|
|
||||||
/>
|
|
||||||
<label class="btn btn-outline-warning" for="enable_filter_warning"
|
|
||||||
>warning</label
|
|
||||||
>
|
|
||||||
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
class="btn-check"
|
|
||||||
id="enable_filter_error"
|
|
||||||
autocomplete="off"
|
|
||||||
/>
|
|
||||||
<label class="btn btn-outline-danger" for="enable_filter_error"
|
|
||||||
>error</label
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<div class="container-fluid mt-5">
|
|
||||||
<div class="tableFixHead">
|
|
||||||
<table class="table table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th scope="col">Timestamp</th>
|
|
||||||
<th scope="col">Type</th>
|
|
||||||
<th scope="col">Area</th>
|
|
||||||
<th scope="col">Log entry</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody id="log">
|
|
||||||
<!--
|
|
||||||
<tr>
|
|
||||||
<th scope="row">1</th>
|
|
||||||
<td>Mark</td>
|
|
||||||
<td>Otto</td>
|
|
||||||
<td>@mdo</td>
|
|
||||||
</tr>
|
|
||||||
-->
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,147 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<!-- Required meta tags -->
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<meta http-equiv="Content-Security-Policy" content="script-src 'self';" />
|
|
||||||
|
|
||||||
<!-- Bootstrap CSS -->
|
|
||||||
<link
|
|
||||||
rel="stylesheet"
|
|
||||||
href="../node_modules/bootstrap/dist/css/bootstrap.min.css"
|
|
||||||
/>
|
|
||||||
<link
|
|
||||||
rel="stylesheet"
|
|
||||||
href="../node_modules/bootstrap-icons/font/bootstrap-icons.css"
|
|
||||||
/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="styles.css" />
|
|
||||||
<title>FreeDATA - Mesh Table</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<!-- bootstrap -->
|
|
||||||
<script src="../node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
|
||||||
<!-- chart.js -->
|
|
||||||
|
|
||||||
<nav>
|
|
||||||
<div class="nav nav-tabs" id="nav-tab" role="tablist">
|
|
||||||
<button
|
|
||||||
class="nav-link active"
|
|
||||||
id="nav-route-tab"
|
|
||||||
data-bs-toggle="tab"
|
|
||||||
data-bs-target="#nav-route"
|
|
||||||
type="button"
|
|
||||||
role="tab"
|
|
||||||
aria-controls="nav-route"
|
|
||||||
aria-selected="true"
|
|
||||||
>
|
|
||||||
Routes
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
class="nav-link"
|
|
||||||
id="nav-signaling-tab"
|
|
||||||
data-bs-toggle="tab"
|
|
||||||
data-bs-target="#nav-signaling"
|
|
||||||
type="button"
|
|
||||||
role="tab"
|
|
||||||
aria-controls="nav-signaling"
|
|
||||||
aria-selected="false"
|
|
||||||
>
|
|
||||||
Signaling
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
class="nav-link"
|
|
||||||
id="nav-actions-tab"
|
|
||||||
data-bs-toggle="tab"
|
|
||||||
data-bs-target="#nav-actions"
|
|
||||||
type="button"
|
|
||||||
role="tab"
|
|
||||||
aria-controls="nav-actions"
|
|
||||||
aria-selected="false"
|
|
||||||
>
|
|
||||||
Actions
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<div class="tab-content" id="nav-tabContent">
|
|
||||||
<div
|
|
||||||
class="tab-pane fade show active vw-100 vh-90 overflow-auto"
|
|
||||||
id="nav-route"
|
|
||||||
role="tabpanel"
|
|
||||||
aria-labelledby="nav-route-tab"
|
|
||||||
>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div
|
|
||||||
class="table-responsive overflow-auto"
|
|
||||||
style="max-width: 99vw; max-height: 99vh"
|
|
||||||
>
|
|
||||||
<table class="table table-hover table-sm">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th scope="col">Timestamp</th>
|
|
||||||
<th scope="col">DXCall</th>
|
|
||||||
<th scope="col">Router</th>
|
|
||||||
<th scope="col">Hops</th>
|
|
||||||
<th scope="col">Score</th>
|
|
||||||
<th scope="col">SNR</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody id="mesh-table"></tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="tab-pane fade"
|
|
||||||
id="nav-signaling"
|
|
||||||
role="tabpanel"
|
|
||||||
aria-labelledby="nav-signaling-tab"
|
|
||||||
>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div
|
|
||||||
class="table-responsive overflow-auto"
|
|
||||||
style="max-width: 99vw; max-height: 99vh"
|
|
||||||
>
|
|
||||||
<table class="table table-hover table-sm">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th scope="col">Timestamp</th>
|
|
||||||
<th scope="col">Destination</th>
|
|
||||||
<th scope="col">Origin</th>
|
|
||||||
<th scope="col">Frametype</th>
|
|
||||||
<th scope="col">Payload</th>
|
|
||||||
<th scope="col">Attempt</th>
|
|
||||||
<th scope="col">Status</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody id="mesh-signalling-table"></tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="tab-pane fade"
|
|
||||||
id="nav-actions"
|
|
||||||
role="tabpanel"
|
|
||||||
aria-labelledby="nav-actions-tab"
|
|
||||||
>
|
|
||||||
<div class="input-group mt-1">
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
style="max-width: 6rem; text-transform: uppercase"
|
|
||||||
placeholder="DXcall"
|
|
||||||
pattern="[A-Z]*"
|
|
||||||
id="dxCallMesh"
|
|
||||||
maxlength="11"
|
|
||||||
aria-label="Input group"
|
|
||||||
aria-describedby="btnGroupAddon"
|
|
||||||
/>
|
|
||||||
<button id="transmit_mesh_ping" type="button" class="btn btn-primary">
|
|
||||||
mesh ping
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Loading…
Reference in a new issue