@extends('layouts.admin') @section('title', 'Edit Postingan') @section('page-title', 'Edit Postingan') @section('admin_content')
@csrf @method('PUT')

Konten

@error('title')

{{ $message }}

@enderror

Pengaturan

@if($post->thumbnail)

Thumbnail saat ini. Upload baru untuk mengganti.

@endif

Format: JPG, PNG, WEBP (maks. 10MB). Gambar akan ditampilkan penuh.

@endsection @section('scripts') function AnkeshUploadAdapter(loader) { this.loader = loader; this.upload = function() { return this.loader.file.then(function(file) { return new Promise(function(resolve, reject) { const data = new FormData(); data.append('upload', file); fetch('{{ route("admin.blog.uploadImage") }}', { method: 'POST', headers: { 'X-CSRF-TOKEN': '{{ csrf_token() }}', 'Accept': 'application/json' }, body: data }) .then(function(res) { return res.json(); }) .then(function(json) { if (json.url) { resolve({ default: json.url }); } else { reject(json.error || 'Upload gagal'); } }) .catch(reject); }); }); }; this.abort = function() {}; } function AnkeshUploadAdapterPlugin(editor) { editor.plugins.get('FileRepository').createUploadAdapter = function(loader) { return new AnkeshUploadAdapter(loader); }; } document.addEventListener('DOMContentLoaded', function() { ClassicEditor.create(document.querySelector('#content-editor'), { extraPlugins: [AnkeshUploadAdapterPlugin], toolbar: ['heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'blockQuote', '|', 'imageUpload', 'insertTable', 'mediaEmbed', '|', 'undo', 'redo'], image: { upload: { types: ['jpeg', 'png', 'webp'] } } }).catch(console.error); }); function handleBlogThumbInput(input) { if (input.files && input.files[0]) { previewThumbnail(input); } } function previewThumbnail(input) { const preview = document.getElementById('thumb-preview'); if (input.files && input.files[0]) { const reader = new FileReader(); reader.onload = function(e) { preview.querySelector('img').src = e.target.result; preview.classList.remove('hidden'); }; reader.readAsDataURL(input.files[0]); } } @endsection