]> gitweb.michael.orlitzky.com - charm-bypass.git/blobdiff - index.html.in
index.html.in: change the slogan again
[charm-bypass.git] / index.html.in
index 96dd04a437b2dab5ae75e188045850419311e235..62edbde801f1cfba77b96cc44e2e86c552438278 100644 (file)
@@ -2,9 +2,10 @@
 <html lang="en-US">
   <head>
     <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <link rel="icon" href="favicon.svg" />
 
     <title>
-      CharmBypass: doing transit equity whether they like it or not
+      CharmBypass: it's transit equity y'all
     </title>
 
     <style>
@@ -55,7 +56,7 @@
           url("data:font/woff2;base64,@CBPREGULAR@") format("woff2")
       }
 
-      #servicename, #tickettime, #ticketdate, #codetext, #zone {
+      #origindest, #servicename, #tickettime, #ticketdate, #codetext, #zone {
         font-family: "CharmBypass Regular", sans-serif;
       }
 
   <body>
     <div id="menu">
       <h1>CharmBypass</h1>
-      <h2>doing transit equity whether they like it or not</h2>
+      <h2>it's transit equity y'all</h2>
 
       <p>
         <em>Hint:</em> If you think the driver or fare inspector will
       /************************/
       /* Set the service zone */
       /************************/
-      function set_service_zone(zone) {
-        /* We can take the zone as a parameter too; this allows
-         * us to use this function for the (computed) MARC Train
-         * zone and not just the querystring Commuter Bus zone */
+      function set_service_zone(event, zone) {
+        /* We can take the zone as a parameter too; this allows us to
+         * use this function for the (computed) MARC Train zone and
+         * not just the querystring Commuter Bus zone. The extra
+         * "event" parameter is there for the event listener, which
+         * would otherwise stuff an onload event into the zone
+         * parameter. "Thankfully" javascript lets us call a
+         * two-argument function with one argument and thereby abuse
+         * the event handler for this. */
         const z = document.getElementById("zone");
         const params = new URLSearchParams(document.location.search);
 
           const dest = params.get("destination");
           const zone = compute_marc_zone(src, dest);
 
-          set_service_zone(zone);
+          set_service_zone(null, zone);
         }
       }
 
+
+      /*****************************************************/
+      /* Set the origin and destination for the MARC Train */
+      /*****************************************************/
+
+      function set_marc_origin_destination() {
+        const params = new URLSearchParams(document.location.search);
+        if (!params.get("origin") || !params.get("destination")) {
+          return;
+        }
+
+        const src = params.get("origin");
+        const dest = params.get("destination");
+
+        /* origindest contains both the origin and destination */
+        const origindest = document.getElementById("origindest");
+
+        const origin = document.getElementById("origin");
+        const destination = document.getElementById("destination");
+
+        origin.textContent = params.get("origin");
+        destination.textContent = params.get("destination");
+
+        origindest.style.display = "block"; /* It's hidden by default */
+      }
+
       /******************************************/
       /* Display the ticket (and hide the menu) */
       /******************************************/
         /* Set the ticket expiration date/time upon page load */
         window.addEventListener("load", set_ticket_expiry);
 
+        /* Set the MARC Train origin and destination, if applicable */
+        window.addEventListener("load", set_marc_origin_destination);
+
         /* Set the MARC Train zone, if applicable */
         window.addEventListener("load", set_marc_zone);