<?php

namespace App\Http\Controllers\Lab;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\View\View;

/**
 * R&D Labs > S. 전략 메뉴 컨트롤러
 * 5130 프로젝트에서 마이그레이션된 정적 전략 보고서 페이지들
 */
class StrategyController extends Controller
{
    /**
     * Presentation 레이아웃 페이지를 위한 HX-Redirect 처리
     * (presentation 레이아웃은 #main-content가 없어서 HTMX swap 불가)
     */
    private function handlePresentationPage(Request $request, string $routeName): ?Response
    {
        if ($request->header('HX-Request')) {
            return response('', 200)->header('HX-Redirect', route($routeName));
        }

        return null;
    }

    /**
     * 노무 전략
     */
    public function labor(Request $request): View|Response
    {
        if ($request->header('HX-Request')) {
            return response('', 200)->header('HX-Redirect', route('lab.strategy.labor'));
        }

        return view('lab.strategy.labor');
    }

    /**
     * 상담용 챗봇 전략
     */
    public function chatbot(Request $request): View|Response
    {
        if ($request->header('HX-Request')) {
            return response('', 200)->header('HX-Redirect', route('lab.strategy.chatbot'));
        }

        return view('lab.strategy.chatbot');
    }

    /**
     * 사내 지식 검색 시스템
     */
    public function knowledgeSearch(Request $request): View|Response
    {
        if ($request->header('HX-Request')) {
            return response('', 200)->header('HX-Redirect', route('lab.strategy.knowledge-search'));
        }

        return view('lab.strategy.knowledge-search');
    }

    /**
     * 챗봇 솔루션 비교 분석
     */
    public function chatbotCompare(Request $request): View|Response
    {
        if ($request->header('HX-Request')) {
            return response('', 200)->header('HX-Redirect', route('lab.strategy.chatbot-compare'));
        }

        return view('lab.strategy.chatbot-compare');
    }

    /**
     * RAG 스타트업 현황
     */
    public function ragStartups(Request $request): View|Response
    {
        if ($request->header('HX-Request')) {
            return response('', 200)->header('HX-Redirect', route('lab.strategy.rag-startups'));
        }

        return view('lab.strategy.rag-startups');
    }

    /**
     * 더존비즈온 분석
     */
    public function douzone(Request $request): View|Response
    {
        if ($request->header('HX-Request')) {
            return response('', 200)->header('HX-Redirect', route('lab.strategy.douzone'));
        }

        return view('lab.strategy.douzone');
    }

    /**
     * Confluence vs Notion 비교
     */
    public function confluenceVsNotion(Request $request): View|Response
    {
        if ($request->header('HX-Request')) {
            return response('', 200)->header('HX-Redirect', route('lab.strategy.confluence-vs-notion'));
        }

        return view('lab.strategy.confluence-vs-notion');
    }

    /**
     * SAM 영업전략 (슬라이드 프레젠테이션)
     */
    public function salesStrategy(Request $request): View|Response
    {
        if ($request->header('HX-Request')) {
            return response('', 200)->header('HX-Redirect', route('lab.strategy.sales-strategy'));
        }

        return view('lab.strategy.sales-strategy');
    }
}
