@extends('layouts.app') @php /** @var \App\Models\Credential $credential */ $holder = $credential->user; $ev = is_array($credential->evidence) ? $credential->evidence : []; $course = $credential->course; $issuance = $credential->badge; $badge = $issuance?->badge; $valid = in_array($status, ['active', 'issued'], true); $bannerClass = $valid ? 'ok' : ($status === 'revoked' ? 'bad' : 'warn'); $banner = match (true) { $valid => ['icon' => 'badge-check', 'title' => 'Verified — this certificate is genuine', 'text' => 'Issued by '.config('infotics.badges.issuer_name').' on '.$credential->issued_at->format('d M Y').'. '.($credential->expires_at ? 'Valid until '.$credential->expires_at->format('d M Y').'.' : 'It does not expire.')], $status === 'revoked' => ['icon' => 'shield-alert', 'title' => 'Revoked — this certificate is no longer valid', 'text' => 'Revoked'.($credential->revoked_at ? ' on '.$credential->revoked_at->format('d M Y') : '').'.'.($credential->revoke_reason ? ' Reason: '.$credential->revoke_reason : '')], default => ['icon' => 'alert', 'title' => 'Expired — this certificate is past its validity date', 'text' => 'Expired on '.$credential->expires_at?->format('d M Y').'. It was issued on '.$credential->issued_at->format('d M Y').'.'], }; $hidden = ! $private && $credential->visibility !== 'public'; $canShare = ! $private && ! $hidden && $status !== 'revoked'; $skills = $credential->skills->isNotEmpty() ? $credential->skills : ($badge?->skills ?? collect()); $hours = $ev['hours'] ?? $ev['duration_hours'] ?? $course?->total_hours; $pct = $ev['percent'] ?? $credential->score; $att = $ev['attendance_percent'] ?? null; $fmt = fn ($v) => rtrim(rtrim(number_format((float) $v, 2), '0'), '.'); if (! $private) { seo()->schema(array_filter([ '@type' => 'EducationalOccupationalCredential', 'name' => $credential->title, 'identifier' => $credential->credential_id, 'url' => $credential->verifyUrl(), 'credentialCategory' => 'Certificate', 'recognizedBy' => ['@type' => 'Organization', 'name' => config('infotics.badges.issuer_name'), 'url' => url('/')], 'dateCreated' => $credential->issued_at->toDateString(), 'validUntil' => $credential->expires_at?->toDateString(), 'creativeWorkStatus' => $valid ? 'Valid' : ucfirst($status), 'competencyRequired' => $skills->pluck('name')->values()->all() ?: null, ], fn ($v) => $v !== null)); } @endphp @section('content') @if($private)

This certificate is private

The holder has chosen not to show this certificate publicly, so its details are hidden.

Ask the holder for a public link, or check another credential by its ID.

@else
{{ $banner['title'] }}{{ $banner['text'] }}
Certificate ID {{ $credential->credential_id }}
@if($hidden)
This certificate is private. {{ $isOwner ? 'Only you and INFOTICS admins can see this page. Make it public below before sharing it.' : 'You can see it as an administrator. It is hidden from the public.' }}
@endif
Certificate

{{ $credential->title }}

@if($holder->avatarUrl())@else{{ $holder->initials() }}@endif
Awarded to{{ $holder->name }}@if($holder->headline){{ $holder->headline }}@endif
{{ config('infotics.badges.issuer_name') }} Issued {{ $credential->issued_at->format('d M Y') }} @if($hours) {{ $hours }} hours@endif @if($pct) Score {{ $fmt($pct) }}%@endif
@if($canShare) Add to LinkedIn profile Share @else Verify another credential @endif @if($status !== 'revoked') Certificate PDF@endif

What this certificate confirms

{{ $holder->name }} was awarded “{{ $credential->title }}” by {{ config('infotics.badges.issuer_name') }}@if($course) after {{ $credential->type === 'completion' ? 'completing' : 'demonstrating skills in' }} {{ $course->title }}@endif.

    @if($credential->type === 'completion' || $att)
  • Met the attendance requirement @if($att)({{ $fmt($att) }}% attendance)@endif.
  • @endif @if($pct)
  • Passed the proctored INFOTICS assessment with {{ $fmt($pct) }}%.
  • @endif
  • Record is held on the INFOTICS platform and checked live every time this page opens.
  • Document fingerprint {{ $credential->fingerprint() }}: it must match the one printed on the certificate. Any edit to the name, course or date changes it.

This is an INFOTICS training credential. It is not an official vendor certification unless it says so explicitly.

@if($skills->isNotEmpty())

Skills verified

@foreach($skills as $sk){{ $sk->name }}@endforeach
@endif @if($badge && $issuance && $issuance->status === 'issued' && ($issuance->visibility ?? 'public') === 'public')

Linked digital badge

{{ $badge->name }}
{{ $badge->level }} level · Badge ID {{ $issuance->badge_id_code }}
View badge
@endif @if($canShare)

{{ $isOwner ? 'Share your certificate' : 'Share this certificate' }}

{{ $isOwner ? 'Add it to LinkedIn so recruiters can verify it in one click, or post it to your network.' : 'Anyone with the link can verify this certificate.' }}

@endif @if($isOwner)

Manage your certificate

@csrf

{{ $credential->visibility === 'public' ? 'Your certificate is public: anyone with the link can verify it.' : 'Your certificate is private: only you and INFOTICS admins can open it.' }}

@endif
@endif @endsection