Files
AFFiNE-Mirror/blocksuite/affine/shared/src/consts/index.ts
T
Xuan4781 aa48c1c18b fix: audio waveform clipping in horizontal card view (#14789)
Fixes #13399

### Issue
When viewing an audio attachment card in horizontal view, the waveform 
was being clipped and not fully visible. In vertical view it displayed 
correctly.

### Fix
- `audio-waveform` and `progressContainer` flex children were missing 
  `minWidth: 0` and `flex: 1`, causing container overflow
- `.affine-attachment-container` had a fixed height with `overflow:
hidden`
  that cut off the waveform row

### Screenshot Verification
**Before**
<img width="1661" height="935" alt="image"
src="https://github.com/user-attachments/assets/b2f0908b-94fe-4869-bdfb-cc6a757e703d"
/>

**After**
<img width="750" height="182" alt="image"
src="https://github.com/user-attachments/assets/63caac69-f37b-4894-80de-806b691581c8"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

**New Features**
- Introduced audio embed card functionality allowing users to embed and
display audio content directly in documents with standardized dimensions
and improved responsive layout styling for better visual presentation
and integration.

**Improvements**
- Enhanced styling and layout handling for audio player components to
ensure proper display and optimal rendering in various container sizes
and space constraints.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-05 17:35:39 +08:00

93 lines
2.3 KiB
TypeScript

import {
type EmbedCardStyle,
EmbedFigmaModel,
EmbedGithubModel,
EmbedHtmlModel,
EmbedLinkedDocModel,
EmbedLoomModel,
EmbedSyncedDocModel,
EmbedYoutubeModel,
SYNCED_DEFAULT_WIDTH,
} from '@blocksuite/affine-model';
export const BLOCK_CHILDREN_CONTAINER_PADDING_LEFT = 24;
export const EDGELESS_BLOCK_CHILD_PADDING = 24;
export const EDGELESS_BLOCK_CHILD_BORDER_WIDTH = 2;
// The height of the header, which is used to calculate the scroll offset
// In AFFiNE, to avoid the option element to be covered by the header, we need to reserve the space for the header
export const PAGE_HEADER_HEIGHT = 53;
export const EMBED_CARD_MIN_WIDTH = 450;
export const EMBED_CARD_WIDTH: Record<EmbedCardStyle, number> = {
horizontal: 752,
horizontalThin: 752,
list: 752,
vertical: 364,
cube: 170,
cubeThick: 170,
video: 752,
figma: 752,
html: 752,
syncedDoc: SYNCED_DEFAULT_WIDTH,
pdf: 537 + 24 + 2,
citation: 752,
audio: 116,
};
export const EMBED_CARD_HEIGHT: Record<EmbedCardStyle, number> = {
horizontal: 116,
horizontalThin: 80,
list: 46,
vertical: 390,
cube: 114,
cubeThick: 132,
video: 544,
figma: 544,
html: 544,
syncedDoc: 455,
pdf: 759 + 46 + 24 + 2,
citation: 52,
audio: 116,
};
export const EMBED_BLOCK_FLAVOUR_LIST = [
'affine:embed-github',
'affine:embed-youtube',
'affine:embed-figma',
'affine:embed-linked-doc',
'affine:embed-synced-doc',
'affine:embed-html',
'affine:embed-loom',
] as const;
export const EMBED_BLOCK_MODEL_LIST = [
EmbedGithubModel,
EmbedYoutubeModel,
EmbedFigmaModel,
EmbedLinkedDocModel,
EmbedSyncedDocModel,
EmbedHtmlModel,
EmbedLoomModel,
] as const;
export const DEFAULT_IMAGE_PROXY_ENDPOINT =
'https://affine-worker.toeverything.workers.dev/api/worker/image-proxy';
// https://github.com/toeverything/affine-workers/tree/main/packages/link-preview
export const DEFAULT_LINK_PREVIEW_ENDPOINT =
'https://affine-worker.toeverything.workers.dev/api/worker/link-preview';
// This constant is used to ignore tags when exporting using html2canvas
export const CANVAS_EXPORT_IGNORE_TAGS = [
'EDGELESS-TOOLBAR-WIDGET',
'AFFINE-DRAG-HANDLE-WIDGET',
'AFFINE-TOOLBAR-WIDGET',
'AFFINE-BLOCK-SELECTION',
];
export * from './bracket-pairs.js';
export * from './note.js';
export * from './text.js';