Небольшое двухэкранное Flutter-приложение, демонстрирующее процесс генерации изображения по введённому промпту с использованием flutter_bloc для управления состоянием и дизайна в стиле Human Interface Guidelines (iOS).
- Поле ввода с placeholder: «Describe what you want to see…»
- Кнопка “Generate” (неактивна, если поле пустое)
- При нажатии — переход на экран Result, при этом введённый текст сохраняется
- При открытии запускается имитация генерации:
- отображается лоадер (2–3 секунды),
- затем показывается картинка-заглушка
- Кнопки:
- “Try another” — повторяет «генерацию» (снова лоадер → картинка)
- “New prompt” — возвращает на экран ввода, сохраняя введённый текст
- При ошибке — показывается сообщение об ошибке и кнопка “Retry”
Future<String> generate(String prompt)
- Случайная задержка: 2–3 секунды
- ~50% вероятность выброса исключения
- При успехе возвращается путь или URL к изображению-заглушке
Категория | Используемое решение |
---|---|
Фреймворк | Flutter 3.24+ |
Управление состоянием | flutter_bloc |
Навигация | Cupertino Navigator |
Дизайн | Cupertino widgets |
Язык | Dart с null-safety |