mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 21:05:19 +00:00
feat(core): temporary expansion files are limited to 100M (#4833)
This commit is contained in:
@@ -13,6 +13,7 @@ import {
|
||||
blockSuiteEditorHeaderStyle,
|
||||
blockSuiteEditorStyle,
|
||||
} from './index.css';
|
||||
import { getPresets } from './preset';
|
||||
|
||||
export type EditorProps = {
|
||||
page: Page;
|
||||
@@ -59,19 +60,23 @@ const BlockSuiteEditorImpl = (props: EditorProps): ReactElement => {
|
||||
editor.page = page;
|
||||
}
|
||||
|
||||
const presets = getPresets();
|
||||
editor.pagePreset = presets.pageModePreset;
|
||||
editor.edgelessPreset = presets.edgelessModePreset;
|
||||
|
||||
useEffect(() => {
|
||||
const disposes = [] as ((() => void) | undefined)[];
|
||||
|
||||
if (editor) {
|
||||
const dipose = editor.slots.pageModeSwitched.on(mode => {
|
||||
const dispose = editor.slots.pageModeSwitched.on(mode => {
|
||||
onModeChange?.(mode);
|
||||
});
|
||||
|
||||
disposes.push(() => dipose.dispose());
|
||||
}
|
||||
disposes.push(() => dispose?.dispose());
|
||||
|
||||
if (editor.page && onLoad) {
|
||||
disposes.push(onLoad?.(page, editor));
|
||||
if (editor.page && onLoad) {
|
||||
disposes.push(onLoad?.(page, editor));
|
||||
}
|
||||
}
|
||||
|
||||
return () => {
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
import {
|
||||
AttachmentService,
|
||||
EdgelessPreset,
|
||||
PagePreset,
|
||||
} from '@blocksuite/blocks';
|
||||
import bytes from 'bytes';
|
||||
|
||||
class CustomAttachmentService extends AttachmentService {
|
||||
override mounted(): void {
|
||||
//TODO: get user type from store
|
||||
const userType = 'pro';
|
||||
if (userType === 'pro') {
|
||||
this.maxFileSize = bytes.parse('100MB');
|
||||
} else {
|
||||
this.maxFileSize = bytes.parse('10MB');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function getPresets() {
|
||||
const pageModePreset = PagePreset.map(preset => {
|
||||
if (preset.schema.model.flavour === 'affine:attachment') {
|
||||
return {
|
||||
...preset,
|
||||
service: CustomAttachmentService,
|
||||
};
|
||||
}
|
||||
return preset;
|
||||
});
|
||||
const edgelessModePreset = EdgelessPreset.map(preset => {
|
||||
if (preset.schema.model.flavour === 'affine:attachment') {
|
||||
return {
|
||||
...preset,
|
||||
service: CustomAttachmentService,
|
||||
};
|
||||
}
|
||||
return preset;
|
||||
});
|
||||
|
||||
return {
|
||||
pageModePreset,
|
||||
edgelessModePreset,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user