various polish

This commit is contained in:
Jacky Zhao
2023-07-02 13:08:29 -07:00
parent 4c904d88ab
commit e0ebee5aa9
30 changed files with 339 additions and 190 deletions

View File

@ -3,7 +3,8 @@ import { JSX } from "preact/jsx-runtime"
export type JSResource = {
loadTime: 'beforeDOMReady' | 'afterDOMReady'
moduleType?: 'module'
moduleType?: 'module',
spaPreserve?: boolean
} & ({
src: string
contentType: 'external'
@ -14,11 +15,12 @@ export type JSResource = {
export function JSResourceToScriptElement(resource: JSResource, preserve?: boolean): JSX.Element {
const scriptType = resource.moduleType ?? 'application/javascript'
const spaPreserve = preserve ?? resource.spaPreserve
if (resource.contentType === 'external') {
return <script key={resource.src} src={resource.src} type={scriptType} spa-preserve={preserve} />
return <script key={resource.src} src={resource.src} type={scriptType} spa-preserve={spaPreserve} />
} else {
const content = resource.script
return <script key={randomUUID()} type={scriptType} spa-preserve={preserve}>{content}</script>
return <script key={randomUUID()} type={scriptType} spa-preserve={spaPreserve}>{content}</script>
}
}