import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/flutter_flow_widgets.dart'; import '/flutter_flow/custom_functions.dart' as functions; import 'package:flutter/material.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; import 'google_maps_icon_button_model.dart'; export 'google_maps_icon_button_model.dart'; /// Toont een klein Maps-icoontje; tikken opent Google Maps met het gegeven /// adres+plaats. class GoogleMapsIconButtonWidget extends StatefulWidget { const GoogleMapsIconButtonWidget({ super.key, required this.adres, required this.plaats, }); final String? adres; final String? plaats; @override State createState() => _GoogleMapsIconButtonWidgetState(); } class _GoogleMapsIconButtonWidgetState extends State with RouteAware { late GoogleMapsIconButtonModel _model; @override void setState(VoidCallback callback) { super.setState(callback); _model.onUpdate(); } @override void initState() { super.initState(); _model = createModel(context, () => GoogleMapsIconButtonModel()); } @override void dispose() { routeObserver.unsubscribe(this); _model.maybeDispose(); super.dispose(); } @override void didUpdateWidget(GoogleMapsIconButtonWidget oldWidget) { super.didUpdateWidget(oldWidget); _model.widget = widget; } @override void didChangeDependencies() { super.didChangeDependencies(); final route = DebugModalRoute.of(context); if (route != null) { routeObserver.subscribe(this, route); } debugLogGlobalProperty(context); } @override void didPopNext() { if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) { setState(() => _model.isRouteVisible = true); debugLogWidgetClass(_model); } } @override void didPush() { if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) { setState(() => _model.isRouteVisible = true); debugLogWidgetClass(_model); } } @override void didPop() { _model.isRouteVisible = false; } @override void didPushNext() { _model.isRouteVisible = false; } @override Widget build(BuildContext context) { DebugFlutterFlowModelContext.maybeOf(context) ?.parentModelCallback ?.call(_model); return InkWell( splashColor: Colors.transparent, focusColor: Colors.transparent, hoverColor: Colors.transparent, highlightColor: Colors.transparent, onTap: () async { await launchURL( functions.googleMapsUrl(widget!.adres!, widget!.plaats!)); }, child: Icon( Icons.location_on, color: FlutterFlowTheme.of(context).primaryText, size: 24.0, ), ); } }