Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix the dropdown menu design for projects page #3744

Closed
5 tasks done
Tracked by #3959
blulady opened this issue Nov 25, 2022 · 10 comments · Fixed by #4280
Closed
5 tasks done
Tracked by #3959

Fix the dropdown menu design for projects page #3744

blulady opened this issue Nov 25, 2022 · 10 comments · Fixed by #4280
Assignees
Labels
Complexity: Large P-Feature: Projects page https://www.hackforla.org/projects/ role: front end Tasks for front end developers size: 3pt Can be done in 13-18 hours

Comments

@blulady
Copy link
Member

blulady commented Nov 25, 2022

Dependency

Overview

During recent audits, the team realized that the drop-down menu design is not uniform. In an attempt to unify all drop-down menus the design team has redesigned the drop-down menu. This issue is to implement the new uniform design specifically on the projects page.

Action Items

  • Update the drop-down menu on the projects page to reflect the design in Figma
  • The goal is to make this component reusable on multiple pages with different filters specified
  • Take into account accessibility of navigating the filters with keyboard -see resources below
  • Make the appropriate changes to the CSS, HTML, and JS as you need to
  • Note: The final design shows a "Search by keword" function, but you can ignore this for now, as this will be worked on in a different issue.

Resources/Instructions

Design Systems
Accessibility Resources
Standardized Components Wiki specifically:

@blulady blulady added role: front end Tasks for front end developers Complexity: Medium P-Feature: Projects page https://www.hackforla.org/projects/ size: 2pt Can be done in 7-12 hours role: back end/devOps Tasks for back-end developers Complexity: Large size: 3pt Can be done in 13-18 hours and removed size: 2pt Can be done in 7-12 hours role: back end/devOps Tasks for back-end developers Complexity: Medium labels Nov 25, 2022
@blulady blulady added Draft Issue is still in the process of being created and removed Ready for Prioritization ready for product labels Nov 25, 2022
@ExperimentsInHonesty ExperimentsInHonesty added the Dependency An issue is blocking the completion or starting of another issue label Nov 26, 2022
@ExperimentsInHonesty ExperimentsInHonesty added ready for dev lead Issues that tech leads or merge team members need to follow up on and removed Dependency An issue is blocking the completion or starting of another issue labels Feb 26, 2023
@jdingeman jdingeman added Ready for Prioritization and removed Draft Issue is still in the process of being created ready for dev lead Issues that tech leads or merge team members need to follow up on labels Mar 3, 2023
@kurikurichan kurikurichan self-assigned this Mar 7, 2023
@github-actions

This comment was marked as resolved.

@github-actions github-actions bot added the 2 weeks inactive An issue that has not been updated by an assignee for two weeks label Mar 10, 2023
@github-actions

This comment was marked as resolved.

@jdingeman jdingeman removed the 2 weeks inactive An issue that has not been updated by an assignee for two weeks label Mar 12, 2023
@github-actions

This comment was marked as resolved.

@chrismenke45
Copy link
Member

Availability: Tues, Wed 8am-12pm. Thurs 12pm-6pm.
ETA: 3/24

@github-actions github-actions bot added the Status: Updated No blockers and update is ready for review label Mar 17, 2023
@chrismenke45
Copy link
Member

Progress: I've set up the general layout and the functionality of the filters works
Blockers: I will need to learn more about keyboard accessibility to finish
Availability: Mon-Fri 8am-12pm
ETA: 3/24

@github-actions github-actions bot removed the Status: Updated No blockers and update is ready for review label Mar 24, 2023
@chrismenke45
Copy link
Member

3/24 Update:
PR Created
Available: 3/25 8am-12pm

@ExperimentsInHonesty
Copy link
Member

ExperimentsInHonesty commented Mar 24, 2023

@chrismenke45 Please change your pr to a draft and fix the following issue then take off the draft label

The current mockup shows the filter on the side being higher. And even without the search bar, its still to low.

Current mockup from Figma

image

Your screenshots from your dev

@chrismenke45
Copy link
Member

@ExperimentsInHonesty Will do! Thank you for looking over it so quickly!

@ExperimentsInHonesty
Copy link
Member

@chrismenke45 While you are waiting for your PR to get reviewed. Can you add a write up of what files go into the filter component and any other details that a person adding the same component to another page (e.g., toolkit page) will need to know. You can leave that write up here in this issue as a comment.

@chrismenke45
Copy link
Member

chrismenke45 commented Apr 4, 2023

How to Implement Dropdown Filters on Another Page

Files to reference

  • _dropdown_filters.scss: This contains the styling for the filters you will be using. It is responsive and the classes are used to reflect changes in the UI due to user input
  • current-projects.js: This is an example of how the js should be pulling information from our files and using it to build/filter items. It adds all the required classes to the filter elements to allow them to be responsive and react to user input.
  • current-projects.html: This is an example of the base html required for the js file to build and add elements as needed

Recommended workflow

  • Begin with reviewing current-projects.js: and understand workflow
  • Import data to be displayed and assign to a variable (see retrieveProjectDataFromCollection and projectDataSorter functions in current-projects.js
  • Build data cards (see projectCardComponent function in current-projects.js)
  • Specify which attributes of the data the filter should work on (see createFilter function in current-projects.js)
  • Specify filter titles (many will just be the attribute that is being filter on, see main function in current-projects.js)
  • Add event listeners

Functions that will need to be changes to reflect you page's needs:

  • retrieveProjectDataFromCollection and projectDataSorter will need to be changed to whatever data is being displayed
  • createFilter will need to get new keys with values pulled from data
  • projectCardComponent will need to be changed to whatever data is being displayed
  • updateProjectCardDisplayState will need to be updated to whatever data is being displayed
  • main will need to specify what filter titles will be used on new data
  • updateFilterFrequency will need to query select from different class assuming data cards class is no longer '.project-card'
  • updateUI & noUrlParameterUpdate will need to be updated to reflect name changes of the functions listed above
  • All other functions regarding the filters should be good to go as is once the above functions have been changed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Complexity: Large P-Feature: Projects page https://www.hackforla.org/projects/ role: front end Tasks for front end developers size: 3pt Can be done in 13-18 hours
Projects
Development

Successfully merging a pull request may close this issue.

5 participants