Advertisement
infiniteblock

Untitled

Apr 23rd, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. -- Global Alliance Tracker for CC
  2. -- Top 10
  3.  
  4. local util = require("gab.util")
  5. local gfx = require("gab.gfx")
  6. local Grid = require("gab.grid")
  7.  
  8. local HEADER = "Global Alliance - Top10"
  9. local FOOTER = "By Infiniteblock - Updates every 15 mins"
  10.  
  11. local DATA_URL = "http://147.135.59.131/top10trans
  12. local CACHE_FILE = ".top10trans-cache.json"
  13.  
  14. local mon, w, h = util.handleMonitorArg(...)
  15.  
  16. local function main()
  17. mon.clear()
  18.  
  19. -- prep screen
  20. gfx.drawHeader(mon, HEADER)
  21. gfx.drawFooter(mon, FOOTER)
  22. local centerY = gfx.drawLoading(mon)
  23.  
  24. -- fetch data
  25. local data = util.cachedJSONRequest(DATA_URL, CACHE_FILE)
  26. util.scoreData(data)
  27. gfx.clearLoading(mon, centerY)
  28.  
  29. -- grid
  30. local grid = Grid.new(mon, 3, 5, h - 6)
  31.  
  32. grid:addColumn(31, "Account", false)
  33. grid:addColumn(10, " Deposits ", true, colours.orange)
  34. grid:addColumn(9, "(today)", true)
  35. grid:addColumn(10, " Withdraws ", true, colours.red)
  36. grid:addColumn(9, "(today)", true)
  37.  
  38. for i, datum in pairs(data) do
  39. if i > grid.h - 3 then break end
  40.  
  41. grid:addRow({
  42. { text = datum.state },
  43. { text = datum.cases },
  44. { text = datum.todayCases, colour = datum.todayCasesColour },
  45. { text = datum.deaths },
  46. { text = datum.todayDeaths, colour = datum.todayDeathsColour }
  47. })
  48. end
  49.  
  50. grid:draw()
  51. end
  52.  
  53. util.mainLoop(main)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement