diff --git a/dashboard/src/app/api/config/route.ts b/dashboard/src/app/api/config/route.ts new file mode 100644 index 00000000..51f7c05c --- /dev/null +++ b/dashboard/src/app/api/config/route.ts @@ -0,0 +1,8 @@ +import { NextResponse } from 'next/server'; + +export async function GET() { + return NextResponse.json({ + defaultNamespace: process.env.NEXT_PUBLIC_DEFAULT_NAMESPACE || 'default', + // Add other client-side config here if needed + }); +} \ No newline at end of file diff --git a/dashboard/src/app/page.tsx b/dashboard/src/app/page.tsx index f0549e9f..621b7ead 100644 --- a/dashboard/src/app/page.tsx +++ b/dashboard/src/app/page.tsx @@ -1,6 +1,6 @@ 'use client'; -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import { GraphTemplateBuilder } from '@/components/GraphTemplateBuilder'; import { NamespaceOverview } from '@/components/NamespaceOverview'; import { RunsTable } from '@/components/RunsTable'; @@ -21,7 +21,7 @@ import { export default function Dashboard() { const [activeTab, setActiveTab] = useState< 'overview' | 'graph' |'runs'>('overview'); - const [namespace, setNamespace] = useState(process.env.NEXT_PUBLIC_DEFAULT_NAMESPACE || 'testnamespace'); + const [namespace, setNamespace] = useState('default'); const [graphName, setGraphName] = useState('test-graph'); const [graphTemplate, setGraphTemplate] = useState(null); @@ -34,6 +34,23 @@ export default function Dashboard() { const [selectedGraphTemplate, setSelectedGraphTemplate] = useState(null); const [isGraphModalOpen, setIsGraphModalOpen] = useState(false); + // Fetch configuration on component mount + useEffect(() => { + const fetchConfig = async () => { + try { + const response = await fetch('/api/config'); + if (response.ok) { + const config = await response.json(); + setNamespace(config.defaultNamespace); + } + } catch (error) { + console.warn('Failed to fetch config, using default namespace'); + } + }; + + fetchConfig(); + }, []); + const handleSaveGraphTemplate = async (template: UpsertGraphTemplateRequest) => { try { await clientApiService.upsertGraphTemplate(namespace, graphName, template);