This (currently placeholder) #epic captures, given more or less all the tools needed, building the new search experience.
- Identify the //minimal// catalog of components needed to build the new search experience.
- Build the button
- Build the list
- Build the form
- Other stuff
- Don't break DWIM
- What to do with the existing search widget on Special:Search?
- Do we want a more button-like presentation for "search pages containing" or should it look like a result as it does in the mock?
- Do we need an API for DWIM or will this be covered by Core API?
- What instrumentation is needed?
=== Acceptance Criteria
[] Drop down results are suggested and updated on user input
[] Results must include:
- Page name
- Image (if available)
- Wikidata description (if available)
- Access to search results page
[] If a user presses enter or taps the "search pages containing..." result, Special:Search is shown
[] Results should have some level of HTTP caching. E.g., typing "f", "o", "o", <backspace> should show cached results for "fo" instead of having to wait for a new response.
[] Vue.js lessons learned are documented
[] If any shareable components (e.g., buttons) are made as part of this work, they're shareable (or a task is written to make them shareable).
[] Results must include an intelligent loading state (e.g., show placeholder cards when content is loading)