Summary
When search was added (#360) it covered only top-level entities: Organizations, Projects, and Users. The search API has since been extended to support arbitrary resource types via ResourceIndexPolicy. This issue extends the search UI to include sub-resources — Domains, DNS Zones, Contacts, and Notes — and redesigns the results panel to scale to the larger result set.
Blocked by
datum-cloud/datum#214 — ResourceIndexPolicy resources must be deployed before the new resource types are searchable.
Tasks
Notes
- Notes do not currently have a detail page route — the Notes group should link to the list page until a detail view exists
- Resource result rows are 40px tall (vs 44px for entity rows) per the design
- Each resource group shows a max of 3 results; "See all →" links to the relevant filtered list page
Summary
When search was added (#360) it covered only top-level entities: Organizations, Projects, and Users. The search API has since been extended to support arbitrary resource types via
ResourceIndexPolicy. This issue extends the search UI to include sub-resources — Domains, DNS Zones, Contacts, and Notes — and redesigns the results panel to scale to the larger result set.Blocked by
datum-cloud/datum#214 —
ResourceIndexPolicyresources must be deployed before the new resource types are searchable.Tasks
tenantfield is currently missing from the generatedSearchResulttype inapp/resources/openapi/search.miloapis.com/v1alpha1/types.gen.tsapp/resources/request/client/apis/search.api.tsfor Domains, DNS Zones, Contacts, and Notes — use the existingexecuteSearch<T>()andbuildQuery()patternapp/resources/request/client/queries/search.queries.tsfor each new resource typeapp/components/app-search/index.tsxto the two-section layout per the design:globeiconservericoncontacticonsticky-noteiconNotes