diff --git a/package.nw/data/acknowledgements.json b/package.nw/data/acknowledgements.json new file mode 100644 index 00000000..b7a7be87 --- /dev/null +++ b/package.nw/data/acknowledgements.json @@ -0,0 +1,62 @@ +{ + "N0TTL": { + "badge": "img/emojis/star.png", + "message": "Creator of GridTracker" + }, + "K1JT": { + "badge": "img/emojis/star.png", + "message": "Creator of FT8 and WSJT-X" + }, + "K9AN": { + "badge": "img/emojis/star.png", + "message": "Co-Creator of FT8" + }, + "N2VFL": { + "badge": "img/emojis/trophy.png", + "message": "GridTracker Developer" + }, + "NR0Q": { + "badge": "img/emojis/coffee.png", + "message": "GridTracker Developer" + }, + "KF5QHQ": { + "badge": "img/emojis/trophy.png", + "message": "GridTracker Developer" + }, + "WA4YA": { + "badge": "img/emojis/trophy.png", + "message": "GridTracker Developer" + }, + "KI2D": { + "badge": "img/emojis/flatbread.png", + "message": "GridTracker Developer" + }, + "K5TUX": { + "badge": "img/emojis/penguin.png", + "message": "GridTracker Partner" + }, + "KA0AZS": { + "badge": "img/emojis/pizza.png", + "message": "GridTracker Tester" + }, + "G1MIC": { + "badge": "img/emojis/pizza.png", + "message": "GridTracker Tester" + }, + "KD0YTE": { + "badge": "img/emojis/pizza.png", + "message": "GridTracker Tester" + }, + "W4IPA": { + "badge": "img/emojis/beer-mug.png", + "message": "GridTracker Tester" + }, + "W5AFK": { + "badge": "img/emojis/pizza.png", + "message": "GridTracker Tester" + }, + "IW3HMH": { + "badge": "img/emojis/logbook.png", + "message": "Creator of Log4OM" + } +} \ No newline at end of file diff --git a/package.nw/img/emojis/beer-mug.png b/package.nw/img/emojis/beer-mug.png new file mode 100644 index 00000000..80de8805 Binary files /dev/null and b/package.nw/img/emojis/beer-mug.png differ diff --git a/package.nw/img/emojis/coffee.png b/package.nw/img/emojis/coffee.png new file mode 100644 index 00000000..5ce8931e Binary files /dev/null and b/package.nw/img/emojis/coffee.png differ diff --git a/package.nw/img/emojis/flatbread.png b/package.nw/img/emojis/flatbread.png new file mode 100644 index 00000000..96a6cd0e Binary files /dev/null and b/package.nw/img/emojis/flatbread.png differ diff --git a/package.nw/img/emojis/logbook.png b/package.nw/img/emojis/logbook.png new file mode 100644 index 00000000..d4ba357a Binary files /dev/null and b/package.nw/img/emojis/logbook.png differ diff --git a/package.nw/img/emojis/penguin.png b/package.nw/img/emojis/penguin.png new file mode 100644 index 00000000..2ee0dbc6 Binary files /dev/null and b/package.nw/img/emojis/penguin.png differ diff --git a/package.nw/img/emojis/pizza.png b/package.nw/img/emojis/pizza.png new file mode 100644 index 00000000..eaefc58a Binary files /dev/null and b/package.nw/img/emojis/pizza.png differ diff --git a/package.nw/img/emojis/star.png b/package.nw/img/emojis/star.png new file mode 100644 index 00000000..3d5fce4a Binary files /dev/null and b/package.nw/img/emojis/star.png differ diff --git a/package.nw/img/emojis/trophy.png b/package.nw/img/emojis/trophy.png new file mode 100644 index 00000000..cd4438f9 Binary files /dev/null and b/package.nw/img/emojis/trophy.png differ diff --git a/package.nw/img/emojis/tumbler-glass.png b/package.nw/img/emojis/tumbler-glass.png new file mode 100644 index 00000000..a495095f Binary files /dev/null and b/package.nw/img/emojis/tumbler-glass.png differ diff --git a/package.nw/lib/gt.js b/package.nw/lib/gt.js index 03edc4a9..0bcac9fc 100644 --- a/package.nw/lib/gt.js +++ b/package.nw/lib/gt.js @@ -97,6 +97,8 @@ var g_callsignDatabaseUSplus = { 202: true }; +var g_acknowledgedCalls = require("./data/acknowledgements.json"); + function loadAllSettings() { for (var x in localStorage) @@ -15614,6 +15616,14 @@ function searchLogForCallsign(call) }) .sort(myBandCompare); + var worker = "" + + if (g_acknowledgedCalls[call]) + { + worker = `

GridTracker would like to acknowledge ${call}: ` + + ` ${g_acknowledgedCalls[call].message}

` + } + if (list.length > 0) { var work = {}; @@ -15637,7 +15647,7 @@ function searchLogForCallsign(call) } else if (!(what in conf)) work[what] = g_pskColors[list[row].band]; } - var worker = + worker += "
"; if (Object.keys(work).length > 0) { @@ -15699,9 +15709,10 @@ function searchLogForCallsign(call) } worker += "
"; - setLookupDiv("lookupLocalDiv", worker); } + setLookupDiv("lookupLocalDiv", worker); + list = null; } @@ -16058,7 +16069,8 @@ function pskSpotResults(buffer, flag) var call = json.receptionReport[key].receiverCallsign; var mode = json.receptionReport[key].mode; var grid = json.receptionReport[key].receiverLocator.substr(0, 6); - if (grid.length < 4) { + if (grid.length < 4) + { continue; } var band = Number( @@ -16177,7 +16189,8 @@ function createSpot(report, key, fromPoint, addToLayer = true) { var LL = squareToLatLongAll(report.grid); - if (isNaN(LL.la1)) { + if (isNaN(LL.la1)) + { // Bad value in grid, don't map // return; } diff --git a/package.nw/lib/roster.js b/package.nw/lib/roster.js index 63ca18ce..709fc6ce 100644 --- a/package.nw/lib/roster.js +++ b/package.nw/lib/roster.js @@ -1722,7 +1722,15 @@ function viewRoster() if (g_rosterSettings.compact == false) { + var acks = window.opener.g_acknowledgedCalls + var thisHash = thisCall + callObj.band + callObj.mode; + var callStr = thisCall.formatCallsign() + if (acks[thisCall]) + { + callStr = `${callStr} ` + callObj.awardReason += ` - ${acks[thisCall].message}` + } worker += ""; worker += @@ -1735,7 +1743,7 @@ function viewRoster() callObj.band + callObj.mode + "\")'>" + - thisCall.formatCallsign() + + callStr + ""; if (showBands) diff --git a/package.nw/lib/style.css b/package.nw/lib/style.css index c92bff47..9311610b 100644 --- a/package.nw/lib/style.css +++ b/package.nw/lib/style.css @@ -713,6 +713,11 @@ a { /* animation: fadeEffect .3s; Fading effect takes 1 second */ } +.lookupAckBadge { + padding: 0; + width: 1em; +} + table.darkTable { border-collapse: collapse; border: 1px solid #888; diff --git a/package.nw/lib/style_roster.css b/package.nw/lib/style_roster.css index f8b5c5bb..aeb002ed 100644 --- a/package.nw/lib/style_roster.css +++ b/package.nw/lib/style_roster.css @@ -547,3 +547,14 @@ table.rosterTable thead th:first-child { box-shadow: inset 0px 11px 6px -8px #888, inset 0px -11px 6px -8px #888; } +.acknowledged { + float: right; + font-size: 70%; + padding-left: 3px; + padding-right: 3px; +} + +.ackBadge { + padding: 0; + width: 1.5em; +} \ No newline at end of file