diff --git a/src/components/ChatInterface.jsx b/src/components/ChatInterface.jsx index 37776e3..186d80b 100755 --- a/src/components/ChatInterface.jsx +++ b/src/components/ChatInterface.jsx @@ -200,7 +200,7 @@ const MessageComponent = memo(({ message, index, prevMessage, createDiff, onFile
- {message.isToolUse ? ( + {message.isToolUse && !['Read', 'TodoWrite', 'TodoRead'].includes(message.toolName) ? (
@@ -505,41 +505,18 @@ const MessageComponent = memo(({ message, index, prevMessage, createDiff, onFile try { const input = JSON.parse(message.toolInput); if (input.file_path) { - // Extract filename const filename = input.file_path.split('/').pop(); - const pathParts = input.file_path.split('/'); - const directoryPath = pathParts.slice(0, -1).join('/'); - - // Simple heuristic to show only relevant path parts - // Show the last 2-3 directory parts before the filename - const relevantParts = pathParts.slice(-4, -1); // Get up to 3 directories before filename - const relativePath = relevantParts.length > 0 ? relevantParts.join('/') + '/' : ''; return ( -
- - - - - - - - {relativePath} - {filename} - - {showRawParameters && ( -
-
- - View raw parameters - -
-                                    {message.toolInput}
-                                  
-
-
- )} -
+
+ Read{' '} + +
); } } catch (e) { @@ -964,6 +941,61 @@ const MessageComponent = memo(({ message, index, prevMessage, createDiff, onFile
+ ) : message.isToolUse && message.toolName === 'Read' ? ( + // Simple Read tool indicator + (() => { + try { + const input = JSON.parse(message.toolInput); + if (input.file_path) { + const filename = input.file_path.split('/').pop(); + return ( +
+ 📖 Read{' '} + +
+ ); + } + } catch (e) { + return ( +
+ 📖 Read file +
+ ); + } + })() + ) : message.isToolUse && message.toolName === 'TodoWrite' ? ( + // Simple TodoWrite tool indicator with tasks + (() => { + try { + const input = JSON.parse(message.toolInput); + if (input.todos && Array.isArray(input.todos)) { + return ( +
+
+ 📝 Update todo list +
+ +
+ ); + } + } catch (e) { + return ( +
+ 📝 Update todo list +
+ ); + } + })() + ) : message.isToolUse && message.toolName === 'TodoRead' ? ( + // Simple TodoRead tool indicator +
+ 📋 Read todo list +
) : (
{message.type === 'assistant' ? ( diff --git a/src/components/LoginForm.jsx b/src/components/LoginForm.jsx index e95ca5c..f2a490a 100644 --- a/src/components/LoginForm.jsx +++ b/src/components/LoginForm.jsx @@ -1,6 +1,6 @@ import React, { useState } from 'react'; import { useAuth } from '../contexts/AuthContext'; -import ClaudeLogo from './ClaudeLogo'; +import { MessageSquare } from 'lucide-react'; const LoginForm = () => { const [username, setUsername] = useState(''); @@ -37,7 +37,9 @@ const LoginForm = () => { {/* Logo and Title */}
- +
+ +

Welcome Back

diff --git a/src/components/ProtectedRoute.jsx b/src/components/ProtectedRoute.jsx index f9ba988..88b404b 100644 --- a/src/components/ProtectedRoute.jsx +++ b/src/components/ProtectedRoute.jsx @@ -2,13 +2,15 @@ import React from 'react'; import { useAuth } from '../contexts/AuthContext'; import SetupForm from './SetupForm'; import LoginForm from './LoginForm'; -import ClaudeLogo from './ClaudeLogo'; +import { MessageSquare } from 'lucide-react'; const LoadingScreen = () => (

- +
+ +

Claude Code UI