# MobileMkch Мобильный клиент для борды mkch.pooziqo.xyz ## Возможности - Просмотр всех досок Мкача - Просмотр тредов в каждой доске - Просмотр деталей треда и комментариев - Поддержка изображений и видео - Темная/светлая тема - Навигация с кнопкой "Назад" (index lore) - Улучшенный заголовок с статическими кнопками - Система настроек с сохранением: - Тема (темная/светлая) - Последняя посещенная доска - Автообновление - Показ файлов - Компактный режим - Поддержка Android и iOS (с сохранением настроек (блять нахуй я туда полез)) - **Оптимизации для мобильных устройств:** - Кэширование данных для быстрой загрузки - Дебаунсинг UI обновлений - Оптимизация потребления батареи - Агрессивная сборка мусора на мобильных - Ограничение частоты сетевых запросов - **Многостраничность для списка тредов:** - Настраиваемый размер страницы (5-20 тредов) - Навигация между страницами - Ограничение тредов для больших досок - **Управление кэшем:** - Очистка кэша досок - Очистка кэша тредов для всех досок - Очистка кэша деталей тредов - Очистка всего кэша ## Сборка ### 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 ## Структура - `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` - детали треда - `settings_screen.go` - экран настроек - `optimization.go` - утилиты оптимизации - `mobile_optimizations.go` - оптимизации для мобильных устройств