I based some of this code heavily on a couple Mantine (https://mantine.dev/) hooks and Suncalc (https://github.com/mourner/suncalc), but modified them to either make them simpler and/or, in Suncalc's case, typed.
This is my first open-source package in a while, so I'd greatly appreciate any constructive suggestions! I have been using some form of this in my own projects and figured, when I added it to the most recent one, I should just extract it into its own project. I'm hoping something small like this will motivate me to do more open-source work because I miss it!