diff --git a/op25/gr-op25_repeater/www/www-static/index.html b/op25/gr-op25_repeater/www/www-static/index.html
index 506e52c..75603db 100644
--- a/op25/gr-op25_repeater/www/www-static/index.html
+++ b/op25/gr-op25_repeater/www/www-static/index.html
@@ -1,44 +1,106 @@
+
+
-
-
-Waiting for data
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Waiting for data...
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-©Copyright 2017, 2018 Max H. Parke KA1RBI
-
-This program comes with ABSOLUTELY NO WARRANTY.
-OP25 is free software, and you are welcome to redistribute it
-under certain conditions. For further details refer to this link:
-LICENSE
-
+
diff --git a/op25/gr-op25_repeater/www/www-static/main.css b/op25/gr-op25_repeater/www/www-static/main.css
index cad6b17..aee67a5 100644
--- a/op25/gr-op25_repeater/www/www-static/main.css
+++ b/op25/gr-op25_repeater/www/www-static/main.css
@@ -1,5 +1,253 @@
-body {background-color: yellow;}
-table { border-style: solid; background-color: #00c000; border-collapse: collapse}
-th {border-style: solid;}
-td {border-style: solid;}
-input#s_table_nac {text-align: right;}
+#div_status body {
+
+ background-color: LightGray;
+ font-family: Arial, Helvetica, sans-serif;
+
+}
+
+#div_status table {
+
+ border-style: solid;
+ background-color: #336699;
+ border-collapse: collapse;
+ font-family: "Courier New", Courier, Monospace;
+
+}
+
+#div_status th {
+
+ border-style: solid;
+ padding: 3px;
+ font-family: Arial, Helvetica, sans-serif;
+ color: #000;
+ font-weight: bold;
+ background: #669999; /* For browsers that do not support gradients */
+ background: linear-gradient(#669999, #77AAAA);
+
+}
+
+#div_status td {
+
+ border-style: solid;
+ padding: 3px;
+
+}
+
+hr {
+ width: 730px;
+ float: left;
+ padding: 0px;
+}
+
+/* the buttons */
+
+.scan-button {
+ /* background-color: #669999; */
+ border-color: black;
+ color: white;
+ padding: 10px 10px;
+ text-decoration: none;
+ margin: 4px 2px;
+ cursor: pointer;
+ width: 100px;
+ font-size: 14px;
+ font-weight: bold;
+ box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 3px 10px 0 rgba(0,0,0,0.19);
+ background: #669999; /* For browsers that do not support gradients */
+ background: linear-gradient(#669999, #82B0B0);
+}
+
+/* flex container for top buttons */
+
+/*
+the flex properties are more useful when a variable-width is applied,
+but can be safely left in place even when using a fixed width
+*/
+
+.flex-container {
+ display: flex;
+ width: 730px;
+ justify-content: space-between;
+
+}
+
+.flex-container > div {
+ width: 100px;
+ margin: 0px;
+ text-align: center;
+ line-height: 75px;
+ font-size: 30px;
+}
+
+
+/* main info container for the two tables */
+
+div.info {
+
+ position: relative;
+ width: 730px;
+ height: auto;
+ border: 0px solid #000;
+}
+
+/* system frequencies container that holds the table */
+
+.top {
+
+ text-align: left;
+ border: 0px solid #000;
+
+}
+
+div.system {
+
+ position: absolute;
+ top: 10px;
+ left: 0;
+ width: 48%;
+ height: auto;
+ border: 0px solid #d00
+}
+
+/* adjacent sites container that holds the table */
+
+div.adjacent {
+
+ position: relative;
+ top: 10px;
+ width: 48%;
+ float: right;
+ height: auto;
+ border: 0px solid #00f;
+}
+
+/* labels, values, system and tg text */
+
+.copyr {
+
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ padding: 20px;
+ color: #484848;
+ float: right;
+}
+
+.label {
+
+ font-family: Arial, Helvetica, sans-serif;
+ color: #484848;
+}
+
+.value {
+
+ font-family: Arial, Helvetica, sans-serif;
+ color: #000000;
+ font-weight: bold;
+}
+
+.systgid {
+
+ font-family: Arial, Helvetica, sans-serif;
+ color: #000060;
+ font-weight: bold;
+ font-size: 24px;
+}
+
+/* the whole NAC string... NAC, freq tsbks, etc. */
+
+.nac {
+
+ font-family: Arial, Helvetica, sans-serif;
+ color: #000060;
+ font-weight: bold;
+ font-size: 20px;
+
+}
+
+/* .s1 .s2 .s3 DIVs for the sections. see index.html */
+
+.s1 {
+ /* empty */
+}
+
+.s2 {
+ border: 1px solid #999;
+ height: auto;
+ width: 720px;
+ padding: 5px;
+ background: LightGray; /* For browsers that do not support gradients */
+ background: linear-gradient(White, Silver);
+ box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 3px 10px 0 rgba(0,0,0,0.19);
+}
+
+.s3 {
+ /* empty */
+}
+
+.copyright-text {
+
+ font-family: Arial, Helvetica, sans-serif;
+ color: #000060;
+ font-size: 10pt;
+}
+
+.nav-ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ overflow: hidden;
+ background-color: #bbb;
+ background: linear-gradient(#bbbbbb, #cccccc);
+}
+
+.nav-li {
+ float: left;
+ border-right: 1px solid #000;
+ background: linear-gradient(#bbbbbb, #cccccc);
+}
+
+.nav-li-active {
+ float: left;
+ background-color: #c0c0c0;
+ color: #0080c0;
+ border-right: 1px solid #000;
+}
+
+.nav-bar {
+ width: 730px;
+ padding: 0;
+ border: 1px solid #000;
+}
+
+.nav-button {
+ background-color: #bbb;
+ background: linear-gradient(#bbbbbb, #cccccc);
+ color: #000;
+ border: 0px;
+ padding: 20px;
+ display: block;
+ font-size: 14px;
+ font-weight: bold;
+}
+
+
+.nav-button-active {
+ background-color: #9cc;
+ background: linear-gradient(#8bb, #9cc);
+ color: #000;
+ border: 0px;
+ padding: 20px;
+ display: block;
+ font-size: 14px;
+ font-weight: bold;
+}
+
+.nav-button:hover {
+ background-color: #699;
+ background: linear-gradient(#588, #699);
+}
+
+.nav-button-active:hover {
+ background-color: #699;
+ background: linear-gradient(#588, #699);
+}
diff --git a/op25/gr-op25_repeater/www/www-static/main.js b/op25/gr-op25_repeater/www/www-static/main.js
index 353326e..2ad23cb 100644
--- a/op25/gr-op25_repeater/www/www-static/main.js
+++ b/op25/gr-op25_repeater/www/www-static/main.js
@@ -54,8 +54,22 @@ function f_command(ele, command) {
}
}
+function nav_update(command) {
+ var names = ["b1", "b2", "b3"];
+ var bmap = { "status": "b1", "plot": "b2", "about": "b3" };
+ var id = bmap[command];
+ for (var id1 in names) {
+ b = document.getElementById(names[id1]);
+ if (names[id1] == id) {
+ b.className = "nav-button-active";
+ } else {
+ b.className = "nav-button";
+ }
+ }
+}
+
function f_select(command) {
- var div_list = ["status", "plot"];
+ var div_list = ["status", "plot", "about"];
for (var i=0; i(" + d['system'] + ") ";
+ var html = "Frequency: " + d['freq'] / 1000000.0;
+ html += " " + d['system'] + " ";
if (d['tgid'] != null) {
- html += "Talkgroup ID " + d['tgid'];
- html += " (" + d['tag'] + ")";
+ html += "Talkgroup ID: " + d['tgid'];
+ html += " " + d['tag'] + " ";
}
html += "
";
var div_s2 = document.getElementById("div_s2");
@@ -110,15 +132,17 @@ function change_freq(d) {
}
}
+// adjacent sites table
+
function adjacent_data(d) {
if (Object.keys(d).length < 1) {
- var html = "";
+ var html = "
";
return html;
}
- var html = "