<?php

namespace App\Http\Controllers\Front;

use App\Http\Controllers\Controller;
use App\Models\Post;
use Artesaos\SEOTools\Facades\SEOMeta;
use Artesaos\SEOTools\Facades\SEOTools;
use GrahamCampbell\Markdown\Facades\Markdown;
use Illuminate\Http\Request;

class FrontHomeController extends Controller
{
    public function home(Request $request)
    {
        // $featured_post = Post::where('status', 'publish')->orderBy('published_at', 'desc')->first();
        // $latest_posts = Post::where(function ($query) use ($featured_post) {
        //     $query->whereNotIn('id', [$featured_post?->id]);
        // })->where('status', 'publish')->orderBy('published_at', 'desc')->limit(5)->get();

        $featured_posts = Post::where('status', 'publish')->where('published_at', '<=', now())->orderBy('published_at', 'desc')->limit(6)->get();

        $latest_posts = Post::where(function ($query) use ($featured_posts) {
            $query->whereNotIn('id', $featured_posts->pluck('id')->toArray());
        })->where('status', 'publish')->where('published_at', '<=', now())->orderBy('published_at', 'desc')->limit(6)->get();

        return response(view('front.welcome', compact('featured_posts', 'latest_posts')), 200);
    }

    public function terms(Request $request)
    {
        $markdown = file_get_contents(resource_path('markdown/terms.md'));

        $title = 'Terms of Service';
        $description = 'Our Terms of Service outline your rights, responsibilities, and the standards we uphold for a seamless experience.';

        SEOTools::metatags();
        SEOTools::twitter();
        SEOTools::opengraph();
        SEOTools::jsonLd();
        SEOTools::setTitle($title);
        SEOTools::setDescription($description);
        SEOMeta::setRobots('noindex');

        $content = Markdown::convert($markdown)->getContent();

        //$content = $this->injectTailwindClasses($content);

        return view('front.pages', compact('content', 'title', 'description'));
    }

    public function privacy(Request $request)
    {
        $markdown = file_get_contents(resource_path('markdown/privacy.md'));

        $title = 'Privacy Policy';
        $description = 'Our Privacy Policy provides clarity about the data we collect and how we use it, ensuring your peace of mind.';

        SEOTools::metatags();
        SEOTools::twitter();
        SEOTools::opengraph();
        SEOTools::jsonLd();
        SEOTools::setTitle($title);
        SEOTools::setDescription($description);
        SEOMeta::setRobots('noindex');

        $content = Markdown::convert($markdown)->getContent();

        //$content = $this->injectTailwindClasses($content);

        return view('front.pages', compact('content', 'title', 'description'));
    }

    public function disclaimer(Request $request)
    {
        $markdown = file_get_contents(resource_path('markdown/disclaimer.md'));

        $title = 'Disclaimer';
        $description = 'FutureWalker provides the content on this website purely for informational purposes and should not be interpreted as legal, financial, or medical guidance.';

        SEOTools::metatags();
        SEOTools::twitter();
        SEOTools::opengraph();
        SEOTools::jsonLd();
        SEOTools::setTitle($title);
        SEOTools::setDescription($description);
        SEOMeta::setRobots('noindex');

        $content = Markdown::convert($markdown)->getContent();

        //$content = $this->injectTailwindClasses($content);

        return view('front.pages', compact('content', 'title', 'description'));
    }
}
