Commit 87e108b
committed
Resolves #7142 ([FR-2770](https://lablup.atlassian.net/browse/FR-2770))
## Summary
Tightens visual polish on the docs static site after the FR-2733 / FR-2758 phases. Touches `packages/backend.ai-docs-toolkit/src/styles-web.ts` and `packages/backend.ai-docs-toolkit/src/website-builder.ts`.
### Sider version selector
- Switched the sider to a flex column with `overflow: hidden`, and moved scrolling to a new `.doc-sidebar__scroll` wrapper (intro + nav groups) so the version block sits **outside** the scroll area. The version selector is now structurally pinned to the top of the sider — no `position: sticky` / z-index tricks needed, no opaque-background hack required for the bottom border.
- Version block now renders horizontally: uppercase label on the left, `<select>` on the right via `justify-content: space-between`, with an **edge-to-edge** soft bottom rule. Padding is `14px 24px 10px` so the label aligns with the indentation of the nav category headers below (which combine `.doc-sidebar__scroll` 8px + `.doc-sidebar-group` 6px margin + summary 10px padding = 24px from the sider edge).
- Added `min-width: 132px` on the native `<select>` so the control no longer auto-shrinks when the only option is short (e.g., `next`).
### Mobile drawer scroll chaining
- iOS/Android touch handling was routing the gesture to `<body>` once the sider hit a scroll boundary, causing "menu sometimes scrolls, sometimes the article behind scrolls instead." Fixed by:
- Locking the underlying page (`body.bai-drawer-open { overflow: hidden; touch-action: none; }`).
- Containing the drawer's overscroll (`.doc-sidebar { overscroll-behavior: contain; touch-action: pan-y; }` in drawer mode).
- Defense-in-depth: same `overscroll-behavior: contain` on the desktop `.doc-sidebar__scroll` so wheel/trackpad scrolling in the nav doesn't bleed into the article.
### Mobile topbar layout
- Hamburger SVG paths changed from `M4 6h16` to `M3 6h18` so the bars span the full 18-unit icon box edge-to-edge (matching the GitHub icon's content distribution). The previous 4..20 span left ~3px of dead space inside the SVG, making the menu glyph visually **inset** versus the right-edge buttons even though the button paddings were symmetric.
- On `≤ 880px`, set `.bai-topbar { gap: 6px }` so the search-icon-button → first-action-button distance matches the action-button → action-button distance (which is also 6px). The previous 14px top-level gap clashed with the 6px cluster gap, making the search button look detached from the rest of the icon row.
## Test plan
- [ ] `bash scripts/verify.sh` reports `=== ALL PASS ===`.
- [ ] `pnpm --filter backend.ai-docs-toolkit test` (162 tests) passes.
- [ ] `pnpm --filter backend.ai-webui-docs run build:web:en` regenerates pages without errors.
- [ ] On the served site (desktop): the version block sits flush at the top of the sider, label aligns with the nav category labels below, and the bottom border spans the full sider width. Scrolling the nav (wheel) doesn't scroll the article.
- [ ] On a real phone (or DevTools mobile emulation ≤ 880px): opening the drawer locks the article behind it; the menu always scrolls regardless of where the touch lands or whether you've already hit the top/bottom of the nav. The hamburger and the rightmost icon button sit at the same visual inset from their respective screen edges; the search icon is grouped with the lang/theme/github cluster at a uniform 6px rhythm.
- [ ] Switch language (en/ko/ja/th) — the localized "Version" label still fits horizontally next to the switcher without wrapping.
[FR-2770]: https://lablup.atlassian.net/browse/FR-2770?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
1 parent b78c555 commit 87e108b
2 files changed
Lines changed: 111 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
730 | 730 | | |
731 | 731 | | |
732 | 732 | | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
733 | 742 | | |
734 | 743 | | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
735 | 765 | | |
736 | 766 | | |
737 | 767 | | |
| |||
782 | 812 | | |
783 | 813 | | |
784 | 814 | | |
785 | | - | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
786 | 824 | | |
787 | 825 | | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
788 | 841 | | |
789 | 842 | | |
790 | 843 | | |
791 | | - | |
| 844 | + | |
792 | 845 | | |
793 | 846 | | |
794 | | - | |
| 847 | + | |
795 | 848 | | |
796 | 849 | | |
797 | 850 | | |
| |||
895 | 948 | | |
896 | 949 | | |
897 | 950 | | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
898 | 964 | | |
899 | | - | |
900 | | - | |
901 | | - | |
902 | | - | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
903 | 971 | | |
904 | 972 | | |
905 | 973 | | |
906 | 974 | | |
907 | 975 | | |
908 | 976 | | |
909 | 977 | | |
| 978 | + | |
910 | 979 | | |
911 | 980 | | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
912 | 988 | | |
913 | 989 | | |
914 | 990 | | |
| |||
2758 | 2834 | | |
2759 | 2835 | | |
2760 | 2836 | | |
| 2837 | + | |
| 2838 | + | |
| 2839 | + | |
| 2840 | + | |
| 2841 | + | |
| 2842 | + | |
| 2843 | + | |
| 2844 | + | |
2761 | 2845 | | |
2762 | 2846 | | |
2763 | 2847 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
386 | 386 | | |
387 | 387 | | |
388 | 388 | | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
389 | 397 | | |
390 | 398 | | |
391 | | - | |
392 | | - | |
393 | | - | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
394 | 404 | | |
395 | 405 | | |
396 | 406 | | |
| |||
1453 | 1463 | | |
1454 | 1464 | | |
1455 | 1465 | | |
1456 | | - | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
1457 | 1473 | | |
1458 | 1474 | | |
1459 | 1475 | | |
| |||
0 commit comments