Opis zlecenia
Cel:
Stworzenie komponentu Flutter do wyświetlania i przeglądania dużych zdjęć w aplikacji webowej, z naciskiem na optymalizację dla przeglądarek desktopowych jak i mobilnych.
Główne funkcje:
1. Responsywne wyświetlanie: Komponent powinien dostosowywać się do szerokości ekranu. Część ekranu, powiedzmy 20 % zajmują inne komponenty. Zdjęcie powinno zajmować resztę ekranu.
2. Początkowy widok: Zdjęcie powinno być automatycznie dopasowane szerokością do containera, z możliwością przewijania wysokości.
3. Interaktywność: Użytkownik powinien móc przybliżać, oddalać i przesuwać zdjęcie, podobnie jak w Google Maps.
4. Wysoka jakość obrazu: Zachowanie ostrego obrazu nawet przy dużym przybliżeniu.
5. Wydajność: Optymalizacja pod kątem płynnego działania. Scrollowanie, przybliżanie, przesuwanie nie powinno się zacinać.
Wymagania techniczne:
1. Kompatybilność z FlutterFlow: Możliwość łatwej integracji z istniejącą aplikacją webową.
2. Rozwiązanie problemu jakości: Uniknięcie problemów z jakością obrazu występujących przy użyciu InteractiveViewer i parametru fitWidth.
3. Wsparcie dla różnych formatów (png/jpg/webp) i rozmiarów zdjęć.
4. Responsywność: Prawidłowe działanie na różnych rozmiarach ekranów.
Dodatkowe uwagi:
- Priorytetem jest optymalizacja dla wersji webowej aplikacji.
- Należy zwrócić szczególną uwagę na zachowanie wysokiej jakości obrazu przy dużym przybliżeniu (możemy przyjąć, że zdjęcie ma 6000-10000 px).
- Komponent powinien być łatwy w użyciu i konfiguracji w kontekście FlutterFlow.