{{-- "Ask this patient to send their reports in." Rendered into the `patient.administrative` slot. Patients knows nothing about upload links; remove this module and the panel goes with it. --}} {{-- The panel, not a Bootstrap card, and the form behind the same "+" every other panel on this record uses. Rendered inline it was the only card on the screen sitting permanently open, which made an occasional action look like the main business of the page. --}} {{-- The one and only appearance of a working link. Only the hash is stored, so this flash is the single moment the URL exists anywhere. Reload the page and it is gone โ€” which is the correct behaviour for a credential, and is why it is shown for copying rather than tucked behind a menu. --}} @if (session('issued_upload_url'))

{{ __('portal::messages.links.copy_now') }}

{{-- Selects itself when focused, so the link can be copied in one gesture. Wired in resources/js/app.js: an onfocus attribute is inline script, which the CSP blocks. --}} {{ __('portal::messages.links.copy_hint') }}
@endif @forelse ($activeLinks as $active)
{{ $active->purpose ?: __('portal::messages.links.untitled') }} {{ __('portal::messages.links.expires', ['when' => $active->expires_at->diffForHumans()]) }} ยท {{ trans_choice('portal::messages.links.files_left', $active->remainingFiles(), ['count' => $active->remainingFiles()]) }}
@csrf
@empty

{{ __('portal::messages.links.none') }}

@endforelse @if ($recentUploads->isNotEmpty())

{{ __('portal::messages.links.recent') }}

{{-- What "awaiting review" means, and where to do something about it. A file a patient sent is held outside the record until somebody opens it and accepts it โ€” it could be the wrong document, or the wrong patient's. Saying so here stops the status reading as a stuck upload, and the link saves hunting for the queue that clears it. --}} @if ($recentUploads->contains(fn ($upload) => $upload->status->isPending()))

{{ __('portal::messages.links.pending_hint') }}

{{-- Opens beside the record, not instead of it. Reviewing is a detour: you accept the file and you want to be back on the patient you were reading. A target keeps this record where it was โ€” and it also tells Clinic.navigation to leave the click alone, which is what makes the second tab happen at all. --}} @if (Route::has('portal.review.index') && (auth()->user()?->can('portal.review') ?? false)) {{ __('portal::messages.links.review_now') }} {{-- Smaller and quieter than the label: it is a note about where the link goes, not part of the instruction. --}} {{ __('portal::messages.links.new_tab') }} @endif @endif @endif {{-- Opened when there is nothing else to show: an empty panel with a button that reveals the only thing it does is a riddle. --}}