import 'dart:typed_data'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:widget_zoom/widget_zoom.dart'; import '../../../../models/measured_record.dart'; class SeismogramViewerDialog extends StatelessWidget { final MeasuredRecord record; final Uint8List image; const SeismogramViewerDialog({ required this.record, required this.image, super.key, }); @override Widget build(BuildContext context) { return Scaffold( body: ListView( children: [ Padding( padding: const EdgeInsets.all(8.0), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ IconButton(onPressed: Get.back, icon: const Icon(Icons.close)), TextButton( style: ButtonStyle( overlayColor: MaterialStateProperty.all(Colors.transparent)), onPressed: Get.back, child: const Text( 'Bezár', style: TextStyle(color: Colors.blue, fontSize: 14.0), ), ), ], ), ), Padding( padding: const EdgeInsets.symmetric(horizontal: 15.0), child: Text( // Az eredeti verzióban ez a cím mindig üresen jelent meg // ("Felvétel megtekintése ()") — itt tényleges adattal. 'Felvétel megtekintése — FFID ${record.ffid ?? "—"}', style: const TextStyle(fontSize: 20.0, fontWeight: FontWeight.bold), ), ), if (record.geophoneRange != null) Padding( padding: const EdgeInsets.symmetric(horizontal: 15.0), child: Text('Geofon-tartomány: ${record.geophoneRange}', style: TextStyle(fontSize: 13, color: Colors.grey.shade600)), ), Padding( padding: const EdgeInsets.only(top: 10.0), child: Center( child: WidgetZoom( zoomWidget: Image(image: MemoryImage(image)), heroAnimationTag: 'seismogram_${record.id}', maxScaleFullscreen: 8, maxScaleEmbeddedView: 8, ), ), ), ], ), ); } }