Compare commits
11 Commits
37db47fcd9
...
0ff5399a62
| Author | SHA1 | Date | |
|---|---|---|---|
| 0ff5399a62 | |||
| 354b0394e5 | |||
| 20aea13181 | |||
| deb405a3a1 | |||
| 03fc0c5945 | |||
| 6a9eb048da | |||
| c92f2dc7a7 | |||
| 4e27c9b35a | |||
| 8631971821 | |||
| 713f0e7570 | |||
| df3f6e65c2 |
@@ -6,7 +6,10 @@ Combines core session routes and action routes into a single router.
|
||||
|
||||
from fastapi import APIRouter
|
||||
|
||||
from .sessions_core import router as core_router, build_session_response
|
||||
from .sessions_core import router as core_router, build_session_response # noqa: F401
|
||||
|
||||
# Re-export SessionResponse for backward compat (templates.py imports it)
|
||||
from classroom.models import SessionResponse # noqa: F401
|
||||
from .sessions_actions import router as actions_router
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@@ -140,7 +140,7 @@ async def get_audit_log(
|
||||
# RECORDING MANAGEMENT ENDPOINTS
|
||||
# ==========================================
|
||||
|
||||
@router.get("", response_model=RecordingListResponse)
|
||||
@router.get("/", response_model=RecordingListResponse)
|
||||
async def list_recordings(
|
||||
status: Optional[str] = Query(None, description="Filter by status"),
|
||||
meeting_id: Optional[str] = Query(None, description="Filter by meeting ID"),
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
* EH Upload Wizard Steps - Individual step content renderers
|
||||
*/
|
||||
|
||||
import { useState } from 'react'
|
||||
|
||||
interface EHMetadata {
|
||||
title: string
|
||||
|
||||
@@ -181,14 +181,14 @@ function ChatHeader({ isDark, conversation, contact, showContactInfo, setShowCon
|
||||
|
||||
{/* Actions */}
|
||||
<div className="flex items-center gap-2">
|
||||
<HeaderButton isDark={isDark} active={conversation.pinned}
|
||||
<HeaderButton isDark={isDark} active={conversation.pinned ?? false}
|
||||
activeColor="amber" onClick={() => pinConversation(conversation.id)}
|
||||
title={conversation.pinned ? 'Nicht mehr anheften' : 'Anheften'}>
|
||||
<svg className="w-5 h-5" fill={conversation.pinned ? 'currentColor' : 'none'} stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={1.5} d="M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z" />
|
||||
</svg>
|
||||
</HeaderButton>
|
||||
<HeaderButton isDark={isDark} active={conversation.muted}
|
||||
<HeaderButton isDark={isDark} active={conversation.muted ?? false}
|
||||
activeColor="red" onClick={() => muteConversation(conversation.id)}
|
||||
title={conversation.muted ? 'Ton aktivieren' : 'Stummschalten'}>
|
||||
<svg className="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
|
||||
@@ -13,7 +13,7 @@ export async function startSessionFlow(params: {
|
||||
selectedMobileFile: { dataUrl: string; type: string; name: string } | null
|
||||
storedDocuments: StoredDocument[]
|
||||
ocrPrompts: OcrPrompts
|
||||
startActivity: (type: string, meta: any) => void
|
||||
startActivity: (...args: any[]) => void
|
||||
setSession: (s: Session | null | ((prev: Session | null) => Session | null)) => void
|
||||
setWorksheetTitle: (t: string) => void
|
||||
setExtractionStatus: (s: string) => void
|
||||
|
||||
@@ -54,6 +54,12 @@ export interface AIInterpretation {
|
||||
error?: string
|
||||
}
|
||||
|
||||
export interface Category {
|
||||
id: string
|
||||
name: string
|
||||
requirement_count: number
|
||||
}
|
||||
|
||||
export const IMPLEMENTATION_STATUS = {
|
||||
not_started: { label: 'Nicht gestartet', color: 'bg-slate-400' },
|
||||
in_progress: { label: 'In Arbeit', color: 'bg-yellow-500' },
|
||||
|
||||
@@ -42,7 +42,7 @@ export default function LivePreviewPanel({ activeTab, iframeRef }: LivePreviewPa
|
||||
{/* Preview Frame */}
|
||||
<div className="relative h-[calc(100vh-340px)] bg-slate-100">
|
||||
<iframe
|
||||
ref={iframeRef}
|
||||
ref={iframeRef as any}
|
||||
src={`/?preview=true§ion=${activeTab}#${activeTab}`}
|
||||
className="w-full h-full border-0 scale-75 origin-top-left"
|
||||
style={{
|
||||
|
||||
@@ -9,7 +9,7 @@ import type { SystemInfoConfig } from './types'
|
||||
|
||||
// Import individual configurations
|
||||
import { dashboardConfig } from './dashboard-config'
|
||||
import { gpuConfig } from './gpu-config'
|
||||
|
||||
import { consentConfig } from './consent-config'
|
||||
import { dsrConfig } from './dsr-config'
|
||||
import { securityConfig } from './security-config'
|
||||
@@ -40,7 +40,6 @@ export const SYSTEM_INFO_CONFIGS: Record<string, SystemInfoConfig> = {
|
||||
dashboard: dashboardConfig,
|
||||
|
||||
// Infrastructure
|
||||
gpu: gpuConfig,
|
||||
dsms: dsmsConfig,
|
||||
sbom: sbomConfig,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user