Skip to content

Claude/Add Build Checker + Build Status Display#22

Merged
AlexKempen merged 13 commits into
certfrom
claude/lucid-hawking-bkujhr
Jun 28, 2026
Merged

Claude/Add Build Checker + Build Status Display#22
AlexKempen merged 13 commits into
certfrom
claude/lucid-hawking-bkujhr

Conversation

@AlexKempen

Copy link
Copy Markdown
Collaborator

This PR adds a new build-status component to the app. build-status allows admins to quickly see part information at-a-glance via a new hover bubble.

It also adds build checks to the app, which are computed at load time and allows us to flag potential issues with parts. To start with, we ensure every document has a thumbnail tab set, groups have at least one unhidden part, a thumbnail was generated.

image

claude and others added 13 commits June 21, 2026 18:10
Introduce a build checker that flags data-quality issues with groups and
insertables, classified as info/warning/error. Most checks run at build time
in the load-document workflow and are stored in new `build_issues` columns;
the "group has no unhidden insertables" check is computed live in the
frontend since it depends on per-user visibility.

Issues are surfaced through an inline build-status tag (next to the Hidden
tag) with a read-only hover card that shows the item's current state
(hidden, open composite, insert-and-fasten, parsed vendors) plus the build
issues. The tag is visible to editors and admins only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KYR5A6oY9L5eom9R5rXFqz
…l reload

- Key build issues by a BuildIssueCode enum and model BuildIssue as a
  discriminated union so variants can carry custom data later. Severity and
  message are derived from a central BUILD_ISSUE_META map rather than stored.
- Add addBuildIssue (dedupes by code) and clearBuildIssue helpers.
- Clear the thumbnail-failed issue when a group/insertable thumbnail is
  successfully reloaded.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KYR5A6oY9L5eom9R5rXFqz
- Drop the BUILD_ISSUE_META lookup map. Each build issue is a self-describing
  object in a BuildIssue[] array, discriminated by a BuildIssueType enum, with
  the union typed so specific issue types can carry extra data later.
- Derive severity from the type via getIssueSeverity; render the human-readable
  message on the frontend (getIssueMessage in build-status.tsx) rather than
  storing it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KYR5A6oY9L5eom9R5rXFqz
- Add a proper IssueIcon component (with a getSeverityMeta helper for
  color/label) in place of the getSeverityVisual icon-rendering pattern.
- Render the inline build-status badge as a self-sizing icon-only badge
  (flexShrink: 0) so the flex CardTitle row no longer squishes or stretches it.
- Size the hover card to its content (capped) and keep rows nowrap so short
  rows and messages no longer wrap.
- Show boolean current-state values as a green check / gray cross instead of
  Yes/No text.
- Show vendors as compact badges (abbreviation, full name on hover) instead of
  a comma-joined string that wrapped badly. State-row values are now structured
  data so the hooks file stays JSX-free.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KYR5A6oY9L5eom9R5rXFqz
…rt row

- Rename BuildIssueType members to ALL_CAPS and drop the explicit string values
  (nothing is persisted yet) to match the BuildIssueSeverity style.
- Inline build-status-hooks.ts into build-status.tsx and delete it; it was only
  consumed there.
- Render the Hidden indicator as a bare Tabler icon instead of a Mantine Badge,
  matching the icon-only build-status tag.
- Change the group "current state" row to "Default sort order" showing
  "Alphabetical" or "Standard" (new text value kind).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KYR5A6oY9L5eom9R5rXFqz
@AlexKempen AlexKempen merged commit 247ccfc into cert Jun 28, 2026
1 check passed
@AlexKempen AlexKempen deleted the claude/lucid-hawking-bkujhr branch June 28, 2026 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants