# MobileMkch iOS

Мобильный клиент для борды mkch.pooziqo.xyz для iOS

## Скриншоты
![screenshots](https://git.fuckyougoogle.xyz/MKFun/MobileMkch-iOS/raw/branch/main/screenshot/screenshot.png)

## Возможности

- Просмотр всех досок Мкача
- Просмотр тредов в каждой доске с пагинацией
- Просмотр деталей треда и комментариев
- Поддержка изображений и видео
- Темная/светлая тема
- Система настроек с сохранением:
  - Тема (темная/светлая)
  - Последняя посещенная доска
  - Автообновление
  - Показ файлов
  - Компактный режим
  - Размер страницы (5-20 тредов)
- **Полная поддержка постинга:**
  - Аутентификация по ключу
  - Аутентификация по passcode
  - Создание тредов
  - Добавление комментариев
  - Автоматическое обновление после постинга
- **Оптимизации для iOS:**
  - Нативная SwiftUI интерфейс
  - Кэширование данных
  - Оптимизация потребления батареи
  - Поддержка iOS 15.0+

## Аутентификация и постинг

### Настройка аутентификации

1. Откройте настройки в приложении
2. Введите ключ аутентификации 
3. Введите passcode для постинга (По наличию) (P.S. Увы, но пока-что не доработал пасскод, уважте, первая версия.)
4. Используйте кнопки "Тест ключа" и "Тест passcode" для проверки

### Создание тредов

1. Перейдите в нужную доску
2. Нажмите "Создать"
3. Заполните заголовок и текст
4. Нажмите "Создать"

### Добавление комментариев

1. Откройте тред
2. Нажмите "Добавить"
3. Введите текст комментария
4. Нажмите "Добавить"

## Сборка

### Требования

- Xcode 15.0+
- iOS 15.0+
- macOS 13.0+

### Сборка

1. Откройте проект в Xcode:
```bash
open MobileMkch.xcodeproj
```

2. Выберите устройство или симулятор

3. Нажмите Cmd+R для сборки и запуска

### Распространение

1. Выберите "Any iOS Device" в схеме сборки
2. Product и Archive
3. Distribute App через App Store Connect или Ad Hoc (Еще можно открыть архиве в файндер и там найти .app и закинув в Payload сжать папку в .ipa, но это слегка попердолинг увы)

## Структура проекта

- `MobileMkchApp.swift` - точка входа приложения
- `Models.swift` - структуры данных
- `APIClient.swift` - HTTP клиент для mkch API
- `Settings.swift` - система настроек
- `Cache.swift` - система кэширования
- `BoardsView.swift` - список досок
- `ThreadsView.swift` - треды доски с пагинацией
- `ThreadDetailView.swift` - детали треда
- `CreateThreadView.swift` - создание тредов
- `AddCommentView.swift` - добавление комментариев
- `SettingsView.swift` - экран настроек

## Технологии

- SwiftUI
- Combine
- Foundation
- UIKit (для совместимости)

## Совместимость

- iOS 15.0+
- iPhone и iPad (айпад СЛЕГКА поломан, проверил, мб чет с этим сделаю, лень)
- Поддержка темной/светлой темы
- Адаптивный интерфейс 