Add Post Templates feature

- Create templates table with name, body, type, title, target, placeholders
- Add Template model with applyToPost method for placeholder replacement
- Add Livewire Templates/Index component for CRUD operations
- Add templates index view with form and table
- Add /templates route
- Update Posts/Index to support template selection when creating posts
- Templates can be applied to pre-fill post form fields

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
m105
2026-07-27 21:00:41 +03:00
parent b3b250aaca
commit 2a41328130
7 changed files with 342 additions and 0 deletions
@@ -0,0 +1,27 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('templates', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->text('body')->nullable();
$table->string('type')->nullable(); // blog, twitter, reddit, etc.
$table->string('title')->nullable();
$table->string('target')->nullable(); // e.g., subreddit for reddit
$table->json('placeholders')->nullable(); // JSON array of placeholder keys
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('templates');
}
};