mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
ui: fix image paste on contest_edit and homework_edit page
This commit is contained in:
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);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user