feat: Implement login page!
This login page will not know what to do on success yet, and we have no
test users set up so that's actually fine.
Also: I noticed a few days before starting on this already that I was
heading in a direction of overisolation: A server component can just
call a function in `data.gleam`, it doesn't need to send out and about a
message and all that (thank you Ollie for keeping me sane again)... To
make sure the component can do that, it needed access to some globals,
so there was a bit of an architectural change in passing values. I
could've split this into a refactor AND a feat, but the refactor would
at the moment only service the feat. So, I decided to just put it in one
commit, think that's fine.
Also, we've pulled in a Nif with this change: `gleam_crypto` only
provides Sha-based hashes which are a little too quick for my taste for
authentication like this. So, we pulled in the argus package, which
contains a well tested C Nif. This should also be fine.
Overal I think I'm making loads of progress again! Glad to feel good
about Lumina again, it can be a tiresome project sometimes.
feat: Implement login page!
This login page will not know what to do on success yet, and we have no
test users set up so that's actually fine.
Also: I noticed a few days before starting on this already that I was
heading in a direction of overisolation: A server component can just
call a function in `data.gleam`, it doesn't need to send out and about a
message and all that (thank you Ollie for keeping me sane again)... To
make sure the component can do that, it needed access to some globals,
so there was a bit of an architectural change in passing values. I
could've split this into a refactor AND a feat, but the refactor would
at the moment only service the feat. So, I decided to just put it in one
commit, think that's fine.
Also, we've pulled in a Nif with this change: `gleam_crypto` only
provides Sha-based hashes which are a little too quick for my taste for
authentication like this. So, we pulled in the argus package, which
contains a well tested C Nif. This should also be fine.
Overal I think I'm making loads of progress again! Glad to feel good
about Lumina again, it can be a tiresome project sometimes.