Load Authenticated Docs Index
Open the signed-in Docs screen and load `/api/app/docs` for the current language, device width and theme. In the GB demo, Harbor Demo User can see grouped guide sections and article summaries without selecting a specific organisation or location.
In this article
Use this guide to validate the first Docs load for an authenticated operator. The screen requests an index from the app docs endpoint, then renders the available sections and summaries in the Docs sidebar.
This action is limited to the index. Opening a guide, loading article body content, resolving legacy article links and typing into local search are separate flows.
Before you start
- Harbor Demo User is signed in and is not blocked by the pending-deletion gate.
- The Docs screen is opened from the user menu, `/docs` or `antylogic://docs`.
- The docs content bundle is configured and includes at least one English article.
- For captures, use the authenticated GB demo session and keep implemented IDs and routes such as `docs.app.load-index`, `/api/app/docs`, `locale=en`, `platform=web` and `theme=light` unchanged.
Instructions
- 1.
Open Docs while signed in
Open Docs from the user menu or use `/docs` / `antylogic://docs`. The route does not require Harbor Demo Group or Harbor Soho to be selected, but it still uses the active authenticated app session.
- 2.
Let the index request complete
On mount, the screen resolves English to `locale=en`, detects `mobile`, `tablet` or `web` from viewport width, adds the current theme, and calls `GET /api/app/docs`. While the request is loading, the English UI shows `Loading documentation...`.
- 3.
Check the loaded sections
After the index loads, confirm that the Docs screen shows `Docs`, `Search Docs`, the guide count, section headings, article links and summaries. If the route did not name an article, the first available summary is selected automatically.
- 4.
Stay within index loading
Use the loaded section list to understand which guides are available. The visible search field filters the already-loaded index locally; it does not send `q` during this initial action. Article detail fields and media are not part of this index response.
- 5.
Handle empty or failed states
If the request fails, the English UI shows `Docs could not be loaded.` If the index is empty for the current language and device, it shows `No articles are available for this language and device.` `HEAD /api/app/docs` is only a service check, not a content lookup.
Validations and limits
- The index request is authenticated through `/api/app/docs`; a `401` can trigger session refresh and retry before an error is shown.
- The index response includes `version`, `locale`, `platform`, `article_count` and grouped `sections`.
- Each section includes `slug`, `title` and `articles`; each article summary can include `id`, `slug`, `section_slug`, `action_id`, `primary_keyword`, `title`, `summary`, `icon_name` and `has_media`.
- Current index building filters by locale and optional server `q`; `platform` is echoed and `theme` is sent by the client but does not filter index articles.
- Only `GET` and `HEAD` are valid docs methods. Missing docs configuration can return `503 documentacion no configurada`; other content failures can return `500 documentacion no disponible`.
Expected result
The authenticated Docs index is loaded and visible as grouped guide sections and article summaries, without opening article detail or using local search.