feat:重构模块

This commit is contained in:
2026-06-27 17:12:38 +08:00
parent a5e788eee6
commit a340ba424e
31 changed files with 919 additions and 623 deletions

View File

@@ -22,56 +22,10 @@ class _RecipeListState extends State<RecipeList> {
context.read<FoodProvider>().queryCategoryList();
});
}
Widget _buildSelectCategory(FoodProvider provider) {
final colors = Theme.of(context).colorScheme;
return Container(
width: 140,
decoration: BoxDecoration(
color: colors.surfaceContainer,
borderRadius: BorderRadius.circular(12),
),
padding: EdgeInsets.symmetric(horizontal: 16),
child: DropdownButton<String>(
value: provider.queryCategory,
isExpanded: true,
borderRadius: BorderRadius.circular(12),
dropdownColor: colors.surfaceContainer,
elevation: 6,
underline: Container(),
items:
provider.categoryList.map((String value) {
return DropdownMenuItem<String>(
value: value,
child: Row(
children: [
Container(
width: 8,
height: 8,
decoration: BoxDecoration(
color: colors.primary,
shape: BoxShape.circle,
),
),
SizedBox(width: 8),
Expanded(
child: Text(value, style: TextStyle(fontSize: 14)),
),
],
),
);
}).toList(),
onChanged: (value) {
provider.queryCategory = value!;
provider.refreshRecipeList();
},
),
);
}
Widget _buildRecipeList(FoodProvider provider) {
return GridView.builder(
padding: const EdgeInsets.only(bottom: 80),
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
crossAxisSpacing: 8,
@@ -91,8 +45,6 @@ class _RecipeListState extends State<RecipeList> {
} else {
return Column(
children: [
_buildSelectCategory(provider),
SizedBox(height: 5),
Expanded(child: _buildRecipeList(provider)),
],
);