feat: add supporting data capture, PDF export, and branding settings UI

- API clients for supporting data CRUD and team branding
- AddSupportingDataModal with text snippet and screenshot tabs (paste + upload)
- SupportingDataPanel collapsible section integrated into both session runners
- ExportPreviewModal updated with PDF format and server-side download flow
- BrandingSettings component for company name and logo management
- Expose team_id in UserResponse schema for branding endpoint access

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
chihlasm
2026-03-17 02:03:40 -04:00
parent b72eb56b7f
commit 2339787499
13 changed files with 857 additions and 54 deletions

View File

@@ -0,0 +1,23 @@
import { apiClient } from './client'
export interface BrandingInfo {
company_display_name: string | null
logo_content_type: string | null
has_logo: boolean
}
export async function getBranding(teamId: string): Promise<BrandingInfo> {
const response = await apiClient.get(`/teams/${teamId}/branding`)
return response.data
}
export async function updateBranding(teamId: string, formData: FormData): Promise<BrandingInfo> {
const response = await apiClient.patch(`/teams/${teamId}/branding`, formData, {
headers: { 'Content-Type': 'multipart/form-data' },
})
return response.data
}
export async function deleteLogo(teamId: string): Promise<void> {
await apiClient.delete(`/teams/${teamId}/branding/logo`)
}