- Remove duplicate features structure from basura_app - Migrate recycling_guide feature to lib/ - Update main.dart to use new architecture - Clean up old views structure - Remove temporary directories (basura_app, basura_backend, wiki_hackathon)
61 lines
1.7 KiB
Dart
61 lines
1.7 KiB
Dart
// lib/features/recycling_guide/presentation/widgets/search_result_tile.dart
|
|
|
|
import 'package:flutter/material.dart';
|
|
import '../../data/repositories/recycling_repository.dart';
|
|
|
|
class SearchResultTile extends StatelessWidget {
|
|
final SearchResult resultado;
|
|
|
|
const SearchResultTile({super.key, required this.resultado});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final color = _parseColor(resultado.categoria.colorHex);
|
|
final acepta = resultado.item.acepta;
|
|
|
|
return ListTile(
|
|
leading: Container(
|
|
width: 40,
|
|
height: 40,
|
|
decoration: BoxDecoration(
|
|
color: color.withOpacity(0.15),
|
|
borderRadius: BorderRadius.circular(8),
|
|
),
|
|
child: Icon(
|
|
acepta ? Icons.check_circle : Icons.cancel,
|
|
color: acepta ? Colors.green : Colors.red,
|
|
size: 22,
|
|
),
|
|
),
|
|
title: Text(
|
|
resultado.item.nombre,
|
|
style: const TextStyle(fontWeight: FontWeight.w500, fontSize: 14),
|
|
),
|
|
subtitle: Text(
|
|
resultado.item.ejemplos,
|
|
style: TextStyle(fontSize: 12, color: Colors.grey[600]),
|
|
),
|
|
trailing: Container(
|
|
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
|
|
decoration: BoxDecoration(
|
|
color: color.withOpacity(0.1),
|
|
borderRadius: BorderRadius.circular(12),
|
|
),
|
|
child: Text(
|
|
resultado.categoria.nombre,
|
|
style: TextStyle(
|
|
fontSize: 11,
|
|
color: color,
|
|
fontWeight: FontWeight.w600,
|
|
),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
|
|
Color _parseColor(String hex) {
|
|
final h = hex.replaceFirst('#', '');
|
|
return Color(int.parse('FF$h', radix: 16));
|
|
}
|
|
}
|