From 893d3c7a6982c3fc053109cdd1e721a42cd0e075 Mon Sep 17 00:00:00 2001 From: Yutaka Kurosaki Date: Sat, 29 Nov 2025 17:14:46 +0900 Subject: [PATCH] fix: Replace hardcoded paths with route/url helpers for subdirectory support Files updated: - layouts/knowledge-base.blade.php - Use url('/') for home link - layouts/navigation.blade.php - Use url('/') for nav links - layouts/guest.blade.php - Use url('/') for logo link - Document.php - Use route() for wiki links - DocumentLink.php - Use route() for URL attribute - AuthenticatedSessionController.php - Use url('/') for redirects - DocumentEditor.php - Use url('/') for redirect - ProfileController.php - Use url('/') for redirect This ensures the app works when deployed in a subdirectory --- package-lock.json | 6 ++++++ .../Controllers/Auth/AuthenticatedSessionController.php | 4 ++-- src/app/Http/Controllers/ProfileController.php | 2 +- src/app/Livewire/DocumentEditor.php | 2 +- src/app/Models/Document.php | 4 ++-- src/app/Models/DocumentLink.php | 4 ++-- src/resources/views/layouts/guest.blade.php | 2 +- src/resources/views/layouts/knowledge-base.blade.php | 2 +- src/resources/views/layouts/navigation.blade.php | 4 ++-- 9 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..15d8933 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "knowledge-base", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/src/app/Http/Controllers/Auth/AuthenticatedSessionController.php b/src/app/Http/Controllers/Auth/AuthenticatedSessionController.php index 25f2954..5a346cb 100644 --- a/src/app/Http/Controllers/Auth/AuthenticatedSessionController.php +++ b/src/app/Http/Controllers/Auth/AuthenticatedSessionController.php @@ -33,7 +33,7 @@ public function store(LoginRequest $request): RedirectResponse return redirect()->intended(route('dashboard', absolute: false)); } - return redirect()->intended('/'); + return redirect()->intended(url('/')); } /** @@ -47,6 +47,6 @@ public function destroy(Request $request): RedirectResponse $request->session()->regenerateToken(); - return redirect('/'); + return redirect(url('/')); } } diff --git a/src/app/Http/Controllers/ProfileController.php b/src/app/Http/Controllers/ProfileController.php index a48eb8d..d83132b 100644 --- a/src/app/Http/Controllers/ProfileController.php +++ b/src/app/Http/Controllers/ProfileController.php @@ -55,6 +55,6 @@ public function destroy(Request $request): RedirectResponse $request->session()->invalidate(); $request->session()->regenerateToken(); - return Redirect::to('/'); + return Redirect::to(url('/')); } } diff --git a/src/app/Livewire/DocumentEditor.php b/src/app/Livewire/DocumentEditor.php index 64af4e2..cf3623e 100644 --- a/src/app/Livewire/DocumentEditor.php +++ b/src/app/Livewire/DocumentEditor.php @@ -80,7 +80,7 @@ public function delete(DocumentService $documentService) if ($homeDocument) { return redirect()->route('documents.show', $homeDocument); } - return redirect('/'); + return redirect(url('/')); } catch (\Exception $e) { session()->flash('error', 'Error deleting document: ' . $e->getMessage()); } diff --git a/src/app/Models/Document.php b/src/app/Models/Document.php index 66a733c..44495ea 100644 --- a/src/app/Models/Document.php +++ b/src/app/Models/Document.php @@ -154,9 +154,9 @@ function ($matches) { ->first(); if ($targetDocument) { - return '' . e($linkTitle) . ''; + return '' . e($linkTitle) . ''; } else { - return '' . e($linkTitle) . ''; + return '' . e($linkTitle) . ''; } }, $this->rendered_html diff --git a/src/app/Models/DocumentLink.php b/src/app/Models/DocumentLink.php index 1ef1819..00cb871 100644 --- a/src/app/Models/DocumentLink.php +++ b/src/app/Models/DocumentLink.php @@ -57,9 +57,9 @@ public function isBroken(): bool public function getUrlAttribute(): string { if ($this->isBroken()) { - return '/documents/create?title=' . urlencode($this->target_title); + return route('documents.create') . '?title=' . urlencode($this->target_title); } - return '/documents/' . $this->targetDocument->slug; + return route('documents.show', $this->targetDocument->slug); } } diff --git a/src/resources/views/layouts/guest.blade.php b/src/resources/views/layouts/guest.blade.php index 11feb47..fb5d63c 100644 --- a/src/resources/views/layouts/guest.blade.php +++ b/src/resources/views/layouts/guest.blade.php @@ -17,7 +17,7 @@
- +
diff --git a/src/resources/views/layouts/knowledge-base.blade.php b/src/resources/views/layouts/knowledge-base.blade.php index 2110c64..523898f 100644 --- a/src/resources/views/layouts/knowledge-base.blade.php +++ b/src/resources/views/layouts/knowledge-base.blade.php @@ -34,7 +34,7 @@