@php
use App\Classes\FTN\Message;
use App\Models\{Echomail,Netmail};
@endphp

<div class="row">
	<div class="col-4">
		TO: <strong class="highlight">{!! Message::tr($msg->to) !!}</strong> @if ($msg instanceof Netmail)(<strong class="highlight">{{ $msg->tftn->ftn }}</strong>)@endif
	</div>
	<div class="col-4">
		DATE: <strong class="highlight">{{ $msg->datetime->format('Y-m-d H:i:s') }}</strong>
	</div>
</div>

<div class="row pt-1">
	<div class="col-4">
		FROM: <strong class="highlight">{!! Message::tr($msg->from) !!}</strong> (<strong class="highlight">{{ $msg->fftn->ftn }}</strong>)
	</div>
	<div class="col-4">
		MSGID: <strong class="highlight">{{ $msg->msgid }}</strong>@if($x=Echomail::where('replyid',$msg->msgid)->count()) (<strong class="highlight">{{$x}}</strong> replies)@endif @if($msg->replyid)<br>REPLY: <strong class="highlight">{{ $msg->replyid }}</strong>@endif
	</div>
</div>

@if($msg->flags()->count())
	<div class="row pt-1">
		<div class="offset-4 col-8">
			FLAGS: <strong class="highlight">{!! $msg->flags()->keys()->map(fn($item)=>strtoupper($item))->join('</strong>, <strong class="highlight">') !!}</strong>
		</div>
	</div>
@endif

@if ($msg instanceof Echomail)
	<div class="row pt-1 pb-2">
		<div class="offset-4 col-4">
			ECHOAREA: <strong class="highlight">{{ $msg->echoarea->name }}</strong> (<strong class="highlight">{{ $msg->echoarea->domain->name }}</strong>)
		</div>
	</div>
@endif

<div class="row pt-1 pb-2">
	<div class="col-8">
		SUBJECT: <strong class="highlight">{!! Message::tr($msg->subject) !!}</strong>
	</div>
</div>

<div class="row pb-2">
	<div class="col-8">
		<div class="p-2">
			<div id="canvas"></div>
		</div>
	</div>
</div>

<div class="row pb-2">
	<div class="col-8">
		KLUDGES: <br>
		@foreach($msg->kludges as $k=>$v)
			<strong class="highlight">{{ $k }}</strong> {{ $v }}<br>
		@endforeach
	</div>
</div>

@if ($msg instanceof Echomail)
	<div class="row pb-2">
		<div class="col-8">
			SEENBY: <br><strong class="highlight">{!! $msg
				->seenby
				->map(function($item) {
					if ($item->pivot->export_at) {
						if ($item->pivot->sent_at)
							return sprintf('<strong class="success" title="Sent: %s Packet: %s">%s</strong>',$item->pivot->sent_at,$item->pivot->sent_pkt,$item->ftn2d);
						else
							return sprintf('<strong class="danger">%s</strong>',$item->ftn2d);

					} else {
							return sprintf('<strong class="highlight">%s</strong>',$item->ftn2d);
					}
				})->join(', ') !!}
			</strong>
		</div>

		@if($msg->rogue_seenby->count())
			<br><small>[<strong>NOTE</strong>: Some seen-by values couldnt be identified - ({{ $msg->rogue_seenby->transform(fn($item)=>str_replace('0:','',$item))->join(',') }})]</small>
		@endif
	</div>
@endif

<div class="row pb-2">
	<div class="col-8">
		PATH:
		@if($msg->path->count())
			<br><strong class="highlight">{!! $msg->pathorder()->join('</strong> -> <strong class="highlight">') !!}</strong>
		@else
			<br><small>[<strong>No details</strong>]</small>
		@endif

		@if(($msg instanceof Echomail) && $msg->rogue_path->count())
			<br><small>[<strong>NOTE</strong>: Some path values couldnt be identified - ({{ $msg->rogue_path->join(',') }})]</small>
		@endif
	</div>
</div>

@if($msg->path->count())
	<div class="row pb-2">
		<div class="col-8">
			RECEIVED:<br>
			@if($msg instanceof Netmail)
				@foreach ($msg->path as $path)
					<strong class="highlight">{{ $path->pivot->recv_pkt }}</strong> from <strong class="highlight">{{ $path->ftn }}</strong> {{ $msg->created_at }}<br>
				@endforeach
			@elseif ($msg instanceof Echomail)
				<strong class="highlight">{{ ($x=$msg->path->sortBy('pivot.parent_id')->last())->pivot->recv_pkt }}</strong> from <strong class="highlight">{{ $x->ftn }}</strong> {{ $x->pivot->recv_at }}<br>
			@endif
		</div>
	</div>
@endif

@if($msg instanceof Netmail)
	<div class="col-8">
		SENT:
		@if($msg->sent_pkt && $msg->sent_at)
			<strong class="highlight">{{ $msg->sent_at }}</strong> (<strong class="highlight">{{ $msg->sent_pkt }}.pkt</strong>)
		@else
			<strong class="highlight">NOT SENT</strong>
		@endif
	</div>
@endif

@section('page-scripts')
	<script type="text/javascript" src="{{ asset('ansilove/ansilove.js') }}"></script>

	<script type="text/javascript">
		$(document).ready(function() {
			var msg = new Uint8Array({!! json_encode(array_values(unpack('C*',str_replace("\r","\n",$msg->content)))) !!});
			retina = window.devicePixelRatio > 1;

			AnsiLove.renderBytes(
				msg,
				function (canvas, sauce) {
					document.getElementById("canvas").appendChild(canvas);
				},
				{'font': '80x25', 'bits': 8, 'icecolors': 0, 'columns': 80}
			);
		});
	</script>
@append