From cab7bbd3a61044fe15db8eb500ff54142c8705ce Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Tue, 28 Apr 2026 07:28:34 +0530 Subject: [PATCH] Fix HealthPlix fetch parsing and refine sidebar headings --- app/Controllers/HealthplixCallback.php | 21 +++++++++++++++++++-- public/assets/css/style.css | 13 +++++++++---- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/app/Controllers/HealthplixCallback.php b/app/Controllers/HealthplixCallback.php index ad0cda4..0797f11 100644 --- a/app/Controllers/HealthplixCallback.php +++ b/app/Controllers/HealthplixCallback.php @@ -7,8 +7,7 @@ class HealthplixCallback extends BaseController public function fetch() { $rawBody = (string) $this->request->getBody(); - $decoded = $this->request->getJSON(true); - $payload = is_array($decoded) ? $decoded : []; + $payload = $this->resolvePayload($rawBody); $expectedSecret = $this->resolveExpectedSecret(); $providedSecret = trim((string) $this->request->getHeaderLine('X-Healthplix-Secret')); @@ -38,6 +37,24 @@ class HealthplixCallback extends BaseController ]); } + /** + * @return array + */ + private function resolvePayload(string $rawBody): array + { + if (trim($rawBody) === '') { + return []; + } + + try { + $decoded = $this->request->getJSON(true); + return is_array($decoded) ? $decoded : []; + } catch (\Throwable $e) { + $decoded = json_decode($rawBody, true); + return is_array($decoded) ? $decoded : []; + } + } + private function resolveExpectedSecret(): string { $secret = trim((string) hospital_setting_value('HEALTHPLIX_FETCH_SECRET', '')); diff --git a/public/assets/css/style.css b/public/assets/css/style.css index 9dc416a..2956cff 100644 --- a/public/assets/css/style.css +++ b/public/assets/css/style.css @@ -682,11 +682,16 @@ h6 { } .sidebar-nav .nav-heading { - font-size: 11px; + font-size: 13px; text-transform: uppercase; - color: #899bbd; - font-weight: 600; - margin: 10px 0 5px 15px; + color: #b3475b; + font-weight: 700; + letter-spacing: 0.4px; + margin: 14px 12px 8px; + border-top: 1px solid #d8e2f5; + background: #f4f7fc; + border-radius: 6px; + padding: 7px 10px; } .sidebar-nav .nav-link {