annotations render title and link to file

This commit is contained in:
John Mavrick 2023-12-21 17:57:50 -08:00
parent 29c4fc92de
commit a3b8cd18e3
2 changed files with 15 additions and 8 deletions

View File

@ -52,6 +52,12 @@ const PluginView = () => {
}
}, [threads]);
useEffect(() => {
if (activeAssistant) {
updateActiveAssistantFiles();
}
}, [activeAssistant]);
const fetchAssistants = async () => {
if (!openaiInstance) {
return;
@ -91,18 +97,17 @@ const PluginView = () => {
const updateActiveAssistant = async (assistant: OpenAI.Beta.Assistant) => {
if (plugin) {
plugin.settings.activeAssistant = assistant;
const assistantFiles = await fetchAssistantFiles();
updateActiveAssistantFiles(assistantFiles);
plugin.saveSettings();
setActiveAssistant(assistant);
}
};
const updateActiveAssistantFiles = (files: OpenAI.Files.FileObject[]) => {
const updateActiveAssistantFiles = async () => {
if (plugin) {
plugin.settings.activeAssistantFiles = files;
const activeFiles = await fetchAssistantFiles();
plugin.settings.activeAssistantFiles = activeFiles;
plugin.saveSettings();
setActiveAssistantFiles(files);
setActiveAssistantFiles(activeFiles);
}
};

View File

@ -6,7 +6,7 @@ import { Tooltip } from 'react-tooltip';
import Markdown from 'react-markdown';
import { useApp } from '../AppView';
import { createNotice } from '@/utils/Logs';
import { TFile } from 'obsidian';
import { TAbstractFile, TFile } from 'obsidian';
import { ThreadAnnotationFile } from '../types';
const override: CSSProperties = {
@ -111,10 +111,12 @@ const Chatbox = ({ annotationFiles, isResponding, messages }: ChatboxProps) => {
const handleAnnotationClick = () => {
// open new tab and then navigate to file
if (app && fileName) {
console.log('filename found')
const file =
app.vault.getAbstractFileByPath(
fileName,
);
console.log('file found', file, file instanceof TAbstractFile, file instanceof TFile)
if (file && file instanceof TFile) {
app.workspace.getLeaf().openFile(file);
}
@ -131,8 +133,8 @@ const Chatbox = ({ annotationFiles, isResponding, messages }: ChatboxProps) => {
>
[^{index}]
</a>
<Tooltip id={`tooltip-${index}`} clickable>
<div className="annotation-tooltip-container">
<Tooltip id={`tooltip-${index}`} className="annotation-tooltip-container" clickable>
<div className="annotation-tooltip-content">
<strong>{fileName}</strong>
<Markdown>{quote}</Markdown>
</div>