Commit graph

110 commits

Author SHA1 Message Date
10299814b2 M365-like UI for Sheet, Docs, and Slides editors
- Clean editor experience without document list sidebars
- Theme-aware using --sentient-* CSS variables
- Modern toolbar design like Microsoft 365
- Sheet: Formula bar, spreadsheet grid, sheet tabs, zoom controls
- Docs: A4 page centered with shadow, formatting toolbar
- Slides: Thumbnails on left, canvas in center, properties panel
- AI chat panel (collapsible) for all editors
- Responsive design with mobile support
- Print styles for all editors
- Dark/light mode support via theme system
2026-01-11 09:56:44 -03:00
47abba8a99 chore: remove unused askama dependencies
- Removed askama and askama_axum from Cargo.toml
- Deleted askama.toml configuration file
- botui serves static HTML files directly, no template engine needed
2026-01-10 20:32:25 -03:00
69654f37d6 refactor(ui): extract inline CSS/JS to external files
Phase 2 of CSS/JS extraction - replace inline styles and scripts with
external file references for better maintainability and caching.

Files updated:
- home.html -> css/home.css, js/home.js
- tasks/tasks.html -> tasks/tasks.css, tasks/tasks.js
- admin/index.html -> admin/admin.css, admin/admin.js
- analytics/analytics.html -> analytics/analytics.css, analytics/analytics.js
- mail/mail.html -> mail/mail.css, mail/mail.js
- monitoring/monitoring.html -> monitoring/monitoring.css, monitoring/monitoring.js
- attendant/index.html -> attendant/attendant.css, attendant/attendant.js

All JS wrapped in IIFE pattern to prevent global namespace pollution.
Functions called from HTML onclick handlers exposed via window object.
HTMX reload handlers included for proper reinitialization.

Per PROMPT.md: no CDN links, HTMX-first approach, local assets only.
2026-01-10 20:12:48 -03:00
d4dc504d69 feat(auth): add security bootstrap and improve auth handling
- Add security-bootstrap.js for centralized auth token management
- Improve login flow with token persistence
- Update htmx-app.js auth integration
- Fix settings and tasks auth handling
2026-01-10 17:32:01 -03:00
c6fc5306c6 debug: add logging to htmx auth header 2026-01-10 14:22:31 -03:00
7bb230b59c fix(htmx): register auth header listener on document immediately
The listener was being registered on document.body inside initHTMX(),
but HTMX requests could start before body was ready.

Now register on document at script load time (immediately) to ensure
all HTMX requests get the Authorization header.
2026-01-10 14:19:22 -03:00
b5c75e650b fix(htmx): add Authorization header to all HTMX requests
- Include gb-access-token in Authorization header for all HTMX requests
- Add X-Session-ID header for session tracking
- Fix 401 errors on all HTMX-powered API calls
2026-01-10 14:00:43 -03:00
ab8c7ae02b feat(api-client): add centralized API client with auth token injection
- Create api-client.js for automatic auth token handling
- Include Authorization header in all API requests
- Support for localStorage/sessionStorage token persistence
- Handle 401/403 errors with global event dispatch
- Add file upload with progress tracking
- Update drive.js to use ApiClient
- Add api-client.js to index.html
2026-01-10 11:47:54 -03:00
955568c8e4 fix(i18n): fix DOM timing issue in i18n.js
- Wait for document.body before attaching event listeners
- Prevents TypeError when script loads before body exists
2026-01-10 10:54:05 -03:00
9a4c8bf6a6 Add Phase 4 (@ Mentions) and Phase 5 (Business Reports)
Phase 4 - Chat @ Mentions:
- Add mention dropdown with entity type search
- Add mention tags rendering in messages
- Add entity card tooltip on hover
- Add navigation to entity on click
- Support @lead, @opportunity, @account, @contact, @invoice, @case, @product, @service

Phase 5 - Business Reports:
- Create analytics/partials/business-reports.html
- Add CRM reports: Sales Pipeline, Lead Conversion, Won/Lost, Forecast
- Add Billing reports: Revenue Summary, Aging, Payment History, Monthly
- Add Support reports: Cases by Priority, Resolution Time, Category, AI Rate
- Add tabbed interface for report sections

i18n:
- Add chat mention translations (en, pt-BR, es)
2026-01-10 07:06:39 -03:00
c24ff23a07 Add CRM to header tabs and update CSS breakpoints
- Add CRM tab to header navigation after tasks
- Add CSS breakpoint at 1350px for CRM tab hiding
- Add app-item breakpoint for CRM in dropdown
- Delete i18n.js (translations moved to botlib .ftl files)
- Update TODO.md with completed phases
2026-01-10 06:59:58 -03:00
d4082b612a Add SMB Suite apps: CRM, Billing, Products, Tickets, Forms
- CRM: Pipeline view with Lead → Opportunity → Account flow (Dynamics nomenclature)
  - Kanban pipeline with stages: Lead, Qualified, Proposal, Negotiation, Won, Lost
  - List views for Leads, Opportunities, Accounts, Contacts
  - Summary stats: Pipeline value, Conversion rate, Avg deal, Won this month

- Billing: Invoices, Payments, Quotes management
  - Summary cards: Pending, Overdue, Paid this month, Revenue
  - Invoice list with status filters (draft, sent, paid, overdue, cancelled)
  - Payments tracking with method filters
  - Quotes with status workflow (draft → sent → accepted/rejected)

- Products: Product & Service catalog
  - Grid and List views with category/status filters
  - Services tab with type filters (hourly, fixed, recurring)
  - Price Lists management with currency support

- Tickets: AI-assisted support cases
  - Case management with priority/category filters
  - AI suggestion banner and auto-suggestions on description
  - List + Detail split view
  - Summary stats: Open, Urgent, Resolved today, AI resolved %

- Forms: Redirect to Tasks with AI prompt
  - Quick example chips for common form types
  - Redirects to Tasks with 'Create a form for me about [topic]'

- Menu: Added all 5 apps to dropdown menu after People
- i18n: Added nav labels in English and Portuguese
2026-01-09 22:41:32 -03:00
80c91f6304 Redesign home page with beautiful layout, add People/Contacts, rename Tools to Compliance
- Complete home page redesign with large icons, full descriptions, recent documents
- Add People (Contacts) menu item and page with contacts management
- Move Paper right after Chat in menu order
- Rename Tools to Compliance with shield icon
- Settings moved to end of menu
- Logo click now shows home page
- Add Project, Canvas, Goals, Player, Workspace, Video, Learn to menu
- New CSS for home page with modern card layout
2026-01-09 20:56:59 -03:00
cb33a75d39 Add admin, dashboards, learn, social, and video UI components 2026-01-08 13:16:06 -03:00
5f65a62808 fix(auth): Save access_token in login.html before redirect 2026-01-07 07:21:28 -03:00
454fd5a8b0 fix(auth): Simplify user profile loading with direct API call 2026-01-07 07:09:29 -03:00
a4b9d013e1 fix(auth): Integrate user menu with GBAuth service
- Use GBAuth service events for user profile updates
- Use correct storage keys (gb-access-token, gb-user-data)
- Listen to userUpdated, login, logout events
- Store tokens using AuthService.storeTokens() method
- Add fallback for when GBAuth is not immediately available
2026-01-07 07:03:07 -03:00
d8e52bf330 feat(auth): Add user profile loading and auth state management
- Add JavaScript to load user profile from /api/auth/me endpoint
- Save access_token to localStorage/sessionStorage on login
- Update user menu to show actual user name and email
- Toggle Sign in/Sign out based on authentication state
- Add IDs to user menu elements for dynamic updates
2026-01-06 22:57:00 -03:00
faaabefc1c Fix All Applications dropdown order to match main menu
- Reorder apps: Chat, Paper, Mail, Drive, Calendar, Tasks first
- Then other apps: Research, Meet, Analytics, Monitoring
2026-01-04 08:48:28 -03:00
e79bb880fd Remove all modal popups from settings page
- Removed all modal HTML elements completely
- Disabled buttons that triggered modals (API keys, webhooks, payment, delete account)
- Added 'Coming soon' tooltips to disabled buttons
- Removed modal-related CSS and JavaScript
- This eliminates the popup issue entirely
2026-01-03 19:30:59 -03:00
518eac442e Fix modal CSS conflict - rename to settings-modal
- Renamed 'modal' class to 'settings-modal' to avoid conflict with components.css
- components.css has .modal { display: flex } which was overriding display: none
- Added !important to ensure settings-modal styles take precedence
- Updated all modal references in HTML and JavaScript
2026-01-03 19:29:14 -03:00
a542141d42 Replace dialog elements with divs to fix modal auto-open issue
- Converted all dialog elements to regular divs
- Using CSS class 'open' instead of native dialog open attribute
- Added openModal() and closeModal() functions
- Simplified modal CSS and JavaScript
- Modals now fully controlled via class toggle
2026-01-03 18:34:37 -03:00
927ee4013c Fix modals opening automatically on page load
- Added immediate modal close on script load
- Force close all modals on DOMContentLoaded
- Remove open attribute from all modals during initialization
- Added HTMX afterRequest handler to prevent multiple modals from staying open
- Fixed script syntax issue
2026-01-03 17:49:57 -03:00
5b73c31492 Fix settings modals - prevent multiple popups from opening
- Added closeAllModals() function to close all open modals before opening a new one
- Added event.stopPropagation() to modal trigger buttons
- Added click-outside-to-close behavior for modals
- Added Escape key handler to close modals
- Prevented click events inside modal-content from bubbling up
2026-01-03 17:22:20 -03:00
b4c49314a6 Fix apps dropdown menu positioning near the grid button
- Changed apps-dropdown right position from 60px to 0 in app.css
- Wrapped apps button and dropdown in a container with position:relative
- Moved dropdown to be a sibling of the button inside the container
- Removed duplicate dropdown from header-right section
2026-01-03 17:19:17 -03:00
2c852715f8 Fix tasks layout: flexbox splitter, card sizing, progress status logic
- Changed tasks-main from grid to flexbox for proper panel sizing
- Fixed splitter drag to work with flexbox (set width directly)
- Task cards: reduced padding, proper min-height
- Fixed task-detail-panel to flex and fill available space
- Fixed terminal stats showing 'calculating...' for completed tasks
- Fixed child status not updating when all item_groups complete
- Improved taskmd header alignment and text overflow
- Fixed media queries for responsive layout
2026-01-02 16:17:31 -03:00
580c9072d4 feat: Add draggable splitter between panels, uniform scrollbar styles (primary color) 2026-01-02 15:25:42 -03:00
e514b302d3 fix: Double task card height to 200px 2026-01-02 15:15:42 -03:00
dfa22b8f4e fix: Triple task card height - larger cards with bigger fonts 2026-01-02 14:45:05 -03:00
99a92e3e5d fix: Improve button visibility (CREATE & RUN, Open App), larger header, remove duplicates 2026-01-02 14:23:43 -03:00
3b76907ed4 fix: Increase task card size - bigger padding, larger fonts 2026-01-02 14:16:22 -03:00
511cc24e4d feat: Add notifications bell with GBAlerts infrastructure for all apps
- Added bell icon in header toolbar with badge counter
- Created GBAlerts global API for notifications from any app
- App-specific shortcuts: taskCompleted, newEmail, newChat, driveSync, calendarReminder
- Integrated task completion with bell notifications
- Added CSS for notifications panel and items
- Documented in PROMPT.md Design System section
2026-01-02 14:08:44 -03:00
0f658fd7c5 fix: Compact task cards (inline status), fix tree expansion, reduce terminal height 2026-01-02 13:59:58 -03:00
31bc86ab1e fix: Override parent containers to prevent global scroll - only task list and progress log scroll 2026-01-02 13:47:56 -03:00
ade2050668 feat: Design System standards - scrollbars, cards, indicators, tree patterns for ALL themes
- Updated PROMPT.md with comprehensive Design System documentation
- Added missing CSS variables to ALL themes (border-light, border-hover, text-tertiary)
- Added global component classes: scrollable, card-status, dot-status, badge-step, tree patterns
- Updated tasks.css: no global scroll, task list scrollable, fixed layout
- All patterns from sentient theme now available to all themes
2026-01-02 13:40:24 -03:00
8e9bc9c381 fix: Visible scrollbars only on task list and progress log, no global scroll 2026-01-02 13:33:06 -03:00
e2abebf968 fix: Task list only scrollable, right panel fixed height, Progress Log variable with scroll 2026-01-02 13:29:10 -03:00
ea9bd091c3 feat: Improve task UI layout - narrower task list, maximize Progress Log, fix Terminal at bottom, add auto-scroll 2026-01-02 13:23:12 -03:00
b51c542afa Fix duplicate WS progress bug - rebuild tree on structure change
- Normalize task ID comparison in retry logic for consistent lookups
- Use normalized keys in pendingManifestUpdates Map
- Skip manifest_update in ProgressPanel (already handled by tasks.js)
- Clean up existing handler before registering new one in ProgressPanel.init
- Add name-based fallback lookups for sections/children/items when IDs change
- Detect structure changes (section count, children, items, names) and rebuild tree
- Clear progress-empty placeholder before rendering tree
- Add detailed BUILD_TREE logging for debugging
- Add cache-busting version to tasks.js script tag
2026-01-02 12:48:54 -03:00
4499bcda7a Fix flicker: incremental DOM updates only, smooth CSS transitions
- updateProgressTreeInPlace: only updates changed text/classes, no innerHTML rebuild
- updateChildInPlace, updateItemsInPlace: granular element updates
- Check if value changed before updating (prevents unnecessary DOM writes)
- CSS transitions on all tree elements (0.2s ease-out)
- Status dot now yellow/pulsing by default (was missing)
- Running step badges get accent color
- dot-pulse animation with scale effect
2026-01-01 10:49:30 -03:00
3927dfb07e Fix selectedTaskId initialization - was hardcoded as 2, now null 2026-01-01 10:46:59 -03:00
4f05af4d04 Fix manifest update: always rebuild tree, add debug logs, fix status handling
- Always rebuild progress tree HTML instead of incremental updates (simpler, more reliable)
- Add console.log for debugging manifest updates
- Fix status normalization (backend sends 'Running', 'Completed' etc)
- Fix updateStatusSection to handle different manifest structures
- Log section and child details for debugging
2026-01-01 10:42:25 -03:00
f5ece0d410 Fix progress UI pixel-perfect: remove View Details, section dot on right, proper item layout
- Remove View Details links completely
- Add tree-section-dot on right side of section rows
- Child rows use tree-item-dot on left
- Duration aligned to right with margin-left: auto
- Proper padding and spacing to match design
- Update both taskmd.css and theme-sentient.css
2026-01-01 10:36:50 -03:00
6bbedd6645 Fix progress UI: incremental updates to prevent flicker, proper scroll
- Rewrite renderManifestProgress to update existing DOM elements
- Only rebuild HTML on first render, then update incrementally
- Add updateStatusSection, updateProgressTree, updateItems functions
- Fix scroll: only task list scrolls, detail panel is fixed
- Add status-indicator, status-gear CSS styles
- Progress content has max-height with scroll, terminal is fixed size
2026-01-01 10:13:38 -03:00
9f922b523d Fix task progress UI: pixel-perfect design with dot indicators
Frontend JS:
- Replace text checkboxes with dot indicators
- Add 'View Details' links to tree sections
- Add HTMX afterSwap listener for pending manifest updates
- Retry system for manifest updates when elements not yet loaded

Frontend CSS:
- taskmd.css uses CSS variables for theme compatibility
- Dot indicators with pulse animation for running items
- Progress bar under running sections
- Pixel-perfect tree structure matching design mockup

Theme:
- Add complete TASKMD Progress Tree styles to theme-sentient.css
- Dot pulse animation with accent glow
- All components use theme variables
2025-12-31 23:45:38 -03:00
de85b35772 Remove floating progress, use detail panel terminal with real data
- Remove floating progress panel completely
- Update terminal in detail panel with real-time WebSocket data
- Progress bar updates in detail panel
- Auto-select task when created to show progress
2025-12-31 13:18:07 -03:00
b8731b0bc8 Update CSS to match design - thicker borders and correct fonts
- Task cards: 2px borders, 16px radius, thicker status bar
- Section boxes: 2px borders, 12px radius
- Progress bars: 10px height with glow effect
- Action buttons: 2px borders with hover glow
- Terminal section: better styling and spacing
- All elements: increased font weights and better spacing
- Priority badges: thicker borders
- Log items: improved border radius and gaps
2025-12-31 13:02:39 -03:00
baf6c75d26 Show app URL notification, play sound on completion
- Show prominent app URL notification when task completes
- Play completion sound using Web Audio API
- Extract app_url from task completion details
- Add slideInRight/slideOutRight animations
- Make toast clickable to open app URL
- Refresh task details on completion
2025-12-31 12:51:50 -03:00
ca34a05d4c Fix task UI JavaScript
- Fix loadTaskStats to use /api/tasks/stats/json endpoint
- Add missing JS functions: pauseTask, cancelTask, showDetailedView
- Add htmx:afterSwap listener to reinitialize tasks app on HTMX load
- Prevent duplicate WebSocket connections
- Add task creation feedback in UI (success/error messages)
- Add tasks.js script to index.html
2025-12-31 12:38:54 -03:00
4a3eb0cc4f Fix tasks UI and add WebSocket proxy for task progress
Tasks UI:
- Add proper CSS for task cards with status-based colors
- Add task detail panel CSS for header, progress, sections
- Remove duplicate empty state div
- Add All Tasks filter pill
- Fix updateFilterCounts to use /api/tasks/stats/json
- Remove fake demo agent activity simulation
- Add detailed console logging for WebSocket debugging
- Update floating progress panel with terminal-style metrics

WebSocket proxy:
- Add /ws/task-progress proxy route without required params
- Add handle_task_progress_ws_proxy for task progress WebSocket
- Support optional task_id filtering
2025-12-30 22:42:54 -03:00