fix:presentation 레이아웃 페이지 HTMX targetError 수정 (HX-Redirect 추가)

This commit is contained in:
pro
2026-01-21 20:52:45 +09:00
parent fd171453cf
commit 278940142b
2 changed files with 85 additions and 17 deletions

View File

@@ -3,6 +3,9 @@
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. 전략 메뉴 컨트롤러
@@ -10,6 +13,18 @@
*/
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;
}
/**
* 세무 전략 (장기적 세무전략 프레젠테이션)
*/
@@ -35,18 +50,24 @@ public function debt()
}
/**
* 스테이블코인 보고서
* 스테이블코인 보고서 (presentation layout)
*/
public function stablecoin()
public function stablecoin(Request $request): View|Response
{
if ($redirect = $this->handlePresentationPage($request, 'lab.strategy.stablecoin')) {
return $redirect;
}
return view('lab.strategy.stablecoin');
}
/**
* MRP 해외사례
* MRP 해외사례 (presentation layout)
*/
public function mrpOverseas()
public function mrpOverseas(Request $request): View|Response
{
if ($redirect = $this->handlePresentationPage($request, 'lab.strategy.mrp-overseas')) {
return $redirect;
}
return view('lab.strategy.mrp-overseas');
}
@@ -115,10 +136,13 @@ public function confluenceVsNotion()
}
/**
* 차세대 QA 솔루션
* 차세대 QA 솔루션 (presentation layout)
*/
public function qaSolution()
public function qaSolution(Request $request): View|Response
{
if ($redirect = $this->handlePresentationPage($request, 'lab.strategy.qa-solution')) {
return $redirect;
}
return view('lab.strategy.qa-solution');
}