<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Tarefa extends Model
{
    protected $fillable = [
        'user_id', 'titulo', 'descricao', 'data', 'hora',
        'tipo', 'status', 'prioridade',
        'relacionavel_type', 'relacionavel_id',
    ];

    protected $casts = ['data' => 'date'];

    public function user()      { return $this->belongsTo(User::class); }
    public function relacionavel() { return $this->morphTo(); }

    public static function tipos(): array
    {
        return [
            'tarefa'       => ['label' => 'Tarefa',        'color' => '#2563eb', 'icon' => '✅'],
            'reuniao'      => ['label' => 'Reunião',       'color' => '#7c3aed', 'icon' => '👥'],
            'prazo_fiscal' => ['label' => 'Prazo Fiscal',  'color' => '#ef4444', 'icon' => '📋'],
            'lembrete'     => ['label' => 'Lembrete',      'color' => '#f59e0b', 'icon' => '🔔'],
        ];
    }

    public function getTipoInfoAttribute(): array
    {
        return static::tipos()[$this->tipo] ?? ['label' => $this->tipo, 'color' => '#94a3b8', 'icon' => '📌'];
    }
}
