diff --git a/src/components/SettingsPanel.jsx b/src/components/SettingsPanel.jsx index d3ebefb0..3295c080 100644 --- a/src/components/SettingsPanel.jsx +++ b/src/components/SettingsPanel.jsx @@ -2812,6 +2812,213 @@ export const SettingsPanel = ({ + + {/* QRZ.com XML API Credentials */} +
+
+ 📡 QRZ.com Callsign Lookup + {qrzStatus?.configured && ( + + {qrzStatus.hasSession ? '● Connected' : '○ Configured'} + {qrzStatus.source === 'env' ? ' (env)' : ''} + + )} +
+
+ Enables precise station locations from{' '} + + QRZ.com + {' '} + user profiles (user-supplied coordinates, geocoded addresses, grid squares). Without this, locations + fall back to HamQTH (country-level only). Requires a QRZ Logbook Data subscription. +
+ Note this is a server setting and is not related to clicking a callsign to go to + qrz.com. If you are not running a server, you will likely not have the permissions to change this. +
+ {qrzStatus?.source === 'env' ? ( +
+ ✓ Credentials configured via{' '} + + QRZ_USERNAME + {' '} + /{' '} + + QRZ_PASSWORD + {' '} + in .env file + {qrzStatus.lookupCount > 0 && ( + + {' '} + — {qrzStatus.lookupCount} lookups this session + + )} +
+ ) : ( + <> +
+ setQrzUsername(e.target.value)} + style={{ + flex: 1, + padding: '8px 12px', + background: 'var(--bg-primary)', + border: '1px solid var(--border-color)', + borderRadius: '4px', + color: 'var(--text-primary)', + fontSize: '12px', + fontFamily: 'var(--font-mono)', + boxSizing: 'border-box', + }} + /> + setQrzPassword(e.target.value)} + style={{ + flex: 1, + padding: '8px 12px', + background: 'var(--bg-primary)', + border: '1px solid var(--border-color)', + borderRadius: '4px', + color: 'var(--text-primary)', + fontSize: '12px', + fontFamily: 'var(--font-mono)', + boxSizing: 'border-box', + }} + /> +
+
+ + {qrzStatus?.configured && qrzStatus.source !== 'env' && ( + + )} + {qrzStatus?.configured && qrzStatus.lookupCount > 0 && ( + + {qrzStatus.lookupCount} lookups this session + + )} +
+ {qrzMessage && ( +
+ {qrzMessage.type === 'success' ? '✓' : '✗'} {qrzMessage.text} +
+ )} + + )} +
)} @@ -4215,213 +4422,6 @@ export const SettingsPanel = ({ )} - {/* QRZ.com XML API Credentials */} -
-
- 📡 QRZ.com Callsign Lookup - {qrzStatus?.configured && ( - - {qrzStatus.hasSession ? '● Connected' : '○ Configured'} - {qrzStatus.source === 'env' ? ' (env)' : ''} - - )} -
-
- Enables precise station locations from{' '} - - QRZ.com - {' '} - user profiles (user-supplied coordinates, geocoded addresses, grid squares). Without this, locations - fall back to HamQTH (country-level only). Requires a QRZ Logbook Data subscription. -
- Note this is a server setting and is not related to clicking a callsign to go to - qrz.com. If you are not running a server, you will likely not have the permissions to change this. -
- {qrzStatus?.source === 'env' ? ( -
- ✓ Credentials configured via{' '} - - QRZ_USERNAME - {' '} - /{' '} - - QRZ_PASSWORD - {' '} - in .env file - {qrzStatus.lookupCount > 0 && ( - - {' '} - — {qrzStatus.lookupCount} lookups this session - - )} -
- ) : ( - <> -
- setQrzUsername(e.target.value)} - style={{ - flex: 1, - padding: '8px 12px', - background: 'var(--bg-primary)', - border: '1px solid var(--border-color)', - borderRadius: '4px', - color: 'var(--text-primary)', - fontSize: '12px', - fontFamily: 'var(--font-mono)', - boxSizing: 'border-box', - }} - /> - setQrzPassword(e.target.value)} - style={{ - flex: 1, - padding: '8px 12px', - background: 'var(--bg-primary)', - border: '1px solid var(--border-color)', - borderRadius: '4px', - color: 'var(--text-primary)', - fontSize: '12px', - fontFamily: 'var(--font-mono)', - boxSizing: 'border-box', - }} - /> -
-
- - {qrzStatus?.configured && qrzStatus.source !== 'env' && ( - - )} - {qrzStatus?.configured && qrzStatus.lookupCount > 0 && ( - - {qrzStatus.lookupCount} lookups this session - - )} -
- {qrzMessage && ( -
- {qrzMessage.type === 'success' ? '✓' : '✗'} {qrzMessage.text} -
- )} - - )} -
- {/* Open-Meteo API Key (optional) */}