feat(sdk): Logo-Navigation, stabile Versionsnummer V001 + Firmenname im Header
Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Failing after 45s
CI / test-python-backend-compliance (push) Successful in 35s
CI / test-python-document-crawler (push) Successful in 25s
CI / test-python-dsms-gateway (push) Successful in 21s
Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Failing after 45s
CI / test-python-backend-compliance (push) Successful in 35s
CI / test-python-document-crawler (push) Successful in 25s
CI / test-python-dsms-gateway (push) Successful in 21s
- Logo-Klick fuehrt zurueck zur Startseite (Neues/Bestehendes Projekt) - Neue projectVersion im SDK State (inkrementiert nur bei explizitem Speichern) - Header zeigt Firmenname + V001-Format statt auto-inkrementierende Sync-Version - Sidebar Logo von Link auf Button umgestellt mit customerType-Reset Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2105,6 +2105,7 @@ export default function CompanyProfilePage() {
|
||||
|
||||
setCompanyProfile(completeProfile)
|
||||
dispatch({ type: 'COMPLETE_STEP', payload: 'company-profile' })
|
||||
dispatch({ type: 'SET_STATE', payload: { projectVersion: (state.projectVersion || 0) + 1 } })
|
||||
|
||||
// Also persist to dedicated backend endpoint
|
||||
try {
|
||||
|
||||
@@ -102,8 +102,13 @@ function SDKHeader({ sidebarCollapsed }: { sidebarCollapsed: boolean }) {
|
||||
|
||||
{/* Session Info Bar */}
|
||||
<div className="flex items-center gap-4 px-6 py-1.5 bg-gray-50 border-t border-gray-100 text-xs text-gray-500">
|
||||
{/* Version */}
|
||||
<span className="font-mono text-gray-400">v{state.version}</span>
|
||||
{/* Projekt + Version */}
|
||||
<span className="text-gray-700 font-medium">
|
||||
{state.companyProfile?.companyName || 'Kein Projekt'}
|
||||
</span>
|
||||
<span className="font-mono text-gray-400">
|
||||
V{String(state.projectVersion || 1).padStart(3, '0')}
|
||||
</span>
|
||||
|
||||
<span className="text-gray-300">|</span>
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ function CorpusStalenessInfo({ ragCorpusStatus }: { ragCorpusStatus: RAGCorpusSt
|
||||
|
||||
export function SDKSidebar({ collapsed = false, onCollapsedChange }: SDKSidebarProps) {
|
||||
const pathname = usePathname()
|
||||
const { state, packageCompletion, completionPercentage, getCheckpointStatus } = useSDK()
|
||||
const { state, packageCompletion, completionPercentage, getCheckpointStatus, setCustomerType } = useSDK()
|
||||
const [pendingCRCount, setPendingCRCount] = React.useState(0)
|
||||
|
||||
// Poll pending change-request count every 60s
|
||||
@@ -430,7 +430,13 @@ export function SDKSidebar({ collapsed = false, onCollapsedChange }: SDKSidebarP
|
||||
<aside className={`fixed left-0 top-0 h-screen ${collapsed ? 'w-16' : 'w-64'} bg-white border-r border-gray-200 flex flex-col z-40 transition-all duration-300`}>
|
||||
{/* Header */}
|
||||
<div className={`p-4 border-b border-gray-200 ${collapsed ? 'flex justify-center' : ''}`}>
|
||||
<Link href="/sdk" className={`flex items-center gap-3 ${collapsed ? 'justify-center' : ''}`}>
|
||||
<button
|
||||
onClick={() => {
|
||||
setCustomerType(null as any)
|
||||
window.location.href = '/sdk'
|
||||
}}
|
||||
className={`flex items-center gap-3 ${collapsed ? 'justify-center' : ''} hover:opacity-80 transition-opacity`}
|
||||
>
|
||||
<div className="w-10 h-10 rounded-xl bg-gradient-to-br from-purple-600 to-indigo-600 flex items-center justify-center flex-shrink-0">
|
||||
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path
|
||||
@@ -442,12 +448,12 @@ export function SDKSidebar({ collapsed = false, onCollapsedChange }: SDKSidebarP
|
||||
</svg>
|
||||
</div>
|
||||
{!collapsed && (
|
||||
<div>
|
||||
<div className="text-left">
|
||||
<div className="font-bold text-gray-900">AI Compliance</div>
|
||||
<div className="text-xs text-gray-500">SDK</div>
|
||||
</div>
|
||||
)}
|
||||
</Link>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{/* Overall Progress - hidden when collapsed */}
|
||||
|
||||
@@ -49,6 +49,7 @@ const initialPreferences: UserPreferences = {
|
||||
const initialState: SDKState = {
|
||||
// Metadata
|
||||
version: '1.0.0',
|
||||
projectVersion: 1,
|
||||
lastModified: new Date(),
|
||||
|
||||
// Tenant & User
|
||||
|
||||
@@ -49,6 +49,7 @@ export function generateDemoState(tenantId: string, userId: string): Partial<SDK
|
||||
return {
|
||||
// Metadata
|
||||
version: '1.0.0',
|
||||
projectVersion: 1,
|
||||
lastModified: now,
|
||||
|
||||
// Tenant & User
|
||||
|
||||
@@ -1489,6 +1489,7 @@ export interface UserPreferences {
|
||||
export interface SDKState {
|
||||
// Metadata
|
||||
version: string
|
||||
projectVersion: number
|
||||
lastModified: Date
|
||||
|
||||
// Tenant & User
|
||||
|
||||
Reference in New Issue
Block a user