Call-for-Code-for-Racial-Justice / Five-Fifths-Voter

Five Fifths Voter is a web application tool designed to enable and empower Black people and others to exercise their right to vote by ensuring their voice is heard
Apache License 2.0
67 stars 37 forks source link

[Idea] Better datetime listing for early voting #359

Closed GeraldMit closed 4 months ago

GeraldMit commented 1 year ago

Background on the problem the feature will solve/improved user experience

the listing for early voting is cluttered. It would be easier to read if more data transformation occurred for multiple listings image

Describe the solution you'd like

A clear and concise description of what you want to happen.

Starting with:

SOUTH REGIONAL LIBRARY Thu, Oct 20: 8:00 am - 7:30 pm Fri, Oct 21: 8:00 am - 7:30 pm Sat, Oct 22: 8 am - 3 pm Sun, Oct 23: 2 pm - 6 pm Mon, Oct 24: 8:00 am - 7:30 pm Tue, Oct 25: 8:00 am - 7:30 pm Wed, Oct 26: 8:00 am - 7:30 pm Thu, Oct 27: 8:00 am - 7:30 pm Fri, Oct 28: 8:00 am - 7:30 pm Sat, Oct 29: 8 am - 3 pm Sun, Oct 30: 2 pm - 6 pm Mon, Oct 31: 8:00 am - 7:30 pm Tue, Nov 1: 8:00 am - 7:30 pm Wed, Nov 2: 8:00 am - 7:30 pm Thu, Nov 3: 8:00 am - 7:30 pm Fri, Nov 4: 8:00 am - 7:30 pm Sat, Nov 5: 8 am - 3 pm

Data transformation of the dates and times into an easier to read format.

Option Linear Listing: Thu, Oct 20: 8:00 am - 7:30 pm Fri, Oct 21: 8:00 am - 7:30 pm Sat, Oct 22: 8 am - 3 pm Sun, Oct 23: 2 pm - 6 pm Mon, Oct 24: 8:00 am - 7:30 pm Tue, Oct 25: 8:00 am - 7:30 pm Wed, Oct 26: 8:00 am - 7:30 pm Thu, Oct 27: 8:00 am - 7:30 pm Fri, Oct 28: 8:00 am - 7:30 pm Sat, Oct 29: 8 am - 3 pm Sun, Oct 30: 2 pm - 6 pm Mon, Oct 31: 8:00 am - 7:30 pm Tue, Nov 1: 8:00 am - 7:30 pm Wed, Nov 2: 8:00 am - 7:30 pm Thu, Nov 3: 8:00 am - 7:30 pm Fri, Nov 4: 8:00 am - 7:30 pm Sat, Nov 5: 8 am - 3 pm

Option: consolidate into a single listing for contiguous days/dates with times as the same Thu, Oct 20 and Fri, Oct 21: 8:00 am - 7:30 pm Sat, Oct 22: 8 am - 3 pm Sun, Oct 23: 2 pm - 6 pm Mon, Oct 24 through Fri, Oct 28: 8:00 am - 7:30 pm Sat, Oct 29: 8 am - 3 pm Sun, Oct 30: 2 pm - 6 pm Mon, Oct 31 through Fri, Nov 4: 8:00 am - 7:30 pm Sat, Nov 5: 8 am - 3 pm

Option consolidate by days where dates have the same times: Sat, Oct 22, Oct 29, Nov 5: 8 am - 3 pm Sun, Oct 23, Oct 30: 2 pm - 6 pm Mon, Oct 24, Oct 31: 8:00 am - 7:30 pm Tue, Oct 25, Nov 1: 8:00 am - 7:30 pm Wed, Oct 26, Nov 2: 8:00 am - 7:30 pm Thu, Oct 20, Oct 27, Nov 3: 8:00 am - 7:30 pm Fri, Oct 21, Oct 28, Nov 4: 8:00 am - 7:30 pm Design Thought: may be confusing for some, as this is not linear with time. Design: This limits the results to always be max 7 lines.

Additional Ideas: Highlight Todays Date if present.
Highlight current time range for Today's date as well if listed. Strikethrough dates that have past (remove also an option) - note that the determination depends on consolidation so these itmes may need to be determined first before consolidaiton.

Tasks

Needs to be tested against no results, erratic results ( times and dates that don't align), data missing ( dates, times) , date and time formats, overlap, noncontiguous dates, same date listed twice ( for different times) .

Acceptance Criteria

tested against existing data in given format for existing elections.

davidnixon commented 1 year ago

This is the shape of the data we get:

{
    "address": {
      "locationName": "NR - NORTHERN REGIONAL CENTER",
      "line1": "350 East Holding Avenue",
      "city": "Wake Forest",
      "state": "NC",
      "zip": "27587"
    },
    "pollingHours": "Thu, Oct 20: 8:00 am - 7:30 pm\nFri, Oct 21: 8:00 am - 7:30 pm\nSat, Oct 22: 8 am - 3 pm\nSun, Oct 23: 1 pm - 6 pm\nMon, Oct 24: 8:00 am - 7:30 pm\nTue, Oct 25: 8:00 am - 7:30 pm\nWed, Oct 26: 8:00 am - 7:30 pm\nThu, Oct 27: 8:00 am - 7:30 pm\nFri, Oct 28: 8:00 am - 7:30 pm\nSat, Oct 29: 8 am - 3 pm\nSun, Oct 30: 1 pm - 6 pm\nMon, Oct 31: 8:00 am - 7:30 pm\nTue, Nov 1: 8:00 am - 7:30 pm\nWed, Nov 2: 8:00 am - 7:30 pm\nThu, Nov 3: 8:00 am - 7:30 pm\nFri, Nov 4: 8:00 am - 7:30 pm\nSat, Nov 5: 8 am - 3 pm",
    "latitude": 35.9700668,
    "longitude": -78.5109746,
    "startDate": "2022-10-20",
    "endDate": "2022-11-05",
    "sources": [
      {
        "name": "Voting Information Project",
        "official": true
      }
    ]
  }

So it seems the hours are seperated by "\n" characters so I can make it look like this:

image
github-actions[bot] commented 5 months ago

:wave: Hi! This issue has been marked stale due to inactivity. If no further activity occurs, it will automatically be closed.