Repository navigation
feat(frontend): Vuetify labs checkbox groups - #1001
Merged
Merged
Conversation
Auto-import the labs components (VCheckboxGroup, VSplitBtn). A checkbox group passes its own color to its boxes even when unset, so give groups the primary color checkboxes already default to, and line groups up with a lone checkbox: drop the labs CSS's 16px label and 6px box indents and space inline boxes apart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add the write formats, titled by comicbox, to tagging-choices.json so the tag editor and the admin Tagging tab stop hand-writing the list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
comicbox refuses a write with no formats, so an empty default made every file in an online-tagging session fail. Reject an empty list, a non-list and unknown format ids. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replace the Formats chip select with checkboxes. The last checked format is disabled and the group says why, which replaces enforceMinFormat and its undeclared lastFormats. The hint sits beside the boxes on a wide toolbar and under them, with the toolbar wrapping, on a narrow one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The last checked format is disabled and explained, so auto-save can't write an empty list. A row already saved empty shows an error instead of auto-saving a default on open. The docs links stay in the field's hint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A source without an API key is disabled with a hint pointing to Admin > Tagging, and an empty selection explains why Search is disabled. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each category is a group titled by its label. A click still goes through toggleColumn, so a new column lands in canonical position, not at the end. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A click still sends one setSettings call with only the flag it flipped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The locked top collection's reason becomes the group's hint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adopts Vuetify 4.3's labs
VCheckboxGroupin six places, one commit per component so any one can be reverted on its own.vuetify({ autoImport: { labs: true } }). A group hands its own (possibly unset) color to its boxes, soVCheckboxGroupdefaults toprimarylikeVCheckbox. Groups line up with lone checkboxes app-wide:global.scssdrops the labs CSS's 16px label and 6px box indents and spaces inline boxes 16px apart.tagging-choices.jsoninstead of being hand-written in two components.ComicboxTaggingDefaultsSerializer.validate_default_formatsrejects an empty list, a non-list and unknown ids. comicbox refuses a write with no formats, and the admin tab autosaves, so unchecking the last format used to break every online-tagging write.enforceMinFormatand its undeclaredlastFormats. Onmdand up the hint sits beside the boxes, so the toolbar stays one 64px row; on phones it stacks and the toolbar wraps.messages, sincehintis one string). A row already saved empty shows an error instead of autosaving a default.toggleColumn, so a new column lands in canonical position.setSettingscall with only the flag it flipped.vuetify-split-btnmakes the same one-linevite.config.jschange, so whichever merges second applies cleanly.Test plan
edit-panel-formats,browser-settings-collection; new cases intagging-tab,launcher-dialog,browser-table-column-picker-standalone,defaults-tab. Each first mount asserts theVCheckboxGroupcomponent resolves. Backend: empty, non-list and unknown formats are 400s.make lint,make ty,make test-frontend,make build-frontend,make testpass.🤖 Generated with Claude Code