Add Twitter and LinkedIn publishers with Playwright sidecars

- Create twitter-post sidecar with Playwright for browser automation
- Create linkedin-post sidecar with Playwright for browser automation
- Add TwitterPublisher class that calls twitter-post sidecar
- Add LinkedInPublisher class that calls linkedin-post sidecar
- Register both publishers in PublisherManager via AppServiceProvider
- Update Posts index view to show Publish button for twitter/linkedin types

Both publishers use the same pattern as RedditPublisher:
- No API keys required (uses stored credentials from Social Accounts)
- Browser automation via Playwright
- Returns JSON result with success/failure and URL

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
m105
2026-07-27 21:08:39 +03:00
parent 2a41328130
commit 44f979820f
16 changed files with 604 additions and 1 deletions
+4
View File
@@ -2,8 +2,10 @@
namespace App\Providers;
use App\Support\Publishing\LinkedInPublisher;
use App\Support\Publishing\PublisherManager;
use App\Support\Publishing\RedditPublisher;
use App\Support\Publishing\TwitterPublisher;
use App\Support\Publishing\WordPressPublisher;
use Illuminate\Support\ServiceProvider;
@@ -17,6 +19,8 @@ class AppServiceProvider extends ServiceProvider
$this->app->singleton(PublisherManager::class, fn ($app) => new PublisherManager([
$app->make(WordPressPublisher::class),
$app->make(RedditPublisher::class),
$app->make(TwitterPublisher::class),
$app->make(LinkedInPublisher::class),
]));
}