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:
23
frontend/src/api/branding.ts
Normal file
23
frontend/src/api/branding.ts
Normal 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`)
|
||||
}
|
||||
Reference in New Issue
Block a user