I am currently reworking the entire way time is tracked for jus’study. Beforehand the time was tracked in the devlog database table. This now introduces a bunch of problems if you want to for example alter that data. Because of that the idea is to move to a design that I call “time ledger”. Basically any “event” like adding a devlog adds a duration (can be negative to subtract). This way it is way more extensible. Oh yeah and I made an integration for hackatime oauth. Right now I am trying to write sql-migrations so that I can migrate to the new database schema without deleting everything.
Today I finished up the review redesign and added a project-lock feature. I have never been so frustrated with React like today. The dialog you can see in the screenshot was a pain to get working using the <dialog> tag. React for some reason doesn’t implement the button attributes necessary for opening and closing dialogs without javascript. And the way state is controlled for dialogs in React sucks and I had to use refs.
I started redesigning and refactoring the review panel. The previous UI was AI generated and looked bad. To be quite honest I don’t really like the Jus’Study theme so far so I tried making the best of it with the review panel and actual put some thought into the design. In the next couple of days I will try to add some more features as well to make the update not only cosmetic. I might look into AI for this in the future, but I find my human-written code to be more aesthetic (when I am trying atleast)
added a little “My orders” page so participants can have a look at their orders
I finished the new shop item variant system. Admins can now create new options on already existing items or create new items with multiple options. I also updated the item buying page to let the user select (see below)
I added a shop managment panel and am currently working on adding shop item variants so users can e.g. select different colors for an item
As always the backend is way nicer to work with than the frontend. I hate react
Just made a custom (therefore a bit shitty) markdown parser to parse slack messages and format them correctly when being printed