ente/lib/ui/viewer/location/edit_center_point_tile_widget.dart

69 lines
2.2 KiB
Dart
Raw Normal View History

import "package:flutter/material.dart";
import "package:photos/generated/l10n.dart";
import "package:photos/models/location/location.dart";
import "package:photos/services/location_service.dart";
import "package:photos/states/location_state.dart";
import "package:photos/theme/ente_theme.dart";
import "package:photos/ui/components/buttons/icon_button_widget.dart";
import "package:photos/ui/viewer/location/pick_center_point_widget.dart";
class EditCenterPointTileWidget extends StatelessWidget {
const EditCenterPointTileWidget({super.key});
@override
Widget build(BuildContext context) {
final textTheme = getEnteTextTheme(context);
final colorScheme = getEnteColorScheme(context);
return Row(
children: [
Container(
2023-04-26 05:40:58 +00:00
width: 52,
height: 52,
color: colorScheme.fillFaint,
child: Icon(
Icons.location_on_outlined,
color: colorScheme.strokeFaint,
),
),
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(12, 4.5, 16, 4.5),
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
S.of(context).centerPoint,
style: textTheme.body,
),
const SizedBox(height: 4),
Text(
LocationService.instance.convertLocationToDMS(
InheritedLocationTagData.of(context).centerPoint,
),
style: textTheme.miniMuted,
),
],
),
),
),
IconButtonWidget(
onTap: () async {
final Location? centerPoint = await showPickCenterPointSheet(
context,
InheritedLocationTagData.of(context).locationTagEntity!.item.name,
);
if (centerPoint != null) {
InheritedLocationTagData.of(context)
.updateCenterPoint(centerPoint);
}
},
icon: Icons.edit,
iconButtonType: IconButtonType.secondary,
),
],
);
}
}