fix: unify theme system - fix theme switching persistence
- Unified localStorage key to 'theme-preference' across all components
- Fixed header.tsx using wrong localStorage key ('theme' instead of 'theme-preference')
- Added localStorage hybrid persistence for instant theme changes
- Removed router.refresh() which was causing stale data revert
- Replaced Blue theme with Sepia
- Consolidated auth() calls to prevent race conditions
- Updated UserSettingsData types to include all themes
This commit is contained in:
84
mcp-server/test-server.js
Normal file
84
mcp-server/test-server.js
Normal file
@@ -0,0 +1,84 @@
|
||||
#!/usr/bin/env node
|
||||
// Test script to verify MCP server can connect to the database
|
||||
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
import { fileURLToPath } from 'url';
|
||||
import { dirname, join } from 'path';
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
console.log('🧪 Testing MCP Server Database Connection...\n');
|
||||
|
||||
try {
|
||||
const prisma = new PrismaClient({
|
||||
datasources: {
|
||||
db: {
|
||||
url: 'file:D:/dev_new_pc/Keep/keep-notes/prisma/dev.db'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
console.log('✅ Prisma Client initialized successfully');
|
||||
|
||||
// Test 1: Count notes
|
||||
console.log('\n📝 Test 1: Counting notes...');
|
||||
const noteCount = await prisma.note.count();
|
||||
console.log(` Found ${noteCount} notes in database`);
|
||||
|
||||
// Test 2: Get recent notes
|
||||
console.log('\n📝 Test 2: Fetching recent notes...');
|
||||
const recentNotes = await prisma.note.findMany({
|
||||
take: 3,
|
||||
orderBy: { updatedAt: 'desc' }
|
||||
});
|
||||
console.log(` Fetched ${recentNotes.length} recent notes`);
|
||||
if (recentNotes.length > 0) {
|
||||
console.log(` Latest note: ${recentNotes[0].title || 'Untitled'}`);
|
||||
}
|
||||
|
||||
// Test 3: Count notebooks
|
||||
console.log('\n📚 Test 3: Counting notebooks...');
|
||||
const notebookCount = await prisma.notebook.count();
|
||||
console.log(` Found ${notebookCount} notebooks in database`);
|
||||
|
||||
// Test 4: Get notebooks
|
||||
console.log('\n📚 Test 4: Fetching notebooks...');
|
||||
const notebooks = await prisma.notebook.findMany({
|
||||
take: 3,
|
||||
orderBy: { order: 'asc' }
|
||||
});
|
||||
console.log(` Fetched ${notebooks.length} notebooks`);
|
||||
if (notebooks.length > 0) {
|
||||
notebooks.forEach(nb => {
|
||||
console.log(` - ${nb.icon || '📁'} ${nb.name}`);
|
||||
});
|
||||
}
|
||||
|
||||
// Test 5: Count labels
|
||||
console.log('\n🏷️ Test 5: Counting labels...');
|
||||
const labelCount = await prisma.label.count();
|
||||
console.log(` Found ${labelCount} labels in database`);
|
||||
|
||||
// Test 6: Get labels
|
||||
console.log('\n🏷️ Test 6: Fetching labels...');
|
||||
const labels = await prisma.label.findMany({
|
||||
take: 5,
|
||||
orderBy: { name: 'asc' }
|
||||
});
|
||||
console.log(` Fetched ${labels.length} labels`);
|
||||
if (labels.length > 0) {
|
||||
labels.forEach(l => {
|
||||
console.log(` - ${l.name} (${l.color})`);
|
||||
});
|
||||
}
|
||||
|
||||
await prisma.$disconnect();
|
||||
console.log('\n✅ All database tests passed successfully!');
|
||||
console.log('🚀 MCP Server is ready to use!\n');
|
||||
|
||||
} catch (error) {
|
||||
console.error('\n❌ Database test failed:', error.message);
|
||||
console.error(error);
|
||||
process.exit(1);
|
||||
}
|
||||
Reference in New Issue
Block a user