Refactor 'My Membership' page scripts

- Replaced inline JS function generation in loops with Alpine.js event handlers.
- Improved safety of rejection reason output using json_encode.
This commit is contained in:
2025-11-28 00:21:57 +08:00
parent cf367fe6e0
commit c7a1f9130e

View File

@@ -197,15 +197,10 @@
<td class="whitespace-nowrap px-4 py-3 text-sm"> <td class="whitespace-nowrap px-4 py-3 text-sm">
@if($payment->isRejected()) @if($payment->isRejected())
<button type="button" <button type="button"
onclick="showRejectionReason{{ $payment->id }}()" @click="alert('{{ __('Rejection Reason') }}:\n\n' + {{ json_encode($payment->rejection_reason) }})"
class="text-red-600 hover:text-red-900 dark:text-red-400 dark:hover:text-red-300"> class="text-red-600 hover:text-red-900 dark:text-red-400 dark:hover:text-red-300">
{{ __('View Reason') }} {{ __('View Reason') }}
</button> </button>
<script>
function showRejectionReason{{ $payment->id }}() {
alert('{{ __("Rejection Reason") }}:\n\n{{ addslashes($payment->rejection_reason) }}');
}
</script>
@elseif($payment->isPending() || $payment->isApprovedByCashier() || $payment->isApprovedByAccountant()) @elseif($payment->isPending() || $payment->isApprovedByCashier() || $payment->isApprovedByAccountant())
<div class="text-xs text-gray-500 dark:text-gray-400"> <div class="text-xs text-gray-500 dark:text-gray-400">
@if($payment->verifiedByCashier) @if($payment->verifiedByCashier)