Skip to content

Commit

Permalink
Merge pull request #845 from DJ2LS/develop
Browse files Browse the repository at this point in the history
v0.16.9
  • Loading branch information
DJ2LS authored Nov 11, 2024
2 parents c4e38e8 + cf65632 commit fb19194
Show file tree
Hide file tree
Showing 45 changed files with 2,823 additions and 1,293 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pip_package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
python setup.py sdist bdist_wheel
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@v1.10.1
uses: pypa/gh-action-pypi-publish@v1.11.0
if: startsWith(github.ref, 'refs/tags/v')
with:
user: __token__
Expand Down
12 changes: 6 additions & 6 deletions freedata_gui/package.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"name": "FreeDATA",
"version": "0.16.8-alpha",
"version": "0.16.9-alpha",
"description": "FreeDATA Client application for connecting to FreeDATA server",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"build": "npm i && vue-cli-service build",
"lint": "vue-cli-service lint"
},
"repository": {
Expand All @@ -28,22 +28,22 @@
"@popperjs/core": "^2.11.8",
"bootstrap": "^5.3.3",
"bootstrap-icons": "^1.11.3",
"bootstrap-vue-next": "^0.24.2",
"bootstrap-vue-next": "^0.25.12",
"chart.js": "^4.4.3",
"chartjs-plugin-annotation": "^3.0.1",
"core-js": "^3.8.3",
"d3": "^7.9.0",
"dompurify": "^3.1.6",
"gridstack": "^10.3.0",
"gridstack": "^11.0.1",
"js-image-compressor": "^2.0.0",
"marked": "^14.1.2",
"pinia": "^2.1.7",
"qth-locator": "^2.1.0",
"topojson-client": "^3.1.0",
"uuid": "^10.0.0",
"uuid": "^11.0.2",
"vue": "^3.2.13",
"vue-chartjs": "^5.3.1",
"vuemoji-picker": "^0.2.1"
"vuemoji-picker": "^0.3.1"
},
"devDependencies": {
"@babel/core": "^7.25.2",
Expand Down
21 changes: 11 additions & 10 deletions freedata_gui/public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
sizes="16x16"
href="<%= BASE_URL %>favicon-16x16.png"
/>
<link rel="icon" type="image/png" sizes="192x192" href="<%= BASE_URL %>android-chrome-192x192.png" />
<link rel="icon" type="image/png" sizes="512x512" href="<%= BASE_URL %>android-chrome-512x512.png" />

<!-- Apple touch icon -->
<link rel="apple-touch-icon" href="<%= BASE_URL %>apple-touch-icon.png" />
Expand All @@ -36,16 +38,15 @@

<!-- Add custom JavaScript to set the viewport height -->
<script>
function setAppHeight() {
const appHeight = window.innerHeight;
document.documentElement.style.setProperty(
"--app-height",
`${appHeight}px`,
);
}
window.addEventListener("resize", setAppHeight);
window.addEventListener("orientationchange", setAppHeight); // Handle orientation changes
document.addEventListener("DOMContentLoaded", setAppHeight); // Set height on initial load
function setAppHeight() {
const appHeight =
window.visualViewport?.height || window.innerHeight;
document.documentElement.style.setProperty("--app-height", `${appHeight}px`);
}
window.addEventListener("resize", setAppHeight);
window.addEventListener("orientationchange", setAppHeight);
document.addEventListener("DOMContentLoaded", setAppHeight);

</script>

<!-- Custom styles to use the dynamic height -->
Expand Down
2 changes: 2 additions & 0 deletions freedata_gui/public/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
{
"name": "FreeDATA",
"short_name": "FreeDATA",
"description": "FreeDATA is a communication platform for transferring data over radio.",
"categories": ["utilities", "communication", "productivity"],
"start_url": ".",
"display": "standalone",
"background_color": "#ffffff",
Expand Down
26 changes: 22 additions & 4 deletions freedata_gui/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,39 @@
</template>

<script setup>
import { defineAsyncComponent, onMounted } from 'vue';
import "./styles.css"; // Import global styles
import "bootstrap/dist/css/bootstrap.css";
import "bootstrap-icons/font/bootstrap-icons.css";
import {defineAsyncComponent, onMounted} from 'vue';
import { Tooltip, Popover } from 'bootstrap'
// Lazy load FreeDATAMain
const FreeDATAMain = defineAsyncComponent(() =>
import('./components/main_screen.vue')
import('./components/main_screen.vue')
);
// Import the loading screen
const LoadingScreen = defineAsyncComponent(() =>
import('./components/main_loading_screen.vue')
import('./components/main_loading_screen.vue')
);
// Set attributes on the <html> element
onMounted(() => {
// Set attributes on the <html> element
document.documentElement.setAttribute('lang', 'en');
document.documentElement.setAttribute('data-bs-theme', 'light');
// Initialize Tooltips and Popovers
new Tooltip(document.body, {
selector: "[data-bs-toggle='tooltip']",
})
new Popover(document.body, {
selector: "[data-bs-toggle='popover']",
})
});
</script>
2 changes: 1 addition & 1 deletion freedata_gui/src/components/grid/grid_CQ.vue
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ async function handleCQCall() {
// Wait for 6 seconds (cooldown period)
setTimeout(() => {
isCQButtonDisabled.value = false;
}, 6000);
}, 10000);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ async function handleSendCQ() {
// Wait for 6 seconds (cooldown period)
setTimeout(() => {
isCQButtonDisabled.value = false;
}, 6000);
}, 10000);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ async function handleSendCQ() {
// Wait for 6 seconds (cooldown period)
setTimeout(() => {
isCQButtonDisabled.value = false;
}, 6000);
}, 10000);
}
// Listen for the stationSelected event and update dxcallPing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ function getDateTime(timestampRaw) {
navigator.language,
{
hourCycle: 'h23',
year: '2-digit',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
Expand Down Expand Up @@ -107,7 +106,8 @@ function transmitPing(callsign) {
@click="pushToPing(item.origin)"
>
<td>
<small>{{ getDateTime(item.timestamp) }}</small>
<span class="badge text-bg-secondary">{{ getDateTime(item.timestamp) }}</span>

</td>
<td><small>{{ item.frequency / 1000 }} kHz</small></td>
<td>
Expand All @@ -118,7 +118,7 @@ function transmitPing(callsign) {
@click="getStationInfoByCallsign(item.origin)"
disabled
>
<h6 class="p-0 m-0"><span class="badge text-bg-primary">{{ item.origin }}</span></h6>
<span class="badge text-bg-primary">{{ item.origin }}</span>
</button>

<button
Expand Down
8 changes: 5 additions & 3 deletions freedata_gui/src/components/grid/grid_activities.vue
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,11 @@ function getDateTime(timestampRaw) {
<div class="card-body overflow-auto m-0 p-0" style="align-items: start">
<div v-for="item in state.activities" :key="item[0]">
<h6 style="text-align: start" class="mb-0">
<span class="badge text-bg-primary">
{{ item[1].origin }}</span> -
<span class="badge text-bg-secondary">{{ getDateTime(item[1].timestamp) }}</span>
<span class="badge text-bg-primary">{{ item[1].origin }}</span>
-
<span class="badge text-bg-secondary">{{getDateTime(item[1].timestamp) }}</span>


</h6>

<p class="mb-2" style="text-align: start; font-size: smaller">
Expand Down
7 changes: 4 additions & 3 deletions freedata_gui/src/components/main_modals.vue
Original file line number Diff line number Diff line change
Expand Up @@ -201,9 +201,9 @@ const beaconHistogramData = computed(() => ({
let mycall = settingsStore.remote.STATION.mycall;
let myssid = settingsStore.remote.STATION.myssid;
let fullCall = `${mycall}-${myssid}`;
console.log("Updating station info:", fullCall);
setStationInfoByCallsign(fullCall, station.stationInfo.value);
console.log("Updating station info:", fullCall, station.stationInfo);
setStationInfoByCallsign(fullCall, station.stationInfo);
}
// Fix for modal interaction
Expand All @@ -219,6 +219,7 @@ const beaconHistogramData = computed(() => ({
let mycall = settingsStore.remote.STATION.mycall;
let myssid = settingsStore.remote.STATION.myssid;
let fullCall = `${mycall}-${myssid}`;
console.log("fetching my station info:", fullCall)
getStationInfoByCallsign(fullCall);
}
Expand Down
100 changes: 63 additions & 37 deletions freedata_gui/src/components/main_startup_check.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@
<div class="modal-dialog modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5">Modem check</h1>
<h1 class="modal-title fs-5">System check</h1>
<button
type="button"
class="ms-5 btn btn-secondary"
aria-label="Reload GUI"
@click="reloadGUI"
>
GUI problems? Reload it!
Reload GUI
</button>
<button
type="button"
class="btn-close"
class="btn-close me-2"
data-bs-dismiss="modal"
aria-label="Close"
></button>
Expand Down Expand Up @@ -51,7 +51,7 @@


<div class="alert alert-info" role="alert">
For remote operation, please go to <strong>settings/modem</strong> and set the server ip to <strong>0.0.0.0</strong>
For remote operation, please go to <strong>settings<i class="bi bi-gear-wide-connected ms-1"></i>/modem</strong> and set the server ip to <strong>0.0.0.0</strong>

</div>

Expand Down Expand Up @@ -87,39 +87,13 @@
</h2>
<div id="modemStatusCollapse" class="accordion-collapse collapse" data-bs-parent="#startupCheckAccordion">
<div class="accordion-body">
<div class="input-group input-group-sm mb-1">
<label class="input-group-text w-50">Manual modem restart</label>
<label class="input-group-text">
<button
type="button"
id="startModem"
class="btn btn-sm btn-outline-success"
data-bs-toggle="tooltip"
data-bs-trigger="hover"
data-bs-html="false"
title="Start the Modem. Please set your audio and radio settings first!"
@click="startModem"
:class="{ disabled: state.is_modem_running }"
>
<i class="bi bi-play-fill"></i>
</button>
</label>
<label class="input-group-text">
<button
type="button"
id="stopModem"
class="btn btn-sm btn-outline-danger"
data-bs-toggle="tooltip"
data-bs-trigger="hover"
data-bs-html="false"
title="Stop the Modem."
@click="stopModem"
:class="{ disabled: !state.is_modem_running }"
>
<i class="bi bi-stop-fill"></i>
</button>
</label>
</div>

<div class="alert alert-info" role="alert">
For further settings please go to <strong>settings<i class="bi bi-gear-wide-connected ms-1"></i>/modem</strong>

</div>


<!-- Audio Input Device -->
<div class="input-group input-group-sm mb-1">
<label class="input-group-text w-50">Audio Input device</label>
Expand Down Expand Up @@ -156,6 +130,47 @@
</option>
</select>
</div>


<div class="alert alert-warning mt-3" role="alert">
In case of unusual problems, you can stop and reload the internal modem manually.

</div>
<div class="input-group input-group-sm">
<label class="input-group-text w-50">Manual modem restart</label>
<label class="input-group-text">
<button
type="button"
id="startModem"
class="btn btn-sm btn-outline-success"
data-bs-toggle="tooltip"
data-bs-trigger="hover"
data-bs-html="false"
title="Start the Modem. Please set your audio and radio settings first!"
@click="startModem"
:class="{ disabled: state.is_modem_running }"
>
<i class="bi bi-play-fill"></i>
</button>
</label>
<label class="input-group-text">
<button
type="button"
id="stopModem"
class="btn btn-sm btn-outline-danger"
data-bs-toggle="tooltip"
data-bs-trigger="hover"
data-bs-html="false"
title="Stop the Modem."
@click="stopModem"
:class="{ disabled: !state.is_modem_running }"
>
<i class="bi bi-stop-fill"></i>
</button>
</label>
</div>


</div>
</div>
</div>
Expand All @@ -180,6 +195,11 @@
</h2>
<div id="radioControlCollapse" class="accordion-collapse collapse" data-bs-parent="#startupCheckAccordion">
<div class="accordion-body">

<div class="alert alert-info" role="alert">
This is just a quick setting! For further options, please go to <strong>settings<i class="bi bi-gear-wide-connected ms-1"></i>/rig control</strong>
</div>

<div class="input-group input-group-sm mb-1">
<span class="input-group-text" style="width: 180px">Rig control method</span>
<select
Expand Down Expand Up @@ -250,6 +270,12 @@
</h2>
<div id="systemStatusCollapse" class="accordion-collapse collapse" data-bs-parent="#startupCheckAccordion">
<div class="accordion-body">

<div class="alert alert-info" role="alert">
Please share this information when opening an issue

</div>

<h3>API Information</h3>
<p><strong>API Version:</strong> {{ state.api_version }}</p>
<p><strong>Modem Version:</strong> {{ state.modem_version }}</p>
Expand Down
Loading

0 comments on commit fb19194

Please sign in to comment.