Authenticated autosave endpoint

* Autosave after 1.2 seconds of inactivity
* Saved, saving, unsaved and error indicators
* Last-saved time
* Dirty-state tracking
* Warning before leaving with unsaved changes
* Server-rendered Saasland theme preview
* Preview refresh while editing
* Active renderer view name
* Graceful message when a content type has no theme renderer
* Existing manual save remains available
* Existing undo, redo, responsive controls and inline editing retained
This commit is contained in:
Mark Gregory
2026-07-27 09:58:35 +01:00
parent dad92ad799
commit 4267f07626
4 changed files with 151 additions and 9 deletions
+2
View File
@@ -10,6 +10,8 @@ Route::middleware(['web', 'auth'])->prefix('admin/content')->name('content.')->g
Route::post('/documents', [ContentDocumentController::class, 'store'])->name('documents.store');
Route::get('/documents/{document}/edit', [ContentDocumentController::class, 'edit'])->name('documents.edit');
Route::put('/documents/{document}', [ContentDocumentController::class, 'update'])->name('documents.update');
Route::put('/documents/{document}/autosave', [ContentDocumentController::class, 'autosave'])->name('documents.autosave');
Route::post('/documents/preview', [ContentDocumentController::class, 'preview'])->name('documents.preview');
Route::post('/documents/{document}/duplicate', [ContentDocumentController::class, 'duplicate'])->name('documents.duplicate');
Route::delete('/documents/{document}', [ContentDocumentController::class, 'destroy'])->name('documents.destroy');