import 'package:flutter/material.dart'; class FarmingGuideModel { final String id; final String title; final String content; final String category; final String? imageUrl; final DateTime createdAt; FarmingGuideModel({ required this.id, required this.title, required this.content, required this.category, this.imageUrl, DateTime? createdAt, }) : createdAt = createdAt ?? DateTime.now(); // Factory constructor untuk membuat model dari JSON/Map factory FarmingGuideModel.fromMap(Map map) { return FarmingGuideModel( id: map['id'] ?? '', title: map['title'] ?? 'Tanpa Judul', content: map['content'] ?? '', category: map['category'] ?? 'Umum', imageUrl: map['image_url'], createdAt: map['created_at'] != null ? DateTime.parse(map['created_at']) : DateTime.now(), ); } // Method untuk mengkonversi model ke JSON/Map Map toMap() { return { 'id': id, 'title': title, 'content': content, 'category': category, 'image_url': imageUrl, 'created_at': createdAt.toIso8601String(), }; } // Helper untuk mendapatkan warna berdasarkan kategori Color getCategoryColor() { switch (category.toLowerCase()) { case 'tanaman pangan': return const Color(0xFF4CAF50); // Green case 'sayuran': return const Color(0xFF8BC34A); // Light Green case 'buah-buahan': return const Color(0xFFFF9800); // Orange case 'rempah': return const Color(0xFF795548); // Brown case 'kalender tanam': return const Color(0xFF2196F3); // Blue default: return const Color(0xFF0F6848); // Default green } } // Helper untuk mendapatkan icon berdasarkan kategori IconData getCategoryIcon() { switch (category.toLowerCase()) { case 'tanaman pangan': return Icons.grass; case 'sayuran': return Icons.eco; case 'buah-buahan': return Icons.local_florist; case 'rempah': return Icons.spa; case 'kalender tanam': return Icons.calendar_month; default: return Icons.menu_book; } } // Helper untuk format tanggal String getFormattedDate() { return '${createdAt.day}/${createdAt.month}/${createdAt.year}'; } }