import React, { useState } from 'react' import RecordList from './RecordList.jsx' import ChatRecordList from './ChatRecordList.jsx' import ProfileRecordList from './ProfileRecordList.jsx' import LoadingSkeleton from './LoadingSkeleton.jsx' import { logger } from '../utils/logger.js' export default function RecordTabs({ langRecords, commentRecords, userComments, chatRecords, userChatRecords, userChatLoading, baseRecords, apiConfig, pageContext, user = null, agent = null, onRecordDeleted = null }) { const [activeTab, setActiveTab] = useState('profiles') logger.log('RecordTabs: activeTab is', activeTab) // 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 || []) // Filter profile records from baseRecords const profileRecords = (baseRecords || []).filter(record => record.value?.type === 'profile') const sortedProfileRecords = profileRecords.sort((a, b) => { if (a.value.profileType === 'admin' && b.value.profileType !== 'admin') return -1 if (a.value.profileType !== 'admin' && b.value.profileType === 'admin') return 1 return 0 }) const filteredProfileRecords = filterRecords(sortedProfileRecords) return (