fix test ask-AI oauth profile

This commit is contained in:
2025-06-25 21:35:03 +09:00
parent 2c08a4acfb
commit d81be09e7d
2 changed files with 47 additions and 9 deletions

View File

@@ -17,9 +17,16 @@ function toggleAskAI() {
} }
function checkAuthenticationStatus() { function checkAuthenticationStatus() {
const userSections = document.querySelectorAll('.user-section'); // Wait a bit for OAuth app to load if needed
const isAuthenticated = userSections.length > 0; setTimeout(() => {
const userSections = document.querySelectorAll('.user-section');
const isAuthenticated = userSections.length > 0;
handleAuthenticationStatus(isAuthenticated);
}, 100);
}
function handleAuthenticationStatus(isAuthenticated) {
if (isAuthenticated) { if (isAuthenticated) {
// User is authenticated - show Ask AI UI // User is authenticated - show Ask AI UI
document.getElementById('authCheck').style.display = 'none'; document.getElementById('authCheck').style.display = 'none';
@@ -377,6 +384,37 @@ function setupAskAIEventListeners() {
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
setupAskAIEventListeners(); setupAskAIEventListeners();
console.log('Ask AI initialized successfully'); console.log('Ask AI initialized successfully');
// Also listen for OAuth app load completion
const observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === 'childList') {
// Check if user-section was added/removed
const userSectionAdded = Array.from(mutation.addedNodes).some(node =>
node.nodeType === Node.ELEMENT_NODE &&
(node.classList?.contains('user-section') || node.querySelector?.('.user-section'))
);
const userSectionRemoved = Array.from(mutation.removedNodes).some(node =>
node.nodeType === Node.ELEMENT_NODE &&
(node.classList?.contains('user-section') || node.querySelector?.('.user-section'))
);
if (userSectionAdded || userSectionRemoved) {
console.log('User section status changed');
// Update Ask AI panel if it's visible
const panel = document.getElementById('askAiPanel');
if (panel && panel.style.display !== 'none') {
checkAuthenticationStatus();
}
}
}
});
});
observer.observe(document.body, {
childList: true,
subtree: true
});
}); });
// Global functions for onclick handlers // Global functions for onclick handlers

View File

@@ -64,18 +64,18 @@ export default function RecordTabs({ langRecords, commentRecords, userComments,
> >
chat ({userChatRecords?.length || 0}) chat ({userChatRecords?.length || 0})
</button> </button>
<button
className={`tab-btn ${activeTab === 'users' ? 'active' : ''}`}
onClick={() => setActiveTab('users')}
>
comment ({filteredUserComments.length})
</button>
<button <button
className={`tab-btn ${activeTab === 'comment' ? 'active' : ''}`} className={`tab-btn ${activeTab === 'comment' ? 'active' : ''}`}
onClick={() => setActiveTab('comment')} onClick={() => setActiveTab('comment')}
> >
feedback ({filteredCommentRecords.length}) feedback ({filteredCommentRecords.length})
</button> </button>
<button
className={`tab-btn ${activeTab === 'users' ? 'active' : ''}`}
onClick={() => setActiveTab('users')}
>
comment ({filteredUserComments.length})
</button>
<button <button
className={`tab-btn ${activeTab === 'lang' ? 'active' : ''}`} className={`tab-btn ${activeTab === 'lang' ? 'active' : ''}`}
onClick={() => setActiveTab('lang')} onClick={() => setActiveTab('lang')}