2022-09-07 08:30:09 +00:00
|
|
|
// @dart=2.9
|
|
|
|
|
2022-08-18 10:52:57 +00:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:photos/ente_theme_data.dart';
|
|
|
|
|
2022-08-19 04:50:07 +00:00
|
|
|
class SearchSuffixIcon extends StatefulWidget {
|
2022-08-23 11:46:05 +00:00
|
|
|
final bool shouldShowSpinner;
|
|
|
|
const SearchSuffixIcon(this.shouldShowSpinner, {Key key}) : super(key: key);
|
2022-08-18 10:52:57 +00:00
|
|
|
|
2022-08-19 04:50:07 +00:00
|
|
|
@override
|
|
|
|
State<SearchSuffixIcon> createState() => _SearchSuffixIconState();
|
|
|
|
}
|
|
|
|
|
|
|
|
class _SearchSuffixIconState extends State<SearchSuffixIcon>
|
|
|
|
with TickerProviderStateMixin {
|
2022-08-18 10:52:57 +00:00
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
2022-08-23 05:23:12 +00:00
|
|
|
return AnimatedSwitcher(
|
|
|
|
duration: const Duration(milliseconds: 175),
|
2022-08-23 11:46:05 +00:00
|
|
|
child: widget.shouldShowSpinner
|
2022-08-23 05:23:12 +00:00
|
|
|
? Padding(
|
|
|
|
padding: const EdgeInsets.all(12),
|
|
|
|
child: SizedBox(
|
|
|
|
height: 20,
|
|
|
|
width: 20,
|
|
|
|
child: Center(
|
|
|
|
child: CircularProgressIndicator(
|
|
|
|
strokeWidth: 2,
|
|
|
|
color: Theme.of(context)
|
|
|
|
.colorScheme
|
|
|
|
.iconColor
|
|
|
|
.withOpacity(0.5),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
)
|
|
|
|
: IconButton(
|
2022-11-19 10:59:57 +00:00
|
|
|
visualDensity: const VisualDensity(horizontal: -1, vertical: -1),
|
2022-08-23 05:23:12 +00:00
|
|
|
onPressed: () {
|
|
|
|
Navigator.pop(context);
|
|
|
|
},
|
|
|
|
icon: Icon(
|
|
|
|
Icons.close,
|
2022-08-19 04:50:07 +00:00
|
|
|
color: Theme.of(context).colorScheme.iconColor.withOpacity(0.5),
|
|
|
|
),
|
2022-08-18 10:52:57 +00:00
|
|
|
),
|
2022-08-23 05:23:12 +00:00
|
|
|
);
|
2022-08-18 10:52:57 +00:00
|
|
|
}
|
|
|
|
}
|