ldc-loue/resources/views/back/news/index.blade.php
2022-07-04 10:17:34 +00:00

116 lines
6.7 KiB
PHP

@extends('layouts.back')
@section('title', sprintf('%s - %s', __('models.classes.news'), Str::ucfirst(__('liste'))))
@section('breadcrumb', request()->route()->getName())
@section('content')
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-12">
@include('back.breadcrumb.breadcrumb-body')
</div>
</div>
<div class="row">
<div class="col">
<h1 class="h2">{{ __('models.classes.news') }}&nbsp;{{ Str::ucfirst(__('liste')) }}</h1>
</div>
<div class="col-md-3">
<div class="input-group justify-content-end">
<a href="{{ route('bo.news.create') }}" class="btn btn-primary" title="{{ __('Ajouter une :model', [
'model' => Str::singular(__('models.classes.news'))
]) }}" data-bs-toggle="tooltip"><i class="fa-solid fa-plus"></i></a>
</div>
</div>
</div>
</div>
<div class="card-body">
@include('back.modules.searchBar')
<div class="row justify-content-center">
<div class="col-12 col-md-6 p-0 p-md-3">
{{ $news->withQueryString()->onEachSide(1)->links() }}
</div>
</div>
<div class="row">
<div class="col">
<div class="table-responsive">
<table class="table fixAction">
<thead>
@php
$cols = ['title' => __('Titre'), 'tags' => __('Tags'), 'published' => __('Publication'), 'updated_at' => __('Mis à jour le')];
@endphp
@include('back.modules.tableColSorter', [ 'cols' => $cols, 'ignore' => ['tags']])
</thead>
<tbody>
@if($news->count())
@foreach ($news as $newsModel)
<tr>
<td>
<span>{{ $newsModel->title }}</span>
</td>
<td>
@foreach($newsModel->tags as $tag)
<span class="badge bg-primary text-wrap">{{ $tag->name }}</span>
@endforeach
</td>
<td class="text-center">
@switch($newsModel->published)
@case(App\Enums\PublishedStatus::draft())
<span class="badge bg-warning text-wrap">{{ $newsModel->published->label }}</span>
@break
@case(App\Enums\PublishedStatus::published())
<span class="badge bg-success text-wrap">{{ $newsModel->published_at ? __(':status le :date', [
'status' => $newsModel->published->label,
'date' => $newsModel->published_at->formatLocalized('%d/%m/%Y à %I:%M')
]) : '' }}</span>
@break
@case(App\Enums\PublishedStatus::archived())
<span class="badge bg-secondary text-wrap">{{ $newsModel->published->label}}</span>
@break
@endswitch
</td>
<td>
<span class="badge text-dark text-wrap">{{ $newsModel->updated_at->formatLocalized('%d/%m/%Y à %I:%M') }}</span>
</td>
<td>
<div class="btn-group">
{{-- Protected Preview Page --}}
@if($newsModel->published->equals(App\Enums\PublishedStatus::draft()))
<a class="btn btn-sm btn-warning" href="" target="_blank" title="{{ __('Prévisualiser :model', [
'model' => Str::singular(__('models.classes.news'))
]) }}" data-bs-toggle="tooltip"><i class="fa-solid fa-user-lock"></i></a>
@endif
{{-- Public View Page --}}
@if($newsModel->published->equals(App\Enums\PublishedStatus::published()))
<a class="btn btn-sm btn-warning" href="" target="_blank" title="{{ __('Visualiser :model', [
'model' => Str::singular(__('models.classes.news'))
]) }}" data-bs-toggle="tooltip"><i class="fa-solid fa-eye"></i></a>
@endif
<a class="btn btn-sm btn-primary" href="{{ route('bo.news.edit', $newsModel->id) }}" title="{{ __('Modifier :model', [
'model' => Str::singular(__('models.classes.news'))
]) }}" data-bs-toggle="tooltip"><i class="fa-solid fa-pencil"></i></a>
</div>
</td>
</tr>
@endforeach
@else
<tr>
<td colspan="5" class="text-center"><span class="h3">{{
__('Aucun résultat pour les :models', ['models' => __('models.classes.news')])
}}</span></td>
</tr>
@endif
</tbody>
</table>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-12 col-md-6 p-0 p-md-3">
{{ $news->withQueryString()->onEachSide(1)->links() }}
</div>
</div>
</div>
</div>
@endsection