pubvideo / add-post.html
ziedothmani's picture
funns can subscribe, and admin must connect by login and password to add/remove/active,desactive visibility ... - Initial Deployment
14c46b4 verified
Raw
History Blame Contribute Delete
16.9 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Add Content - CineVerse</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<style>
.form-section {
background: linear-gradient(135deg, rgba(55, 65, 81, 0.5) 0%, rgba(55, 65, 81, 0.3) 100%);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.series-episodes {
display: none;
}
.series-active .series-episodes {
display: block;
}
</style>
</head>
<body class="bg-gray-900 text-white">
<!-- Navigation -->
<nav class="bg-gray-800 shadow-lg fixed w-full z-50">
<div class="max-w-7xl mx-auto px-4">
<div class="flex justify-between items-center py-4">
<a href="index.html" class="flex items-center space-x-2">
<i data-feather="film" class="text-purple-500"></i>
<span class="font-bold text-xl">CineVerse</span>
</a>
<div class="hidden md:flex space-x-8">
<a href="index.html" class="hover:text-purple-400 transition">Home</a>
<a href="browse.html" class="hover:text-purple-400 transition">Browse</a>
<a href="add-post.html" class="text-purple-400 font-semibold">Add Content</a>
</div>
<div class="md:hidden">
<button id="mobile-menu-button" class="p-2">
<i data-feather="menu"></i>
</button>
</div>
</div>
</div>
</nav>
<!-- Page Header -->
<div class="pt-32 pb-10 bg-gray-800">
<div class="max-w-7xl mx-auto px-4">
<h1 class="text-4xl font-bold mb-4">Add New Content</h1>
<p class="text-gray-400">Share films and series with our community</p>
</div>
</div>
<!-- Form Section -->
<section class="py-12">
<div class="max-w-4xl mx-auto px-4">
<div class="form-section rounded-xl p-8">
<form id="content-form">
<!-- Content Type -->
<div class="mb-8">
<label class="block text-lg font-semibold mb-4">Content Type</label>
<div class="flex space-x-4">
<label class="flex items-center">
<input type="radio" name="contentType" value="movie" class="mr-2" checked>
Movie
</label>
<label class="flex items-center">
<input type="radio" name="contentType" value="series" class="mr-2">
TV Series
</label>
</div>
</div>
<!-- Basic Information -->
<div class="mb-8">
<h2 class="text-xl font-semibold mb-6 border-b border-gray-700 pb-2">Basic Information</h2>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
<div>
<label class="block text-sm font-medium mb-2">Title *</label>
<input type="text" required class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500">
</div>
<div>
<label class="block text-sm font-medium mb-2">Original Title</label>
<input type="text" class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500">
</div>
</div>
<div class="mb-6">
<label class="block text-sm font-medium mb-2">Description *</label>
<textarea required rows="4" class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500"></textarea>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6">
<div>
<label class="block text-sm font-medium mb-2">Release Year *</label>
<input type="number" min="1900" max="2030" required class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500">
</div>
<div>
<label class="block text-sm font-medium mb-2">Country *</label>
<select required class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500">
<option value="">Select Country</option>
<option value="usa">United States</option>
<option value="uk">United Kingdom</option>
<option value="france">France</option>
<option value="japan">Japan</option>
<!-- More countries would be added -->
</select>
</div>
<div class="movie-duration">
<label class="block text-sm font-medium mb-2">Duration (minutes) *</label>
<input type="number" min="1" class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500">
</div>
</div>
<div class="mb-6">
<label class="block text-sm font-medium mb-2">Categories *</label>
<div class="grid grid-cols-2 md:grid-cols-4 gap-3">
<label class="flex items-center">
<input type="checkbox" value="action" class="mr-2">
Action
</label>
<label class="flex items-center">
<input type="checkbox" value="romance" class="mr-2">
Romance
</label>
<label class="flex items-center">
<input type="checkbox" value="horror" class="mr-2">
Horror
</label>
<label class="flex items-center">
<input type="checkbox" value="fantasy" class="mr-2">
Fantasy
</label>
<!-- More categories would be added -->
</div>
</div>
</div>
<!-- Series Information (Hidden by default) -->
<div class="series-info mb-8" style="display: none;">
<h2 class="text-xl font-semibold mb-6 border-b border-gray-700 pb-2">Series Information</h2>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
<div>
<label class="block text-sm font-medium mb-2">Total Seasons</label>
<input type="number" min="1" class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500">
</div>
<div>
<label class="block text-sm font-medium mb-2">Status</label>
<select class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500">
<option value="ongoing">Ongoing</option>
<option value="completed">Completed</option>
<option value="cancelled">Cancelled</option>
</select>
</div>
</div>
<div class="series-episodes mb-6">
<label class="block text-sm font-medium mb-4">Episodes</label>
<div class="space-y-4">
<div class="episode-item bg-gray-800 p-4 rounded-lg">
<div class="flex justify-between items-center mb-3">
<h4 class="font-medium">Season 1, Episode 1</h4>
<button type="button" class="text-red-400 hover:text-red-300">
<i data-feather="x" class="w-4 h-4"></i>
</button>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div>
<label class="block text-xs mb-1">Episode Title</label>
<input type="text" class="w-full bg-gray-700 border border-gray-600 rounded px-3 py-1 text-sm">
</div>
<div>
<label class="block text-xs mb-1">Duration (min)</label>
<input type="number" min="1" class="w-full bg-gray-700 border border-gray-600 rounded px-3 py-1 text-sm">
</div>
</div>
</div>
</div>
<button type="button" class="mt-4 text-purple-400 hover:text-purple-300 flex items-center">
<i data-feather="plus" class="w-4 h-4 mr-1"></i> Add Episode
</button>
</div>
</div>
<!-- Media -->
<div class="mb-8">
<h2 class="text-xl font-semibold mb-6 border-b border-gray-700 pb-2">Media</h2>
<div class="mb-6">
<label class="block text-sm font-medium mb-2">Poster Image *</label>
<div class="border-2 border-dashed border-gray-600 rounded-lg p-8 text-center">
<i data-feather="upload" class="w-12 h-12 text-gray-500 mx-auto mb-4"></i>
<p class="text-gray-400 mb-2">Drag & drop your image here or click to browse</p>
<p class="text-sm text-gray-500">Recommended: 600x900px, JPG or PNG</p>
<input type="file" accept="image/*" class="hidden" id="poster-upload">
<button type="button" onclick="document.getElementById('poster-upload').click()" class="mt-4 bg-gray-700 hover:bg-gray-600 px-4 py-2 rounded-lg text-sm">
Select Image
</button>
</div>
</div>
<div>
<label class="block text-sm font-medium mb-2">Trailer URL (YouTube)</label>
<input type="url" placeholder="https://youtube.com/..." class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500">
</div>
</div>
<!-- Submit -->
<div class="text-center">
<button type="submit" class="bg-purple-600 hover:bg-purple-700 px-8 py-3 rounded-lg font-semibold transition">
Submit Content
</button>
</div>
</form>
</div>
</div>
</section>
<!-- Footer -->
<footer class="bg-gray-800 py-12">
<div class="max-w-7xl mx-auto px-4">
<div class="grid grid-cols-1 md:grid-cols-4 gap-8">
<div>
<a href="index.html" class="flex items-center space-x-2 mb-4">
<i data-feather="film" class="text-purple-500"></i>
<span class="font-bold text-xl">CineVerse</span>
</a>
<p class="text-gray-400">Discover and share films and series from around the world.</p>
</div>
<div>
<h3 class="font-semibold text-lg mb-4">Explore</h3>
<ul class="space-y-2">
<li><a href="browse.html" class="text-gray-400 hover:text-white transition">Browse All</a></li>
<li><a href="browse.html?filter=category" class="text-gray-400 hover:text-white transition">By Category</a></li>
<li><a href="browse.html?filter=country" class="text-gray-400 hover:text-white transition">By Country</a></li>
</ul>
</div>
<div>
<h3 class="font-semibold text-lg mb-4">Contribute</h3>
<ul class="space-y-2">
<li><a href="add-post.html" class="text-gray-400 hover:text-white transition">Add Content</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition">Guidelines</a></li>
</ul>
</div>
<div>
<h3 class="font-semibold text-lg mb-4">Connect</h3>
<div class="flex space-x-4">
<a href="#" class="text-gray-400 hover:text-white transition"><i data-feather="facebook"></i></a>
<a href="#" class="text-gray-400 hover:text-white transition"><i data-feather="twitter"></i></a>
<a href="#" class="text-gray-400 hover:text-white transition"><i data-feather="instagram"></i></a>
</div>
</div>
</div>
<div class="border-t border-gray-700 mt-8 pt-8 text-center text-gray-500">
<p>© 2023 CineVerse. All rights reserved.</p>
</div>
</div>
</footer>
<script>
AOS.init();
feather.replace();
// Check if admin is logged in
if (localStorage.getItem('adminLoggedIn') !== 'true') {
window.location.href = 'login.html';
}
// Toggle series information based on content type
document.querySelectorAll('input[name="contentType"]').forEach(radio => {
radio.addEventListener('change', function() {
const seriesInfo = document.querySelector('.series-info');
const movieDuration = document.querySelector('.movie-duration');
if (this.value === 'series') {
seriesInfo.style.display = 'block';
movieDuration.style.display = 'none';
document.getElementById('content-form').classList.add('series-active');
} else {
seriesInfo.style.display = 'none';
movieDuration.style.display = 'block';
document.getElementById('content-form').classList.remove('series-active');
}
});
});
// Form submission
document.getElementById('content-form').addEventListener('submit', function(e) {
e.preventDefault();
// Form validation and submission logic would go here
alert('Content submitted successfully! It will be reviewed by an admin before publication.');
});
</script>
</body>
</html>