Skip to content

feat(ui): redesign the Search page - #674

Merged
padak merged 1 commit into
mainfrom
claude/e2e-snowflake-search-ui-cb0bf4
Aug 23, 2026
Merged

feat(ui): redesign the Search page#674
padak merged 1 commit into
mainfrom
claude/e2e-snowflake-search-ui-cb0bf4

Conversation

@padak

@padak padak commented Aug 23, 2026

Copy link
Copy Markdown
Member

What

Replaces the Search page's raw form (native multi-select with a scrollbar, bare <select>s, no states) with a proper search console that stays inside the NERD UI design system.

  • Search console: prominent input with inline icon, autofocus and an Enter hint; a names / config bodies segmented toggle replaces the search-type select.
  • Type filters as toggle pills (tables, buckets, configs, flows, transformations, data apps) with per-type icons, instead of the native multi-select.
  • Skipped projects are no longer silent: the search fan-out returns per-project errors[] (expired session, missing global-search feature) which the old page dropped entirely — a fleet where every project is skipped rendered as a blank "0 hits", looking broken. They now render as a compact "N projects skipped — expand for details" notice, grouped by message, expandable to the affected project aliases. A zero-project run says "No project could be searched" instead of pretending "no matches".
  • Clickable results: each row deep-links into its home page via the owning page's ?sel= grammar (storage tables/buckets, configs, transformations, flows) — the same contract the command palette uses, including the project switch and the setter ordering rule (selection written last).
  • Richer rows: typed icon pill (data apps recognized via component_id == keboola.data-apps), description subline, and a matched-columns hint for tables matched via a column name (DMD-1717 data was already in the response, unused).
  • Proper empty, loading and no-results states.

Why

The page looked unprofessional and, worse, hid the reason searches came back empty: on a config with many registered projects, expired sessions / missing feature flags silently reduced the search to nothing.

Testing

  • tsc -b clean, npm run build OK, npm run test 53/53.
  • Verified live against kbagent serve --ui --ui-dist web/frontend/dist: light + dark mode, grouped skip notice with real 51-project fan-out errors, result-row deep links write the expected hash (#/p/<alias>/storage?sel=tables/...); a cross-project link into a project whose list cannot load is dropped by the target page (existing intended behavior).

No server changes; configuration-row results stay non-navigable (no stable parent-config link in the result shape).


Open in Devin Review

Replace the raw form (native multi-select with a scrollbar, bare selects)
with a proper search console that stays inside the NERD UI design system:

- Prominent search input with inline icon, autofocus and an Enter hint;
  a names / config-bodies segmented toggle replaces the type select.
- Type filters as toggle pills (tables, buckets, configs, flows,
  transformations, data apps) with per-type icons instead of the native
  multi-select.
- Per-project failures from the search fan-out (expired session, missing
  global-search feature) were silently dropped; they now render as a
  compact 'N projects skipped' notice, grouped by message, expandable to
  the affected project aliases. A zero-project run says so instead of
  pretending 'no matches'.
- Results are clickable: each row deep-links into its home page via the
  owning page's ?sel= grammar (storage tables/buckets, configs,
  transformations, flows), same contract the command palette uses.
- Result rows show a typed icon pill (data apps recognized via
  keboola.data-apps), description subline, and matched-columns hint for
  tables matched via a column name.
- Proper empty, loading and no-results states.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@padak
padak merged commit 0ea59f0 into main Aug 23, 2026
6 checks passed
@padak
padak deleted the claude/e2e-snowflake-search-ui-cb0bf4 branch August 23, 2026 22:35
@padak padak mentioned this pull request Aug 23, 2026
13 tasks
padak added a commit that referenced this pull request Aug 23, 2026
Batches the nine PRs merged since v0.90.0 (#670, #671, #672, #673, #674, #675, #676, #677, #678) into one version bump and one changelog entry.
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.

1 participant