use BookStack\References\ReferenceController;
use BookStack\Search\SearchController;
use BookStack\Settings as SettingControllers;
+use BookStack\Theming\ThemeController;
use BookStack\Uploads\Controllers as UploadControllers;
use BookStack\Users\Controllers as UserControllers;
use Illuminate\Session\Middleware\StartSession;
use Illuminate\Support\Facades\Route;
use Illuminate\View\Middleware\ShareErrorsFromSession;
+// Status & Meta routes
Route::get('/status', [SettingControllers\StatusController::class, 'show']);
Route::get('/robots.txt', [MetaController::class, 'robots']);
Route::get('/favicon.ico', [MetaController::class, 'favicon']);
// Watching
Route::put('/watching/update', [ActivityControllers\WatchController::class, 'update']);
+ // Importing
+ Route::get('/import', [ExportControllers\ImportController::class, 'start']);
+ Route::post('/import', [ExportControllers\ImportController::class, 'upload']);
+ Route::get('/import/{id}', [ExportControllers\ImportController::class, 'show']);
+ Route::post('/import/{id}', [ExportControllers\ImportController::class, 'run']);
+ Route::delete('/import/{id}', [ExportControllers\ImportController::class, 'delete']);
+
// Other Pages
Route::get('/', [HomeController::class, 'index']);
Route::get('/home', [HomeController::class, 'index']);
Route::get('/password/reset/{token}', [AccessControllers\ResetPasswordController::class, 'showResetForm']);
Route::post('/password/reset', [AccessControllers\ResetPasswordController::class, 'reset'])->middleware('throttle:public');
-// Metadata routes
+// Help & Info routes
+Route::view('/help/tinymce', 'help.tinymce');
Route::view('/help/wysiwyg', 'help.wysiwyg');
+// Theme Routes
+Route::get('/theme/{theme}/{path}', [ThemeController::class, 'publicFile'])
+ ->where('path', '.*$');
+
Route::fallback([MetaController::class, 'notFound'])->name('fallback');