.filters-sidebar width: 100%;
.media-type-grid display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;
.search-input:focus outline: none; border-color: #007bff; Searching for- porn collection in-All Categorie...
.search-button:hover background: #0056b3;
const handleFilterChange = (key, value) => setFilters(prev => ( ...prev, [key]: value )); setPagination(prev => ( ...prev, page: 1 )); ; .filters-sidebar width: 100%
async getCategoriesByType(type = 'entertainment') const sql = ` SELECT c.*, COUNT(ci.id) as content_count FROM categories c LEFT JOIN content_items ci ON ci.category_id = c.id WHERE c.type = ? GROUP BY c.id ORDER BY c.name `; return await db.query(sql, [type]);
results.length === 0 && ( <div className="no-results"> <p>No content found. Try adjusting your filters.</p> </div> ) .media-type-grid display: grid
const performSearch = async () => setLoading(true); try const params = new URLSearchParams( query: searchQuery, categoryId: selectedCategory, mediaType: selectedMediaType, minRating: filters.minRating, maxRating: filters.maxRating, startDate: filters.dateRange.start, endDate: filters.dateRange.end, sortBy: filters.sortBy, page: pagination.page, limit: 20 );
.pagination button padding: 8px 16px; background: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer;
@media (max-width: 768px) .search-layout flex-direction: column;