Coder Social home page Coder Social logo

yfpp's People

Contributors

jajohnso avatar joshturner avatar jungshadow avatar nickcatal avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

camdenlee

yfpp's Issues

Create an autocomplete feature for addresses

Expected behavior

As a user starts to type an address into the search box, an autocomplete list appears to help them complete the proper address.

Actual behavior

No autocomplete appears.

Steps to reproduce the behavior

Type into the search box.

ElectionSelect "Softlocking"

This bug arises from the fact that the electionSelect is only shown on certain tabs, and tabs are hidden if they have no data (see #85).

Expected behavior

Not actually sure, there's a few ways I could see this going. I suppose one solution would be to move the electionSelect higher up in the hierarchy, either in the menu on the left or to display above the tabbed/paginated content (like the search bar does).

Actual behavior

You get stuck on the representatives page.

Steps to reproduce the behavior

Enter "700 Avalon Avenue, Virginia Beach, Virginia 23464, United States". There are 2 elections for this address: the Virginia Democratic Primary and the Virginia Republican Primary. Note that screenshots are from my local environment running #143. If you use electionSelect to pick the Republican Primary, the "Polling Place" and "Drop Off Sites" tabs disappear. Maybe this is intended (lmao), but I could see this being a bigger issue if, for example, the election picked by default were the one missing the tabs.

Screen Shot 2021-06-07 at 7 34 03 PM

Screen Shot 2021-06-07 at 7 34 11 PM

Add election name and date to site

The site should display the election name and date as the design prototype showed (see the below image). Adding the swear in an appropriate place in the free-form election name might be difficult. But, then again...I love experiments.

Image of the Your Fucking Polling Place site that shows results screen with the election name under the search bar

Implement sticky header for secondary nav

Expected behavior

On mobile, users will see the secondary nav fixed to the top of the viewport, allowing content to scroll beneath it.

Actual behavior

Entire site, including the header, scrolls.

Upgrade protocol to TLS

Expected behavior

Site is secure.

Actual behavior

Site is not secure.

Steps to reproduce the behavior

Browse to the site.

Add electionId to voterInfoQuery based on most relevant current election for a current address

Expected behavior

Ability for user to get the most relevant election information and be able to switch to another relevant election.

Actual behavior

Only the most relevant election to the address is selected. The general election is entirely obscured unless queries explicitly.

Steps to reproduce the behavior

Query this Atlanta GA address 385 Angier Ct NE Atlanta, GA 30312 before 9/29, the end of the special election.

Ideas for Site Updates

Near-term

Easier

  • Update codebase to use create-react-app
  • Facebook share button larger

Harder

  • Maps...real maps
  • Add "who represents me" information
  • Create a version of the site for "sensitive" people and ad networks (i.e. no swearing)

Long-term

  • Revamp the search page layout/presentation of information
  • Possible re-branding

Remove tabs with no data

Expected behavior

For example, if there's no ballot data, there would be no ballot tab.

Actual behavior

A ballot tab is present with a salty message.

Steps to reproduce the behavior

Search an address in a state without ballot information.

Add Google type-ahead for address entry

Right now, the address has to be entered correctly. A Google Maps address type-ahead would make things infinitely easier for users. It would still allow the user to submit whatever they type, but, if the correct address is displayed by the type-ahead, the user could immediately select it instead of continuing to type.

On all voting sites, need to implement "Map It" function

Expected behavior

The card expands to the entire content area to show a interactive map of the currently selected location with information on the lower 2/3rds of the area.

Actual behavior

Nothing is mapped.

Steps to reproduce the behavior

Click any Map It link.

Need a mechanism to make browsing through voting locations a bit easier

All voting sites (e.g. polling locations, drop boxes, and early vote sites) can be a very large list of elements. In OR, any registered voter can drop their ballot off at any dropbox in the state. The voting sites in the API are broken up into three categories (NB: each category is sorted by distance from the address provided to the API):

  • Polling locations
  • Early vote sites
  • Dropboxes

These three different methods of voting should be fairly easy to browse when the list is >20. What's the best way for this to happen?

Clean Up Error Report Component

Should be moved closer to the TabPanel and not be called directly from the app. That said, TabPanel will also need access to the election info and normalized address to populate the hidden fields of the form.

Add drop off locations to voting location site results

Expected behavior

In states with drop off locations (i.e. physical locations where a person can drop off a ballot), the site should return the locations as part of the results.

Actual behavior

No drop off locations are returned.

Steps to reproduce the behavior

Search for any address in a state with these drop off locations (e.g. 1055 6th Street Northwest, Salem, OR 97304).

Minor Display Issues with Search Button

This is a low priority item (i.e. not critical for launch), but the search button seems to have some alignment issues that are a bit different on both Safari 9.1.1/Mac and Firefox 46.0.1/Mac.

Here's an image of the issue in Firefox:
Image shows alignment issues with the Search Button in Firefox

Here's Safari:
Image shows alignment issues with the Search Button in Safari

Fix some insecure links

Expected behavior

Since we're making the site secure (see #88), we should make sure there's nothing on the site that loads insecure information and keep the user in the secure space (if possible).

Actual behavior

There are a few links that point to insecure endpoints.

Steps to reproduce the behavior

See Twitter and Facebook links in the footer.

Replace react-addons-css-transition-group package with react-transition-group

The react-addons-css-transition-group package is 3 years out of date and the maintainers pushed for folks to update to the react-transition-group package. In addition, the react-transition-group maintainers have asked everyone to update to the latest version as the version that's hot-swappable with our build is no longer maintained. Thankfully, we only have a couple of places to update:

% grep -r "react-addons-css-transition-group" src/.
src/./components/Tabs.js:import CSSTransitionGroup from 'react-addons-css-transition-group';
src/./App.js:import CSSTransitionGroup from 'react-addons-css-transition-group';

Should be a relatively easy fix.

Add Contributing Guidelines

Assuming we'd like contributions to the project (I do anyway) and it's going to be open source (that was always my hope), I think it would be good for us–and potential contributors–to have some contribution guidelines (e.g. this is the bar you have to pass if you want to submit code). I wrote something for an old project I'd be happy to submit for comment.

Update Anastasia's bio

Expected behavior

Anastasia's bio should read, at the third sentence: "In her current role as a Senior Digital Strategist at Trilogy Interactive, she runs the social media department, helping political, nonprofit, and ballot proposition clients run high-impact digital campaigns."

Actual behavior

It's currently says: "In her current role as a Social Strategist at Trilogy Interactive, where she helps political, nonprofit, and ballot proposition clients run high-impact social media campaigns."

Steps to reproduce the behavior

Read words.

wire up analytics

Expected behavior

Performing certain actions on the site trigger analytics events which are sent to GA.

Actual behavior

Nothing happens

Steps to reproduce the behavior

Click on stuff. No analytics fire.

Wire up location card actions

Expected behavior

  • Clicking the map link links to a google map. Future phase will link to google map on mobile, but on desktop it will use MapBox to add a map directly to location card.
  • Clicking share icons will load share widgets with a tweet/post filled out.

Actual behavior

  • nothing happens!

Steps to reproduce the behavior

Goto Polling place tab and click on map or share links on a single location.

Irrelevant characters in address.locationName object causes polling locations display to break

Expected behavior

After searching for an address in Orange County, the site should return all voting locations for that registered address.

Actual behavior

After attempting to search for voting locations for an address in Orange County, the site showed up as blank under the polling locations tab. The problem is that the API returned a string that didn't really make sense for the address.locationName (i.e. orange county registrar of fucking voters_ office). Hard to really say if this is a bug on our end or it should have been caught upstream, but...here we are.

Steps to reproduce the behavior

Search for voting locations for 13901 Tustin East Drive, Tustin CA 92780.

Visual: I think Roboto is using browser to apply bold and not using Bold variant of font

Expected behavior

Use clean version of Roboto (Roboto-700) for bold weights

Actual behavior

Dates and other bold versions of Roboto look a little rough which usually comes from the font using the browser's bold weight rather than switching to the Bold variant of the font:
image

We can link to all the weights here
https://fonts.google.com/specimen/Roboto?sidebar.open=true&selection.family=Roboto:wght@700

Steps to reproduce the behavior

Missing correct location name in some actions

Expected behavior

When posting to Facebook or Twitter, the voting location name should be populated (and "fucktified").

Actual behavior

Because early vote sites and drop off locations have a separate property for name (e.g. earlyVoteSite[].name vs. earlyVoteSite[].address.locationName), sometimes the name is missed in generating the tweet or post.

This section in src/scripts/components/Actions.js in the function buildTweet() is mainly the culprit for tweets:

if (location.locationName) {
    text = encodeURI('I vote at ' + helpers.titlecase(helpers.fucktify(location.locationName)) + ' where the fuck do you vote? Find out at');
} else {
    text = 'I found my fucking polling location, where the fuck do you vote? Find out at';
}

And this one, also in src/scripts/components/Actions.js, for posts:

buildFB() {
    const location = this.props.location;
    return <a className="actionLink actionLink_facebook mix-actionLink_blue shareLocationFacebook"
        href="#"
        data-name={helpers.titlecase(helpers.fucktify(location.locationName))}
        data-city={helpers.titlecase(location.city)}
        data-state={location.state}>Facebook</a>
}

Steps to reproduce the behavior

It's a little difficult to reproduce since some early vote sites have address.locationName populated. Attempt to post to either Facebook or Twitter on a site that's lacking it and you'll see the issue.

Componentize FormSelect

Expected behavior

FormSelect is able to replace any unique select component

Actual behavior

Components are too specific and are begging to be abstracted.

Add route for Privacy Policy

Expected behavior

  • A page exists that shows the privacy policy.
  • Navigation exists that takes a user to the privacy policy page

Add Additional Error Messages for Various States

In situations where we don't have any polling locations or ballot information, we'll need error messages for:

  • When there's S/LEO information
  • When there isn't S/LEO information

If we can direct someone to a local election official to resolve issues, all the better.

Polling Place Rendering Issue

Expected behavior

The NJ address "5 Clyde Court, Bergenfield, NJ 07621" should return polling location "St Fucking Johns Conlon Hall Main Hall, 18 North William Street, Bergenfield, NJ 07621."

Actual behavior

Polling location tab is blank and, switching back and forth between candidates and polling locations causes odd display issues.

Screenshot of Your Fucking Polling Place showing the rendering error

### Steps to reproduce the behavior

Enter "5 Clyde Court, Bergenfield, NJ 07621" into the search bar and hit search.

Bio carousel has visibility display bug

Expected behavior

Clicking/touching on a particular contributor name should result in seeing the bio carousel modal with the requested contributor displayed.

Actual behavior

The link sometimes shows a blank modal window.

Contributors Result of Interaction
Screen showing the names of the contributors to YFPP Screen showing the carousel bug

Steps to reproduce the behavior

  1. Navigate to the page for the first time.
  2. Interact with a name that isn't Mo (NB: for some reason, Mo's bio seems to work fairly consistently).

Navigating back-and-forth either via the left and right arrows or by swiping (depending on device) also yields no content until potentially hitting a bio that is visible.

add expand functionality to representative card

Expected behavior

Clicking on the representatives card would expand that card and reveal additional fields to users

  • social channels
  • telephone
  • website

Actual behavior

Additional info is not visible to the user

Steps to reproduce the behavior

navigate to representatives page and notice that none of this info is listed.

Anastasia's bio fix

Expected behavior

The end of Anastasia's bio should read:

But forget Instagram—tweet her your favorite cat GIF instead: @golovashkina

Actual behavior

Because we can't reliably support emojis, I changed the original snapchat joke...which broke it.

Add error reporting link

If something is wrong with the data, there needs to be a link to report the issue back to the Civic Information API.

Missing Early Vote Sites

Expected behavior

Searching for a valid, registered address in states with some form of early voting should return polling locations and early vote sites (e.g. vote centers, drop boxes, et al...).

Actual behavior

Returns only polling locations.

Steps to reproduce the behavior

Search valid, registered address in any state with early voting (e.g. MD).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.