import React, { useState } from 'react' import RecordList from './RecordList.jsx' import ChatRecordList from './ChatRecordList.jsx' import LoadingSkeleton from './LoadingSkeleton.jsx' export default function RecordTabs({ langRecords, commentRecords, userComments, chatRecords, userChatRecords, userChatLoading, baseRecords, apiConfig, pageContext, user = null, agent = null, onRecordDeleted = null }) { const [activeTab, setActiveTab] = useState('comment') // Filter records based on page context const filterRecords = (records) => { if (pageContext.isTopPage) { // Top page: show latest 3 records return records.slice(0, 3) } else { // Individual page: show records matching the URL return records.filter(record => { const recordUrl = record.value?.post?.url if (!recordUrl) return false try { const recordRkey = new URL(recordUrl).pathname.split('/').pop()?.replace(/\.html$/, '') return recordRkey === pageContext.rkey } catch { return false } }) } } const filteredLangRecords = filterRecords(langRecords) const filteredCommentRecords = filterRecords(commentRecords) const filteredUserComments = filterRecords(userComments || []) const filteredChatRecords = filterRecords(chatRecords || []) const filteredBaseRecords = filterRecords(baseRecords || []) return (
{activeTab === 'lang' && ( !langRecords ? ( ) : ( ) )} {activeTab === 'comment' && ( !commentRecords ? ( ) : ( ) )} {activeTab === 'collection' && ( userChatLoading ? ( ) : ( ) )} {activeTab === 'users' && ( !userComments ? ( ) : ( ) )}
) }