<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::table('deliveries', function (Blueprint $table) {
            // Destinatário
            $table->string('destinatario_nome')->nullable()->after('destino');
            $table->string('destinatario_telefone')->nullable()->after('destinatario_nome');

            // Detalhes do pacote
            $table->string('tamanho')->nullable()->after('descricao');
            $table->decimal('peso', 8, 2)->nullable()->after('tamanho');
            $table->decimal('valor_declarado', 10, 2)->nullable()->after('peso');
            $table->boolean('fragil')->default(false)->after('valor_declarado');

            // Pagamento
            $table->string('metodo_pagamento')->nullable()->after('preco_estimado');
            $table->string('pagador')->nullable()->after('metodo_pagamento');

            // Agendamento + referências
            $table->string('agendado_para')->nullable()->after('pagador');
            $table->string('referencia_recolha')->nullable()->after('agendado_para');
            $table->string('referencia_entrega')->nullable()->after('referencia_recolha');
            $table->text('instrucoes')->nullable()->after('referencia_entrega');
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::table('deliveries', function (Blueprint $table) {
            $table->dropColumn([
                'destinatario_nome',
                'destinatario_telefone',
                'tamanho',
                'peso',
                'valor_declarado',
                'fragil',
                'metodo_pagamento',
                'pagador',
                'agendado_para',
                'referencia_recolha',
                'referencia_entrega',
                'instrucoes',
            ]);
        });
    }
};
