More cleaner in an already information-dense view while not limiting functionality. I've tried putting the count inside of the comment, but the text is pretty small. This could probably be further looked into in the future, but this is a decent enough stopgap with low chance of fallout.
Significantly cleans up the listing and isn't needed to see in bulk. Some sites disable thanks completely and don't want to see it. I plan to also move the comment count and the seeding/leeching indicators elsewhere in a separate PR to clean it up further. The count is still shown on the individual torrent page itself.
Cleans up the code to remove null coalescing on user_settings when it doesn't exist. Sometimes null was unintentionally being cast to false. Allowing the user_setting remain optional allows the site administration to configure and change defaults for their users without it affecting users who have explicitly chosen their existing user settings.
Alternative to #4789
Also had to use `@style` directives inside /resources/views/components/user-tag.blade.php. Prettier was erroring when the `@if` directive was inside the html attribute otherwise. Seems to have always been an issue, but the CI must only be formatting files that changed and because the file was only just changed now, it never discovered it until now.
The table cell was missing when the user couldn't edit, which broke the table. Now we still include the table cell, but leave it empty if the user can't edit.
The edit button was separate from the other actions in the grouping view. Move it with the other actions like how the torrent list view is done. And fix a few other alignment issues.
Shaves 110ms (from 150 ms to 40ms) from the logic to group torrents per tmdb and media type. It's not much compared to the rest of the request (~2s), but it's something. I could've got it down to 11 ms if laravel didn't have high overhead when accessing attributes, but it was 70ms before I started using ->getAttributeValue so that says something there.
Just an initial portion for now fixing incorrect text and preventing future incorrect text. Eventually, I'd like to fix everything still listed under "ignoredWords" in cspell.json.
` / ` signifies that it's a multi-title upload and we shouldn't remove the title since the grouping only shows one of the titles. The other titles are still important.