Today is the 27th of January 2024, and my entire day was amazing because I figured out super simple implementations for things that seemed complex. Sometimes, we use many libraries and hooks unnecessarily when a lot of tasks can be accomplished in a much simpler way without adding complexity.
Half of my day was spent figuring out the authentication and logout flow. I have now removed Apollo GraphQL and am using simple fetch APIs instead, which are working super smoothly with no bugs. Finally, after two days of struggle, I was able to make it work the way I wanted, and I'm happy to report no bugs in the authentication flow, at least for now.
The good news is that I can now access all the APIs that require authentication, and I can offer a much better and more personalized experience to the users of Hashnode and this particular extension.
I've created a different UI for the FEEDs section, which wasn't there before. Now, users can switch between three types of feeds, similar to what we have in the Hashnode application: following, personalized, and featured. Let me show you how the UI looks right now for the feed section.
I also implemented two more routes in the application today: bookmarks and find the user. I have made temporary implementations for these routes, but I need to work on the UI and the integration part for the search user section, which I'll complete tomorrow. The bookmarks section is fully implemented. Let me show you:
It's 3:46 a.m. right now, and I can finally say that 80% of the application is done. I want to complete the remaining 20%, along with all the UI enhancements. There are a few more things to do, like implementing a proper loader and some small UI improvements, but I'll tackle those tomorrow.
My goal is to submit this Chrome extension to the Chrome Web Store by the end of tomorrow so that it will be available within the deadline of this hackathon. I know that the Chrome extension review process takes time, but the last time I did it, it took around 3 to 4 days, and it was up on the Chrome Web Store. If it doesn't get reviewed in time, I'll have to share the extension Github file in the final blog post I write for this hackathon.
I also need to build the landing page for this extension to make it easier for people to navigate and understand more about the extension.
A lot of work to be done.