Blame
|
1 | --- |
||||||
| 2 | category: spec |
|||||||
| 3 | tags: [ux, navigation, platform, plan] |
|||||||
| 4 | last_updated: 2026-03-17 |
|||||||
| 5 | confidence: high |
|||||||
| 6 | --- |
|||||||
| 7 | ||||||||
| 8 | # Wiki-to-Dashboard Navigation Plan |
|||||||
| 9 | ||||||||
| 10 | Add a "Dashboard" link in Otterwiki's dropdown menu so users can navigate back to the platform dashboard from within their wiki. |
|||||||
| 11 | ||||||||
| 12 | ## Approach |
|||||||
| 13 | ||||||||
| 14 | Add to the `⋮` dropdown menu in `wiki.html`'s `{% block navbardropdown %}`, at the top, separated by a divider. PLATFORM_MODE-only. Uses `os_getenv('PLATFORM_DOMAIN')` (already a Jinja2 global) for the URL — no resolver changes needed. |
|||||||
| 15 | ||||||||
| 16 | ## Visual placement |
|||||||
| 17 | ||||||||
| 18 | ``` |
|||||||
| 19 | [ ⋮ dropdown ] |
|||||||
| 20 | ← Dashboard (PLATFORM_MODE only) |
|||||||
| 21 | ───────────────── |
|||||||
| 22 | Create page |
|||||||
| 23 | A - Z |
|||||||
| 24 | Changelog |
|||||||
| 25 | ... |
|||||||
| 26 | ``` |
|||||||
| 27 | ||||||||
| 28 | ## Link details |
|||||||
| 29 | ||||||||
| 30 | - Text: **"Dashboard"** |
|||||||
| 31 | - Destination: `https://{{ os_getenv('PLATFORM_DOMAIN', 'robot.wtf') }}/app/` |
|||||||
| 32 | - Icon: `fas fa-th-large` |
|||||||
| 33 | - Guard: `{% if config.PLATFORM_MODE %}` |
|||||||
| 34 | ||||||||
| 35 | ## Files to Modify |
|||||||
| 36 | ||||||||
| 37 | | File | Change | |
|||||||
| 38 | |---|---| |
|||||||
| 39 | | `otterwiki/templates/wiki.html` | Add Dashboard link at top of `{% block navbardropdown %}` | |
|||||||
| 40 | ||||||||
| 41 | One file. No resolver changes, no new proxy headers, no new config keys. `PLATFORM_DOMAIN` is already in `robot.env`. |
|||||||
| 42 | ||||||||
| 43 | ## Test Plan |
|||||||
| 44 | ||||||||
| 45 | In `tests/test_platform_mode.py`: |
|||||||
| 46 | 1. `test_dashboard_link_shown_in_platform_mode` — Dashboard text + `/app/` href present in dropdown |
|||||||
| 47 | 2. `test_dashboard_link_hidden_without_platform_mode` — Dashboard not present |
|||||||
| 48 | 3. `test_dashboard_link_points_to_platform_domain` — href contains configured domain |
|||||||
