@extends('layouts.dashboard') @section('title', __('Submissions')) @section('page_title', __('Submissions')) @section('content') @php($aiOn = module_enabled('ai') && setting('ai_enabled', '1') === '1' && (string) setting('ai_api_key', '') !== '')

{{ __('Submissions') }}

{{ $assignment->title }} · {{ __('Max') }} {{ (int) $assignment->max_marks }} {{ __('marks') }}

@if($assignment->peer_review_enabled)
@csrf
@endif
@forelse ($submissions as $submission)
{{ $submission->student->name ?? __('Student') }}
{{ __('Submitted') }} {{ optional($submission->submitted_at)->format('M d, Y H:i') }}@if((int) $submission->attempt > 1) · {{ __('attempt :n', ['n' => $submission->attempt]) }}@endif
@php($sb = ['submitted' => 'warning', 'reviewed' => 'success', 'rejected' => 'danger', 'resubmitted' => 'info'][$submission->status] ?? 'secondary') {{ status_label($submission->status) }}
@if ($submission->submission_text)
{!! nl2br(e($submission->submission_text)) !!}
@endif @if ($submission->submission_url) {{ Str::limit(preg_replace('#^https?://#', '', $submission->submission_url), 48) }} @endif @if ($submission->file_path) {{ __('View Attachment') }} @endif @if($aiOn)
{{ __('AI grading assistant') }} {{ __('suggests marks and feedback — you decide.') }}
@endif @if($assignment->peer_review_enabled && ($peerAverages[$submission->id] ?? null) !== null)
{{ __('Peer average: :avg / :max', ['avg' => $peerAverages[$submission->id], 'max' => (int) $assignment->max_marks]) }}
@endif @if($submission->submission_text)
@csrf {{ __('Compares against classmates’ texts') }}
@endif @if(session('originality.submission_id') === $submission->id)
@if(count(session('originality.matches')))
{{ __('Possible overlap found:') }}
    @foreach(session('originality.matches') as $match)
  • {{ __(':score% similar to :name (:shared shared phrases)', ['score' => $match['score'], 'name' => $match['student'], 'shared' => $match['shared']]) }}
  • @endforeach
@else {{ __('No significant overlap with classmates’ submissions.') }} @endif @if(session('originality.external_configured'))
{{ __('External similarity score: :score%', ['score' => session('originality.external.score')]) }}
@endif
@endif
@csrf @method('PUT')
@empty
{{ __('No submissions yet.') }}
@endforelse @endsection @push('scripts') @endpush