carolinaknoll / awesome-gamified

:eyeglasses: Awesome Gamified - See your progress and save awesome links you've already seen!
https://carolinaknoll.github.io/awesome-gamified/
MIT License
73 stars 20 forks source link

[SubjectsTree] Add Search input to search for Awesome Lists #21

Closed carolinaknoll closed 4 years ago

carolinaknoll commented 4 years ago

It would be great to have a way to search for Awesome Lists in the sidebar on the left.

The idea is to mimic the behaviour and visuals from the search input available in Locky's Awesome project. You can check it here.

If you can't view the link for some reason, the idea is basically to have an input that, when you write inside it, it displays a div below it with the search results. If you click one of the search results, this div will close and the website will load the README list that you clicked for you to read.

I think that the best place to put it might be below where it says: "Open/Close all subject topics".

If you would like to tackle this issue, feel free to change anything that might be too hard for you.

Thank you for contributing! 🚀 😄

dishankmehta commented 4 years ago

Hey I am interested in this. But I had a question that why you are not using redux for the app just curious!

carolinaknoll commented 4 years ago

Hello @dishankmehta, I am actually thinking about using Redux here! 😄

In the past I thought Redux only had an useful effect on medium to large apps, but seeing that there are a few state props to pass to components, and how this app is growing, I think it will be a good idea to have Redux.

Plus, most companies today use it in their professional apps. So that's a really good reason to learn it! 😄

However, I was thinking about implementing Redux by myself, as I feel that I can learn more in the process. I plan on doing this around this week or the next.

That said, are you still interested with working on this issue?

Thank you so much! 🚀

dishankmehta commented 4 years ago

Sure. I am still interested in this.

Yes, Redux is very useful and it's actually good that you are doing it yourself. It will help you to understand it better. You will know the difference right away, when you will start integrating it in your project. It is very powerful and useful for the functionalities like search and many other.

Assign me the issue. I will start working on it. 😄

carolinaknoll commented 4 years ago

Fantastic, thank you for your feedback about Redux. 😄

I will assign the issue to you and mark it as taken so that you can safely work on it.

Thank you so much for your contributions! 🚀

carolinaknoll commented 4 years ago

Hey @dishankmehta I just want to let you know that tomorrow I will be commiting a branch with the basics of a Redux and Thunk implementation to the project.

I will be commiting on a separate branch, but I'm almost sure I will merge it to master tomorrow, so you can work with your Search functionality with a basic Redux environment.

I noticed that I don't actually need to move all setStates to actions at once, so I will be starting with the axios call for the left navbar subjects, and slowly moving the state from there.

Is this a reasonably correct way to start, or do you recommend something else?

Thank you so much for your feedback about Redux! 😄

dishankmehta commented 4 years ago

Hey @carolinaknoll I think that's the way to start it. Also, note that app level state changes should be transferred to Redux. Component level state manipulations should remain in the component itself, for e.g. checkbox component's tick manipulation.

You can get further reference, if you need any, in one of my repo called: SFTripVis

I will start the implementation anyway like adding the search bar and etc. When you merge the changes tomorrow I will pull those in my fork. 😄

carolinaknoll commented 4 years ago

Hello @dishankmehta, just following up to let you know that the Redux changes have been merged to master.

I decided to create a PR for it to organize all these changes in one place. The PR is here.

Might not be the best initial setup, but I would be super grateful if you could integrate them to your branch and if you find anything that could be changed, please do! I don't know all of the best practices just yet, so it will be a great learning experience for me. 😄

Thank you so much for suggesting Redux to the project, your suggestion made me brave enough to do it.

dishankmehta commented 4 years ago

Hey @carolinaknoll, sure I will take a look and integrate them to my branch. I am almost done with the search functionality, just have to add the theme switching and now switch to Redux state. 😄

Yes Redux is very useful. You will realize that once you start using it more. I will raise my PR today or probably tomorrow!

dishankmehta commented 4 years ago

Hey @carolinaknoll, I have created the pull request for search input check it out. I will do deep dive into your redux integration this weekend if you don't mind. 😄

carolinaknoll commented 4 years ago

Hello @dishankmehta I just merged your PR! 🚀

It looks awesome, it's a very nice addition to the project! 😃

Of course you can! It's very kind of you to be spending so much time working with this project, so I want to let you know that I value your time a lot and appreciate that you have been giving me all sorts of feedback about Redux!

You rock! 👓

carolinaknoll commented 4 years ago

Hey, I will be closing this issue since your Search PR has been merged. 👓

You can still comment here if you'd like, but since your Redux adventure doesn't have much to do with this issue anymore, you can create a PR and comment there. Just write "WIP" in the title if your PR isn't ready yet. 😄

Thank you! 🚀

dishankmehta commented 4 years ago

Hey, sure you can close this. I will comment here for any Redux related updates. Or is there a better place where we can communicate that issue?

carolinaknoll commented 4 years ago

I would say commit something on your Redux branch, and then create a PR with WIP: in the title, when you need to comment something. I believe it makes more sense if we chat on your PR instead of creating a new issue for it. 💬

dishankmehta commented 4 years ago

Okay. Makes sense. I will do that. Sorry I could not look at the Redux config this weekend. I will start tomorrow.