This naming scheme removes some duplication which is nice, but it's a little strange and results in a longer name overall. I don't like it very much because:
- filenames don't include the component's actual name. This makes it slightly harder to find them in my text editor (but I'd probably get used to that)
- the namespace and class naming isn't exactly right. This is _the_ vertical_ellipsis_menu, not a subcomponent.
- the stimulus controller name is now longer, adding more cruft to the HTML.
Lots of discussion here: https://github.com/ViewComponent/view_component/discussions/67
People tried to come up with a better way (and I was tempted to try myself). It seems this approach won. I guess it's not so bad if your component names are shorter.
Javascript hasn't been moved in, as we don't seem to be set up for that yet.
We could make it smarter, and pass in an array of parameters to build the links (as in _order_links.html.haml). But why make it complicated if we don't need to?
There were all sorts of dependencies hiding in there, and it was overwriting some of the admin variables. Better to keep things separate and simple.
I discovered that there was one legitimate reason for importing them though: for styling the trix editor. I can't think of a good way to safely import them without affecting the other variables, so I just hardcoded the colours for now.
For `admin_style_v3` use `<` and `>` for next and previous link
instead of `next` and `previous` string
Extract a mixin for a default box-shadow
Maybe this needs to be redefined. Let's see how next things goes.
When a table is followed by a pagination, remove its margin-bottom + border
Finally, design the pagination component
Add sorting/pagination module, on top of table
We use `cablea_ready.replace`, so need to add `#products-content` id
Use a `pagy` partial with reflex action, instead of the legacy one
- revert the legacy one to its previous state
- in reflex, fetch product with page attribute, 1 by default
Move `pagy` into `admin/shared/v3/` to be reusable
+ use fontawesome icons for next and previous page
Remove useless line
The .content div provides overall page margins and a max width, and is already nested inside the nav menus (this allows the nav background to fill the full width of the page.
The main content area should be structured the same way, so we can have flexibility needed to allow some screens to use the full page.
This doesn't seem to change the layout of any screens in the admin interface.
Now the table content can stretch full width
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).