diff --git a/apps/app/src/components/views/context-view.tsx b/apps/app/src/components/views/context-view.tsx index deceb1a3..424144c3 100644 --- a/apps/app/src/components/views/context-view.tsx +++ b/apps/app/src/components/views/context-view.tsx @@ -17,6 +17,8 @@ import { File, X, BookOpen, + EditIcon, + Eye, } from "lucide-react"; import { useKeyboardShortcuts, @@ -34,6 +36,7 @@ import { import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { cn } from "@/lib/utils"; +import { Markdown } from "../ui/markdown"; interface ContextFile { name: string; @@ -60,6 +63,7 @@ export function ContextView() { ); const [newFileContent, setNewFileContent] = useState(""); const [isDropHovering, setIsDropHovering] = useState(false); + const [isPreviewMode, setIsPreviewMode] = useState(false); // Keyboard shortcuts for this view const contextShortcuts: KeyboardShortcut[] = useMemo( @@ -80,6 +84,11 @@ export function ContextView() { return `${currentProject.path}/.automaker/context`; }, [currentProject]); + const isMarkdownFile = (filename: string): boolean => { + const ext = filename.toLowerCase().substring(filename.lastIndexOf(".")); + return ext === ".md" || ext === ".markdown"; + }; + // Determine if a file is an image based on extension const isImageFile = (filename: string): boolean => { const imageExtensions = [ @@ -151,6 +160,7 @@ export function ContextView() { // Could add a confirmation dialog here } loadFileContent(file); + setIsPreviewMode(isMarkdownFile(file.name)); }; // Save current file @@ -448,6 +458,27 @@ export function ContextView() {
+ {selectedFile.type === "text" && + isMarkdownFile(selectedFile.name) && ( + + )} {selectedFile.type === "text" && (
+ ) : isPreviewMode ? ( + + {editedContent} + ) : (