feat(wavelog): link to the Wavelog instance next to the API key field
Show an "Open Wavelog" link beside the Wavelog API Key heading in the OpenWebRX panel. The URL comes from the runtime WAVELOG_BASE_URL (exposed via GET /v1/me and the OpenWebRX session response), so the private hostname is never hardcoded in this public repo. The link is hidden when no base URL is configured. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -138,6 +138,7 @@ const els = {
|
||||
wavelogKeyInput: document.getElementById("wavelogKeyInput"),
|
||||
wavelogKeySaveBtn: document.getElementById("wavelogKeySaveBtn"),
|
||||
wavelogKeyMessage: document.getElementById("wavelogKeyMessage"),
|
||||
wavelogInstanceLink: document.getElementById("wavelogInstanceLink"),
|
||||
openwebrxTxStatePill: document.getElementById("openwebrxTxStatePill"),
|
||||
rotorCurrent: document.getElementById("rotorCurrent"),
|
||||
rotorCompass: document.getElementById("rotorCompass"),
|
||||
@@ -1505,6 +1506,7 @@ async function refreshCurrentUser() {
|
||||
const result = await api("/v1/me", { authRequired: true });
|
||||
state.user = result.user;
|
||||
state.wavelogApiKey = typeof result.wavelogApiKey === "string" ? result.wavelogApiKey : "";
|
||||
state.wavelogBaseUrl = typeof result.wavelogBaseUrl === "string" ? result.wavelogBaseUrl : "";
|
||||
applyWavelogKeyToInput();
|
||||
renderUserSettingsAuthMethods();
|
||||
await ensureLanguageFromUserPreference();
|
||||
@@ -1698,6 +1700,16 @@ function applyWavelogKeyToInput() {
|
||||
if (els.wavelogKeyInput) {
|
||||
els.wavelogKeyInput.value = String(state.wavelogApiKey || "");
|
||||
}
|
||||
if (els.wavelogInstanceLink) {
|
||||
const url = String(state.wavelogBaseUrl || "").trim();
|
||||
if (url) {
|
||||
els.wavelogInstanceLink.href = url;
|
||||
els.wavelogInstanceLink.hidden = false;
|
||||
} else {
|
||||
els.wavelogInstanceLink.removeAttribute("href");
|
||||
els.wavelogInstanceLink.hidden = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function saveWavelogKey() {
|
||||
@@ -1723,6 +1735,9 @@ async function openOpenWebRxSession() {
|
||||
const session = result && result.session ? result.session : null;
|
||||
if (result && typeof result.wavelogApiKey === "string") {
|
||||
state.wavelogApiKey = result.wavelogApiKey;
|
||||
if (typeof result.wavelogBaseUrl === "string") {
|
||||
state.wavelogBaseUrl = result.wavelogBaseUrl;
|
||||
}
|
||||
applyWavelogKeyToInput();
|
||||
}
|
||||
const sessionTicket = session && session.ticket ? String(session.ticket) : "";
|
||||
@@ -1752,6 +1767,9 @@ async function openOpenWebRxExternal() {
|
||||
const session = result && result.session ? result.session : null;
|
||||
if (result && typeof result.wavelogApiKey === "string") {
|
||||
state.wavelogApiKey = result.wavelogApiKey;
|
||||
if (typeof result.wavelogBaseUrl === "string") {
|
||||
state.wavelogBaseUrl = result.wavelogBaseUrl;
|
||||
}
|
||||
applyWavelogKeyToInput();
|
||||
}
|
||||
const sessionTicket = session && session.ticket ? String(session.ticket) : "";
|
||||
|
||||
Reference in New Issue
Block a user