Open fisforfaheem opened 3 months ago
latest
i asked it to improve the code andm ake ui better
my old code:Stack( alignment: Alignment.bottomLeft, children: [ AnimatedContainer( duration: const Duration(milliseconds: 300), height: _isMapExpanded ? MediaQuery.of(context).size.height * 0.8 : 210.v, width: double.infinity, child: deviceLocation == null ? const Center(child: CircularProgressIndicator.adaptive()) : GoogleMap( myLocationEnabled: true, myLocationButtonEnabled: true, markers: _markers, onMapCreated: _onMapCreated, initialCameraPosition: CameraPosition( target: deviceLocation ?? const LatLng(0, 0), zoom: 10.0, ), circles: _circles, polygons: _polygons, mapType: MapType.normal, zoomControlsEnabled: true, zoomGesturesEnabled: true, scrollGesturesEnabled: true, rotateGesturesEnabled: true, tiltGesturesEnabled: true, mapToolbarEnabled: true, compassEnabled: true, gestureRecognizers: <Factory>{ Factory( () => EagerGestureRecognizer()), }, ), ), Positioned( bottom: 28, left: 8, child: Column( children: [ GestureDetector( onTap: _toggleMapExpansion, child: Container( padding: const EdgeInsets.all(10), decoration: BoxDecoration( //shadow boxShadow: [ BoxShadow( color: Colors.black.withOpacity(0.1), spreadRadius: 1, blurRadius: 3, offset: const Offset(0, 2), ) ], color: Colors.white, borderRadius: BorderRadius.circular(10), ), child: Icon( _isMapExpanded ? Icons.fullscreen_exit : Icons.fullscreen, color: Colors.black, ), ), ), const SizedBox(height: 8), GestureDetector( onTap: _onRefreshTap, child: Container( decoration: BoxDecoration( boxShadow: [ BoxShadow( color: Colors.grey.withOpacity(0.1), spreadRadius: 1, blurRadius: 3, offset: const Offset(0, 2), ), ], ), child: _isRefreshing ? SvgPicture.asset( ImageConstant.refreshIcon, height: 55, allowDrawingOutsideViewBox: true, ).animate().rotate( duration: 1000.ms, curve: Curves.easeInOut, ) : SvgPicture.asset( ImageConstant.refreshIcon, height: 55, allowDrawingOutsideViewBox: true, ), ), ), ], ), ), ], )
it gave this code
Widget _buildMap() { return Stack( alignment: Alignment.bottomLeft, children: [ AnimatedContainer( duration: const Duration(milliseconds: 300), height: _isMapExpanded ? MediaQuery.of(context).size.height * 0.8 : 210.v, width: double.infinity, child: deviceLocation == null ? const Center(child: CircularProgressIndicator.adaptive()) : GoogleMap( myLocationEnabled: true, myLocationButtonEnabled: false, markers: _markers, onMapCreated: _onMapCreated, initialCameraPosition: CameraPosition( target: deviceLocation ?? const LatLng(0, 0), zoom: 15.0, tilt: 45.0, ), circles: _circles, polygons: _polygons, mapType: MapType.normal, zoomControlsEnabled: false, zoomGesturesEnabled: true, scrollGesturesEnabled: true, rotateGesturesEnabled: true, tiltGesturesEnabled: true, mapToolbarEnabled: false, compassEnabled: true, gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>{ Factory<OneSequenceGestureRecognizer>( () => EagerGestureRecognizer()), }, ), ), Positioned( top: 16, right: 16, child: Column( children: [ _buildMapControlButton( onPressed: _toggleMapExpansion, icon: Icons.layers, ), const SizedBox(height: 8), _buildMapControlButton( onPressed: _onRefreshTap, icon: Icons.my_location, ), ], ), ), Positioned( bottom: 28, left: 8, child: Column( children: [ _buildControlButton( onTap: _toggleMapExpansion, icon: _isMapExpanded ? Icons.fullscreen_exit : Icons.fullscreen, ), const SizedBox(height: 8), _buildControlButton( onTap: _onRefreshTap, child: _isRefreshing ? SvgPicture.asset( ImageConstant.refreshIcon, height: 55, allowDrawingOutsideViewBox: true, ).animate().rotate( duration: 1000.ms, curve: Curves.easeInOut, ) : SvgPicture.asset( ImageConstant.refreshIcon, height: 55, allowDrawingOutsideViewBox: true, ), ), ], ), ), ], ); } Widget _buildMapControlButton({ required VoidCallback onPressed, required IconData icon, }) { return FloatingActionButton( onPressed: onPressed, mini: true, backgroundColor: Colors.white, elevation: 4, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), child: Icon(icon, color: Colors.black87), ); } Widget _buildControlButton({ required VoidCallback onTap, IconData? icon, Widget? child, }) { return GestureDetector( onTap: onTap, child: Container( padding: const EdgeInsets.all(10), decoration: BoxDecoration( boxShadow: [ BoxShadow( color: Colors.black.withOpacity(0.1), spreadRadius: 1, blurRadius: 3, offset: const Offset(0, 2), ), ], color: Colors.white, borderRadius: BorderRadius.circular(10), ), child: icon != null ? Icon(icon, color: Colors.black) : child, ), ); }
This issue is marked as stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed automatically in 5 days.
??
Version
latest
Describe the bug
i asked it to improve the code andm ake ui better
Expected behavior
my old code:Stack( alignment: Alignment.bottomLeft, children: [ AnimatedContainer( duration: const Duration(milliseconds: 300), height: _isMapExpanded ? MediaQuery.of(context).size.height * 0.8 : 210.v, width: double.infinity, child: deviceLocation == null ? const Center(child: CircularProgressIndicator.adaptive()) : GoogleMap( myLocationEnabled: true, myLocationButtonEnabled: true, markers: _markers, onMapCreated: _onMapCreated, initialCameraPosition: CameraPosition( target: deviceLocation ?? const LatLng(0, 0), zoom: 10.0, ), circles: _circles, polygons: _polygons, mapType: MapType.normal, zoomControlsEnabled: true, zoomGesturesEnabled: true, scrollGesturesEnabled: true, rotateGesturesEnabled: true, tiltGesturesEnabled: true, mapToolbarEnabled: true, compassEnabled: true, gestureRecognizers: <Factory>{
Factory(
() => EagerGestureRecognizer()),
},
),
),
Positioned(
bottom: 28,
left: 8,
child: Column(
children: [
GestureDetector(
onTap: _toggleMapExpansion,
child: Container(
padding: const EdgeInsets.all(10),
decoration: BoxDecoration(
//shadow
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.1),
spreadRadius: 1,
blurRadius: 3,
offset: const Offset(0, 2),
)
],
color: Colors.white,
borderRadius: BorderRadius.circular(10),
),
child: Icon(
_isMapExpanded ? Icons.fullscreen_exit : Icons.fullscreen,
color: Colors.black,
),
),
),
const SizedBox(height: 8),
GestureDetector(
onTap: _onRefreshTap,
child: Container(
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.1),
spreadRadius: 1,
blurRadius: 3,
offset: const Offset(0, 2),
),
],
),
child: _isRefreshing
? SvgPicture.asset(
ImageConstant.refreshIcon,
height: 55,
allowDrawingOutsideViewBox: true,
).animate().rotate(
duration: 1000.ms,
curve: Curves.easeInOut,
)
: SvgPicture.asset(
ImageConstant.refreshIcon,
height: 55,
allowDrawingOutsideViewBox: true,
),
),
),
],
),
),
],
)
Additional context
it gave this code