Commit Graph

5 Commits

Author SHA1 Message Date
Claude
641d676f2f 🎉 Complete 5 Whys agent enhancements with session management and UI improvements
## Major Features Added:

### 🕒 Session Time Limits (2hr → 30min)
- Updated ChatSession model: expires_at, extend_session methods
- Changed session creation and extension logic
- Updated JavaScript timing calculations
- Fixed timing indicator functionality with real-time server data

### 💬 Message Limits (50 → 20)
- Added message_limit field to Agent model with migration
- Implemented auto-completion when message limit reached
- Only count user messages (not agent responses) toward limit
- Enhanced error messaging for limit exceeded

### 📥 Chat Download System
- Added PDF and TXT export functionality using ReportLab
- Download buttons in chat header for active sessions
- Comprehensive export with session metadata and formatting
- New API endpoints: /agents/api/chat/export/{session_id}/

### 📋 Previous Sessions Management
- Created Previous Sessions widget showing last 5 non-active sessions
- Download access for all completed sessions with messages
- Session status indicators ( Completed,  Expired,  Abandoned)
- Clean sidebar organization with session history

### 🎨 UI/UX Improvements
- Moved session info from main chat to sidebar for cleaner interface
- Increased chat height: 600px → 800px (mobile: 500px → 650px)
- Added Current Session widget with status, ID, and start time
- Enhanced sidebar layout with proper component stacking
- Responsive design with mobile optimizations

### 🔧 Session Indicators System
- Real-time session status API with server-side data
- Progress bars for time remaining and message usage
- Warning notifications for approaching limits
- Automatic updates every 30 seconds

### 💰 Payment Flow Fixes
- Fixed charging system to actually deduct wallet balance
- Each new session charges 15 AED for 20 messages + 30 minutes
- Proper error handling for insufficient balance
- Session cleanup on payment failures

## Technical Implementation:

**Backend Changes:**
- Enhanced ChatSession model with 30-minute duration
- Message counting logic (user messages only)
- Auto-completion on limit reached
- Session status API endpoint
- PDF/TXT export with ReportLab

**Frontend Changes:**
- Comprehensive sidebar widget system
- Real-time indicator updates with server sync
- Download functionality with loading states
- Session history display with status icons
- Responsive layout improvements

**Database:**
- Added message_limit field to Agent model
- Updated ChatSession expiration logic
- Efficient queries for session history

## User Experience:
 Clear session limits (20 messages, 30 minutes)
 Automatic session completion with preserved history
 Easy download access for all previous sessions
 Transparent pricing (15 AED per session)
 Clean, organized interface with more chat space
 Real-time feedback on session progress

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-03 13:28:39 +05:30
Claude
f6970b65e2 🎨 Complete Phase 1 UI optimization with button hover fixes
- Consolidate CSS architecture with unified design token system
- Extract 879+ lines of inline CSS to external files for better caching
- Create modular CSS files: marketplace.css, agent-detail.css
- Establish comprehensive button system with proper hover states
- Fix "Explore Other Agents" button hover with black background/white text
- Remove CSS duplication across agent-base.css (242 lines saved)
- Add \!important declarations to resolve CSS conflicts across files

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 09:00:46 +05:30
Claude
e2ad1f84e1 Implement comprehensive header CSS architecture redesign and font consistency fixes
- Extract 476 lines of inline CSS from pricing.html to external pricing.css file
- Unify font stack across all pages to use 'Inter', Arial, sans-serif consistently
- Fix font weight inconsistency between marketplace and pricing page navigation
- Add clean active page indicator with thin blue underline for current page
- Optimize CSS loading order: page-specific CSS first, header-component.css last
- Remove font inheritance conflicts between agent-base.css and header component
- Standardize Inter font loading in base.html for all pages (single source of truth)
- Improve browser compatibility with font smoothing and rendering optimizations
- Add comprehensive documentation in HEADER_OPTIMIZATION.md

Key improvements:
• Consistent navigation font weight across all pages (resolves bold font issue)
• Better performance with external CSS files and browser caching
• Clean component-based CSS architecture for maintainability
• Subtle active state indicators without layout shifts
• Unified theme system with CSS custom properties

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 10:41:24 +05:30
Claude
b072e2e1ee Fix Weather Reporter connection errors and restore API-based pattern
Major fixes:
- Weather Reporter: Restore correct API-based processing pattern
  * Fix form submission URL to use /agents/weather-reporter/process/
  * Remove incorrect polling logic (API agents return immediate results)
  * Fix response field mapping to use formatted_report instead of analysis_text
  * Implement immediate response display without polling

- Agent CSS System: Enhance unified styling system
  * Add missing CSS classes for status display (.status-title, .status-subtitle)
  * Add enhanced typography for results content formatting
  * Include modern info boxes (.key-points, .insights, .summary)
  * Fix animation keyframes for proper loading states

- Template Consistency: Update agents to use shared components
  * Job Posting Generator: Add cache-busted CSS and shared header/panel
  * Social Ads Generator: Add unified CSS link and shared components
  * Create component templates for consistent agent layouts

Key architectural insight: Weather Reporter is API-based (immediate response)
while Data Analyzer is webhook-based (async polling). Fixed Weather Reporter
to use correct pattern based on git history commit 82fc051.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-20 09:13:48 +05:30
Claude
aeaf0be031 Implement unified CSS system and fix data analyzer network errors
## Unified Agent Architecture
- Create agent-base.css with theme support (professional, creative, minimal)
- Implement shared JavaScript utilities in agent-utils.js
- Standardize form submission patterns across all agents
- Reduce code duplication by ~600 lines

## CSS Theme System
- Professional theme: Job posting, data analyzer, weather reporter
- Creative theme: Social ads generator (glassmorphism effects)
- Minimal theme: Available for future agents
- Consistent component library with CSS custom properties

## Text Display Standardization
- Replace complex markdown parsing with simple text formatting
- Remove external dependencies (Marked.js + DOMPurify)
- Implement basic text cleaning: remove **, convert line breaks to <br>
- Fix layout stretching issues in job posting results

## Data Analyzer Fixes
- Fix network errors by converting from button click to form submission
- Update to use unified CSS system and professional theme
- Improve file upload handling with conditional checks
- Standardize template structure with other agents

## Form Submission Improvements
- Unified form submission pattern across all agents
- Automatic CSRF token handling via FormData(form)
- Consistent error handling and user feedback
- Reliable polling mechanism for webhook-based agents

## Documentation Updates
- Document unified CSS system and theme architecture
- Add text display standardization guidelines
- Update agent examples with current features
- Include form submission best practices

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13 19:30:04 +05:30