Enhance Radar sync feedback: implement fallback for sync messages using query strings and update view logic to ensure consistent display of sync results. Improve styling for better visibility in the UI.

This commit is contained in:
2026-08-21 11:39:33 -04:00
parent df50d8535c
commit 1b5284a8b7
2 changed files with 14 additions and 4 deletions

View File

@ -18,6 +18,12 @@ class Radar extends BaseController
$ready = $model->tablesExist();
$cfg = config(RadarConfig::class);
// Flash session souvent perdu sous /v4/ — fallback query string.
$syncMsg = session()->getFlashdata('radar_sync_msg');
if ($syncMsg === null || $syncMsg === '') {
$syncMsg = $this->request->getGet('sync_msg');
}
return view('radar/index', [
'ready' => $ready,
'exceptions' => $ready ? $model->listExceptions() : [],
@ -25,6 +31,7 @@ class Radar extends BaseController
'feedUrl' => site_url('v4/radar/feed'),
'syncUrl' => site_url('v4/radar/sync'),
'allowlist' => $cfg->mailboxAllowlist,
'syncMsg' => is_string($syncMsg) ? $syncMsg : null,
]);
}
@ -74,6 +81,9 @@ class Radar extends BaseController
}
}
return redirect()->to(site_url('v4/radar'))->with('radar_sync_msg', $msg);
// Message aussi en query : visible même si la flash session CI4 ne tient pas.
$q = rawurlencode(mb_substr($msg, 0, 800));
return redirect()->to(site_url('v4/radar') . '?sync_msg=' . $q)->with('radar_sync_msg', $msg);
}
}

View File

@ -12,7 +12,7 @@ $threads = $threads ?? [];
$feedUrl = $feedUrl ?? site_url('v4/radar/feed');
$syncUrl = $syncUrl ?? site_url('v4/radar/sync');
$allowlist = $allowlist ?? [];
$syncMsg = session()->getFlashdata('radar_sync_msg');
$syncMsg = $syncMsg ?? session()->getFlashdata('radar_sync_msg');
$statusLabel = static function (string $status): string {
return match ($status) {
@ -64,8 +64,8 @@ $statusClass = static function (string $status): string {
</div>
<?php if ($syncMsg): ?>
<div class="rounded-xl border border-zinc-200 bg-primary/10 px-4 py-3 text-sm text-zinc-900 dark:border-zinc-700 dark:text-zinc-100">
<strong>Résultat sync :</strong> <?= esc($syncMsg) ?>
<div class="rounded-xl border border-zinc-300 bg-amber-500/20 px-4 py-3 text-sm font-medium text-zinc-900 dark:border-zinc-600 dark:text-zinc-100">
Résultat sync : <?= esc($syncMsg) ?>
</div>
<?php endif; ?>