feat: мультивыбор колледжей в фильтре публичной ленты

Параметр category в /news принимает несколько slug'ов через запятую
(category_id IN ...), обратно совместим с одиночным slug. FilterBar:
чипы колледжей стали переключателями (можно отметить несколько),
filters.category теперь массив.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
jze9
2026-06-17 18:47:19 +05:00
parent 45368c64bf
commit 3161470a7d
3 changed files with 23 additions and 10 deletions

View File

@@ -26,7 +26,7 @@ export default function NewsFeed() {
const [loading, setLoading] = useState(true)
const [loadingMore, setLoadingMore] = useState(false)
const [hasMore, setHasMore] = useState(false)
const [filters, setFilters] = useState({ category: null, tag: null, datePreset: '' })
const [filters, setFilters] = useState({ category: [], tag: null, datePreset: '' })
const offsetRef = useRef(0)
const busyRef = useRef(false)
@@ -60,7 +60,7 @@ export default function NewsFeed() {
const buildParams = useCallback((offset) => {
const params = { limit: PAGE_SIZE, offset }
if (filters.category) params.category = filters.category
if (filters.category?.length) params.category = filters.category.join(',')
if (filters.tag) params.tag = filters.tag
const df = presetToDateFrom(filters.datePreset)
if (df) params.date_from = df