diff --git a/packages/tui/src/feature-plugins/prompt/btw.tsx b/packages/tui/src/feature-plugins/prompt/btw.tsx index 1023f12a522..8849acc6a83 100644 --- a/packages/tui/src/feature-plugins/prompt/btw.tsx +++ b/packages/tui/src/feature-plugins/prompt/btw.tsx @@ -43,6 +43,8 @@ export default Plugin.define({ append: "app", render() { const toast = useToast() + // Dialogs render beside PluginProvider, so Answer cannot call usePlugin(). + const plugins = usePlugin() context.keymap.layer(() => ({ mode: "global", commands: [ @@ -66,7 +68,9 @@ export default Plugin.define({ await context.client.session .generate({ sessionID: route.sessionID, prompt: [instructions, question].join("\n\n") }) .then((result) => { - context.ui.dialog.show(() => ) + context.ui.dialog.show(() => ( + + )) context.ui.dialog.set({ size: "large", centered: true }) }) .catch((cause: unknown) => toast.error(cause)) @@ -81,11 +85,14 @@ export default Plugin.define({ }, }) -function Answer(props: { question: string; answer: string }) { +export function Answer(props: { + question: string + answer: string + markdown: ReturnType["markdown"] +}) { const dialog = useDialog() const toast = useToast() const clipboard = useClipboard() - const plugins = usePlugin() const theme = useTheme().surface("dialog") const overlay = useTheme() const syntax = useThemes().currentSyntax @@ -142,7 +149,7 @@ function Answer(props: { question: string; answer: string }) {