54 lines
2.3 KiB
Markdown
54 lines
2.3 KiB
Markdown
# Flet Component Gallery
|
||
|
||
Интерактивная галерея компонентов Flet в духе Google Compose Material Catalog.
|
||
Каждый пример — рабочий интерфейс и отдельная читаемая Python-функция; кнопка
|
||
`</>` рядом с примером открывает точную строку исходного кода в репозитории.
|
||
|
||
В каталоге 28 интерактивных примеров: кнопки, поля ввода, controls выбора,
|
||
типографика, карточки, списки, адаптивные layouts, навигация, таблицы, progress,
|
||
dialogs, snackbar, banner и bottom sheet. Постоянная кнопка настроек позволяет менять
|
||
светлую/тёмную/системную тему, Material 3 accent color и видимость кнопок кода.
|
||
Разделы открываются через выдвижное меню в AppBar. Отдельный каталог всех иконок
|
||
Flet поддерживает поиск по имени и копирует имя иконки `ft.Icons.HOME`
|
||
при нажатии.
|
||
|
||
## Запуск
|
||
|
||
```bash
|
||
uv sync
|
||
uv run flet run src/main.py
|
||
```
|
||
|
||
В браузере:
|
||
|
||
```bash
|
||
uv run flet run --web src/main.py
|
||
```
|
||
|
||
## Проверки и ссылки на код
|
||
|
||
```bash
|
||
uv run python tools/generate_source_manifest.py
|
||
uv run ruff check .
|
||
uv run pytest -q
|
||
```
|
||
|
||
Генератор разбирает учебные функции через AST и записывает точные строки в
|
||
`src/gallery/source_manifest.json`. Манифест следует обновлять перед коммитом и
|
||
сборкой.
|
||
|
||
## Android ARMv8
|
||
|
||
ARMv8 в Android соответствует ABI `arm64-v8a`:
|
||
|
||
```bash
|
||
uv run flet build apk src --arch arm64-v8a --yes \
|
||
--project flet_component_gallery \
|
||
--product "Flet Material Catalog" \
|
||
--build-version 0.3.0 \
|
||
--org su.snw
|
||
```
|
||
|
||
APK появится в `src/build/apk/`. Платформенные controls, требующие permissions,
|
||
нативных сервисов или внешних расширений (камера, карта, WebView), намеренно не
|
||
имитируются: каталог сфокусирован на стандартных визуальных Flet controls.
|