<?php

namespace App\Http\Controllers\Admin;

use App\Exports\MemberUsageExport;
use App\Http\Controllers\Controller;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;

class MemberUsageController extends Controller
{
    public function export(Request $request)
    {
        $data = $request->validate([
            'from' => ['nullable', 'date_format:Y-m'],
            'to' => ['nullable', 'date_format:Y-m', 'after_or_equal:from'],
        ]);

        $fromMonth = $data['from'] ?? Carbon::now()->tz('Europe/Berlin')->startOfMonth()->format('Y-m');
        $toMonth = $data['to'] ?? Carbon::now()->tz('Europe/Berlin')->startOfMonth()->format('Y-m');

        $from = Carbon::createFromFormat('Y-m', $fromMonth)->tz('Europe/Berlin')->startOfMonth()->toDateString();
        $to = Carbon::createFromFormat('Y-m', $toMonth)->tz('Europe/Berlin')->endOfMonth()->toDateString();

        return Excel::download(
            new MemberUsageExport($from, $to),
            "member-usage-{$fromMonth}-to-{$toMonth}.xlsx"
        );
    }
}
