123 lines
No EOL
6.4 KiB
PHP
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 |