grant.codes

#100days 24 - Doubled down on updates today and made another small fix to the upcoming Next.js version of my site and fixed the single article view, it was previously always showing a compact version, but now it understands that it is a single full page and shows the full content of a post

#100days 23 - Today I returned back to a long abandoned project, my home automation chatbot. My lovely girlfriend mentioned that she saw someone else had made an "attention button" for their girlfriend and whenever it was pressed it would flash their lights and let them know that attention was required.

I thought "I can do that!" so I did! I quickly set up a Node-RED flow that sets off my speakers and flashes my lights if I'm home, if I'm not home it sends a notification to my phone.

To trigger this I setup my telegram chatbot with an /attention command, and allowed it to work in our own private group. So now my girlfriend can control my house as well and request attention whenever she wants.

#100days 22 - I'm still one day behind but I promise I'll get 2 updates in tomorrow.

Today was just a quick update to my updated Next.js site - I added a little function to generate titles automatically based on content. "Photos page 3" and the like.

#100days 21 - Basically no progress on the PostrChild extension, I think (but don't know for sure) that is an issue with the react portal system. Calling a function defined outside a portal from inside a portal and the state variables are always their initial value. I tried using custom js events to get around it as well as setting up some better global state management.

#100days 20 - small step forward and a smaller step back. I tried adding a ctrl+enter shortcut to publish with the PostrChild extension. The actual shortcut works and runs the publish function, but for some reason when it is run via the shortcut it doesn't pick up the content. Something to try and figure out tomorrow!

#100days 19 - Small but good progress today on the PostrChild extension, the new post from anywhere button works like a charm. I hit that and it opens my website and loads the editor really quickly.

But I didn't manage to get the reply button working just yet. It requires passing some data into the newly created page, which I haven't quite fully figure out yet. Hopefully tomorrow though πŸ˜ƒ

#100days 18 - Just a small one. I setup the PostrChild extension to automatically save the new post url, which means that the extension can launch a new post editor from any page. Although I seem to have issues with the popup being really slow now (I think a bad react hook), so it's not fully tested yet.

#100days 17 - The next.js migration continues! I'm actually feeling quite close to having something working now, I fixed a lot of things that were just straight up broken today like watch posts and seo titles.

There is still quite a lot that is missing - but not actually broken, so I am tempted to start building and deploying some of this to a test site. I am slightly worried that statically generating everything will make the build process excessively slow, even though I have tried to do some caching now, but luckily I can configure all of that - perhaps statically generating the most recent 50 posts and dynamically generating the rest makes sense.

#100days 16 - More website migration work! Pretty happy with the separation of frontend and backend now, I think it should work well :)

Today I did a lot of work on the admin functionality and tidying up a lot of code and transferring old custom functionality like my pay page.

#100days 15 - Made a lot of progress porting my site to Next.js. It's been quite a pleasant experience so far. The static generation abilities are really powerful now and I managed to make a first - totally unoptimized - static export of my previously fully dynamic site, it might have taken 17 full minutes to run, but it did successfully generate thousands of static pages.

Lots more work to go on it but it's definitely a good start and I am very much looking forward to the upcoming Next.js features.

>