<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Blog;

class BlogController extends Controller
{
    public function index()
    {
        $blogs = Blog::all();
        return view('blog.index', compact('blogs'));
    }

    public function show($id)
    {
        $blog = Blog::findOrFail($id);
        return view('blog.show', compact('blog'));
    }

    public function create()
    {
        return view('blog.create');
    }

    public function store(Request $request)
    {
        // Validasi data
        $request->validate([
            'title' => 'required|string|max:255',
            'content' => 'required|string',
            'image' => 'image|mimes:jpeg,png,jpg,gif|max:2048', // Menambahkan validasi untuk gambar
        ]);

        // Simpan gambar
        $imageName = null;
        if ($request->hasFile('image')) {
            $imageName = time().'.'.$request->image->extension();
            $request->image->move(public_path('images'), $imageName);
        }

        // Simpan blog baru ke dalam database dengan menambahkan informasi pengguna saat ini sebagai author
        $blog = new Blog([
            'title' => $request->title,
            'content' => $request->content,
            'author' => auth()->user()->name, // Menggunakan nama pengguna yang saat ini masuk sebagai author
            'image' => $imageName, // Menyimpan nama file gambar ke dalam basis data
        ]);
        $blog->save();

        // Redirect ke halaman lain dengan pesan sukses
        return redirect()->route('blog.index')->with('success', 'Blog created successfully!');
    }
}
