import 'package:flutter/material.dart'; import '../models/writing_task.dart'; import '../screens/writing_list_screen.dart'; /// 写作模式卡片组件 class WritingModeCard extends StatelessWidget { final String title; final String subtitle; final IconData icon; final Color color; final WritingType? type; final WritingDifficulty? difficulty; const WritingModeCard({ super.key, required this.title, required this.subtitle, required this.icon, required this.color, this.type, this.difficulty, }); @override Widget build(BuildContext context) { return Container( decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(16), boxShadow: [ BoxShadow( color: Colors.black.withOpacity(0.05), blurRadius: 10, offset: const Offset(0, 2), ), ], ), child: InkWell( onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => WritingListScreen( title: title, type: type, difficulty: difficulty, ), ), ); }, borderRadius: BorderRadius.circular(16), child: Padding( padding: const EdgeInsets.all(20), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( width: 48, height: 48, decoration: BoxDecoration( color: color.withOpacity(0.1), borderRadius: BorderRadius.circular(12), ), child: Icon( icon, color: color, size: 24, ), ), const SizedBox(height: 16), Text( title, style: const TextStyle( fontSize: 18, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 4), Text( subtitle, style: const TextStyle( fontSize: 14, color: Colors.grey, ), ), const SizedBox(height: 16), Row( children: [ Text( '开始练习', style: TextStyle( fontSize: 14, color: color, fontWeight: FontWeight.w500, ), ), const SizedBox(width: 4), Icon( Icons.arrow_forward, size: 16, color: color, ), ], ), ], ), ), ), ); } }