From f1377833b36ffde6fde49bf0d78a73e2c9972e4b Mon Sep 17 00:00:00 2001 From: Mufeed VH Date: Wed, 2 Jul 2025 20:49:56 +0530 Subject: [PATCH] feat(ui): enhance timeline sidebar with slide-in animation and responsive layout - Add slide-in animation to timeline sidebar using framer-motion - Implement responsive layout adjustments for main content area - Add proper timeline header with close button - Fix floating prompt input positioning to accommodate timeline - Reorder CSS imports for proper style precedence - Fix animation scaling issue in rotating symbol keyframes The timeline now slides in from the right with a smooth spring animation and properly adjusts the main content area width on larger screens. --- src/components/ClaudeCodeSession.tsx | 76 ++++++++++++++++++++-------- src/main.tsx | 2 +- src/styles.css | 4 +- 3 files changed, 59 insertions(+), 23 deletions(-) diff --git a/src/components/ClaudeCodeSession.tsx b/src/components/ClaudeCodeSession.tsx index c00c5d4..e13ae7e 100644 --- a/src/components/ClaudeCodeSession.tsx +++ b/src/components/ClaudeCodeSession.tsx @@ -1076,7 +1076,10 @@ export const ClaudeCodeSession: React.FC = ({ {/* Main Content Area */} -
+
{showPreview ? ( // Split pane layout when preview is active = ({ )} - +
+ +
{/* Token Counter - positioned under the Send button */} {totalTokens > 0 && ( @@ -1274,17 +1282,45 @@ export const ClaudeCodeSession: React.FC = ({ {/* Timeline */} - {showTimeline && effectiveSession && ( - - )} + + {showTimeline && effectiveSession && ( + +
+ {/* Timeline Header */} +
+

Session Timeline

+ +
+ + {/* Timeline Content */} +
+ +
+
+
+ )} +
{/* Fork Dialog */} diff --git a/src/main.tsx b/src/main.tsx index 83f93d9..014b02d 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -2,8 +2,8 @@ import React from "react"; import ReactDOM from "react-dom/client"; import App from "./App"; import { ErrorBoundary } from "./components/ErrorBoundary"; -import "./styles.css"; import "./assets/shimmer.css"; +import "./styles.css"; ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( diff --git a/src/styles.css b/src/styles.css index 9e83c13..077c8b9 100644 --- a/src/styles.css +++ b/src/styles.css @@ -423,9 +423,9 @@ button:focus-visible, /* Rotating symbol animation */ @keyframes rotate-symbol { 0% { content: "◐"; transform: scale(1); } - 25% { content: "◓"; transform: scale(10); } + 25% { content: "◓"; transform: scale(1); } 50% { content: "◑"; transform: scale(1); } - 75% { content: "◒"; transform: scale(10); } + 75% { content: "◒"; transform: scale(1); } 100% { content: "◐"; transform: scale(1); } }