<?php

namespace App\Http\Controllers;

use App\Models\BookmarkSite;
use App\Models\BookmarkCategory;
use App\Models\GuestbookEntry;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;

class BookmarksController extends Controller
{
    public function show() : View {
        $categories = BookmarkCategory::with('sites')->get();
        return view('bookmarks', compact('categories'));
    }

    public function createBookmark() {
        $categories = BookmarkCategory::all();
        return view('admin.create-bookmark', [
            'categories' => $categories
        ]);
    }

    public function addBookmark(Request $request): RedirectResponse {
        $newEntry = BookmarkSite::create($request);
        return redirect()->route('bookmarks');
    }

    public function destroyBookmark($id): RedirectResponse {
        $site = BookmarkSite::findOrFail($id);
        $site->delete();
        return redirect()->route('bookmarks');
    }


    public function createCategory() {
        return view('admin.create-category');
    }

    public function addCategory(Request $request): RedirectResponse {
        $newEntry = BookmarkCategory::create($request);
        return redirect()->route('bookmarks');
    }

    public function destroyCategory($id): RedirectResponse {
        if (BookmarkSite::where('category', $id)->count() <= 0) {
            $category = BookmarkCategory::findOrFail($id);
            $category->delete();
        }
        return redirect()->route('bookmarks');
    }
}
