feat(app): register film and song renderers via plugin system
Create film-renderer.ts and song-renderer.ts as RendererDefinition plugins using defineAsyncComponent for lazy loading. ContentPanel.vue now looks up film/song components via getRendererForContentType() instead of direct imports, enabling future community renderer plugins. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
ad4612a5c2
commit
557f9e6220
@@ -1,4 +1,4 @@
|
||||
import { registerPlugin } from '@aiui/core'
|
||||
import { registerPlugin, registerRenderer } from '@aiui/core'
|
||||
|
||||
export async function initializePlugins(): Promise<void> {
|
||||
// Register built-in AI provider
|
||||
@@ -20,7 +20,14 @@ export async function initializePlugins(): Promise<void> {
|
||||
},
|
||||
})
|
||||
|
||||
// Register built-in content renderers
|
||||
const { filmRenderer } = await import('./renderers/film-renderer')
|
||||
const { songRenderer } = await import('./renderers/song-renderer')
|
||||
registerRenderer(filmRenderer)
|
||||
registerRenderer(songRenderer)
|
||||
|
||||
if (import.meta.env.DEV) {
|
||||
console.log('[AIUI] Plugins initialized:', claudeProvider.id)
|
||||
console.log('[AIUI] Renderers registered: film, song')
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user