fixed sanitazer and academy

This commit is contained in:
2026-06-05 16:53:20 +02:00
parent 15870ddb1f
commit f89ee937c0
29 changed files with 2444 additions and 1039 deletions

View File

@@ -694,7 +694,7 @@ function getDraftValue(source, key, fallback = '') {
return fallback
}
function buildInitialFormData(article, defaultAuthor, typeOptions, oldInput = {}) {
function buildInitialFormData(article, defaultAuthor, defaultPublishedAt, typeOptions, oldInput = {}) {
return {
title: String(getDraftValue(oldInput, 'title', article.title || '')),
slug: String(getDraftValue(oldInput, 'slug', article.slug || '')),
@@ -705,7 +705,7 @@ function buildInitialFormData(article, defaultAuthor, typeOptions, oldInput = {}
category_id: String(getDraftValue(oldInput, 'category_id', article.category_id ? String(article.category_id) : '')),
author_id: getDraftValue(oldInput, 'author_id', article.author_id || defaultAuthor?.id || ''),
editorial_status: String(getDraftValue(oldInput, 'editorial_status', article.editorial_status || 'draft')),
published_at: String(getDraftValue(oldInput, 'published_at', article.published_at ? String(article.published_at).slice(0, 16) : '')),
published_at: String(getDraftValue(oldInput, 'published_at', article.published_at ? String(article.published_at).slice(0, 16) : (defaultPublishedAt || ''))),
is_featured: parseBooleanish(getDraftValue(oldInput, 'is_featured', Boolean(article.is_featured))),
is_pinned: parseBooleanish(getDraftValue(oldInput, 'is_pinned', Boolean(article.is_pinned))),
comments_enabled: parseBooleanish(getDraftValue(oldInput, 'comments_enabled', article.id ? Boolean(article.comments_enabled) : true)),
@@ -952,7 +952,6 @@ async function loadNewsMarkdownTurndown() {
headingStyle: 'atx',
codeBlockStyle: 'fenced',
bulletListMarker: '-',
emDelimiter: '*',
}))
.then((service) => {
newsMarkdownTurndown = service
@@ -1868,7 +1867,7 @@ export default function StudioNewsEditor() {
const { props } = usePage()
const { toasts, push: pushToast, dismiss: dismissToast } = useToast()
const article = props.article || {}
const initialFormData = useMemo(() => buildInitialFormData(article, props.defaultAuthor, props.typeOptions, props.oldInput || {}), [article, props.defaultAuthor, props.oldInput, props.typeOptions])
const initialFormData = useMemo(() => buildInitialFormData(article, props.defaultAuthor, props.defaultPublishedAt, props.typeOptions, props.oldInput || {}), [article, props.defaultAuthor, props.defaultPublishedAt, props.oldInput, props.typeOptions])
const articleSyncKey = useMemo(() => JSON.stringify(initialFormData), [initialFormData])
const [authorResults, setAuthorResults] = useState([])
const [authorQuery, setAuthorQuery] = useState(article.author?.title || article.author?.subtitle?.replace(/^@/, '') || '')
@@ -2361,8 +2360,8 @@ export default function StudioNewsEditor() {
advancedNews
searchEntities={searchEntities}
mediaSupport={{
uploadUrl: props.coverUploadUrl,
deleteUrl: props.coverDeleteUrl,
uploadUrl: props.bodyMediaUploadUrl || props.coverUploadUrl,
deleteUrl: props.bodyMediaDeleteUrl || props.coverDeleteUrl,
slot: 'body',
}}
/>