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 tax(Request $request): View|Response { if ($request->header('HX-Request')) { return response('', 200)->header('HX-Redirect', route('lab.strategy.tax')); } return view('lab.strategy.tax'); } /** * 노무 전략 */ 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 debt(Request $request): View|Response { if ($request->header('HX-Request')) { return response('', 200)->header('HX-Redirect', route('lab.strategy.debt')); } return view('lab.strategy.debt'); } /** * MRP 해외사례 (presentation layout) */ public function mrpOverseas(Request $request): View|Response { if ($redirect = $this->handlePresentationPage($request, 'lab.strategy.mrp-overseas')) { return $redirect; } return view('lab.strategy.mrp-overseas'); } /** * 상담용 챗봇 전략 */ 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'); } }