There are three main components:
1. The invoice model
2. order serializers: serialize the order for the invoice
3. data presenters: the object that will be use to access the order's serialize data
With generic link to the releases page. We could provide a link to latest tag with `git describe --tags --abbrev=0`. But I thought it better to keep things simple.
Defining an alternate s3 configuration set to `public: true` means we can use it selectively. It sets the objects to `acl: "public-read"` by default (read-only) and means any image tags for those assets can use direct public links in the src attribute (without hitting the ActiveStorage::Representation endpoint). The default non-public service will still be used by default for any other files on instances using s3.
Newer version of Rails have this option as default. We can slowly
transition to opt in gradually, model by model. Once all models are
covered, we can change the default and remove the setting from the
models again.
The style violation was added to the todo file because it's temporary.
We have 60 models using `belongs_to`. And changing them all at once
breaks some specs. So let's do it gradually.
This ends up sending a request to the orders endpoint with no filters and no search params, which then tries to load every order in the entire database if the user is superadmin, which blows up.
And provide a basic hover state for most other buttons.
The pagination button hover and active states will need updating.
The darker background colour sometimes wraps a whole table (eg products table).
There is more to do, for example the dropshadows.
I've continued with the unopinionated colour naming (eg color-7), but would like to consider giving them more meaningfule names..
The current value is 13px already, but I'd like to experiment changing this.
I'm not sure if we even need the reset, but am not delving into that right now.