session('status'), 'templates' => ProjectTemplateResource::collection( ProjectTemplate::query() ->with('sourceProject') ->orderBy('name') ->get(), )->resolve(), ]); } public function create(Project $project): Response { return Inertia::render('project-templates/Create', [ 'copyAreaOptions' => DuplicateProjectConfiguration::copyAreaOptions(), 'project' => ProjectResource::make($project)->resolve(), ]); } public function store(StoreProjectTemplateRequest $request, Project $project): RedirectResponse { $template = $this->createProjectTemplate->handle($project, $request->validated()); return to_route('project-templates.index') ->with('status', "Template {$template->name} was created."); } public function destroy(ProjectTemplate $projectTemplate): RedirectResponse { $templateName = $projectTemplate->name; $projectTemplate->delete(); return to_route('project-templates.index') ->with('status', "Template {$templateName} was deleted."); } }