fix(machines): 換頁後 SVG 圖示放大/變形 — 只對真正 XHR 回裸片段,並移除 _ajax 避免洩漏進分頁連結

根因:控制器僅憑 query 參數 _ajax=1 回無 layout 片段;AJAX 重繪(如儲存系統設定後)經 withQueryString 把 _ajax 烙進分頁連結,直接導航該連結即拿到裸片段致圖示無 CSS。改為 $request->ajax() && boolean('_ajax') 並移除 _ajax。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
terrylee 2026-07-16 11:37:50 +08:00
parent b3d4760b55
commit bf9ff69ce3

View File

@ -28,7 +28,12 @@ class MachineSettingController extends AdminController
$tab = $request->input('tab', 'machines'); $tab = $request->input('tab', 'machines');
$per_page = $request->input('per_page', 10); $per_page = $request->input('per_page', 10);
$search = $request->input('search'); $search = $request->input('search');
$isAjax = $request->boolean('_ajax'); // 只有「真正的 XHR 請求」才回無 layout 的裸片段。
// 否則使用者若直接導航到帶 _ajax 的分頁連結AJAX 重繪後 withQueryString 會把 _ajax 烙進 href
// 會拿到沒套 CSS 的裸片段 → SVG 圖示放大/變形。_ajax 只由前端 searchInTab 產生且必帶 XHR 標頭。
$isAjax = $request->ajax() && $request->boolean('_ajax');
// 移除 _ajax避免它經 withQueryString() 洩漏進分頁連結網址
$request->query->remove('_ajax');
$currentUser = auth()->user(); $currentUser = auth()->user();
$companyId = trim((string) $request->input('company_id', '')); $companyId = trim((string) $request->input('company_id', ''));