# Suche One field for all of diora: a section of its own in the navigation (`static/js/nav.js`, section and group `suche`, flag `side`): - phone (the apps' tab bar, the web page's narrow bar): beside Home · Lesen · Hören; - the apps' sidebar and the web page's wide bar: at the foot, above Abos & Quellen. It's never the section the app opens in next time (`diora_nav_section` isn't written for it). ## What is searched where | Area | Where | Opens | |---|---|---| | Bücher, Zeitschriften | on the device (`_lastBookListData` / `bookMetaCache`): titles are encrypted, the server never sees them; title, author, series, file name, folders; editions of one work once | `openBook(id)` | | Hörbücher, Podcasts (Abos) | server: title, author | `__dioraAudiobookOpen(id)` / `__dioraPodcastOpenFeed(id)` | | Folgen | server: the full-text index (`podcasts/discover.py`, titles and shownotes, podcasts only) | `__dioraPodcastOpenEpisode(row)` if the podcast UI has it, else the podcast's page; ▶ plays (`podcastPlayEpisode`) | | Artikel | server: titles and authors of news and blog items not expired | `__dioraFeedsOpenItem(id)` | | Nachrichtenquellen, Blogs | server: title, address, category | the news / blogs | | Radio | server: saved stations, name, tags, country | `playStation()` | Every word has to be there as the start of a word ("plattf" finds "Plattform"); case and diacritics don't count. "Darüber hinaus" hands the query to Abos & Quellen (new podcasts, YouTube, feeds) or the radio directory search. The last eight queries (Enter or a hit opened) are kept on the device. `DioraSearch.open(q)` opens it from anywhere. ## API `GET /search/?q=…` (signed in) → `{q, podcasts, podcasts_total, audiobooks, audiobooks_total, episodes, sources, articles, articles_total, stations}`; `{q, empty: true}` for less than two letters. Episodes come as the episode lists give them (`_episode_list_data`). Eight per area (articles sixteen).