Hide desktop refresh control
This commit is contained in:
parent
9ca8d8312a
commit
df68cae94b
6 changed files with 7 additions and 6 deletions
|
|
@ -15,7 +15,7 @@ SharedDocsLib — небольшой Python-фреймворк для докум
|
|||
|
||||
UI не содержит языко-зависимых служебных подписей. Базовый шрифт — `system-ui 16px`; служебные UTF-8-пиктограммы используют Arial, а навигационные стрелки остаются в `system-ui`. AMOLED-тема включена по умолчанию и сохраняется локально после переключения.
|
||||
|
||||
На десктопе компактный header содержит полное название документации и search/theme/refresh, а слева постоянно видны header-кнопки и дерево страниц. Поисковый placeholder медленно печатает первые слова случайного названия, добавляет троеточие только в конце и сохраняет готовый текст 5 секунд; при вводе поле раскрывает ранжированные результаты вниз. Кнопка `⟳` вращается во время проверки manifest; при наведении она заменяет поиск и тему, показывая ISO-дату и короткий `revision`, а при нажатии запускает повторную фоновую проверку обновления.
|
||||
На десктопе компактный header содержит полное название документации, поиск и переключатель темы, а слева постоянно видны header-кнопки и дерево страниц. Поисковый placeholder медленно печатает первые слова случайного названия, добавляет троеточие только в конце и сохраняет готовый текст 5 секунд; при вводе поле раскрывает ранжированные результаты вниз. Проверка manifest выполняется автоматически в фоне без отдельной кнопки обновления.
|
||||
|
||||
На мобильных устройствах используется viewport `100dvh` и нижний dock. Кнопка `☰` заменяет содержимое страницы копией desktop-sidebar. Ввод в нижний поиск заменяет содержимое результатами, расположенными снизу вверх по релевантности. Тема и обновление на мобильном скрыты.
|
||||
|
||||
|
|
|
|||
|
|
@ -5,4 +5,4 @@ from .server import build, create_app, run
|
|||
from .ui import HeaderButton
|
||||
|
||||
__all__ = ["Component", "HeaderButton", "Page", "build", "create_app", "run"]
|
||||
__version__ = "0.3.2"
|
||||
__version__ = "0.3.3"
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ button { color: inherit; }
|
|||
|
||||
.theme-button { width: 44px; height: 44px; max-width: 44px; flex: 0 0 44px; border-radius: 50%; color: var(--text); background: var(--control); font-size: 1.3rem; transition: max-width .24s ease, opacity .16s ease, transform .24s ease; }
|
||||
.theme-button:hover { background: var(--active); }
|
||||
.refresh-button { display: flex; width: 44px; max-width: min(320px, 38vw); height: 44px; flex: 0 0 auto; align-items: center; justify-content: flex-start; gap: 8px; overflow: hidden; padding: 0; border: 0; border-radius: 24px; color: var(--text); background: var(--control); cursor: pointer; transition: width .26s ease, background .16s ease; }
|
||||
.refresh-button { display: none; width: 44px; max-width: min(320px, 38vw); height: 44px; flex: 0 0 auto; align-items: center; justify-content: flex-start; gap: 8px; overflow: hidden; padding: 0; border: 0; border-radius: 24px; color: var(--text); background: var(--control); cursor: pointer; transition: width .26s ease, background .16s ease; }
|
||||
.refresh-button:hover { background: var(--active); }
|
||||
.refresh-glyph { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; font-size: 1.45rem; }
|
||||
.refresh-button.loading .refresh-glyph { animation: refresh-spin .8s linear infinite; }
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|||
|
||||
[project]
|
||||
name = "shared-docs-lib"
|
||||
version = "0.3.2"
|
||||
version = "0.3.3"
|
||||
description = "Build self-contained, Obsidian-like documentation sites from Python functions."
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.10"
|
||||
|
|
|
|||
|
|
@ -142,6 +142,7 @@ def test_all_endpoints_and_self_contained_build(tmp_path):
|
|||
assert ".sidebar-header-buttons .header-link.active { color: #050505; background: #f0f0f0; }" not in html
|
||||
assert "--tree-line: #2c2c2c" in html
|
||||
assert "height: 44px" in html
|
||||
assert ".refresh-button { display: none;" in html
|
||||
assert "refresh-expanded" in html
|
||||
assert "mobile-search-open" in html
|
||||
assert "flex-direction: column-reverse" in html
|
||||
|
|
@ -164,7 +165,7 @@ def test_all_endpoints_and_self_contained_build(tmp_path):
|
|||
|
||||
|
||||
def test_build_writes_static_bundle(tmp_path):
|
||||
assert __version__ == "0.3.2"
|
||||
assert __version__ == "0.3.3"
|
||||
|
||||
@Page("1", "Static page")
|
||||
def static_page():
|
||||
|
|
|
|||
2
uv.lock
generated
2
uv.lock
generated
|
|
@ -452,7 +452,7 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "shared-docs-lib"
|
||||
version = "0.3.2"
|
||||
version = "0.3.3"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "fastapi" },
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue