New schedule look, smart greeting, tasks in the calendar, and more timezone fun!!!
I spent a bunch more time procrastinating devlogging… so here’s a really long one!
New schedule look
It only changed a little, but it’s a lot easier to read and accommodates smaller event text a lot better. For events shorter than 30m, it leaves out the end time, and the title simply clips off if there isn’t space.
Smart Greeting + new header!
The header has a new look! The main feature here is the smart greeting, which shows you your upcoming classes/tasks (TODO) at a glance. It wasn’t crazy hard to implement this, just a bunch of conditions. It shows you only the upcoming classes on days you have classes, and the classes you have tomorrow if you’re done with classes for the day or have none. Past that, it doesn’t say anything.
Tasks in the calendar
This was a fun, quick adventure. I wanted to make sure tasks that were due at 11:59pm (the default) show up without having to scroll, so I stuck those ones in the all day section, to indicate you should get it done by the end of the day.
Additionally, I added the tasks to iCal syncing via the VTODO spec. I implemented it in a hacky way since the library I was using didn’t support it, but it worked. Unfortunately, that’s when I learned that almost no calendar app actually looks at them. Yep. Google calendar, Apple calendar, none of them care about it. I’m going to implement them as normal events and call it a day.
Timezone fun!
Here we go again and for hopefully the last time. I was scrolling through the calendar, as ya do, and noticed a sudden shift around November, where all the classes would shift backward an hour. This could only mean one thing: daylight savings. I don’t even know how I fixed this one. I hacked around with it for a couple hours, and it started working again. This caused the iCal syncing to do the same thing, which took longer to fix. I am so tired.
Javascript dates might actually be the worst thing I have ever worked with
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.