import 'package:flutter/material.dart'; class FullScreenImageViewer extends StatefulWidget { final List photoUrls; final int initialIndex; const FullScreenImageViewer({ super.key, required this.photoUrls, required this.initialIndex, }); @override State createState() => _FullScreenImageViewerState(); } class _FullScreenImageViewerState extends State { late PageController _pageController; @override void initState() { super.initState(); _pageController = PageController(initialPage: widget.initialIndex); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.black, appBar: AppBar( backgroundColor: Colors.transparent, iconTheme: const IconThemeData(color: Colors.white), ), body: PageView.builder( controller: _pageController, itemCount: widget.photoUrls.length, itemBuilder: (context, index) { final isNetwork = widget.photoUrls[index].startsWith('http'); return InteractiveViewer( child: Center( child: isNetwork ? Image.network(widget.photoUrls[index]) : Image.asset(widget.photoUrls[index]), ), ); }, ), ); } }