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

JEDI Page #235

Merged
merged 26 commits into from
Sep 16, 2021
Merged

JEDI Page #235

merged 26 commits into from
Sep 16, 2021

Conversation

mattxwang
Copy link
Member

@mattxwang mattxwang commented Aug 11, 2021

This PR implements three pages from Helia's wireframe:

Outside of directly implementing the pages, we:

  • add an "initiatives" section to the footer
  • imports more font weights for Open Sans, includes semi-bold, bold, and bold italic

Technical to-do tracker:

  • general
    • SEO
    • mobile responsiveness
    • screenreader audit
    • implement nav?
    • add to footer
    • <a> and button CSS
    • resolving standardize images to next/image #188
    • homepage above-the-fold image
    • adding more color/holograph effect
    • implement contact feature
  • allyship spaces page
    • move data to its own file
    • move allyship card to its own component
    • scope module css to just the allyship card
    • decide on impl. method for links
    • icons for link buttons! going to punt this as out of scope unless Design requires it for QA
    • programmatic dates going to punt this as out of scope
    • location links? going to punt this as out of scope
  • meet the jedis page
    • move data to its own file
    • move jedi card to its own component
    • scope module css to just the jedi card
    • proper styling of pronouns
    • font size check
    • stretch goal: center orphaned grid elements
    • stretch goal: change gutter spacing to be fixed-gutter, variable image

@mattxwang mattxwang marked this pull request as draft August 11, 2021 00:51
@mattxwang
Copy link
Member Author

cc: @evanzhong as he was interested

@evanzhong
Copy link
Member

Took a look at this today, love the way the skeleton is shaping up!

Do you need any help with ideas for the nav? Lot of content for the JEDI pages and I like what you're doing with the sub nav bar. It took me a while to figure out how to use it, mainly b/c the nav is on the left for the home page, but then shifts up to top of the main body for the other pages

@mattxwang
Copy link
Member Author

mattxwang commented Aug 19, 2021

Do you need any help with ideas for the nav? Lot of content for the JEDI pages and I like what you're doing with the sub nav bar. It took me a while to figure out how to use it, mainly b/c the nav is on the left for the home page, but then shifts up to top of the main body for the other pages

Yeah, that's a good point! I had initially implemented it this way since that's what Helia asked for in the mockup/ what she wanted from the call we had, but I agree that the transition from the home page -> not the home page is a bit jarring.

Definitely welcoming any ideas, I guess what I have in mind is:

  • maybe include both?
  • have some sort of transition on scroll from the left to the right
  • a new nav component in its entirety

Also will eventually QA review this through Design (once some of the content is done), and they might be able to provide some more input too!

mattxwang added a commit that referenced this pull request Aug 20, 2021
This PR implements per-page SEO tags via [`next-seo`](https://github.com/garmeeh/next-seo). Under-the-hood, the package handles basic meta tags, and OpenGraph URLs; according to the documentation, Twitter now also parses OG data, and thus doesn't generate twitter-specific metadata.

I then manually write and apply copy for each page: the home page, about, committees, events, sponsors, and tech gala. We'll have to backport this to other new pages, like the ones introduced in #238 and #235. I chose not to add any default templating or abstract this to a component, since I think the copy differs enough where boilerplate doesn't help us too much.

For reviewers - it would be great if you could test this on a variety of social media platforms (Facebook, Twitter, Discord, Instagram. etc.). I've done Discord testing in the #test3 moderator channel of the server, as well as DMing myself on FB messenger.

Closes #116, (hopefully) closes #194.
mattxwang added a commit that referenced this pull request Aug 20, 2021
This PR implements per-page SEO tags via [`next-seo`](https://github.com/garmeeh/next-seo). Under-the-hood, the package handles basic meta tags, and OpenGraph URLs; according to the documentation, Twitter now also parses OG data, and thus doesn't generate twitter-specific metadata.

I then manually write and apply copy for each page: the home page, about, committees, events, sponsors, and tech gala. We'll have to backport this to other new pages, like the ones introduced in #238 and #235. I chose not to add any default templating or abstract this to a component, since I think the copy differs enough where boilerplate doesn't help us too much.

For reviewers - it would be great if you could test this on a variety of social media platforms (Facebook, Twitter, Discord, Instagram. etc.). I've done Discord testing in the #test3 moderator channel of the server, as well as DMing myself on FB messenger.

Closes #116, (hopefully) closes #194.
@mattxwang
Copy link
Member Author

@mattxwang mattxwang added the high-priority needs to get done relatively quickly; blocks other work label Sep 4, 2021
@mattxwang mattxwang marked this pull request as ready for review September 4, 2021 20:53
@mattxwang mattxwang requested a review from a team September 4, 2021 20:53
@mattxwang
Copy link
Member Author

Looking to get a general review on what we have here right now. I'd err more on reviewing the coding style / separation of components, rather than tinier elements of the design - Design will be handling that portion in their QA.

Things that aren't done yet:

  • general design QA request
  • front banner image from Design - currently waiting on design req
  • list of JEDIs
  • list of JEDI events
  • putting this into the navbar; going to use Vincent & Tanaya's changes as a blueprint for this

Copy link
Member

@evanzhong evanzhong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good! Most of my review left as comments as usual.

Will do another pass after QA comes back and changes made for that, but barring that looks good to ship.

* creates an allyship space card from input parameters, using
* next/image and next/link
*/
function AllyshipSpaceCard({ title, date, location, description, pic, alt, rsvp, slides }) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC we have a component that's similar to this created for the techgala page called ProjectCard.

I know these two components are functionally different, but thoughts on if they're similar enough to warrant creating an "EventCard" component (like a super class of these two). Might be a good thing to do in preparation for the events page, which I imagine will leverage a similar layout as these.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see what you're saying, though the styles are quite different on each card. On my end, I'm happy to keep them separate, but also interested to explore creating a generic Card that has a few configurable options (in this case, which side the image goes on, etc.). Just worried that then we'll get way too much required customization. What do you think?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think what we can do here is leverage the children prop to get the customization we need. Then for the super class we'd just need to specify and image and where the text should flow (left, right, or below).

The hope is that we can have some generic css that will format the height and width of the children (usually just text) to flow with the image.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good to me, let's see if I can get that in relatively quickly for this change.

components/JEDI/JEDICard.js Show resolved Hide resolved
components/JEDI/JEDINav.js Outdated Show resolved Hide resolved
data/jedi.js Show resolved Hide resolved
components/JEDI/JEDINav.js Show resolved Hide resolved
@evanzhong
Copy link
Member

Replied to comments.

One small thing I noticed is that we don't really have a way to nav to this page other than

  • Direct linking
  • Footer

Assuming we're going to have to get #246 in sometime so that we have navigation to all these new pages (#260, #222, plus dev team page) that are in flight.

@mattxwang
Copy link
Member Author

Assuming we're going to have to get #246 in sometime so that we have navigation to all these new pages (#260, #222, plus dev team page) that are in flight.

Yup, I think I'll just open a separate PR for that once Vincent's approach (#253) get merged in! Tanaya had a neat addition to get the impact page to slot in nicely to the nav.

@mattxwang
Copy link
Member Author

Just did the first pass of design QA suggestions; you can follow the conversation in the trello card. Still waiting on:

  • jedi banner image
  • officers info
  • index "what jedi does" info

Going to re-req a code review with a bias towards maintainability and design feedback. The generalized card is still in the back of my mind, though I may ask to punt it just due to the sheer number of tickets I need to work on right now.

@mattxwang mattxwang requested a review from evanzhong September 13, 2021 00:04
Copy link
Member

@evanzhong evanzhong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Took a quick pass at the new commits since my last review, everything looks good to me.

Does design have anything specifically to say about the nav bar? (i.e. how it shifts from the left sidebar to the top)

Comment on lines 36 to 37
<h1 className={styles['hero-title']}>ACM | JEDI</h1>
<p>justice, equity, diversity, inclusion</p>
<p className={styles['hero-subtitle']}>justice, equity, diversity, inclusion</p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does hero mean

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Common SEO / marketing term for above-the-fold images & headers! Here's a spammy-ish article about it.

Comment on lines +1 to +4
import {
faDiscord,
faSlack,
} from '@fortawesome/free-brands-svg-icons';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have we ported over all the other icons we use in the website to use font awesome?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup!

@mattxwang
Copy link
Member Author

Does design have anything specifically to say about the nav bar? (i.e. how it shifts from the left sidebar to the top)

As-is, Amy was satisfied with it - she did want me to increase the spacing and consider adding an image!

@mattxwang
Copy link
Member Author

Going to merge now; Crystal is hitting us with QA after-the-fact.

@mattxwang mattxwang merged commit 76e86ff into main Sep 16, 2021
@mattxwang mattxwang deleted the jedi-page branch September 16, 2021 00:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
high-priority needs to get done relatively quickly; blocks other work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants