I haven't done a bunch today despite staying inside since I kind of want to unwind. However, in the spirit of daily progress, I cleaned up the sheet animation and had Claude refactor some of the code in this view so its not a mess.
Notably, before the Goal field (essentially a textarea) was hardcoded because textareas suck! But now we're using a GeometryReader
to calculate how much space is left in the ScrollView
and using that with a set min-height. This way, the field shrinks and expands as the keyboard is shown and hidden.
Design-wise, the header view has cancel and save buttons, but the bottom of the view is looking kinda lonely, so I'm going to think about that some more.