<?php

namespace App\Http\Controllers;

use App\Home;
use Artesaos\SEOTools\Traits\SEOTools as SEOToolsTrait;
use DateTime;

class PublicController extends Controller
{
    use SEOToolsTrait;

    public function show($slug)
    {
        $home = Home::where('slug', $slug)->firstOrFail();
        $this->seo()
            ->setTitle($home->title)
            ->setDescription($home->excerpt())
            ->addImages(array_map(static function ($picture) {
                return asset($picture);
            }, $home->pictures));
        $this->seo()
            ->opengraph()
            ->addProperty('article:published_time', $home->created_at->format(DateTime::ATOM))
            ->addProperty('article:author', 'Shikiryu');

        return view('public.view', ['home' => $home]);
    }

    public function list()
    {
        $homes = Home::where('slug', '!=', null)
            ->orderBy('created_at', 'desc')
            ->paginate(12);
        $this->seo()
            ->setTitle('Liste des maisons rêvées')
            ->setDescription('La sélection');

        return view('public.list', ['homes' => $homes]);
    }
}