- RTL: force dir=rtl on LabelFilter, NotesViewToggle, LabelManagementDialog - i18n: add missing keys (notifications, privacy, edit/preview, AI translate/undo) - Settings pages: convert to Server Components (general, appearance) + loading skeleton - AI menu: add Translate option (10 languages) + Undo AI button in toolbar - Fix: saveInline uses REST API instead of Server Action → eliminates all implicit refreshes in list mode - Fix: NotesTabsView notes sync effect preserves selected note on content changes - Fix: auto-tag suggestions now filter already-assigned labels - Fix: color change in card view uses local state (no refresh) - Fix: nav links use <Link> for prefetching (Settings, Admin) - Fix: suppress duplicate label suggestions already on note - Route: add /api/ai/translate endpoint
24 lines
598 B
TypeScript
24 lines
598 B
TypeScript
import { auth } from '@/auth'
|
|
import { redirect } from 'next/navigation'
|
|
import { McpSettingsPanel } from '@/components/mcp/mcp-settings-panel'
|
|
import { listMcpKeys, getMcpServerStatus } from '@/app/actions/mcp-keys'
|
|
|
|
export default async function McpSettingsPage() {
|
|
const session = await auth()
|
|
|
|
if (!session?.user) {
|
|
redirect('/api/auth/signin')
|
|
}
|
|
|
|
const [keys, serverStatus] = await Promise.all([
|
|
listMcpKeys(),
|
|
getMcpServerStatus(),
|
|
])
|
|
|
|
return (
|
|
<div className="space-y-6">
|
|
<McpSettingsPanel initialKeys={keys} serverStatus={serverStatus} />
|
|
</div>
|
|
)
|
|
}
|