diff --git a/gui/src/components/main_active_heard_stations.vue b/gui/src/components/main_active_heard_stations.vue index 0c42f66b..06406b61 100644 --- a/gui/src/components/main_active_heard_stations.vue +++ b/gui/src/components/main_active_heard_stations.vue @@ -71,29 +71,25 @@ function getMaidenheadDistance(dxGrid) { Time - Frequency -   + Freq DXCall - DXGrid - Distance + Grid + Dist Type - SNR (rx/dx) + SNR - {{ getDateTime(item.timestamp) }} - {{ item.frequency }} -   - - {{ item.dxcallsign }} - - {{ item.dxgrid }} - {{ getMaidenheadDistance(item.dxgrid) }} km - {{ item.datatype }} - {{ item.snr }} + {{ getDateTime(item.timestamp) }} + {{ item.frequency/1000 }} kHz + {{ item.dxcallsign }} + {{ item.dxgrid }} + {{ getMaidenheadDistance(item.dxgrid) }} km + {{ item.datatype }} + {{ item.snr }} diff --git a/gui/src/components/main_active_rig_control.vue b/gui/src/components/main_active_rig_control.vue index 55b31e5a..70050c5e 100644 --- a/gui/src/components/main_active_rig_control.vue +++ b/gui/src/components/main_active_rig_control.vue @@ -8,9 +8,17 @@ const state = useStateStore(pinia); import { set_frequency, set_mode, set_rf_level } from "../js/sock.js"; -function set_hamlib_frequency() { - set_frequency(state.new_frequency); -} + + function updateFrequencyAndApply(frequency) { + state.new_frequency = frequency; + set_frequency(state.new_frequency); + } + + function set_hamlib_frequency_manually(){ + + set_frequency(state.new_frequency); + } + function set_hamlib_mode() { set_mode(state.mode); @@ -21,6 +29,7 @@ function set_hamlib_rf_level() { } + diff --git a/gui/src/components/main_active_stats.vue b/gui/src/components/main_active_stats.vue index 1a581729..1be18111 100644 --- a/gui/src/components/main_active_stats.vue +++ b/gui/src/components/main_active_stats.vue @@ -191,7 +191,7 @@ export default {
-
+
@@ -39,10 +39,10 @@ const state = useStateStore(pinia); data-bs-trigger="hover" data-bs-html="true" v-bind:class="{ - 'bg-danger': state.busy_state === 'BUSY', - 'bg-secondary': state.busy_state === 'IDLE', + 'btn-danger': state.busy_state === 'BUSY', + 'btn-secondary': state.busy_state === 'IDLE', }" - title="Modem state" + data-bs-title="Modem state" disabled style="pointer-events: auto" > @@ -58,12 +58,12 @@ const state = useStateStore(pinia); data-bs-trigger="hover" data-bs-html="true" v-bind:class="{ - 'bg-secondary': state.arq_session_state === 'disconnected', - 'bg-warning': state.arq_session_state === 'connected', + 'btn-secondary': state.arq_session_state === 'disconnected', + 'btn-warning': state.arq_session_state === 'connected', }" disabled style="pointer-events: auto" - title="Session state" + data-bs-title="Session state" > @@ -72,10 +72,13 @@ const state = useStateStore(pinia); class="btn btn-sm btn-secondary me-1" id="arq_state" type="button" - title="Data channel state" + data-bs-placement="top" + data-bs-toggle="tooltip" + data-bs-trigger="hover" + data-bs-title="Data channel state" v-bind:class="{ - 'bg-secondary': state.arq_state === 'False', - 'bg-warning': state.arq_state === 'True', + 'btn-secondary': state.arq_state === 'False', + 'btn-warning': state.arq_state === 'True', }" disabled style="pointer-events: auto" @@ -109,7 +112,7 @@ const state = useStateStore(pinia); 'btn-secondary': state.channel_busy === 'False', }" style="pointer-events: auto" - title="Channel busy" + data-bs-title="Channel busy" > @@ -119,7 +122,10 @@ const state = useStateStore(pinia); @@ -184,7 +192,7 @@ const state = useStateStore(pinia); data-bs-toggle="tooltip" data-bs-trigger="hover" data-bs-html="true" - title="Current or last connected with station" + data-bs-title="Current or last connected with station" > @@ -196,6 +204,7 @@ const state = useStateStore(pinia); data-bs-toggle="tooltip" data-bs-trigger="hover" data-bs-html="true" + data-bs-title="the dxcallsign of the connected station" > {{ state.dxcallsign }} diff --git a/gui/src/components/main_top_navbar.vue b/gui/src/components/main_top_navbar.vue index 52e826ac..5f38aa12 100644 --- a/gui/src/components/main_top_navbar.vue +++ b/gui/src/components/main_top_navbar.vue @@ -103,26 +103,5 @@ function startStopModem() {
- + diff --git a/gui/src/js/chatHandler.ts b/gui/src/js/chatHandler.ts index 9d26fd5f..14740172 100644 --- a/gui/src/js/chatHandler.ts +++ b/gui/src/js/chatHandler.ts @@ -1000,16 +1000,19 @@ async function checkForWaitingMessages(dxcall) { console.log(message); displayToast("info", "bi bi-info-circle", message, 5000); - + console.log(result) + console.log(result.docs) + console.log(result.docs.length) // handle result // @ts-expect-error if (result.docs.length > 0) { // only want to process the first available item object, then return // this ensures, we are only sending one message at once + console.log(result.docs[0]) + console.log("attempt: " + result.docs[0].attempt + "/" + settings.max_retry_attempts) // @ts-expect-error if (result.docs[0].attempt < settings.max_retry_attempts) { - console.log(result.docs[0]) - console.log("attempt: " + result.docs[0].attempt + "/" + settings.max_retry_attempts) + console.log("repeating message...") // @ts-expect-error repeatMessageTransmission(result.docs[0].uuid); } diff --git a/gui/src/main.ts b/gui/src/main.ts index 2dae75b8..1a7c01d0 100644 --- a/gui/src/main.ts +++ b/gui/src/main.ts @@ -1,29 +1,44 @@ import { createApp } from "vue"; import { createPinia } from "pinia"; import { loadSettings } from "./js/settingsHandler"; - import "./styles.css"; - -// Import all of Bootstrap's JS -//import * as bootstrap from 'bootstrap' - -import "bootstrap/dist/js/bootstrap.bundle.min.js"; -import "bootstrap/dist/css/bootstrap.css"; -import "bootstrap-icons/font/bootstrap-icons.css"; +import { Chart, Filler } from 'chart.js'; +// Register the Filler plugin globally +Chart.register(Filler); // Import our custom CSS //import './scss/styles.scss' + + + import App from "./App.vue"; const app = createApp(App); //.mount('#app').$nextTick(() => postMessage({ payload: 'removeLoading' }, '*')) const pinia = createPinia(); app.mount("#app"); - app.use(pinia); + +// Import all of Bootstrap's JS +//import * as bootstrap from 'bootstrap' + +import * as bootstrap from 'bootstrap' +import "bootstrap/dist/css/bootstrap.css"; +import "bootstrap-icons/font/bootstrap-icons.css"; +const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]') +const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)) + + + + + + + + loadSettings(); //import './js/settingsHandler.js' import "./js/daemon"; import "./js/sock.js"; //import './js/settingsHandler.js' +