Skip to content

EDM-4153: Improve layout of Repository select dropdown#692

Open
celdrake wants to merge 1 commit into
flightctl:mainfrom
celdrake:EDM-4153-fix-repo-dropdown-layout
Open

EDM-4153: Improve layout of Repository select dropdown#692
celdrake wants to merge 1 commit into
flightctl:mainfrom
celdrake:EDM-4153-fix-repo-dropdown-layout

Conversation

@celdrake

@celdrake celdrake commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

The layout looks better now, with proper spacing between the selection mark and the additional content.

Removed validateRepoSelection as we had made changes to the RepositoryForm to enable only creating valid repositories (for example, only writable OCI registries).

repo-layout

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

This PR removes the output repository validation callback that enforced writability checks and refactors the repository item rendering layout from Flex-based to Grid/Stack-based layout with updated CSS styling for menu item alignment.

Changes

Repository Selection Refactoring

Layer / File(s) Summary
Remove validation callback pattern
libs/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/OutputImageStep.tsx, libs/ui-components/src/components/form/RepositorySelect.tsx
OutputImageStep removes the writableRepoValidation callback and cleans up unused OCI-related imports. RepositorySelect removes the validateRepoSelection parameter from getRepositoryItems, eliminates setFieldError usage, and simplifies handleCreateRepository to always set the created repository without pre-selection validation.
Update repository item rendering and styling
libs/ui-components/src/components/form/RepositorySelect.tsx, libs/ui-components/src/components/form/FormSelect.css
RepositorySelect imports migrate from Flex/FlexItem to Grid/GridItem with Content/ContentVariants. Repository items are rewritten to use Grid/Stack layout instead of Flex-based description rendering. FormSelect.css adds rules for menu item main content padding and absolutely-positioned, vertically-centered checkmark icons. ReadOnlyRepositoryListItem simplifies to render label content only.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

ui-components

Suggested reviewers

  • rawagner

Poem

📋 Validation's farewell, no writable gate,
Grid takes Flex's place in repository state,
Icons align true with CSS precision,
Items reflow in a Grid's sleek decision. ✨

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Generated-Files-Not-Hand-Edited ⚠️ Warning The PR directly hand-edited the generated file libs/i18n/locales/en/translation.json by removing the translation key "Repositories used for output images must be writable." Instead of regenerating... Regenerate the translation.json file using npm run i18n rather than manually editing it, since it's generated from source code references by i18next-parser.
✅ Passed checks (14 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main change: improving the layout of the Repository select dropdown with proper spacing adjustments, as evidenced by CSS updates and component restructuring.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
No-Hardcoded-Secrets ✅ Passed No hardcoded secrets found. All three modified files contain only UI components, styling, and translations with no API keys, tokens, credentials, or suspicious base64/hex strings.
No-Weak-Crypto ✅ Passed PR contains no weak cryptography. Changes are UI/form-related only: CSS dropdown styling and React component refactoring. No crypto code, algorithms, or patterns detected.
No-Injection-Vectors ✅ Passed No injection vectors detected. All user data (repository names, URLs) rendered via JSX components which auto-escape; no dangerouslySetInnerHTML, eval, exec, or innerHTML patterns found.
Container-Privileges ✅ Passed PR contains only UI component code (TypeScript/React/CSS); no container or K8s manifests modified. No privileged configurations present.
No-Sensitive-Data-In-Logs ✅ Passed No logging statements exposing sensitive data (passwords, tokens, API keys, PII, session IDs, hostnames, customer data) found in any of the three modified files (OutputImageStep.tsx, FormSelect.css...
Resource-Leaks ✅ Passed All HTTP response bodies are properly closed with defer statements. Two goroutines in proxy/bridge/terminal.go communicate via error channel with proper shutdown; main loop exits on error. No unclo...
Unchecked-Errors ✅ Passed Pull request modifies only TypeScript/React and CSS files in libs/ui-components/; does not modify any Go files in proxy/ directory, making the unchecked-errors check inapplicable.
Ai-Attribution ✅ Passed Commit includes proper AI attribution trailer "Made-with: Cursor" per check requirements; no improper Co-Authored-By usage detected.
I18n-Compliance ✅ Passed All user-visible strings in OutputImageStep.tsx and RepositorySelect.tsx are wrapped in t() with hardcoded literal keys; no variables used as translation keys.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant