diff --git a/src/App.jsx b/src/App.jsx index 8a5f05e..b10ab3b 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -572,439 +572,6 @@ const App = () => { 35 - ) : config.layout === 'tablet' ? ( - /* TABLET LAYOUT - Optimized for 7-10" widescreen displays (16:9) */ -
- {/* COMPACT TOP BAR */} -
- {/* Callsign */} - setShowSettings(true)} - title="Settings" - > - {config.callsign} - - - {/* UTC */} -
- UTC - {utcTime} -
- - {/* Local */} -
- LOC - {localTime} -
- - {/* Solar Quick Stats */} -
- - SFI - {solarIndices?.data?.sfi?.current || spaceWeather?.data?.solarFlux || '--'} - - - K - = 4 ? 'var(--accent-red)' : 'var(--accent-green)', fontWeight: '700' }}> - {solarIndices?.data?.kp?.current ?? spaceWeather?.data?.kIndex ?? '--'} - - - - SSN - {solarIndices?.data?.ssn?.current || '--'} - -
- - {/* Controls */} -
- - -
-
- - {/* MAIN AREA: Map + Data Sidebar */} -
- {/* MAP */} -
- -
- - {/* DATA SIDEBAR */} -
- {/* Band Conditions Grid */} -
-
Band Conditions
-
- {(bandConditions?.data || []).slice(0, 13).map((band, idx) => { - const colors = { - GOOD: { bg: 'rgba(0,255,136,0.2)', color: '#00ff88', border: 'rgba(0,255,136,0.4)' }, - FAIR: { bg: 'rgba(255,180,50,0.2)', color: '#ffb432', border: 'rgba(255,180,50,0.4)' }, - POOR: { bg: 'rgba(255,68,102,0.2)', color: '#ff4466', border: 'rgba(255,68,102,0.4)' } - }; - const s = colors[band.condition] || colors.FAIR; - return ( -
-
{band.band}
-
{band.condition}
-
- ); - })} -
- {/* MUF/LUF */} - {propagation.data && ( -
- MUF {propagation.data.muf || '?'} - LUF {propagation.data.luf || '?'} -
- )} -
- - {/* Compact DX Cluster */} -
-
- DX Cluster - {dxCluster.data?.length || 0} spots -
-
- {dxCluster.data?.slice(0, 30).map((spot, i) => ( -
setHoveredSpot(spot)} - onMouseLeave={() => setHoveredSpot(null)} - > - {parseFloat(spot.freq).toFixed(1)} - {spot.call} - {spot.time || '--'} -
- ))} -
-
-
-
-
- - ) : config.layout === 'compact' ? ( - /* COMPACT LAYOUT - Optimized for 4:3 screens and data-first display */ -
- {/* TOP: Callsign + Times + Solar */} -
- {/* Row 1: Callsign + Times */} -
- setShowSettings(true)} - title="Settings" - > - {config.callsign} - -
-
-
UTC
-
{utcTime}
-
{utcDate}
-
-
-
Local
-
{localTime}
-
{localDate}
-
-
-
- - -
-
- {/* Row 2: Solar indices inline */} -
- - SFI - {solarIndices?.data?.sfi?.current || spaceWeather?.data?.solarFlux || '--'} - - - K - = 4 ? 'var(--accent-red)' : 'var(--accent-green)', fontWeight: '700' }}> - {solarIndices?.data?.kp?.current ?? spaceWeather?.data?.kIndex ?? '--'} - - - - SSN - {solarIndices?.data?.ssn?.current || '--'} - - {propagation.data && ( - <> - - MUF - {propagation.data.muf || '?'} MHz - - - LUF - {propagation.data.luf || '?'} MHz - - - )} - {localWeather?.data && ( - - {localWeather.data.icon} - {localWeather.data.temp}°{localWeather.data.tempUnit || tempUnit} - - )} -
-
- - {/* BAND CONDITIONS - Full Width */} -
-
- {(bandConditions?.data || []).slice(0, 13).map((band, idx) => { - const colors = { - GOOD: { bg: 'rgba(0,255,136,0.2)', color: '#00ff88', border: 'rgba(0,255,136,0.4)' }, - FAIR: { bg: 'rgba(255,180,50,0.2)', color: '#ffb432', border: 'rgba(255,180,50,0.4)' }, - POOR: { bg: 'rgba(255,68,102,0.2)', color: '#ff4466', border: 'rgba(255,68,102,0.4)' } - }; - const s = colors[band.condition] || colors.FAIR; - return ( -
-
{band.band}
-
{band.condition}
-
- ); - })} -
-
- - {/* MAIN: Map + DX Cluster side by side */} -
- {/* Map */} -
- -
- {deGrid} → {dxGrid} • Click map to set DX -
-
- - {/* Compact DX Cluster */} -
-
- DX Cluster - {dxCluster.data?.length || 0} -
-
- {dxCluster.data?.slice(0, 40).map((spot, i) => ( -
setHoveredSpot(spot)} - onMouseLeave={() => setHoveredSpot(null)} - > - {parseFloat(spot.freq).toFixed(1)} - {spot.call} - {spot.time || '--'} -
- ))} -
-
-
-
- ) : ( /* MODERN LAYOUT */
{ const layoutDescriptions = { modern: t('station.settings.layout.modern.describe'), - classic: t('station.settings.layout.classic.describe'), - tablet: t('station.settings.layout.tablet.describe'), - compact: t('station.settings.layout.compact.describe') + classic: t('station.settings.layout.classic.describe') }; return ( @@ -463,7 +461,7 @@ export const SettingsPanel = ({ isOpen, onClose, config, onSave }) => { {t('station.settings.layout')}
- {['modern', 'classic', 'tablet', 'compact'].map((l) => ( + {['modern', 'classic'].map((l) => ( ))}
diff --git a/src/lang/de.json b/src/lang/de.json index bd17759..7f23a69 100644 --- a/src/lang/de.json +++ b/src/lang/de.json @@ -53,9 +53,5 @@ "plugins.layers.earthquakes.description": "Live-USGS-Erdbebendaten (M2,5+ der letzten 24 Stunden)", "plugins.layers.wxradar.name": "Wetterradar", "plugins.layers.wxradar.description": "NEXRAD-Wetterradar-Überlagerung für Nordamerika", - "plugins.layers.wxradar.attribution": "Wetterdaten © Iowa State University Mesonet", - "station.settings.layout.tablet": "Tablet", - "station.settings.layout.tablet.describe": "→ Optimized for 7-10\" widescreen displays (16:9)", - "station.settings.layout.compact": "Compact", - "station.settings.layout.compact.describe": "→ Data-first layout for 4:3 and smaller screens" + "plugins.layers.wxradar.attribution": "Wetterdaten © Iowa State University Mesonet" } diff --git a/src/lang/en.json b/src/lang/en.json index 08a0d2a..49a03bd 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -28,10 +28,6 @@ "station.settings.layout.classic.describe": "→ Original HamClock-style layout", "station.settings.layout.modern": "Modern", "station.settings.layout.modern.describe": "→ Modern responsive grid layout", - "station.settings.layout.tablet": "Tablet", - "station.settings.layout.tablet.describe": "→ Optimized for 7-10\" widescreen displays (16:9)", - "station.settings.layout.compact": "Compact", - "station.settings.layout.compact.describe": "→ Data-first layout for 4:3 and smaller screens", "station.settings.latitude": "Latitude", "station.settings.locator": "Grid Square (or enter Lat/Lon below)", "station.settings.longitude": "Longitude", diff --git a/src/lang/es.json b/src/lang/es.json index dcd99e0..4bda44d 100644 --- a/src/lang/es.json +++ b/src/lang/es.json @@ -54,9 +54,5 @@ "plugins.layers.earthquakes.description": "Datos sísmicos en vivo del USGS (M2.5+ de las últimas 24 horas)", "plugins.layers.wxradar.name": "Radar meteorológico", "plugins.layers.wxradar.description": "Superposición del radar meteorológico NEXRAD para Norteamérica", - "plugins.layers.wxradar.attribution": "Datos meteorológicos © Iowa State University Mesonet", - "station.settings.layout.tablet": "Tablet", - "station.settings.layout.tablet.describe": "→ Optimized for 7-10\" widescreen displays (16:9)", - "station.settings.layout.compact": "Compact", - "station.settings.layout.compact.describe": "→ Data-first layout for 4:3 and smaller screens" + "plugins.layers.wxradar.attribution": "Datos meteorológicos © Iowa State University Mesonet" } diff --git a/src/lang/fr.json b/src/lang/fr.json index 5d33094..cae97fc 100644 --- a/src/lang/fr.json +++ b/src/lang/fr.json @@ -53,9 +53,5 @@ "plugins.layers.earthquakes.description": "Données sismiques USGS en direct (M2,5+ sur les dernières 24 heures)", "plugins.layers.wxradar.name": "Radar météo", "plugins.layers.wxradar.description": "Surcouche du radar météo NEXRAD pour l’Amérique du Nord", - "plugins.layers.wxradar.attribution": "Données météo © Iowa State University Mesonet", - "station.settings.layout.tablet": "Tablet", - "station.settings.layout.tablet.describe": "→ Optimized for 7-10\" widescreen displays (16:9)", - "station.settings.layout.compact": "Compact", - "station.settings.layout.compact.describe": "→ Data-first layout for 4:3 and smaller screens" + "plugins.layers.wxradar.attribution": "Données météo © Iowa State University Mesonet" } diff --git a/src/lang/it.json b/src/lang/it.json index d2d24fa..b18d457 100644 --- a/src/lang/it.json +++ b/src/lang/it.json @@ -53,9 +53,5 @@ "plugins.layers.earthquakes.description": "Dati sismici USGS in tempo reale (M2,5+ delle ultime 24 ore)", "plugins.layers.wxradar.name": "Radar meteorologico", "plugins.layers.wxradar.description": "Sovrapposizione del radar meteorologico NEXRAD per il Nord America", - "plugins.layers.wxradar.attribution": "Dati meteo © Iowa State University Mesonet", - "station.settings.layout.tablet": "Tablet", - "station.settings.layout.tablet.describe": "→ Optimized for 7-10\" widescreen displays (16:9)", - "station.settings.layout.compact": "Compact", - "station.settings.layout.compact.describe": "→ Data-first layout for 4:3 and smaller screens" + "plugins.layers.wxradar.attribution": "Dati meteo © Iowa State University Mesonet" } diff --git a/src/lang/ja.json b/src/lang/ja.json index 1407a08..59d4447 100644 --- a/src/lang/ja.json +++ b/src/lang/ja.json @@ -53,9 +53,5 @@ "plugins.layers.earthquakes.description": "USGSのリアルタイム地震データ(過去24時間のM2.5以上)", "plugins.layers.wxradar.name": "気象レーダー", "plugins.layers.wxradar.description": "北米向けNEXRAD気象レーダーのオーバーレイ", - "plugins.layers.wxradar.attribution": "気象データ © Iowa State University Mesonet", - "station.settings.layout.tablet": "Tablet", - "station.settings.layout.tablet.describe": "→ Optimized for 7-10\" widescreen displays (16:9)", - "station.settings.layout.compact": "Compact", - "station.settings.layout.compact.describe": "→ Data-first layout for 4:3 and smaller screens" + "plugins.layers.wxradar.attribution": "気象データ © Iowa State University Mesonet" } diff --git a/src/lang/ko.json b/src/lang/ko.json index 21db534..8d703c0 100644 --- a/src/lang/ko.json +++ b/src/lang/ko.json @@ -53,9 +53,5 @@ "plugins.layers.earthquakes.description": "USGS 실시간 지진 데이터 (지난 24시간 동안 일어난 규모 M2.5 이상의 지진)", "plugins.layers.wxradar.name": "기상 레이더", "plugins.layers.wxradar.description": "북아메리카 지역 NEXRAD 기상 레이더 오버레이", - "plugins.layers.wxradar.attribution": "기상 데이터 © Iowa State University Mesonet", - "station.settings.layout.tablet": "Tablet", - "station.settings.layout.tablet.describe": "→ Optimized for 7-10\" widescreen displays (16:9)", - "station.settings.layout.compact": "Compact", - "station.settings.layout.compact.describe": "→ Data-first layout for 4:3 and smaller screens" + "plugins.layers.wxradar.attribution": "기상 데이터 © Iowa State University Mesonet" } diff --git a/src/lang/nl.json b/src/lang/nl.json index b46b5d9..b45fcb5 100644 --- a/src/lang/nl.json +++ b/src/lang/nl.json @@ -53,9 +53,5 @@ "plugins.layers.earthquakes.description": "Live USGS-aardbevingsgegevens (M2,5+ van de afgelopen 24 uur)", "plugins.layers.wxradar.name": "Weerradar", "plugins.layers.wxradar.description": "NEXRAD-weerradaroverlay voor Noord-Amerika", - "plugins.layers.wxradar.attribution": "Weergegevens © Iowa State University Mesonet", - "station.settings.layout.tablet": "Tablet", - "station.settings.layout.tablet.describe": "→ Optimized for 7-10\" widescreen displays (16:9)", - "station.settings.layout.compact": "Compact", - "station.settings.layout.compact.describe": "→ Data-first layout for 4:3 and smaller screens" + "plugins.layers.wxradar.attribution": "Weergegevens © Iowa State University Mesonet" } diff --git a/src/lang/pt.json b/src/lang/pt.json index 4cd8cb2..8091927 100644 --- a/src/lang/pt.json +++ b/src/lang/pt.json @@ -53,9 +53,5 @@ "plugins.layers.earthquakes.description": "Dados sísmicos do USGS ao vivo (M2,5+ das últimas 24 horas)", "plugins.layers.wxradar.name": "Radar meteorológico", "plugins.layers.wxradar.description": "Sobreposição do radar meteorológico NEXRAD para a América do Norte", - "plugins.layers.wxradar.attribution": "Dados meteorológicos © Iowa State University Mesonet", - "station.settings.layout.tablet": "Tablet", - "station.settings.layout.tablet.describe": "→ Optimized for 7-10\" widescreen displays (16:9)", - "station.settings.layout.compact": "Compact", - "station.settings.layout.compact.describe": "→ Data-first layout for 4:3 and smaller screens" + "plugins.layers.wxradar.attribution": "Dados meteorológicos © Iowa State University Mesonet" } diff --git a/src/styles/main.css b/src/styles/main.css index eda3aa7..ad8b710 100644 --- a/src/styles/main.css +++ b/src/styles/main.css @@ -905,105 +905,3 @@ body::before { position: relative; z-index: 10000 !important; } - -/* ============================================ - RESPONSIVE: Phone & Small Screen Overrides - ============================================ */ - -/* Tablets and small screens (under 1024px) */ -@media (max-width: 1024px) { - .panel { - padding: 6px !important; - border-radius: 4px !important; - } - - .panel-header { - font-size: 11px !important; - padding: 4px 6px !important; - } -} - -/* Phone landscape and small tablets (under 768px) */ -@media (max-width: 768px) { - /* Force single-column on modern layout */ - .ohc-mobile-stack { - display: flex !important; - flex-direction: column !important; - grid-template-columns: unset !important; - } - - .panel { - padding: 4px !important; - margin-bottom: 2px !important; - border-radius: 3px !important; - } - - .panel-header { - font-size: 10px !important; - padding: 3px 6px !important; - } - - /* Prevent horizontal overflow */ - body { - overflow-x: hidden; - } -} - -/* Phone portrait (under 480px) */ -@media (max-width: 480px) { - /* Extra compact for phones */ - .panel { - padding: 3px !important; - font-size: 11px !important; - } - - .panel-header { - font-size: 9px !important; - } - - /* Reduce font sizes globally for very small screens */ - body { - font-size: 12px; - } -} - -/* Short screens (Pi 7" touchscreen at 480px height) */ -@media (max-height: 520px) { - .panel { - padding: 3px !important; - } - - .panel-header { - padding: 2px 4px !important; - font-size: 10px !important; - } -} - -/* Touch device improvements */ -@media (pointer: coarse) { - /* Larger tap targets for touchscreens */ - button { - min-height: 36px; - min-width: 36px; - } - - /* Prevent text selection on tap */ - .panel-header { - user-select: none; - -webkit-user-select: none; - } - - /* Scrollbar styling for touch */ - ::-webkit-scrollbar { - width: 4px; - } - - ::-webkit-scrollbar-track { - background: transparent; - } - - ::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, 0.15); - border-radius: 2px; - } -}