Commit Graph

4 Commits (ec2e477fcd4ef18e47412b6f8b874d70944da695)

Author SHA1 Message Date
Dustin ec2e477fcd Implement basic page navigation w/ mock data
Obviously, we'll replace the mock `Database` with a Firefly III API
client, but this is here for now to support the UI interactions.
2025-03-08 11:16:35 -06:00
Dustin 7c6e993c1b fixup! Initial commit 2025-03-08 11:16:13 -06:00
Dustin 660a882971 js: Initial UI implementation
I've implemented the UI using TypeScript and Shoelace.  I originally
started with Pico CSS, but I didn't really like its visuals.  Since
capturing photos using the camera requires JavaScript, and that's
basically the entire point of this application, Shoelace's JavaScript
dependency (for WebComponents), is acceptable.

The photo capture uses the Media Capture Web API, which exposes the
camera directly as a video stream.  We capture a frame from this stream
and save it in a canvas, which we then pass to Cropper.js to let the
user select only the relevant portion of the picture containing the
receipt itself.
2025-03-08 11:11:42 -06:00
Dustin 63ced69e31 Initial commit 2025-03-05 18:02:52 -06:00