Compare commits
26 Commits
offline-old
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 80754523ff | |||
|
819490f537
|
|||
|
f994ebdb26
|
|||
|
88f2682fb7
|
|||
|
7f9383f82a
|
|||
|
cd90c92330
|
|||
|
eaa9aab86a
|
|||
| 527aa03be8 | |||
| aa8bd76562 | |||
| 39b47a4dec | |||
|
7500e3c535
|
|||
|
50a2b3025c
|
|||
|
9ff78444f7
|
|||
|
2a8c58057b
|
|||
| f3e7a30971 | |||
|
4a787895ff
|
|||
|
dedc8eec26
|
|||
|
2aacea3d68
|
|||
|
8aefa1bda1
|
|||
|
d35d017f88
|
|||
|
de60122e0a
|
|||
|
9b2d443055
|
|||
|
4198153c8d
|
|||
|
af27889f65
|
|||
|
4700cbbd37
|
|||
|
2d9b8374d8
|
@@ -0,0 +1,10 @@
|
||||
name: Gitea Pages
|
||||
run-name: Gitea Pages
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
Gitea-Pages:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: 'curl -i -H "Accept: application/json" -H "Content-Type:application/json" -X POST --data "{\"repo\": \"${{ gitea.repository }}\",\"branch\": \"main\"}" http://192.168.0.201:11003/pages'
|
||||
- run: 'curl -i -H "Accept: application/json" -H "Content-Type:application/json" -X POST --data "{\"repo\": \"${{ gitea.repository }}\"}" http://192.168.0.201:11003/changerepourl'
|
||||
@@ -4,7 +4,7 @@ import re
|
||||
|
||||
app = Flask(__name__)
|
||||
name = "Aviation Assistant v2"
|
||||
software_version = "v.1.0.1"
|
||||
software_version = "v.2.1.2"
|
||||
tar1090_version = "dafba99"
|
||||
dump1090_version = "a80ba8f"
|
||||
|
||||
@@ -61,4 +61,5 @@ def after_request(response):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(host='0.0.0.0', port=5000)
|
||||
context = ('/etc/lighttpd/ssl2/aa.local_cert.pem','/etc/lighttpd/ssl2/aa.local_key.pem')
|
||||
app.run(host='0.0.0.0', port=5000, ssl_context=context)
|
||||
|
||||
@@ -201,7 +201,7 @@ function fetchData() {
|
||||
return;
|
||||
}
|
||||
|
||||
FetchPending = $.ajax({ url: 'data/aircraft.json',
|
||||
FetchPending = $.ajax({ url: 'data/aircraft.json?_='+Date.now(),
|
||||
timeout: 5000,
|
||||
cache: false,
|
||||
dataType: 'json' });
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDyTCCArECFD2SAgxqJbnsvuKLIfQ/xikdlhiGMA0GCSqGSIb3DQEBCwUAMIGg
|
||||
MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFTWFpbmUxDjAMBgNVBAcMBU9yb25vMSsw
|
||||
KQYDVQQKDCJDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgTG9jYWwgQ2VudGVyMRAwDgYD
|
||||
VQQLDAdEZXZlbG9wMREwDwYDVQQDDAhhYS5sb2NhbDEfMB0GCSqGSIb3DQEJARYQ
|
||||
bm9yZXBseUBhYS5sb2NhbDAeFw0yNDAxMzEwMzIzNDdaFw0yOTAxMjkwMzIzNDda
|
||||
MIGgMQswCQYDVQQGEwJVUzEOMAwGA1UECAwFTWFpbmUxDjAMBgNVBAcMBU9yb25v
|
||||
MSswKQYDVQQKDCJDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgTG9jYWwgQ2VudGVyMRAw
|
||||
DgYDVQQLDAdEZXZlbG9wMREwDwYDVQQDDAhhYS5sb2NhbDEfMB0GCSqGSIb3DQEJ
|
||||
ARYQbm9yZXBseUBhYS5sb2NhbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
||||
ggEBAMlfpXR/TG/y8MHnbHyEpD5VTYbaqZyZemZk9XOvzhsF5EArKCZPLtLjyJ2z
|
||||
zJfRcsw7Aiank3cUhT0lFLrUsyYmvoLiMfrn0xEOLTzdBSEqtH7GiyfNYEY0NimJ
|
||||
g3q1QfwYmnaRI8t0h/kYqZawYw3a9z/XgFrYd3DXMI1bF/d6WmQoHiM67Qniv9Ug
|
||||
kUtcmTZRK8NLpxG3TpsCuwv/KPIj5okJ2r4cJx0BGg57HrVZm+HstUP7W7EG0Sa1
|
||||
suzuuSCN6wfBZSB9ERkphDjYdaR9ckrStVv5X4jnq2COnHSWyLvB6O91IHKY3Z52
|
||||
oUFxSyu7mu5FSq39x+g0U+gPJlECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAvuIo
|
||||
d8bfNukcP6UKGoo6ac0z5s9yxljf/dMT96qfMmTtgXPtmc9PMSygfgg1l3P5YKdP
|
||||
FHCEn0ZkWGwjwRp1jLfs0tO6kGGKDIvC6a7/xxwf7IFyLy9qPTpupj2cIEniqHBv
|
||||
gkBdyI7crid7YNgxDHFrLMAmNeMT46PthxbmYcKSqr/ur5hhwT5OgShPBQpeiZcd
|
||||
/QcaxE7/3T0kiRia0xxCa0tTRIrLue7Wg21pCyBbOV5g/rl/eild8jQJT4jX6DVI
|
||||
oBxcQJ5cmEcUkIij8vO+WBJBZkaCsxrbtE9L6JDmcHu4gcnUxtAi0sCa15UE10Su
|
||||
GMo35LFMBdBLYoriyw==
|
||||
-----END CERTIFICATE-----
|
||||
+45
-9
@@ -24,7 +24,7 @@
|
||||
<meta name="theme-color" content="#ffffff" />
|
||||
|
||||
<!-- Styles -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
|
||||
<link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.grey-teal.min.css" />
|
||||
<script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
@@ -40,17 +40,53 @@
|
||||
<script defer src="./main.js"></script>
|
||||
</head>
|
||||
<body onload="onload()">
|
||||
<div id="loading">
|
||||
<img id="loading_icon" src="images/loading.gif">
|
||||
<br>Connecting to Aviation Assistant<br>Please Wait.
|
||||
</div>
|
||||
<div id="header" style="left: 210px;display: none">
|
||||
<button class="mdl-button mdl-js-button mdl-button--raised" onclick="main()">tar1090</button>
|
||||
<button class="mdl-button mdl-js-button mdl-button--raised" onclick="window.location.href = 'shortcuts://run-shortcut?name=OpenADSBWebLaunch'">OpenADSB</button>
|
||||
<button class="mdl-button mdl-js-button mdl-button--raised" onclick="settings()">Settings</button>
|
||||
<div id="header_nav">
|
||||
<button class="mdl-button mdl-js-button mdl-button--raised" onclick="main()">tar1090</button>
|
||||
<button class="mdl-button mdl-js-button mdl-button--raised" onclick="window.location.href = 'shortcuts://run-shortcut?name=OpenADSBWebLaunch'">OpenADSB</button>
|
||||
<button class="mdl-button mdl-js-button mdl-button--raised" onclick="ATC()" id="ATC_Button">LiveATC</button>
|
||||
<button class="mdl-button mdl-js-button mdl-button--raised" onclick="settings()">Settings</button>
|
||||
</div>
|
||||
<div id="header_atc">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<button class="mdl-button mdl-js-button mdl-button--fab mdl-button--mini-fab" id="ATC_Pause_Play" onmouseup="pausePlay()">
|
||||
<i class="material-icons" id="ATC_Pause_Play_Icon">stop</i>
|
||||
</button>
|
||||
</td>
|
||||
<td>
|
||||
<span id="audioControl_CurrentFeedName">No Feed Loaded</span><br>
|
||||
<span id="audioControl_CurrentFeedStatus" style="color:red;">•</span><span id="audioControl_CurrentFeedStatusText">Disconnected</span> <span id="audioControl_CurrentFeedTimeFormatting">(<span id="audioControl_CurrentFeedTime">00:00:00</span>)</span>
|
||||
<audio id="player">
|
||||
<source type="audio/mpeg">
|
||||
</audio>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="sidebar" style="display: none">
|
||||
<div>
|
||||
<span id="sidebar_back_button"><i class="material-icons" style="font-size: 30px;margin: 15px;z-index: 5;" >arrow_back_ios_new</i></span>
|
||||
<span style="font-size:30px;font-weight: bold;margin: 15px;">Aircraft Radio</span>
|
||||
<span style="font-size: 14px;margin: auto;">Powered By LiveATC</span>
|
||||
</div>
|
||||
<div id="ATC_State_Information"></div>
|
||||
<div id="ATC_Airport_Information"></div>
|
||||
<hr>
|
||||
<div id="ATC_Data">
|
||||
<ul class="mdl-list" id="ATC_Data_List">
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="loading" style="display: block">
|
||||
<img id="loading_icon" src="images/loading.gif">
|
||||
<br>Connecting to Aviation Assistant<br>Please Wait.
|
||||
</div>
|
||||
<div id="main_tab" style="display: none">
|
||||
<iframe src="http://aa.local/tar1090"></iframe>
|
||||
<iframe src="https://aa.local/tar1090"></iframe>
|
||||
</div>
|
||||
<div id="settings" style="display: none">
|
||||
<h2>Settings</h2>
|
||||
|
||||
+197
-5
@@ -1,24 +1,97 @@
|
||||
ATC_AIRPORTS = {}
|
||||
var usStates = {
|
||||
'Alabama': 'AL',
|
||||
'Alaska': 'AK',
|
||||
'Arizona': 'AZ',
|
||||
'Arkansas': 'AR',
|
||||
'California': 'CA',
|
||||
'Colorado': 'CO',
|
||||
'Connecticut': 'CT',
|
||||
'Delaware': 'DE',
|
||||
'Florida': 'FL',
|
||||
'Georgia': 'GA',
|
||||
'Hawaii': 'HI',
|
||||
'Idaho': 'ID',
|
||||
'Illinois': 'IL',
|
||||
'Indiana': 'IN',
|
||||
'Iowa': 'IA',
|
||||
'Kansas': 'KS',
|
||||
'Kentucky': 'KY',
|
||||
'Louisiana': 'LA',
|
||||
'Maine': 'ME',
|
||||
'Maryland': 'MD',
|
||||
'Massachusetts': 'MA',
|
||||
'Michigan': 'MI',
|
||||
'Minnesota': 'MN',
|
||||
'Mississippi': 'MS',
|
||||
'Missouri': 'MO',
|
||||
'Montana': 'MT',
|
||||
'Nebraska': 'NE',
|
||||
'Nevada': 'NV',
|
||||
'New Hampshire': 'NH',
|
||||
'New Jersey': 'NJ',
|
||||
'New Mexico': 'NM',
|
||||
'New York': 'NY',
|
||||
'North Carolina': 'NC',
|
||||
'North Dakota': 'ND',
|
||||
'Ohio': 'OH',
|
||||
'Oklahoma': 'OK',
|
||||
'Oregon': 'OR',
|
||||
'Pennsylvania': 'PA',
|
||||
'Rhode Island': 'RI',
|
||||
'South Carolina': 'SC',
|
||||
'South Dakota': 'SD',
|
||||
'Tennessee': 'TN',
|
||||
'Texas': 'TX',
|
||||
'Utah': 'UT',
|
||||
'Vermont': 'VT',
|
||||
'Virginia': 'VA',
|
||||
'Washington': 'WA',
|
||||
'West Virginia': 'WV',
|
||||
'Wisconsin': 'WI',
|
||||
'Wyoming': 'WY'
|
||||
};
|
||||
|
||||
function main() {
|
||||
document.getElementById("main_tab").style.display = "block";
|
||||
document.getElementById("settings").style.display = "none";
|
||||
document.getElementById("sidebar").style.display = "none";
|
||||
document.getElementById("header_atc").style.visibility = "visible";
|
||||
document.getElementById("ATC_Button").style.display = "inline-block";
|
||||
document.getElementById("header").style.left = "210px"
|
||||
}
|
||||
|
||||
function settings() {
|
||||
document.getElementById("main_tab").style.display = "none";
|
||||
document.getElementById("settings").style.display = "block";
|
||||
document.getElementById("sidebar").style.display = "none";
|
||||
document.getElementById("header_atc").style.visibility = "hidden";
|
||||
document.getElementById("ATC_Button").style.display = "inline-block";
|
||||
document.getElementById("header").style.left = "2%"
|
||||
}
|
||||
|
||||
function onload() {
|
||||
function ATC() {
|
||||
document.getElementById("main_tab").style.display = "block";
|
||||
document.getElementById("sidebar").style.display = "flex";
|
||||
document.getElementById("ATC_Button").style.display = "none";
|
||||
document.getElementById("settings").style.display = "none";
|
||||
document.getElementById("header_atc").style.visibility = "visible";
|
||||
document.getElementById("header").style.left = "10px"
|
||||
}
|
||||
|
||||
function onload() {
|
||||
document.getElementById("sidebar_back_button").addEventListener("click", function () {
|
||||
main()
|
||||
});
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", "http://aa.local:5000/alive", true);
|
||||
xhr.open("GET", "https://aa.local:5000/alive?_="+Date.now(), true);
|
||||
xhr.setRequestHeader('Content-Type', 'application/json');
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === 4 && xhr.status != 0) {
|
||||
document.getElementById("loading").style.display = "none"
|
||||
document.getElementById("header").style.display = "block"
|
||||
document.getElementById("main_tab").style.display = "block"
|
||||
liveATCPreload()
|
||||
updateSettings()
|
||||
setInterval(updateSettings, 10000)
|
||||
} else if (xhr.readyState == 4) {
|
||||
@@ -27,12 +100,12 @@ function onload() {
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
xhr.send();
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
function updateSettings() {
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", "http://aa.local:5000/information", true);
|
||||
xhr.open("GET", "https://aa.local:5000/information?_="+Date.now(), true);
|
||||
xhr.setRequestHeader('Content-Type', 'application/json');
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === 4) {
|
||||
@@ -52,7 +125,7 @@ function updateSettings() {
|
||||
|
||||
function sendcommand(command) {
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", "http://aa.local:5000/"+command, true);
|
||||
xhr.open("GET", "https://aa.local:5000/"+command, true);
|
||||
xhr.setRequestHeader('Content-Type', 'application/json');
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === 4) {
|
||||
@@ -82,4 +155,123 @@ function screenMessage(text) {
|
||||
var snackbarContainer = document.querySelector('#toasts');
|
||||
var data = {message: text};
|
||||
snackbarContainer.MaterialSnackbar.showSnackbar(data);
|
||||
}
|
||||
|
||||
function HHMMSS(time) {
|
||||
var sec_num = parseInt(time, 10); // don't forget the second param
|
||||
var hours = Math.floor(sec_num / 3600);
|
||||
var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
|
||||
var seconds = sec_num - (hours * 3600) - (minutes * 60);
|
||||
|
||||
if (hours < 10) {
|
||||
hours = "0" + hours;
|
||||
}
|
||||
if (minutes < 10) {
|
||||
minutes = "0" + minutes;
|
||||
}
|
||||
if (seconds < 10) {
|
||||
seconds = "0" + seconds;
|
||||
}
|
||||
return hours + ':' + minutes + ':' + seconds;
|
||||
}
|
||||
|
||||
function liveATCPreload() {
|
||||
xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", "https://server1.nicholaspease.com/reports/liveatc.json", true);
|
||||
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === 4 && xhr.status != 0) {
|
||||
ATC_AIRPORTS = JSON.parse(xhr.response)
|
||||
listState()
|
||||
}
|
||||
}
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
function listState() {
|
||||
document.getElementById("ATC_Data_List").innerHTML = ""
|
||||
document.getElementById("ATC_State_Information").setAttribute("onclick","")
|
||||
document.getElementById("ATC_State_Information").style.display = "none"
|
||||
document.getElementById("ATC_Airport_Information").style.display = "none"
|
||||
for (state in ATC_AIRPORTS) {
|
||||
node = document.createElement("div")
|
||||
numOfFeeds = 0
|
||||
numofAirports = 0
|
||||
for (i in ATC_AIRPORTS[state].airports) {
|
||||
numofAirports++
|
||||
for (j in ATC_AIRPORTS[state].airports[i])
|
||||
for (k in ATC_AIRPORTS[state].airports[i].feeds)
|
||||
numOfFeeds++
|
||||
}
|
||||
node.innerHTML = '<li onclick="selectState(\''+state+'\')" class="mdl-list__item mdl-list__item--two-line"><span class="mdl-list__item-primary-content"><span style="font-size: 40px;font-weight:100;width:40px;height:40px;margin-right: 30px;">'+usStates[state]+'</span><span style="font-size: 24px">'+state+'</span><span class="mdl-list__item-sub-title">'+numofAirports+' Airports,<span style="margin-left: 5px;">'+numOfFeeds+' Feeds</span></span></span></li>'
|
||||
document.getElementById("ATC_Data_List").appendChild(node)
|
||||
}
|
||||
}
|
||||
|
||||
function truncate(str, n){
|
||||
return (str.length > n) ? str.slice(0, n-1) + '…' : str;
|
||||
};
|
||||
|
||||
function selectState(state) {
|
||||
document.getElementById("ATC_State_Information").style.display = "block"
|
||||
document.getElementById("ATC_Airport_Information").style.display = "none"
|
||||
document.getElementById("ATC_State_Information").setAttribute("onclick","listState()")
|
||||
document.getElementById("ATC_State_Information").innerHTML = '<span style="font-size: 40px;font-weight:100;width:40px;height:40px;margin-right: 30px;">'+usStates[state]+'</span><span style="font-size: 24px">'+state+'</span>'
|
||||
document.getElementById("ATC_Data_List").innerHTML = ""
|
||||
for (airport in ATC_AIRPORTS[state].airports) {
|
||||
node = document.createElement("div")
|
||||
feeds = 0
|
||||
for (i in ATC_AIRPORTS[state].airports[airport].feeds)
|
||||
feeds++
|
||||
node.innerHTML = '<li onclick="selectAirport(\''+state+'\',\''+airport+'\')" class="mdl-list__item mdl-list__item--two-line"><span class="mdl-list__item-primary-content"><span style="font-size: 40px;font-weight:100;width:40px;height:40px;margin-right: 30px;">'+airport+'</span><span style="font-size: 18px;text-overflow: ellipse;white-space: nowrap;overflow:hidden">'+truncate(ATC_AIRPORTS[state].airports[airport].name,30)+'</span><span class="mdl-list__item-sub-title">'+feeds+' Feeds</span></span></li>'
|
||||
document.getElementById("ATC_Data_List").appendChild(node)
|
||||
}
|
||||
document.getElementById("ATC_Data").scrollTop = 0;
|
||||
}
|
||||
|
||||
function selectAirport(state,airport) {
|
||||
document.getElementById("ATC_State_Information").style.display = "block"
|
||||
document.getElementById("ATC_Airport_Information").style.display = "block"
|
||||
document.getElementById("ATC_Airport_Information").setAttribute("onclick","selectState('"+state+"')")
|
||||
document.getElementById("ATC_Data_List").innerHTML = ""
|
||||
document.getElementById("ATC_Airport_Information").innerHTML = '<span style="font-size: 40px;font-weight:100;width:40px;height:40px;margin-right: 30px;">'+airport+'</span><span style="font-size: 18px;text-overflow: ellipse;white-space: nowrap;overflow:hidden">'+truncate(ATC_AIRPORTS[state].airports[airport].name,30)+'</span>'
|
||||
for (feed in ATC_AIRPORTS[state].airports[airport].feeds) {
|
||||
node = document.createElement("div")
|
||||
node.innerHTML = '<li onclick="selectFeed(\''+state+'\',\''+airport+'\',\''+feed+'\')" class="mdl-list__item mdl-list__item--two-line"><span class="mdl-list__item-primary-content"><span style="font-size: 26px;text-overflow: ellipse;white-space: nowrap;overflow:hidden">'+truncate(ATC_AIRPORTS[state].airports[airport].feeds[feed].name,30)+'</span><span class="mdl-list__item-sub-title">'+ATC_AIRPORTS[state].airports[airport].location+'</span></span></span></li>'
|
||||
document.getElementById("ATC_Data_List").appendChild(node)
|
||||
}
|
||||
document.getElementById("ATC_Data").scrollTop = 0;
|
||||
}
|
||||
|
||||
function selectFeed(state,airport,feed) {
|
||||
feed = ATC_AIRPORTS[state].airports[airport].feeds[feed]
|
||||
re = /\/[^/]*\/([^.]*)/
|
||||
console.log(re.exec(feed.url)[1]) //http://d.liveatc.net/
|
||||
document.getElementById("player").setAttribute("src", "https://d.liveatc.net/"+re.exec(feed.url)[1])
|
||||
document.getElementById("player").play()
|
||||
document.getElementById("audioControl_CurrentFeedName").innerHTML = feed.name
|
||||
document.getElementById("audioControl_CurrentFeedStatus").style.color = "orange"
|
||||
document.getElementById("audioControl_CurrentFeedStatusText").innerHTML = "Connecting"
|
||||
document.getElementById("ATC_Pause_Play_Icon").innerHTML = "pause"
|
||||
window.setInterval(function () {
|
||||
if (document.getElementById("player").readyState === 3 || document.getElementById("player").readyState === 4) {
|
||||
document.getElementById("audioControl_CurrentFeedStatus").style.color = "green"
|
||||
document.getElementById("audioControl_CurrentFeedStatusText").innerHTML = "Connected"
|
||||
} else {
|
||||
document.getElementById("audioControl_CurrentFeedStatus").style.color = "orange"
|
||||
document.getElementById("audioControl_CurrentFeedStatusText").innerHTML = "Connecting"
|
||||
}
|
||||
var time = document.getElementById("player").currentTime
|
||||
document.getElementById("audioControl_CurrentFeedTime").innerHTML = HHMMSS(time)
|
||||
}, 500)
|
||||
}
|
||||
|
||||
function pausePlay() {
|
||||
if (document.getElementById("ATC_Pause_Play_Icon").innerHTML == "pause") {
|
||||
document.getElementById("player").pause()
|
||||
document.getElementById("ATC_Pause_Play_Icon").innerHTML = "play_arrow"
|
||||
} else if (document.getElementById("ATC_Pause_Play_Icon").innerHTML == "play_arrow") {
|
||||
document.getElementById("player").play()
|
||||
document.getElementById("ATC_Pause_Play_Icon").innerHTML = "pause"
|
||||
}
|
||||
}
|
||||
+120
-5
@@ -5,7 +5,7 @@
|
||||
}
|
||||
|
||||
html * {
|
||||
font-family: SF-Pro !important;
|
||||
font-family: SF-Pro !important MaterialIcons;
|
||||
}
|
||||
|
||||
#settings_logo {
|
||||
@@ -16,6 +16,14 @@ html * {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#header > button {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
#header > button:nth-last-child(1) {
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
background-color: white;
|
||||
@@ -34,13 +42,19 @@ body {
|
||||
|
||||
#header {
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 10px;
|
||||
border-radius: 8px;
|
||||
z-index: 1;
|
||||
background-color: rgba(255, 255, 255, 0.7);
|
||||
width: 800px;
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
#header_nav {
|
||||
display: inline-block;
|
||||
position:relative;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
|
||||
border-radius: 8px;
|
||||
padding: 10px;
|
||||
top: -30px;
|
||||
}
|
||||
|
||||
#main_tab {
|
||||
@@ -103,4 +117,105 @@ body {
|
||||
top: 50%;
|
||||
text-align: center;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
/* ATC DATA */
|
||||
#header_atc {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
left: 5px;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
|
||||
border-radius: 8px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#audioControl_CurrentFeedName {
|
||||
font-size: 20px;
|
||||
margin-left: 15px;
|
||||
position: relative;
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
#audioControl_CurrentFeedStatus {
|
||||
font-size: 42px;
|
||||
line-height: 8px;
|
||||
margin-left: 15px;
|
||||
position: relative;
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
#audioControl_CurrentFeedStatusText {
|
||||
margin-left: 5px;
|
||||
line-height: 8px;
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
top: -5px;
|
||||
}
|
||||
|
||||
#audioControl_CurrentFeedTimeFormatting {
|
||||
margin-left: 3px;
|
||||
line-height: 8px;
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
top: -5px;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
left: calc(100% - 475px);
|
||||
height: calc(100% - 30px);
|
||||
width: 450px;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
|
||||
border-radius: 8px;
|
||||
line-height: 30px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.ATC_State {
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
|
||||
border-radius: 8px;
|
||||
width: 90px;
|
||||
margin: 15px;
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.ATC_State_Name {
|
||||
font-size: 26px;
|
||||
}
|
||||
|
||||
#ATC_Data {
|
||||
overflow: auto;
|
||||
max-height: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#ATC_Data > ul {
|
||||
height: calc(100%);
|
||||
}
|
||||
|
||||
#ATC_Data_List {
|
||||
margin-top: 0px;
|
||||
padding-top: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#ATC_State_Information {
|
||||
margin: 10px 0px 0px 10px;
|
||||
}
|
||||
|
||||
#ATC_Airport_Information {
|
||||
margin: 10px 10px 0px 10px;
|
||||
}
|
||||
|
||||
#player {
|
||||
display: none;
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
const cacheName = "cache2"; // Change value to force update
|
||||
const cacheName = "cache3"; // Change value to force update
|
||||
|
||||
self.addEventListener("install", event => {
|
||||
// Kick out the old service worker
|
||||
|
||||
Reference in New Issue
Block a user