fedi-feed-router/resources/views/onboarding/feed.blade.php
2025-07-06 11:22:53 +02:00

123 lines
No EOL
6.4 KiB
PHP

@extends('layouts.app')
@section('content')
<div class="min-h-screen flex items-center justify-center bg-gray-50">
<div class="max-w-lg w-full bg-white rounded-lg shadow-md p-8">
<div class="text-center mb-8">
<h1 class="text-2xl font-bold text-gray-900 mb-2">Add Your First Feed</h1>
<p class="text-gray-600">
Add a RSS feed or website to monitor for new articles
</p>
<!-- Progress indicator -->
<div class="flex justify-center mt-6 space-x-2">
<div class="w-6 h-6 bg-green-500 text-white rounded-full flex items-center justify-center text-xs font-semibold"></div>
<div class="w-6 h-6 bg-blue-500 text-white rounded-full flex items-center justify-center text-xs font-semibold">2</div>
<div class="w-6 h-6 bg-gray-300 text-gray-600 rounded-full flex items-center justify-center text-xs font-semibold">3</div>
<div class="w-6 h-6 bg-gray-300 text-gray-600 rounded-full flex items-center justify-center text-xs font-semibold">4</div>
</div>
</div>
<form action="{{ route('feeds.store') }}" method="POST" class="space-y-6">
@csrf
<div>
<label for="name" class="block text-sm font-medium text-gray-700 mb-2">
Feed Name
</label>
<input type="text"
id="name"
name="name"
value="{{ old('name') }}"
placeholder="My News Feed"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"
required>
@error('name')
<p class="text-red-600 text-sm mt-1">{{ $message }}</p>
@enderror
</div>
<div>
<label for="url" class="block text-sm font-medium text-gray-700 mb-2">
Feed URL
</label>
<input type="url"
id="url"
name="url"
value="{{ old('url') }}"
placeholder="https://example.com/rss.xml"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"
required>
@error('url')
<p class="text-red-600 text-sm mt-1">{{ $message }}</p>
@enderror
</div>
<div>
<label for="type" class="block text-sm font-medium text-gray-700 mb-2">
Feed Type
</label>
<select id="type"
name="type"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"
required>
<option value="">Select feed type</option>
<option value="rss" {{ old('type') == 'rss' ? 'selected' : '' }}>RSS Feed</option>
<option value="website" {{ old('type') == 'website' ? 'selected' : '' }}>Website</option>
</select>
@error('type')
<p class="text-red-600 text-sm mt-1">{{ $message }}</p>
@enderror
</div>
<div>
<label for="language_id" class="block text-sm font-medium text-gray-700 mb-2">
Language
</label>
<select id="language_id"
name="language_id"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"
required>
<option value="">Select language</option>
@foreach(\App\Models\Language::orderBy('name')->get() as $language)
<option value="{{ $language->id }}" {{ old('language_id') == $language->id ? 'selected' : '' }}>
{{ $language->name }}
</option>
@endforeach
</select>
@error('language_id')
<p class="text-red-600 text-sm mt-1">{{ $message }}</p>
@enderror
</div>
<div>
<label for="description" class="block text-sm font-medium text-gray-700 mb-2">
Description (Optional)
</label>
<textarea id="description"
name="description"
rows="3"
placeholder="Brief description of this feed"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent">{{ old('description') }}</textarea>
@error('description')
<p class="text-red-600 text-sm mt-1">{{ $message }}</p>
@enderror
</div>
<input type="hidden" name="is_active" value="1">
<input type="hidden" name="redirect_to" value="{{ route('onboarding.channel') }}">
<div class="flex justify-between">
<a href="{{ route('onboarding.platform') }}"
class="px-4 py-2 text-gray-600 hover:text-gray-800 transition duration-200">
Back
</a>
<button type="submit"
class="bg-blue-600 text-white py-2 px-6 rounded-md hover:bg-blue-700 transition duration-200">
Continue
</button>
</div>
</form>
</div>
</div>
@endsection