Code Monkey home page Code Monkey logo

github-issues-explorer's People

Contributors

abstractxan avatar dbrudner avatar dekisr avatar dillionverma avatar gregorysl avatar johnrackles avatar ktan114 avatar oksourav avatar rnayak1 avatar trblackw avatar wgil avatar yathousen avatar

Watchers

 avatar  avatar  avatar

github-issues-explorer's Issues

Filter data by pull requests (react + redux)

Right now, when fetching issues from github issues API, there are pull requests mixed in with the issues:
image

We want to add another filter here:
image

Such that we can filter by pull requests.

To do this, you must have some knowledge or react/redux. Look into here to see how filtering works. You would need to add another conditional there to see if an issue is a pull request or not. Here is where the filtering is activated from.

CSS Flexbox Fix

The last two cards to be displayed are stretched
image

The styling in Issues.css needs to be fixed such that the cards do not stretch like that. Specifically look into these two styles here:

image

Add icons to card

Add icons to cards in the top right

image

Issues will have an issue icon
Pull requests will have a pull request icon.
(to check if an issue is actually a pull request, check if the pull_request key exists.)

Bonus

Bonus: If issues are open, show green icon. If closed, show red icon.
If pull request merged, show purple pull request icon.
Similar to this

image

Needs .eslint

Currently my default eslint settings are clashing with project style, and I have to manually edit half of the file before commit

Add a css loading spinner!

This is a very beginner friendly issue!

In the file Issues.js you will notice that an isLoading prop is passed to the Component.

Your task will be to use that prop and display a loading spinner while isLoading is true. Look into any spinner of your choice and be creative!

Hint: This might be a good library for spinners if you are stuck.

Add page transition animations

Add a simple transition effect between the landing page and the actual github issues page so it feels smoother.

This has to be done on the react router level. Most likely something in App.js.

See this video for example

Can maybe look into this post for inspiration

Change color of active filter

Lets make the active filter have the primary color. Right now they are all the same.

image

To do this, look into src/Issues.css

Use CSS Grid instead of flex arbitrary values

I've noticed that the issues list is handled with flex and margin and the values seem to be chosen in an arbitrary way.

While this is working perfectly, I think we can do better by making use of CSS Grid.

Basically, we just need to add this code into .issues-container ๐Ÿ™‚

display: grid;
grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
grid-gap: 2rem;

Refactor css to scss

Right now we are using a very unstructured way to style our issues viewer. Lets use scss which allows us to have nested styles.

image

The two main files which need refactoring are Landing.css and Issues.css.

The combined total lines of css is 150 lines

Check this tutorial to get started.

BONUS Make scss variables for the colors which are repeated throughout the app

Make each card link to github

Add functionality so that clicking on a card links to that specific issue on github

image

To do this, you can either use a classic html <a /> tag or if you are more advanced, pass an onClick prop to the card and handle the click event by redircting to the specific url

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.