mirror of
https://github.com/cjdenio/uta-trax-api.git
synced 2026-08-04 22:06:34 +00:00
stufffffffff
This commit is contained in:
+19
-6
@@ -73,13 +73,26 @@ func getStationForVehicle(vehicle *pb.VehiclePosition) *pb.VehicleFeed_Station {
|
|||||||
return nearestStop
|
return nearestStop
|
||||||
}
|
}
|
||||||
|
|
||||||
func getVehicles() ([]*pb.VehiclePosition, *pb.FeedHeader, error) {
|
func fetchVehicleFeed() ([]byte, error) {
|
||||||
resp, err := http.Get("https://apps.rideuta.com/tms/gtfs/Vehicle")
|
if os.Getenv("PRETEND_FEED") == "true" {
|
||||||
if err != nil {
|
return os.ReadFile("pretend-feed.bin")
|
||||||
return nil, nil, err
|
} else {
|
||||||
}
|
resp, err := http.Get("https://apps.rideuta.com/tms/gtfs/Vehicle")
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
bytes, err := io.ReadAll(resp.Body)
|
bytes, err := io.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return bytes, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func getVehicles() ([]*pb.VehiclePosition, *pb.FeedHeader, error) {
|
||||||
|
bytes, err := fetchVehicleFeed()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-3
@@ -51,18 +51,22 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#banner {
|
#banner {
|
||||||
grid-column-start: 1;
|
grid-column: span 2;
|
||||||
grid-column-end: 3;
|
|
||||||
background-color: #ef4444;
|
background-color: #ef4444;
|
||||||
color: white;
|
color: white;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#banner.hidden {
|
#banner.hidden {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#map, #sidebar {
|
||||||
|
grid-row: 2 / 3;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@@ -71,7 +75,7 @@
|
|||||||
style="
|
style="
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: auto 300px;
|
grid-template-columns: auto 300px;
|
||||||
grid-template-rows: 40px 1fr;
|
grid-template-rows: auto 1fr;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
|
|||||||
+12
-3
@@ -85,6 +85,8 @@ protobuf.load("/schema.proto").then((root) => {
|
|||||||
document.getElementById("count-frontrunner").innerText = totals.frontrunner.toString()
|
document.getElementById("count-frontrunner").innerText = totals.frontrunner.toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let bannerVisible = false
|
||||||
|
|
||||||
async function reload() {
|
async function reload() {
|
||||||
const bin = await fetch("/api").then((r) => r.arrayBuffer());
|
const bin = await fetch("/api").then((r) => r.arrayBuffer());
|
||||||
const { vehicles, info } = root
|
const { vehicles, info } = root
|
||||||
@@ -96,10 +98,17 @@ protobuf.load("/schema.proto").then((root) => {
|
|||||||
|
|
||||||
populateTotals(vehicles)
|
populateTotals(vehicles)
|
||||||
if (vehicles.length == 0) {
|
if (vehicles.length == 0) {
|
||||||
document.getElementById("banner").classList.remove("hidden")
|
if (!bannerVisible) {
|
||||||
map.invalidateSize()
|
document.getElementById("banner").classList.remove("hidden")
|
||||||
|
bannerVisible = true
|
||||||
|
map.invalidateSize()
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
document.getElementById("banner").classList.add("hidden")
|
if (bannerVisible) {
|
||||||
|
document.getElementById("banner").classList.add("hidden")
|
||||||
|
bannerVisible = false
|
||||||
|
map.invalidateSize()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// render vehicles on map
|
// render vehicles on map
|
||||||
|
|||||||
Reference in New Issue
Block a user