test ai-blog

This commit is contained in:
2025-07-15 17:32:20 +09:00
parent 75f108e7b8
commit 0110773592
73 changed files with 9000 additions and 30 deletions

View File

@@ -36,10 +36,56 @@ export default function RecordTabs({ langRecords, commentRecords, userComments,
}
}
// Special filter for chat records (which are already processed into pairs)
const filterChatRecords = (chatPairs) => {
console.log('filterChatRecords called:', {
isTopPage: pageContext.isTopPage,
rkey: pageContext.rkey,
chatPairsLength: chatPairs.length
})
if (pageContext.isTopPage) {
// Top page: show latest 3 pairs
const result = chatPairs.slice(0, 3)
console.log('Top page: returning', result.length, 'pairs')
return result
} else {
// Individual page: show pairs matching the URL (compare path only, ignore domain)
const filtered = chatPairs.filter(chatPair => {
const recordUrl = chatPair.question?.value?.post?.url
if (!recordUrl) {
console.log('No recordUrl for chatPair:', chatPair)
return false
}
try {
// Extract path from URL and get the filename part
const recordPath = new URL(recordUrl).pathname
const recordRkey = recordPath.split('/').pop()?.replace(/\.html$/, '')
console.log('Comparing:', { recordRkey, pageRkey: pageContext.rkey, recordUrl })
// Compare with current page rkey
const matches = recordRkey === pageContext.rkey
if (matches) {
console.log('Found matching chat pair!')
}
return matches
} catch (error) {
console.log('Error processing recordUrl:', recordUrl, error)
return false
}
})
console.log('Individual page: returning', filtered.length, 'filtered pairs')
return filtered
}
}
const filteredLangRecords = filterRecords(langRecords)
const filteredCommentRecords = filterRecords(commentRecords)
const filteredUserComments = filterRecords(userComments || [])
const filteredChatRecords = filterRecords(chatRecords || [])
const filteredChatRecords = filterChatRecords(chatRecords || [])
const filteredBaseRecords = filterRecords(baseRecords || [])
// Filter profile records from baseRecords
@@ -67,7 +113,7 @@ export default function RecordTabs({ langRecords, commentRecords, userComments,
className={`tab-btn ${activeTab === 'collection' ? 'active' : ''}`}
onClick={() => setActiveTab('collection')}
>
chat ({userChatRecords?.length || 0})
chat ({filteredChatRecords.length > 0 ? filteredChatRecords.length : (userChatRecords?.length || 0)})
</button>
<button
className={`tab-btn ${activeTab === 'comment' ? 'active' : ''}`}
@@ -125,7 +171,7 @@ export default function RecordTabs({ langRecords, commentRecords, userComments,
<LoadingSkeleton count={2} showTitle={true} />
) : (
<ChatRecordList
chatPairs={userChatRecords}
chatPairs={filteredChatRecords.length > 0 ? filteredChatRecords : userChatRecords}
apiConfig={apiConfig}
user={user}
agent={agent}