aves/lib/widgets/viewer/overlay/panorama.dart
2022-05-12 21:48:46 +09:00

47 lines
1.3 KiB
Dart

import 'dart:async';
import 'package:aves/model/entry.dart';
import 'package:aves/services/common/services.dart';
import 'package:aves/widgets/common/extensions/build_context.dart';
import 'package:aves/widgets/viewer/overlay/common.dart';
import 'package:aves/widgets/viewer/panorama_page.dart';
import 'package:flutter/material.dart';
class PanoramaOverlay extends StatelessWidget {
final AvesEntry entry;
final Animation<double> scale;
const PanoramaOverlay({
super.key,
required this.entry,
required this.scale,
});
@override
Widget build(BuildContext context) {
return Row(
children: [
const Spacer(),
OverlayTextButton(
scale: scale,
buttonLabel: context.l10n.viewerOpenPanoramaButtonLabel,
onPressed: () async {
final info = await metadataFetchService.getPanoramaInfo(entry);
if (info != null) {
unawaited(Navigator.push(
context,
MaterialPageRoute(
settings: const RouteSettings(name: PanoramaPage.routeName),
builder: (context) => PanoramaPage(
entry: entry,
info: info,
),
),
));
}
},
)
],
);
}
}