ui: fix image paste on contest_edit and homework_edit page

This commit is contained in:
undefined committed 2026-05-08 05:32:42 +08:00
1 parent 843828089e
commit fd7da081fb
2 files changed
+19 -8

No files matched your search

@@ -13,7 +13,13 @@ import { Media } from '../../backendlib/markdown-it-media';
import { xssProtector } from '../../backendlib/markdown-it-xss';
const pagename = document.documentElement.getAttribute('data-page');
const isProblemPage = ['problem_create', 'problem_edit'].includes(pagename);
const previewConfig: Record<string, string> = {
problem_edit: './file/',
homework_edit: './file/public/',
contest_edit: './file/public/',
};
const isCreatePage = ['problem_create', 'homework_create', 'contest_create'].includes(pagename);
const filePreviewPrefix = previewConfig[pagename] || (isCreatePage ? `/file/${UserContext._id}/` : null);
config({
markdownItConfig(mdit) {
@@ -31,9 +37,9 @@ config({
mdit.use(MergeCells);
mdit.use(xssProtector);
mdit.use(katex);
if (isProblemPage) {
if (filePreviewPrefix) {
mdit.core.ruler.before('normalize', 'xss', (state) => {
state.src = state.src.replace(/file:\/\//g, pagename === 'problem_create' ? `/file/${UserContext._id}/` : './file/');
state.src = state.src.replace(/file:\/\//g, filePreviewPrefix);
});
}
},