chore: change show content recap UI
chore: change show content recap classification UI feat: add grouping by classification
This commit is contained in:
parent
4206ae896c
commit
0994e1717a
@ -11,9 +11,10 @@
|
|||||||
|
|
||||||
class ContentRecapController extends Controller
|
class ContentRecapController extends Controller
|
||||||
{
|
{
|
||||||
public function index(){
|
public function index(Request $request){
|
||||||
return view('dashboard.content-recaps.index', [
|
return view('dashboard.content-recaps.index', [
|
||||||
'title' => 'Rekap Konten'
|
'title' => 'Rekap Konten',
|
||||||
|
'classification' => $request->input('classification', null)
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -28,15 +29,19 @@ public function store(ContentRecapRequest $request){
|
|||||||
$validatedData = $request->validated();
|
$validatedData = $request->validated();
|
||||||
$validatedData['enhancer_id'] = Auth::id();
|
$validatedData['enhancer_id'] = Auth::id();
|
||||||
|
|
||||||
if($request->has('image')){
|
if($request->has('image') && filled($validatedData['image'])){
|
||||||
$validatedData['image'] = store_file($validatedData['image'], '/uploads/content-recaps', 'public')['randomFileName'];
|
$validatedData['image'] = store_file($validatedData['image'], '/uploads/content-recaps', 'public')['randomFileName'];
|
||||||
|
}else{
|
||||||
|
$validatedData['image'] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$createdContentRecap = ContentRecap::create($validatedData);
|
|
||||||
|
|
||||||
if($createdContentRecap){
|
try{
|
||||||
return redirect()->back()->with('success-status', 'Berhasil menambahkan rekap konten.');
|
$createdContentRecap = ContentRecap::create($validatedData);
|
||||||
}else{
|
|
||||||
|
return redirect()->route('dashboard.content.recaps.index')->with('success-status', 'Berhasil menambahkan rekap konten.')
|
||||||
|
->with('new_data', encrypt_id($createdContentRecap->id));
|
||||||
|
}catch(\Exception $e){
|
||||||
return redirect()->back()->with('failed-status', 'Gagal menambahkan rekap konten.');
|
return redirect()->back()->with('failed-status', 'Gagal menambahkan rekap konten.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -56,18 +61,17 @@ public function update(ContentRecapRequest $request, $id){
|
|||||||
$validatedData['enhancer_id'] = Auth::id();
|
$validatedData['enhancer_id'] = Auth::id();
|
||||||
|
|
||||||
$contentRecap = ContentRecap::findOrFail(decrypt_id($id));
|
$contentRecap = ContentRecap::findOrFail(decrypt_id($id));
|
||||||
if($request->has('image')){
|
if($request->has('image') && filled($validatedData['image'])){
|
||||||
delete_file('app/public/uploads/content-recaps/'.$contentRecap->image);
|
delete_file('app/public/uploads/content-recaps/'.$contentRecap->image);
|
||||||
$validatedData['image'] = store_file($validatedData['image'], '/uploads/content-recaps', 'public')['randomFileName'];
|
$validatedData['image'] = store_file($validatedData['image'], '/uploads/content-recaps', 'public')['randomFileName'];
|
||||||
}else{
|
}else{
|
||||||
$validatedData['image'] = $contentRecap->image;
|
$validatedData['image'] = $contentRecap->image;
|
||||||
}
|
}
|
||||||
|
|
||||||
$updatedContentRecap = $contentRecap->update($validatedData);
|
try{
|
||||||
|
$contentRecap->update($validatedData);
|
||||||
if($updatedContentRecap){
|
return redirect()->route('dashboard.content.recaps.show', ['id' => encrypt_id($contentRecap->id)])->with('success-status', 'Berhasil mengubah rekap konten.');
|
||||||
return redirect()->back()->with('success-status', 'Berhasil mengubah rekap konten.');
|
}catch(\Exception $e){
|
||||||
}else{
|
|
||||||
return redirect()->back()->with('failed-status', 'Gagal mengubah rekap konten.');
|
return redirect()->back()->with('failed-status', 'Gagal mengubah rekap konten.');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,7 +89,6 @@ public function show($id){
|
|||||||
public function destroy($id){
|
public function destroy($id){
|
||||||
try {
|
try {
|
||||||
$contentRecap = ContentRecap::findOrFail(decrypt_id($id));
|
$contentRecap = ContentRecap::findOrFail(decrypt_id($id));
|
||||||
|
|
||||||
$contentRecap->delete();
|
$contentRecap->delete();
|
||||||
|
|
||||||
return response()->json(['message' => 'Berhasil menghapus rekap konten.']);
|
return response()->json(['message' => 'Berhasil menghapus rekap konten.']);
|
||||||
|
|||||||
@ -516,8 +516,6 @@ public function airingProofTheme(Request $request){
|
|||||||
public function contentRecapClassification(Request $request){
|
public function contentRecapClassification(Request $request){
|
||||||
if ($request->ajax()) {
|
if ($request->ajax()) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$data = ContentRecapClassification::all();
|
$data = ContentRecapClassification::all();
|
||||||
|
|
||||||
return DataTables::of($data)
|
return DataTables::of($data)
|
||||||
@ -563,7 +561,7 @@ public function contentRecapClassification(Request $request){
|
|||||||
return $dropdown;
|
return $dropdown;
|
||||||
})
|
})
|
||||||
|
|
||||||
->rawColumns(['action'])
|
->rawColumns(['content_recaps', 'action'])
|
||||||
->make(true);
|
->make(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2097,7 +2095,14 @@ class="text-dark"
|
|||||||
public function contentRecap(Request $request){
|
public function contentRecap(Request $request){
|
||||||
if ($request->ajax()) {
|
if ($request->ajax()) {
|
||||||
|
|
||||||
$data = ContentRecap::all();
|
$classificationParam = $request->input('classification', null);
|
||||||
|
|
||||||
|
if(filled($classificationParam)){
|
||||||
|
$data = ContentRecap::where('classification_id', decrypt_id($classificationParam))->get();
|
||||||
|
}else{
|
||||||
|
$data = ContentRecap::all();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return DataTables::of($data)
|
return DataTables::of($data)
|
||||||
->addIndexColumn()
|
->addIndexColumn()
|
||||||
|
|||||||
@ -23,12 +23,13 @@ public function authorize(): bool
|
|||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
$rules = [
|
$rules = [
|
||||||
'title' => ['required'],
|
'content_theme' => ['required'],
|
||||||
'posted_date' => ['required', 'date'],
|
'posted_date' => ['required', 'date'],
|
||||||
'channel'=> ['required', 'in:website,tiktok,youtube,instagram,facebook,twitter,cetak'],
|
'channel'=> ['required', 'in:website,tiktok,youtube,instagram,facebook,twitter,cetak', 'not_in:placeholder'],
|
||||||
'link' => ['required', 'url'],
|
'link' => ['required', 'url'],
|
||||||
'classification_id' => ['required', 'exists:content_recap_classifications,id'],
|
'classification_id' => ['required', 'exists:content_recap_classifications,id', 'not_in:placeholder'],
|
||||||
'social_media' => ['required'],
|
'social_media' => ['required', 'not_in:placeholder'],
|
||||||
|
'description' => ['nullable'],
|
||||||
];
|
];
|
||||||
|
|
||||||
if($this->isMethod('post')){
|
if($this->isMethod('post')){
|
||||||
@ -40,14 +41,23 @@ public function rules(): array
|
|||||||
return $rules;
|
return $rules;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function prepareForValidation()
|
||||||
|
{
|
||||||
|
$this->merge([
|
||||||
|
'image' => filled($this->image) ? $this->image : null,
|
||||||
|
'description' => filled($this->description) ? $this->description : null,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function messages()
|
public function messages()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'title.required' => 'Judul wajib diisi.',
|
'content_theme.required' => 'Tema konten wajib diisi.',
|
||||||
|
'content_theme.max' => 'Tema konten tidak boleh lebih dari 200 karakter.',
|
||||||
'posted_date.required' => 'Tanggal posting wajib diisi.',
|
'posted_date.required' => 'Tanggal posting wajib diisi.',
|
||||||
'posted_date.date' => 'Tanggal posting harus berupa format tanggal yang valid.',
|
'posted_date.date' => 'Tanggal posting harus berupa format tanggal yang valid.',
|
||||||
'channel.required' => 'Channel wajib dipilih.',
|
'channel.required' => 'Kanal wajib dipilih.',
|
||||||
'channel.in' => 'Channel harus salah satu dari: website, tiktok, youtube, instagram, facebook, twitter, atau cetak.',
|
'channel.in' => 'Kanal harus salah satu dari: website, tiktok, youtube, instagram, facebook, twitter, atau cetak.',
|
||||||
'link.required' => 'Link wajib diisi.',
|
'link.required' => 'Link wajib diisi.',
|
||||||
'link.url' => 'Link harus berupa URL yang valid.',
|
'link.url' => 'Link harus berupa URL yang valid.',
|
||||||
'classification_id.required' => 'Klasifikasi wajib dipilih.',
|
'classification_id.required' => 'Klasifikasi wajib dipilih.',
|
||||||
@ -57,6 +67,7 @@ public function messages()
|
|||||||
'image.image' => 'File yang diunggah harus berupa gambar.',
|
'image.image' => 'File yang diunggah harus berupa gambar.',
|
||||||
'image.mimes' => 'Format gambar harus PNG, JPG, atau JPEG.',
|
'image.mimes' => 'Format gambar harus PNG, JPG, atau JPEG.',
|
||||||
'image.max' => 'Ukuran gambar maksimal 2MB.',
|
'image.max' => 'Ukuran gambar maksimal 2MB.',
|
||||||
|
'description.nullable' => 'Deskripsi bersifat opsional.',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -11,13 +11,14 @@ class ContentRecap extends Model
|
|||||||
protected $table = 'content_recaps';
|
protected $table = 'content_recaps';
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'title',
|
'content_theme',
|
||||||
'posted_date',
|
'posted_date',
|
||||||
'channel',
|
'channel',
|
||||||
'link',
|
'link',
|
||||||
'classification_id',
|
'classification_id',
|
||||||
'social_media',
|
'social_media',
|
||||||
'image',
|
'image',
|
||||||
|
'description',
|
||||||
'enhancer_id',
|
'enhancer_id',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -21,4 +21,8 @@ class ContentRecapClassification extends Model
|
|||||||
public function contentRecaps(){
|
public function contentRecaps(){
|
||||||
return $this->hasMany(ContentRecap::class, 'classification_id', 'id');
|
return $this->hasMany(ContentRecap::class, 'classification_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function enhancer(){
|
||||||
|
return $this->belongsTo(User::class, 'enhancer_id', 'id');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ public function up(): void
|
|||||||
{
|
{
|
||||||
Schema::create('content_recaps', function (Blueprint $table) {
|
Schema::create('content_recaps', function (Blueprint $table) {
|
||||||
$table->id();
|
$table->id();
|
||||||
$table->text('title');
|
$table->text('content_theme');
|
||||||
$table->date('posted_date');
|
$table->date('posted_date');
|
||||||
$table->enum('channel', ['website', 'tiktok', 'youtube', 'instagram', 'facebook', 'twitter', 'cetak']);
|
$table->enum('channel', ['website', 'tiktok', 'youtube', 'instagram', 'facebook', 'twitter', 'cetak']);
|
||||||
$table->string('link');
|
$table->string('link');
|
||||||
|
|||||||
@ -19,7 +19,7 @@ public function run(): void
|
|||||||
foreach($legacyContentRecaps as $legacyContentRecap){
|
foreach($legacyContentRecaps as $legacyContentRecap){
|
||||||
ContentRecap::create([
|
ContentRecap::create([
|
||||||
'id' => $legacyContentRecap->id,
|
'id' => $legacyContentRecap->id,
|
||||||
'title' => $legacyContentRecap->title,
|
'content_theme' => $legacyContentRecap->title,
|
||||||
'posted_date' => $legacyContentRecap->posting_date == '0000-00-00' ? now() : $legacyContentRecap->posting_date,
|
'posted_date' => $legacyContentRecap->posting_date == '0000-00-00' ? now() : $legacyContentRecap->posting_date,
|
||||||
'channel' => $legacyContentRecap->channel,
|
'channel' => $legacyContentRecap->channel,
|
||||||
'link' => $legacyContentRecap->link,
|
'link' => $legacyContentRecap->link,
|
||||||
|
|||||||
@ -167,3 +167,7 @@ .file-not-filled{
|
|||||||
border: 1px solid red !important;
|
border: 1px solid red !important;
|
||||||
background-color: red !important;
|
background-color: red !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.link-show{
|
||||||
|
width: 68% !important;
|
||||||
|
}
|
||||||
|
|||||||
@ -21,7 +21,10 @@
|
|||||||
<div class="card card-bordered card-preview">
|
<div class="card card-bordered card-preview">
|
||||||
<div class="card-inner">
|
<div class="card-inner">
|
||||||
<div class="card-head">
|
<div class="card-head">
|
||||||
<h5 class="card-title">{{$title}}</h5>
|
<div class="nk-block-head">
|
||||||
|
<h5 class="title">Buat Klasifikasi Rekap Konten Baru</h5>
|
||||||
|
<p>Masukkan informasi yang diperlukan untuk membuat klasifikasi rekap konten.</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form action="{{route('dashboard.content.recap.classifications.store')}}" method="post" id="myForm">
|
<form action="{{route('dashboard.content.recap.classifications.store')}}" method="post" id="myForm">
|
||||||
@csrf
|
@csrf
|
||||||
@ -30,7 +33,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="name">Nama<span class="required-input">*</span></label>
|
<label class="form-label" for="name">Nama<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<input type="text" class="form-control @error('name') border-danger @enderror" id="name" name="name" placeholder="Masukan nama tema" value="{{old('name')}}">
|
<input type="text" class="form-control" id="name" name="name" placeholder="Contoh: Penghargaan, Ogan Lopian" value="{{old('name')}}">
|
||||||
</div>
|
</div>
|
||||||
@error('name')
|
@error('name')
|
||||||
<span class="validation-error">{{$message}}</span>
|
<span class="validation-error">{{$message}}</span>
|
||||||
@ -41,7 +44,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="year">Tahun<span class="required-input">*</span></label>
|
<label class="form-label" for="year">Tahun<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<input type="text" class="form-control @error('year') border-danger @enderror" id="year" year="year" placeholder="Masukan year tema" value="{{old('year')}}">
|
<input type="text" class="form-control @error('year') border-danger @enderror" id="year" year="year" placeholder="Contoh: 2024, 2025" value="{{old('year')}}">
|
||||||
</div>
|
</div>
|
||||||
@error('year')
|
@error('year')
|
||||||
<span class="validation-error">{{$message}}</span>
|
<span class="validation-error">{{$message}}</span>
|
||||||
@ -55,6 +58,9 @@
|
|||||||
<textarea class="tinymce-basic form-control" name="description">{!!old('description')!!}</textarea>
|
<textarea class="tinymce-basic form-control" name="description">{!!old('description')!!}</textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@error('description')
|
||||||
|
<span class="validation-error">{{$message}}</span>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
@ -10,7 +10,10 @@
|
|||||||
<div class="card card-bordered card-preview">
|
<div class="card card-bordered card-preview">
|
||||||
<div class="card-inner">
|
<div class="card-inner">
|
||||||
<div class="card-head">
|
<div class="card-head">
|
||||||
<h5 class="card-title">{{$title}}</h5>
|
<div class="nk-block-head">
|
||||||
|
<h5 class="title">Ubah Klasifikasi Rekap Konten</h5>
|
||||||
|
<p>Perbarui informasi klasifikasi rekap konten ini.</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form action="{{route('dashboard.content.recap.classifications.update', ['id' => encrypt_id($contentRecapClassification->id)])}}" method="post" id="myForm">
|
<form action="{{route('dashboard.content.recap.classifications.update', ['id' => encrypt_id($contentRecapClassification->id)])}}" method="post" id="myForm">
|
||||||
@csrf
|
@csrf
|
||||||
@ -20,7 +23,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="name">Nama<span class="required-input">*</span></label>
|
<label class="form-label" for="name">Nama<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<input type="text" class="form-control @error('name') border-danger @enderror" id="name" name="name" placeholder="Masukan nama tema" value="{{$contentRecapClassification->name}}">
|
<input type="text" class="form-control @error('name') border-danger @enderror" id="name" name="name" placeholder="Contoh: Penghargaan, Ogan Lopian" value="{{$contentRecapClassification->name}}">
|
||||||
</div>
|
</div>
|
||||||
@error('name')
|
@error('name')
|
||||||
<span class="validation-error">{{$message}}</span>
|
<span class="validation-error">{{$message}}</span>
|
||||||
@ -31,7 +34,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="year">Tahun<span class="required-input">*</span></label>
|
<label class="form-label" for="year">Tahun<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<input type="text" class="form-control @error('year') border-danger @enderror" id="year" name="year" placeholder="Masukan tahun tema" value="{{$contentRecapClassification->year}}">
|
<input type="text" class="form-control @error('year') border-danger @enderror" id="year" name="year" placeholder="Contoh: 2024, 2025" value="{{$contentRecapClassification->year}}">
|
||||||
</div>
|
</div>
|
||||||
@error('year')
|
@error('year')
|
||||||
<span class="validation-error">{{$message}}</span>
|
<span class="validation-error">{{$message}}</span>
|
||||||
@ -45,6 +48,9 @@
|
|||||||
<textarea class="tinymce-basic form-control" name="description">{!!$contentRecapClassification->description!!}</textarea>
|
<textarea class="tinymce-basic form-control" name="description">{!!$contentRecapClassification->description!!}</textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@error('description')
|
||||||
|
<span class="validation-error">{{$message}}</span>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
@ -6,13 +6,32 @@
|
|||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="nk-content-inner">
|
<div class="nk-content-inner">
|
||||||
<div class="nk-content-body">
|
<div class="nk-content-body">
|
||||||
|
<div class="nk-block-head nk-block-head-sm">
|
||||||
|
<div class="nk-block-between g-3">
|
||||||
|
<div class="nk-block-head-content">
|
||||||
|
<h3 class="nk-block-title page-title">Detail Klasifikasi Rekap Konten</h3>
|
||||||
|
<div class="nk-block-des text-soft">
|
||||||
|
<ul class="list-inline">
|
||||||
|
<li>Detail klasifikasi rekap konten dapat dilihat di sini.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="nk-block-head-content">
|
||||||
|
<a href="{{route('dashboard.content.recap.classifications.index')}}" class="btn btn-icon btn-outline-light bg-white d-inline-flex d-sm-none"><em class="icon ni ni-arrow-left"></em></a>
|
||||||
|
<a href="{{route('dashboard.content.recap.classifications.index')}}" class="btn btn-outline-light bg-white d-none d-sm-inline-flex"><em class="icon ni ni-arrow-left"></em><span>Kembali</span></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- .nk-block-head -->
|
||||||
<div class="nk-block nk-block-lg">
|
<div class="nk-block nk-block-lg">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-aside-wrap">
|
<div class="card-aside-wrap">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<ul class="nav nav-tabs nav-tabs-mb-icon nav-tabs-card">
|
<ul class="nav nav-tabs nav-tabs-mb-icon nav-tabs-card">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link text-primary" href="#"><em class="icon ni ni-info"></em><span>Detail Klasifikasi Rekap Konten</span></a>
|
<a class="nav-link text-primary" href="javascript:void(0);"><em class="icon ni ni-info"></em><span>Detail Informasi</span></a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item nav-item-trigger d-xxl-none">
|
||||||
|
<a href="{{route('dashboard.content.recap.classifications.edit', ['id' => encrypt_id($contentRecapClassification->id), 'show' => true])}}" class="btn btn-icon btn-trigger"><em class="icon ni ni-edit"></em></a>
|
||||||
</li>
|
</li>
|
||||||
</ul><!-- .nav-tabs -->
|
</ul><!-- .nav-tabs -->
|
||||||
<div class="card-inner">
|
<div class="card-inner">
|
||||||
@ -28,6 +47,12 @@
|
|||||||
<span class="profile-ud-value">{{$contentRecapClassification->name}}</span>
|
<span class="profile-ud-value">{{$contentRecapClassification->name}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Tahun</span>
|
||||||
|
<span class="profile-ud-value">{{$contentRecapClassification->year}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="profile-ud-item">
|
<div class="profile-ud-item">
|
||||||
<div class="profile-ud wider">
|
<div class="profile-ud wider">
|
||||||
<span class="profile-ud-label">Rekap Konten</span>
|
<span class="profile-ud-label">Rekap Konten</span>
|
||||||
@ -46,6 +71,12 @@
|
|||||||
<span class="profile-ud-value">{{idn_date($contentRecapClassification->created_at, 'l, d F Y')}}</span>
|
<span class="profile-ud-value">{{idn_date($contentRecapClassification->created_at, 'l, d F Y')}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Dibuat Oleh</span>
|
||||||
|
<span class="profile-ud-value">{{$contentRecapClassification->enhancer->name}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div><!-- .profile-ud-list -->
|
</div><!-- .profile-ud-list -->
|
||||||
</div><!-- .nk-block -->
|
</div><!-- .nk-block -->
|
||||||
{{-- <div class="nk-divider divider md"></div> --}}
|
{{-- <div class="nk-divider divider md"></div> --}}
|
||||||
@ -56,16 +87,11 @@
|
|||||||
<div class="bq-note">
|
<div class="bq-note">
|
||||||
<div class="bq-note-item">
|
<div class="bq-note-item">
|
||||||
<div class="bq-note-text">
|
<div class="bq-note-text">
|
||||||
{!! filled($contentRecapClassification->description) ? $contentRecapClassification->description : '-' !!}
|
{!!$contentRecapClassification->description ?? '-' !!}
|
||||||
</div>
|
</div>
|
||||||
</div><!-- .bq-note-item -->
|
</div><!-- .bq-note-item -->
|
||||||
</div><!-- .bq-note -->
|
</div><!-- .bq-note -->
|
||||||
</div><!-- .nk-block -->
|
</div><!-- .nk-block -->
|
||||||
<hr>
|
|
||||||
<div class="nk-block d-flex justify-content-end">
|
|
||||||
<a href="{{route('dashboard.content.recap.classifications.index')}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
|
|
||||||
<a href="{{route('dashboard.content.recap.classifications.edit', ['id' => encrypt_id($contentRecapClassification->id), 'show' => true])}}" class="btn btn-warning"><span>Ubah</span></a>
|
|
||||||
</div><!-- .nk-block -->
|
|
||||||
</div><!-- .card-inner -->
|
</div><!-- .card-inner -->
|
||||||
</div><!-- .card-content -->
|
</div><!-- .card-content -->
|
||||||
</div><!-- .card-aside-wrap -->
|
</div><!-- .card-aside-wrap -->
|
||||||
|
|||||||
@ -10,18 +10,21 @@
|
|||||||
<div class="card card-bordered card-preview">
|
<div class="card card-bordered card-preview">
|
||||||
<div class="card-inner">
|
<div class="card-inner">
|
||||||
<div class="card-head">
|
<div class="card-head">
|
||||||
<h5 class="card-title">{{$title}}</h5>
|
<div class="nk-block-head">
|
||||||
|
<h5 class="title">Buat Rekap Konten Baru</h5>
|
||||||
|
<p>Masukkan informasi yang diperlukan untuk membuat rekap konten.</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form action="{{route('dashboard.content.recaps.store')}}" method="post" enctype="multipart/form-data" id="myForm">
|
<form action="{{route('dashboard.content.recaps.store')}}" method="post" enctype="multipart/form-data" id="myForm">
|
||||||
@csrf
|
@csrf
|
||||||
<div class="row g-4">
|
<div class="row g-4">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="title">Judul<span class="required-input">*</span></label>
|
<label class="form-label" for="content_theme">Tema Konten<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<input type="text" class="form-control @error('title') border-danger @enderror" id="title" name="title" placeholder="Masukan judul" value="{{old('title')}}">
|
<input type="text" class="form-control" id="content_theme" name="content_theme" placeholder="Contoh: Reels Kerjasama DPMPTSP" value="{{old('content_theme')}}">
|
||||||
</div>
|
</div>
|
||||||
@error('title')
|
@error('content_theme')
|
||||||
<span class="validation-error">{{$message}}</span>
|
<span class="validation-error">{{$message}}</span>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
@ -30,7 +33,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="link">Link<span class="required-input">*</span></label>
|
<label class="form-label" for="link">Link<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<input type="text" class="form-control @error('link') border-danger @enderror" id="contentRecapLink" name="link" placeholder="Masukan link" value="{{old('link')}}">
|
<input type="text" class="form-control" id="contentRecapLink" name="link" placeholder="Contoh: https://instagram.com/abc" value="{{old('link')}}">
|
||||||
<small id="contentRecapLinkFeedback" class="d-none"></small>
|
<small id="contentRecapLinkFeedback" class="d-none"></small>
|
||||||
</div>
|
</div>
|
||||||
@error('link')
|
@error('link')
|
||||||
@ -43,11 +46,15 @@
|
|||||||
<label class="form-label">Klasifikasi<span class="required-input">*</span></label>
|
<label class="form-label">Klasifikasi<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<select class="form-select js-select2" name="classification_id" id="classification" data-search="on">
|
<select class="form-select js-select2" name="classification_id" id="classification" data-search="on">
|
||||||
|
<option value="placeholder" selected disabled>Pilih Klasifikasi</option>
|
||||||
@foreach ($classifications as $classification)
|
@foreach ($classifications as $classification)
|
||||||
<option value="{{$classification->id}}" {{ old('classification_id') == $classification->id ? 'selected' : '' }}>{{$classification->name}}</option>
|
<option value="{{$classification->id}}" {{ old('classification_id') == $classification->id ? 'selected' : '' }}>{{$classification->name}}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@error('classification_id')
|
||||||
|
<span class="validation-error">{{$message}}</span>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
@ -55,18 +62,22 @@
|
|||||||
<label class="form-label">Media Sosial<span class="required-input">*</span></label>
|
<label class="form-label">Media Sosial<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<select class="form-select js-select2" name="social_media" id="social_media" data-search="on">
|
<select class="form-select js-select2" name="social_media" id="social_media" data-search="on">
|
||||||
|
<option value="placeholder" selected disabled>Pilih Media Sosial</option>
|
||||||
<option value="PPID Diskominfo Purwakarta" {{ old('social_media') == 'PPID Diskominfo Purwakarta' ? 'selected' : '' }}>PPID Diskominfo Purwakarta</option>
|
<option value="PPID Diskominfo Purwakarta" {{ old('social_media') == 'PPID Diskominfo Purwakarta' ? 'selected' : '' }}>PPID Diskominfo Purwakarta</option>
|
||||||
<option value="Diskominfo Purwakarta" {{ old('social_media') == 'Diskominfo Purwakarta' ? 'selected' : '' }}>Diskominfo Purwakarta</option>
|
<option value="Diskominfo Purwakarta" {{ old('social_media') == 'Diskominfo Purwakarta' ? 'selected' : '' }}>Diskominfo Purwakarta</option>
|
||||||
<option value="Purwakarta Saber Hoaks" {{ old('social_media') == 'Purwakarta Saber Hoaks' ? 'selected' : '' }}>Purwakarta Saber Hoaks</option>
|
<option value="Purwakarta Saber Hoaks" {{ old('social_media') == 'Purwakarta Saber Hoaks' ? 'selected' : '' }}>Purwakarta Saber Hoaks</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@error('social_media')
|
||||||
|
<span class="validation-error">{{$message}}</span>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="posted_date">Tanggal Posting<span class="required-input">*</span></label>
|
<label class="form-label" for="posted_date">Tanggal Posting<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<input type="date" class="form-control @error('posted_date') border-danger @enderror" id="posted_date" name="posted_date" placeholder="Masukan Tanggal Posting" value="{{old('posted_date')}}">
|
<input type="date" class="form-control" id="posted_date" name="posted_date" placeholder="Masukan Tanggal Posting" value="{{old('posted_date')}}">
|
||||||
</div>
|
</div>
|
||||||
@error('posted_date')
|
@error('posted_date')
|
||||||
<span class="validation-error">{{$message}}</span>
|
<span class="validation-error">{{$message}}</span>
|
||||||
@ -78,6 +89,7 @@
|
|||||||
<label class="form-label">Kanal<span class="required-input">*</span></label>
|
<label class="form-label">Kanal<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<select class="form-select js-select2" name="channel" data-search="on">
|
<select class="form-select js-select2" name="channel" data-search="on">
|
||||||
|
<option value="placeholder" selected disabled>Pilih Kanal</option>
|
||||||
<option value="website" {{old('channel') == 'website' ? 'selected' : ''}}>Website</option>
|
<option value="website" {{old('channel') == 'website' ? 'selected' : ''}}>Website</option>
|
||||||
<option value="tiktok" {{old('channel') == 'tiktok' ? 'selected' : ''}}>Tiktok</option>
|
<option value="tiktok" {{old('channel') == 'tiktok' ? 'selected' : ''}}>Tiktok</option>
|
||||||
<option value="youtube" {{old('channel') == 'youtube' ? 'selected' : ''}}>YouTube</option>
|
<option value="youtube" {{old('channel') == 'youtube' ? 'selected' : ''}}>YouTube</option>
|
||||||
@ -87,15 +99,18 @@
|
|||||||
<option value="cetak" {{old('channel') == 'cetak' ? 'selected' : ''}}>Cetak</option>
|
<option value="cetak" {{old('channel') == 'cetak' ? 'selected' : ''}}>Cetak</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@error('channel')
|
||||||
|
<span class="validation-error">{{$message}}</span>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="image">Gambar<span class="required-input">*</span></label>
|
<label class="form-label" for="image">Gambar</label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<div class="form-file">
|
<div class="form-file">
|
||||||
<input type="file" accept="image/*" class="form-file-input" id="image" name="image">
|
<input type="file" accept="image/*" class="form-file-input" id="image" name="image">
|
||||||
<label class="form-file-label" for="image">Gambar berupa screenshoot</label>
|
<label class="form-file-label" for="image">Unggah gambar konten (misalnya screenshot)</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@error('image')
|
@error('image')
|
||||||
@ -103,6 +118,17 @@
|
|||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label" for="description">Deskripsi</label>
|
||||||
|
@error('description')
|
||||||
|
<span class="validation-error">{{$message}}</span>
|
||||||
|
@enderror
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<textarea class="tinymce-basic form-control" name="description">{!!old('description')!!}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<hr>
|
<hr>
|
||||||
<div class="form-group d-flex justify-content-end">
|
<div class="form-group d-flex justify-content-end">
|
||||||
|
|||||||
@ -10,22 +10,22 @@
|
|||||||
<div class="card card-bordered card-preview">
|
<div class="card card-bordered card-preview">
|
||||||
<div class="card-inner">
|
<div class="card-inner">
|
||||||
<div class="card-head">
|
<div class="card-head">
|
||||||
<h5 class="card-title">{{$title}}</h5>
|
<div class="nk-block-head">
|
||||||
|
<h5 class="title">Ubah Rekap Konten</h5>
|
||||||
|
<p>Perbarui informasi rekap konten ini.</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@foreach ($errors->all() as $item)
|
|
||||||
{{$item}}
|
|
||||||
@endforeach
|
|
||||||
<form action="{{route('dashboard.content.recaps.update', ['id' => encrypt_id($contentRecap->id)])}}" method="post" enctype="multipart/form-data" id="myForm">
|
<form action="{{route('dashboard.content.recaps.update', ['id' => encrypt_id($contentRecap->id)])}}" method="post" enctype="multipart/form-data" id="myForm">
|
||||||
@csrf
|
@csrf
|
||||||
@method('put')
|
@method('put')
|
||||||
<div class="row g-4">
|
<div class="row g-4">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="title">Judul<span class="required-input">*</span></label>
|
<label class="form-label" for="content_theme">Tema Konten<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<input type="text" class="form-control @error('title') border-danger @enderror" id="title" name="title" placeholder="Masukan judul" value="{{$contentRecap->title}}">
|
<input type="text" class="form-control @error('content_theme') border-danger @enderror" id="content_theme" name="content_theme" placeholder="Contoh: Reels Kerjasama DPMPTSP" value="{{$contentRecap->content_theme}}">
|
||||||
</div>
|
</div>
|
||||||
@error('title')
|
@error('content_theme')
|
||||||
<span class="validation-error">{{$message}}</span>
|
<span class="validation-error">{{$message}}</span>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
@ -34,7 +34,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="link">Link<span class="required-input">*</span></label>
|
<label class="form-label" for="link">Link<span class="required-input">*</span></label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<input type="text" class="form-control @error('link') border-danger @enderror" id="link" name="link" placeholder="Masukan link" value="{{$contentRecap->link}}">
|
<input type="text" class="form-control @error('link') border-danger @enderror" id="link" name="link" placeholder="Contoh: https://instagram.com/abc" value="{{$contentRecap->link}}">
|
||||||
</div>
|
</div>
|
||||||
@error('link')
|
@error('link')
|
||||||
<span class="validation-error">{{$message}}</span>
|
<span class="validation-error">{{$message}}</span>
|
||||||
@ -94,11 +94,21 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="image">Gambar<span class="required-input">*</span></label>
|
<label class="form-label" for="image">Gambar @if (filled($contentRecap->image))
|
||||||
|
<span>
|
||||||
|
<a href="javascript:void(0);" data-bs-toggle="modal" data-bs-target="#modalDefault">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-eye">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
|
||||||
|
<path d="M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
@endif</label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<div class="form-file">
|
<div class="form-file">
|
||||||
<input type="file" accept="image/*" class="form-file-input" id="image" name="image">
|
<input type="file" accept="image/*" class="form-file-input" id="image" name="image">
|
||||||
<label class="form-file-label" for="image">Gambar berupa screenshoot</label>
|
<label class="form-file-label" for="image">{{!filled($contentRecap->image) ? 'Tidak ada gambar' : $contentRecap->image}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@error('image')
|
@error('image')
|
||||||
@ -106,15 +116,45 @@
|
|||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label" for="description">Deskripsi</label>
|
||||||
|
@error('description')
|
||||||
|
<span class="validation-error">{{$message}}</span>
|
||||||
|
@enderror
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<textarea class="tinymce-basic form-control" name="description">{!!$contentRecap->description!!}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<hr>
|
<hr>
|
||||||
<div class="form-group d-flex justify-content-end">
|
<div class="form-group d-flex justify-content-end">
|
||||||
|
@if (request()->query('show'))
|
||||||
|
<a href="{{route('dashboard.content.recaps.show', ['id' => encrypt_id($contentRecap->id)])}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
|
||||||
|
@else
|
||||||
<a href="{{route('dashboard.content.recaps.index')}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
|
<a href="{{route('dashboard.content.recaps.index')}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
|
||||||
|
@endif
|
||||||
<button type="button" class="btn btn-md btn-primary" id="submitButton">Simpan</button>
|
<button type="button" class="btn btn-md btn-primary" id="submitButton">Simpan</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
<div class="modal fade" tabindex="-1" id="modalDefault">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title">Preview Gambar</h5>
|
||||||
|
<a href="#" class="close" data-bs-dismiss="modal" aria-label="Close">
|
||||||
|
<em class="icon ni ni-cross"></em>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<img src="{{asset(display_image($contentRecap->image, 'news'))}}" alt="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -43,7 +43,7 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th style="width: 10% !important;">No</th>
|
<th style="width: 10% !important;">No</th>
|
||||||
<th>Judul</th>
|
<th>Tema Konten</th>
|
||||||
<th>Kanal</th>
|
<th>Kanal</th>
|
||||||
<th>Social Media</th>
|
<th>Social Media</th>
|
||||||
<th>Tanggal Posting</th>
|
<th>Tanggal Posting</th>
|
||||||
|
|||||||
@ -6,68 +6,131 @@
|
|||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="nk-content-inner">
|
<div class="nk-content-inner">
|
||||||
<div class="nk-content-body">
|
<div class="nk-content-body">
|
||||||
<div class="nk-block nk-block-lg">
|
<div class="nk-block-head nk-block-head-sm">
|
||||||
<div class="card card-bordered card-preview">
|
<div class="nk-block-between g-3">
|
||||||
<div class="card-inner">
|
<div class="nk-block-head-content">
|
||||||
<div class="card-head">
|
<h3 class="nk-block-title page-title">Detail Rekap Konten</h3>
|
||||||
<h5 class="card-title">{{$title}}</h5>
|
<div class="nk-block-des text-soft">
|
||||||
|
<ul class="list-inline">
|
||||||
|
<li>Detail rekap konten dapat dilihat di sini.</li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@foreach ($errors->all() as $item)
|
|
||||||
{{$item}}
|
|
||||||
@endforeach
|
|
||||||
<form action="#" method="post" enctype="multipart/form-data">
|
|
||||||
@csrf
|
|
||||||
<div class="row g-4">
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="form-label" for="title">Judul</label>
|
|
||||||
<div class="form-control-wrap">
|
|
||||||
<input type="text" class="form-control @error('title') border-danger @enderror" id="title" name="title" placeholder="Masukan judul" value="{{$contentRecap->title}}" readonly>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="form-label" for="link">Link</label>
|
|
||||||
<div class="form-control-wrap">
|
|
||||||
<input type="text" class="form-control @error('link') border-danger @enderror" id="link" name="link" placeholder="Masukan link" value="{{$contentRecap->link}}" readonly>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="form-label" for="classification">Klasifikasi</label>
|
|
||||||
<div class="form-control-wrap">
|
|
||||||
<input type="text" class="form-control @error('classification') border-danger @enderror" id="classification" name="classification" placeholder="Masukan Klasifikasi" value="{{$contentRecap->classification}}" readonly>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="form-label" for="posted_date">Tanggal Posting</label>
|
|
||||||
<div class="form-control-wrap">
|
|
||||||
<input type="text" class="form-control @error('posted_date') border-danger @enderror" id="posted_date" name="posted_date" value="{{idn_date($contentRecap->posted_date, 'd F Y')}}" readonly>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="form-label" for="channel">Kanal</label>
|
|
||||||
<div class="form-control-wrap">
|
|
||||||
<input type="text" class="form-control @error('channel') border-danger @enderror" id="channel" name="channel" value="{{ucfirst($contentRecap->channel)}}" readonly>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-12">
|
|
||||||
<hr>
|
|
||||||
<div class="form-group d-flex justify-content-end">
|
|
||||||
<a href="{{route('dashboard.content.recaps.index')}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
|
|
||||||
<a href="{{route('dashboard.content.recaps.edit', ['id' => encrypt_id($contentRecap->id)])}}" class="btn btn-warning"><span>Ubah</span></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="nk-block-head-content">
|
||||||
|
<a href="{{route('dashboard.content.recaps.index')}}" class="btn btn-outline-light bg-white d-none d-sm-inline-flex"><em class="icon ni ni-arrow-left"></em><span>Kembali</span></a>
|
||||||
|
<a href="{{route('dashboard.content.recaps.index')}}" class="btn btn-icon btn-outline-light bg-white d-inline-flex d-sm-none"><em class="icon ni ni-arrow-left"></em></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- .nk-block-head -->
|
||||||
|
<div class="nk-block nk-block-lg">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-aside-wrap">
|
||||||
|
<div class="card-content">
|
||||||
|
<ul class="nav nav-tabs nav-tabs-mb-icon nav-tabs-card">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link text-primary" href="javascript:void(0);"><em class="icon ni ni-info"></em><span>Detail Informasi</span></a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item nav-item-trigger d-xxl-none">
|
||||||
|
<a href="{{route('dashboard.content.recaps.edit', ['id' => encrypt_id($contentRecap->id), 'show' => true])}}" class="btn btn-icon btn-trigger"><em class="icon ni ni-edit"></em></a>
|
||||||
|
</li>
|
||||||
|
</ul><!-- .nav-tabs -->
|
||||||
|
<div class="card-inner">
|
||||||
|
<div class="nk-block">
|
||||||
|
{{-- <div class="nk-block-head">
|
||||||
|
<h5 class="title">Personal Information</h5>
|
||||||
|
<p>Basic info, like your name and address, that you use on Nio Platform.</p>
|
||||||
|
</div> --}}
|
||||||
|
<div class="profile-ud-list">
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Tema Konten</span>
|
||||||
|
<span class="profile-ud-value">{{$contentRecap->content_theme}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Kanal</span>
|
||||||
|
<span class="profile-ud-value">{{ucfirst($contentRecap->channel)}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Media Sosial</span>
|
||||||
|
<span class="profile-ud-value">{{ucfirst($contentRecap->social_media)}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Tanggal Posting</span>
|
||||||
|
<span class="profile-ud-value">{{idn_date($contentRecap->posted_date, 'l, d F Y')}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Klasifikasi</span>
|
||||||
|
<span class="profile-ud-value">{{$contentRecap->classification->name}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Link</span>
|
||||||
|
<span class="profile-ud-value link-show">
|
||||||
|
@if (filled($contentRecap->link))
|
||||||
|
<a href="{{$contentRecap->link}}" target="__blank">{{$contentRecap->link}}</a>
|
||||||
|
@else
|
||||||
|
{{'-'}}
|
||||||
|
@endif
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Dibuat Pada</span>
|
||||||
|
<span class="profile-ud-value">{{idn_date($contentRecap->created_at, 'l, d F Y')}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Oleh</span>
|
||||||
|
<span class="profile-ud-value">{{$contentRecap->enhancer->name}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- .profile-ud-list -->
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
{{-- <div class="nk-divider divider md"></div> --}}
|
||||||
|
<div class="nk-block">
|
||||||
|
{{-- <div class="nk-block-head nk-block-head-sm nk-block-between">
|
||||||
|
<h5 class="title">Admin Note</h5>
|
||||||
|
</div><!-- .nk-block-head --> --}}
|
||||||
|
<div id="accordion" class="accordion">
|
||||||
|
<div class="accordion-item" style="background-color: #F5F6FA;">
|
||||||
|
<a href="#" class="accordion-head collapsed" data-bs-toggle="collapse" data-bs-target="#news">
|
||||||
|
<h6 class="title"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-photo" style="margin-bottom: 0.2rem"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 8h.01" /><path d="M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12z" /><path d="M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5" /><path d="M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3" /></svg> Gambar</h6>
|
||||||
|
<span class="accordion-icon"></span>
|
||||||
|
</a>
|
||||||
|
<div class="accordion-body collapse" id="news" data-bs-parent="#accordion">
|
||||||
|
<div class="accordion-inner">
|
||||||
|
{!! display_file('news', $contentRecap->image) !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
<div class="nk-block">
|
||||||
|
<div class="nk-block-head nk-block-head-sm nk-block-between">
|
||||||
|
<span class="profile-ud-label">Deskripsi</span>
|
||||||
|
</div><!-- .nk-block-head -->
|
||||||
|
<div class="bq-note">
|
||||||
|
<div class="bq-note-item">
|
||||||
|
<div class="bq-note-text {{!filled($contentRecap->description) ? 'text-center' : ''}}">
|
||||||
|
{!! $contentRecap->description ?? '<i>Tidak ada</i>' !!}
|
||||||
|
</div>
|
||||||
|
</div><!-- .bq-note-item -->
|
||||||
|
</div><!-- .bq-note -->
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
</div><!-- .card-inner -->
|
||||||
|
</div><!-- .card-content -->
|
||||||
|
</div><!-- .card-aside-wrap -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -75,4 +138,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- content @e -->
|
<!-- content @e -->
|
||||||
@include('partials.dashboard.footer', ['rich_editor' => true])
|
@include('partials.dashboard.footer', ['rich_editor' => false])
|
||||||
|
|||||||
@ -339,6 +339,23 @@
|
|||||||
{ data: 'created_at', name: 'created_at', visible: false },
|
{ data: 'created_at', name: 'created_at', visible: false },
|
||||||
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
|
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
|
||||||
],
|
],
|
||||||
|
columnDefs: [
|
||||||
|
{ targets: 0, width: '2%' }, // Index
|
||||||
|
{ targets: 1, width: '20%' }, // Name
|
||||||
|
{ targets: 2, width: '5%' }, // Content Recaps
|
||||||
|
{ targets: 3, width: '7%' }, // Created Date
|
||||||
|
{ targets: 4, width: '2%', className: 'text-center' }, // Action button
|
||||||
|
|
||||||
|
{
|
||||||
|
targets: [1, 2], // Title & Link
|
||||||
|
createdCell: function(td) {
|
||||||
|
$(td).css({
|
||||||
|
'white-space': 'normal',
|
||||||
|
'word-break': 'break-word',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
language: datatableLanguage,
|
language: datatableLanguage,
|
||||||
// responsive: true,
|
// responsive: true,
|
||||||
autoWidth: false,
|
autoWidth: false,
|
||||||
@ -962,10 +979,16 @@
|
|||||||
$('#contentRecapsTable').DataTable({
|
$('#contentRecapsTable').DataTable({
|
||||||
processing: true,
|
processing: true,
|
||||||
serverSide: true,
|
serverSide: true,
|
||||||
ajax: '{{ route('dashboard.content.recaps.data') }}',
|
ajax: {
|
||||||
|
url: '{{ route('dashboard.content.recaps.data') }}',
|
||||||
|
type: 'GET',
|
||||||
|
data: function(d) {
|
||||||
|
d.classification = '{{ $classification }}';
|
||||||
|
}
|
||||||
|
},
|
||||||
columns: [
|
columns: [
|
||||||
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
|
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
|
||||||
{ data: 'title', name: 'title' },
|
{ data: 'content_theme', name: 'content_theme' },
|
||||||
{ data: 'channel', name: 'channel' },
|
{ data: 'channel', name: 'channel' },
|
||||||
{ data: 'social_media', name: 'social_media' },
|
{ data: 'social_media', name: 'social_media' },
|
||||||
{ data: 'posted_date', name: 'posted_date' },
|
{ data: 'posted_date', name: 'posted_date' },
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user