import 'package:flutter/material.dart'; import 'package:rasadyar_core/core.dart'; import 'logic.dart'; class SearchWidget extends StatefulWidget { const SearchWidget({super.key, this.onSearchChanged}); final void Function(String)? onSearchChanged; @override State createState() => _SearchWidgetState(); } class _SearchWidgetState extends State { late final SearchLogic controller; @override void initState() { super.initState(); controller = Get.find(); controller.setSearchCallback(widget.onSearchChanged); } @override Widget build(BuildContext context) { return ObxValue((data) { return AnimatedContainer( margin: EdgeInsets.symmetric(vertical: 4), duration: const Duration(milliseconds: 300), padding: const EdgeInsets.only(top: 5), curve: Curves.easeInOut, height: data.value ? 50 : 0, child: Visibility( visible: data.value, child: Padding( padding: const EdgeInsets.symmetric(horizontal: 8), child: RTextField( suffixIcon: Padding( padding: const EdgeInsets.all(12.0), child: Assets.vec.searchSvg.svg( width: 10, height: 10, colorFilter: ColorFilter.mode(AppColor.blueNormal, BlendMode.srcIn), ), ), hintText: 'جستجو', controller: TextEditingController(), onChanged: (val) => controller.searchValue.value = val, ), ), ), ); }, controller.isSearchSelected); } }