Files
ABSDEV/Modules/Content/Routes/web.php
T
Mark Gregory 4267f07626 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
2026-07-27 09:58:35 +01:00

24 lines
1.8 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use Modules\Content\Http\Controllers\ContentDocumentController;
use Modules\Content\Http\Controllers\PageComposerController;
Route::middleware(['web', 'auth'])->prefix('admin/content')->name('content.')->group(function (): void {
Route::get('/', [ContentDocumentController::class, 'index'])->name('index');
Route::get('/documents/create', [ContentDocumentController::class, 'create'])->name('documents.create');
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');
Route::get('/pages/{pageKey}', [PageComposerController::class, 'edit'])->name('pages.edit');
Route::post('/pages/{pageKey}/placements', [PageComposerController::class, 'store'])->name('pages.placements.store');
Route::patch('/pages/{pageKey}/placements/{placement}', [PageComposerController::class, 'update'])->name('pages.placements.update');
Route::delete('/pages/{pageKey}/placements/{placement}', [PageComposerController::class, 'destroy'])->name('pages.placements.destroy');
Route::post('/pages/{pageKey}/reorder', [PageComposerController::class, 'reorder'])->name('pages.reorder');
});