# MobileMkch Мобильный клиент для борды mkch.pooziqo.xyz ## Возможности - Просмотр всех досок Мкача - Просмотр тредов в каждой доске - Просмотр деталей треда и комментариев - Поддержка изображений и видео - Темная/светлая тема - Навигация с кнопкой "Назад" - Улучшенный заголовок с статическими кнопками - Система настроек с сохранением: - Тема (темная/светлая) - Последняя посещенная доска - Автообновление - Показ файлов - Компактный режим - **Полная поддержка постинга:** - Аутентификация по ключу - Аутентификация по passcode - Создание тредов - Добавление комментариев - Автоматическое обновление после постинга - Кнопка "Обновить" для ручного обновления - Поддержка Android и iOS - **Оптимизации для мобильных устройств:** - Кэширование данных для быстрой загрузки - Дебаунсинг UI обновлений - Оптимизация потребления батареи - Агрессивная сборка мусора на мобильных - Ограничение частоты сетевых запросов - **Многостраничность для списка тредов:** - Настраиваемый размер страницы (5-20 тредов) - Навигация между страницами - Ограничение тредов для больших досок - **Управление кэшем:** - Очистка кэша досок - Очистка кэша тредов для всех досок - Очистка кэша деталей тредов - Очистка всего кэша ## Аутентификация и постинг ### Настройка аутентификации 1. Откройте настройки в приложении 2. Введите ключ аутентификации (если есть) 3. Введите passcode для постинга (если есть) 4. Используйте кнопки "Тест ключа" и "Тест passcode" для проверки ### Создание тредов 1. Перейдите в нужную доску 2. Нажмите "Создать тред" 3. Заполните заголовок и текст 4. Нажмите "Создать тред" ### Добавление комментариев 1. Откройте тред 2. Нажмите "Добавить комментарий" 3. Введите текст комментария 4. Нажмите "Добавить комментарий" ### Автоматическое обновление - После создания треда автоматически обновляется список тредов - После добавления комментария автоматически обновляется список комментариев - Используйте кнопку "Обновить" для принудительного обновления ## Сборка ### Desktop ```bash go build ./MobileMkch ``` ### Android 1. Установите Android Studio (включает SDK и NDK): ```bash # macOS brew install --cask android-studio # Или скачайте с https://developer.android.com/studio ``` 2. Установите Fyne CLI: ```bash go install fyne.io/fyne/v2/cmd/fyne@latest ``` 3. Настройте переменные окружения: ```bash export ANDROID_HOME=$HOME/Library/Android/sdk export ANDROID_NDK_HOME=$ANDROID_HOME/ndk ``` 4. Соберите APK: ```bash fyne package --os android --app-id com.mkch.mobile ``` 5. Установите на устройство: ```bash adb install MobileMkch.apk ``` ### iOS 1. Установите Xcode из App Store 2. Установите Fyne CLI: ```bash go install fyne.io/fyne/v2/cmd/fyne@latest ``` 3. Соберите IPA: ```bash fyne package --os ios --app-id com.mkch.mobile ``` 4. Откройте в Xcode: ```bash open MobileMkch.xcodeproj ``` 5. Подпишите и установите через Xcode или TestFlight **✅ iOS И Android сборка протестирована и работает!** ## Требования - Go 1.24+ - Fyne v2.6.2 - Android SDK (для Android) - Xcode (для iOS) ## Технологии - Go 1.24+ - Fyne v2.6.2 - HTTP клиент для API с поддержкой сессий - Система кэширования с TTL ## Структура - `main.go` - точка входа - `api/client.go` - HTTP клиент для mkch API с поддержкой аутентификации - `models/models.go` - структуры данных - `settings/settings.go` - система настроек - `cache/cache.go` - система кэширования с поддержкой пагинации - `ui/` - пользовательский интерфейс - `manager.go` - управление экранами - `boards_screen.go` - список досок - `threads_screen.go` - треды доски - `thread_detail_screen.go` - детали треда с кнопкой обновления - `create_thread_screen.go` - создание тредов - `add_comment_screen.go` - добавление комментариев - `settings_screen.go` - экран настроек с тестированием аутентификации - `optimization.go` - утилиты оптимизации - `mobile_optimizations.go` - оптимизации для мобильных устройств