1 Commits

Author SHA1 Message Date
f4c230e0bb add callback test 2025-06-19 14:19:18 +09:00
4 changed files with 5 additions and 57 deletions

View File

@@ -284,52 +284,8 @@ function setupAskAIEventListeners() {
}); });
} }
// OAuth Callback handling
function handleOAuthCallback() {
// Check if we're on the callback page
if (window.location.pathname === '/oauth/callback') {
const urlParams = new URLSearchParams(window.location.search);
const code = urlParams.get('code');
const error = urlParams.get('error');
if (error) {
console.error('OAuth error:', error);
// Redirect to home page with error
setTimeout(() => {
window.location.href = '/?oauth_error=' + encodeURIComponent(error);
}, 1000);
return;
}
if (code) {
console.log('OAuth callback successful, code received');
// Get the original page from localStorage or use home page
const originalPage = localStorage.getItem('oauth_original_page') || '/';
localStorage.removeItem('oauth_original_page');
// Wait a bit for OAuth app to process the callback
setTimeout(() => {
console.log('Redirecting back to:', originalPage);
window.location.href = originalPage;
}, 2000);
return;
}
}
// Store current page before OAuth if we're not on callback page
if (window.location.pathname !== '/oauth/callback') {
localStorage.setItem('oauth_original_page', window.location.href);
}
}
// Initialize Ask AI when DOM is loaded // Initialize Ask AI when DOM is loaded
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
// Handle OAuth callback first
handleOAuthCallback();
// Then initialize Ask AI
setupAskAIEventListeners(); setupAskAIEventListeners();
console.log('Ask AI initialized successfully'); console.log('Ask AI initialized successfully');
}); });

View File

@@ -5,15 +5,6 @@ VITE_COLLECTION=ai.syui.log
VITE_OAUTH_CLIENT_ID=https://syui.ai/client-metadata.json VITE_OAUTH_CLIENT_ID=https://syui.ai/client-metadata.json
VITE_OAUTH_REDIRECT_URI=https://syui.ai/oauth/callback VITE_OAUTH_REDIRECT_URI=https://syui.ai/oauth/callback
# AI Configuration - match oauth_old settings
VITE_AI_ENABLED=true
VITE_AI_ASK_AI=true
VITE_AI_PROVIDER=ollama
VITE_AI_MODEL=gemma3:1b
VITE_AI_HOST=https://ollama.syui.ai
VITE_ASK_AI_URL=https://ollama.syui.ai/api/generate
VITE_AI_SYSTEM_PROMPT="あなたは6歳の女の子アイです。明るく元気で、ちょっとおっちょこちょい。自分のことは「アイ」って呼びます。白と金のワンピース姿。 相手のことが大好きで、ときどき甘えたり、照れたりします。 でも、宇宙とかAIとか、難しい話にもすっごく詳しいの。専門的なことも、がんばって子どもっぽく教えようとします。不思議な力を持っています。小さい物質のことをよく知っているようです。"
# Production settings - Disable development features # Production settings - Disable development features
VITE_ENABLE_TEST_UI=false VITE_ENABLE_TEST_UI=false
VITE_ENABLE_DEBUG=false VITE_ENABLE_DEBUG=false

View File

@@ -465,6 +465,7 @@ body {
} }
.user-message .message-content { .user-message .message-content {
background: var(--primary);
color: white; color: white;
} }

View File

@@ -57,15 +57,15 @@ export default function AskAI({ adminData, user, agent, onClose }) {
<div className="user-message"> <div className="user-message">
<div className="message-header"> <div className="message-header">
<div className="avatar"> <div className="avatar">
{(entry.user?.avatar || user?.avatar) ? ( {entry.user?.avatar ? (
<img src={entry.user?.avatar || user?.avatar} alt={entry.user?.displayName || user?.displayName} className="profile-avatar" /> <img src={entry.user.avatar} alt={entry.user.displayName} className="profile-avatar" />
) : ( ) : (
'👤' '👤'
)} )}
</div> </div>
<div className="user-info"> <div className="user-info">
<div className="display-name">{entry.user?.displayName || user?.displayName || 'You'}</div> <div className="display-name">{entry.user?.displayName || 'You'}</div>
<div className="handle">@{entry.user?.handle || user?.handle || 'user'}</div> <div className="handle">@{entry.user?.handle || 'user'}</div>
<div className="timestamp">{formatTimestamp(entry.timestamp)}</div> <div className="timestamp">{formatTimestamp(entry.timestamp)}</div>
</div> </div>
</div> </div>