April 2020 'Month In Review'
Published: 05/03/2020 | Time To Read:4mins
Welcome back to the first 'Month in Review' segment I've done in a while now. I'd had a lot happen in life and like some people lost my mojo for a while just due to frustration and burn-out but Its time to hit the editor fast and hard again. I've been dealing with a lot of authentication issues on the website, something I've been struggling with for months now and have reached the point where I think its best to rip it out and start fresh. This problem has stopped me from progressing on a lot of places on the website honestly because I can't provide security to be able to do things that require user authentication.
I had begun working on editors on the front-end to be able to edit the content on the fly, without having to use the backend but that proved to be a bad idea as I couldn't get consistency. But that hasn't stopped me from progressing in areas that I can do some work.
One of the biggest changes I've made site-wide over the past few weeks is image loading using the Cloudinary react package, they handle delivering the correct size image based on the width of the browser which is really cool, however, I want to create a suspense fallback while those images load, or research further if they have a method to do this themselves. I also turned on lazy-loading but that's only for URLs I directly call because again Cloudinary component doesn't seem to support this, something I hope they add and will probably submit a bug ticket for before too long.
Another big thing was the switch from react-pose(pop motion pose) to framer motion, while it's taking me more time to get working I'm finding it much more intuitive and as a result, I've been slowly moving all site animations over to use it. I haven't figured out page transitions yet but when I do yeehaw!
Things to do site-wide:
- Finish transition to framer motion
- replace the authentication system
- refactor and fix the alert system
- correct footer icons
One of the things I finally did get working was on the articles home page you can now filter by tag or category, but can't remove that quite yet without some work on creating a filtering box UI at the top of the page. I haven't quite decided yet how that should look so I've left it be for now. I've also improved image loading, although that's an ongoing one anyways.
I also took the time to redo the content-type itself removing some SEO fields and instead just using what's already provided. When I initially created those fields I thought it would be useful to be able to specify content different to what was already written was but realized all I was doing was copying and pasting the title and the first few sentences of the body of the article anyways and so I went ahead and migrated away and created a function to truncate the first X number of sentences or paragraph whichever comes first.
I also added a handy little thing on the header of the article, approximate time to read. This will be fun to see if I'm keeping people engaged or not.
My todo list for the articles pages includes:
- Lazy loading articles, using GraphQL pagination for this to load more as you scroll down
- Filter UI for active filters, possibly create a sidebar with filters
- Post View — list categories and tags somewhere
- Fix SEO — currently doesn't work with a single post (loading too late)
- More filtering based on User Role
So I started on the galleries page, there isn't much in terms of functionality but I'm working towards getting things rendered out onto the page at least for now so that I may begin adding actual content to them. With StrapiJS releasing their new media library a lot of things with image handling is able to be redone and in a much better and more intuitive manner and the galleries page is serving as my proof of concept for the new way, I no longer have to have a separate content type for an image as everything it offered I can do right in the media library itself.
The design of the landing page for them isn't final yet, but i'm liking the current direction of it, mobile needing work yet of course.
So here we are talking about auth again. I can't seem to get it sorted, and I think I've finally got a solution but once again it requires me to rip it all out and start fresh. When its done there will be a much more customized experience for those who I've given access to.