diff --git a/app/Http/Controllers/DailyLogController.php b/app/Http/Controllers/DailyLogController.php index c0c40d46..143d8465 100644 --- a/app/Http/Controllers/DailyLogController.php +++ b/app/Http/Controllers/DailyLogController.php @@ -7,6 +7,8 @@ use App\Models\Admin\AdminPmTask; use App\Services\ProjectManagement\DailyLogService; use App\Services\ProjectManagement\ProjectService; +use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\View\View; class DailyLogController extends Controller @@ -19,8 +21,13 @@ public function __construct( /** * 일일 로그 목록 화면 */ - public function index(): View + public function index(Request $request): View|Response { + // HTMX 요청 시 전체 페이지 리로드 (스크립트 로딩을 위해) + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('daily-logs.index')); + } + $tenantId = session('current_tenant_id', 1); $projects = $this->projectService->getActiveProjects(); @@ -133,8 +140,13 @@ private function getAttentionTasks(): array /** * 일일 로그 상세 화면 */ - public function show(int $id): View + public function show(Request $request, int $id): View|Response { + // HTMX 요청 시 전체 페이지 리로드 + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('daily-logs.show', $id)); + } + $tenantId = session('current_tenant_id', 1); $log = $this->dailyLogService->getDailyLogById($id, true); @@ -160,8 +172,13 @@ public function show(int $id): View /** * 오늘 날짜 로그 화면 (자동 생성) */ - public function today(): View + public function today(Request $request): View|Response { + // HTMX 요청 시 전체 페이지 리로드 + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('daily-logs.today')); + } + $tenantId = session('current_tenant_id', 1); $today = now()->format('Y-m-d'); diff --git a/app/Http/Controllers/DevTools/ApiExplorerController.php b/app/Http/Controllers/DevTools/ApiExplorerController.php index 6acd2df8..23baf30f 100644 --- a/app/Http/Controllers/DevTools/ApiExplorerController.php +++ b/app/Http/Controllers/DevTools/ApiExplorerController.php @@ -9,6 +9,7 @@ use App\Services\ApiExplorer\OpenApiParserService; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\View\View; /** @@ -32,8 +33,13 @@ public function __construct( /** * 메인 페이지 */ - public function index(): View + public function index(Request $request): View|Response { + // HTMX 요청 시 전체 페이지 리로드 (스크립트 로딩을 위해) + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('dev-tools.api-explorer.index')); + } + $userId = auth()->id(); // 기본 환경 초기화 @@ -559,8 +565,13 @@ public function deleteBookmark(int $id): JsonResponse /** * API 사용 현황 페이지 */ - public function usage(): View + public function usage(Request $request): View|Response { + // HTMX 요청 시 전체 페이지 리로드 + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('dev-tools.api-explorer.usage')); + } + $comparison = $this->usageService->getApiUsageComparison(); $deprecations = $this->usageService->getDeprecations(); $dailyTrend = $this->usageService->getDailyTrend(30); diff --git a/app/Http/Controllers/DevTools/FlowTesterController.php b/app/Http/Controllers/DevTools/FlowTesterController.php index 2042a752..446d5e59 100644 --- a/app/Http/Controllers/DevTools/FlowTesterController.php +++ b/app/Http/Controllers/DevTools/FlowTesterController.php @@ -7,6 +7,7 @@ use App\Models\Admin\AdminApiFlowRun; use App\Services\FlowTester\FlowExecutor; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\View\View; /** @@ -19,8 +20,13 @@ class FlowTesterController extends Controller /** * 플로우 목록 */ - public function index(): View + public function index(Request $request): View|Response { + // HTMX 요청 시 전체 페이지 리로드 (스크립트 로딩을 위해) + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('dev-tools.flow-tester.index')); + } + $flows = AdminApiFlow::with('latestRun') ->orderByDesc('created_at') ->paginate(20); @@ -36,8 +42,13 @@ public function index(): View /** * 플로우 생성 폼 */ - public function create(): View + public function create(Request $request): View|Response { + // HTMX 요청 시 전체 페이지 리로드 + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('dev-tools.flow-tester.create')); + } + return view('dev-tools.flow-tester.create'); } @@ -66,8 +77,13 @@ public function store(Request $request) /** * 플로우 편집 폼 */ - public function edit(int $id): View + public function edit(Request $request, int $id): View|Response { + // HTMX 요청 시 전체 페이지 리로드 + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('dev-tools.flow-tester.edit', $id)); + } + $flow = AdminApiFlow::findOrFail($id); return view('dev-tools.flow-tester.edit', compact('flow')); @@ -315,8 +331,13 @@ public function runStatus(int $runId) /** * 실행 이력 목록 */ - public function history(int $id): View + public function history(Request $request, int $id): View|Response { + // HTMX 요청 시 전체 페이지 리로드 + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('dev-tools.flow-tester.history', $id)); + } + $flow = AdminApiFlow::findOrFail($id); $runs = $flow->runs() ->orderByDesc('created_at') @@ -328,8 +349,13 @@ public function history(int $id): View /** * 실행 상세 보기 */ - public function runDetail(int $runId): View + public function runDetail(Request $request, int $runId): View|Response { + // HTMX 요청 시 전체 페이지 리로드 + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('dev-tools.flow-tester.run-detail', $runId)); + } + $run = AdminApiFlowRun::with('flow')->findOrFail($runId); return view('dev-tools.flow-tester.run-detail', compact('run')); diff --git a/app/Http/Controllers/FcmController.php b/app/Http/Controllers/FcmController.php index 3035329e..6b042add 100644 --- a/app/Http/Controllers/FcmController.php +++ b/app/Http/Controllers/FcmController.php @@ -10,6 +10,8 @@ use Illuminate\Http\Response; use Illuminate\View\View; +// Note: Response is still used by deleteToken() method + class FcmController extends Controller { public function __construct( @@ -77,7 +79,7 @@ public function deleteToken(int $id): Response /** * FCM 테스트 발송 페이지 */ - public function send(Request $request): View + public function send(): View { $tenants = Tenant::orderBy('company_name')->get();