Commit graph

118 commits

Author SHA1 Message Date
cc40ddb65f fix(docs): fix layout - AI panel on right, remove black strips, clean toolbar
- Remove editor-header/footer from default view (caused blue bar)
- Force light background (#f8f9fa) on all parent containers
- Fix chat-panel to be true flex child with order:2 for right side
- Simplify CSS with hardcoded colors instead of variables for reliability
- Set chat panel width to 280px with proper flex properties
- Hide header/footer by default, show only when content exists
- Clean up responsive breakpoints
2026-01-12 00:03:48 -03:00
7b2cf282ae fix(docs): respect PROMPT.md guidelines - replace emoji icons with SVG, fix layout issues
- Replace emoji icons (📄, 📝, 🌐, 📃, ✏️) in export modal with proper SVG icons
- Update CSS variables to use sentient bridge variables with fallbacks
- Fix docs-main flexbox layout to display canvas and chat panel side by side
- Add parent container overrides to prevent black strips from dark themes
- Fix chat panel width constraints and collapsed state transitions
- Update responsive breakpoints to use --header-height variable
- Add !important overrides on backgrounds to ensure proper light theme
2026-01-11 23:59:24 -03:00
9b39088e37 Fix theme cascade: use sentient variables directly in sheet/slides CSS
- Remove intermediate variable aliases in :root (they don't cascade)
- Replace --sheet-* and --slides-* with direct --sentient-* references
- Headers, borders, and cells now properly follow theme colors
- Dark themes will now paint dark backgrounds correctly
2026-01-11 21:08:43 -03:00
443f611289 Fix theme loading: add light.css and make default theme load it
- Created light.css with explicit sentient bridge hex values
- Updated theme-manager to always load a theme file (no null)
- Default and Light themes now both load light.css
- Sheet/Docs/Slides will now show white background with light themes
2026-01-11 20:58:11 -03:00
a389dc845e Add sentient-* bridge variables to ALL themes for Sheet/Docs/Slides support
- All 18 themes now include --sentient-* CSS variables
- Variables map theme HSL values to office suite apps
- Sheet, Docs, Slides will now respect all theme colors
- Includes: backgrounds, text, accents, borders, surfaces, inputs, status, shadows, radius
2026-01-11 20:53:44 -03:00
0662099ed1 Fix theme variables for Sheet/Docs/Slides in sentient theme
- Add complete sentient-* bridge variables inside [data-theme=sentient] block
- Variables now properly cascade to office suite apps
- Includes direct hex values for dark theme colors
2026-01-11 20:38:05 -03:00
91c54933f3 Fix theme support for Sheet/Docs/Slides
- Add complete sentient-* bridge variables in app.css
- Map all HSL theme variables to sentient-* naming
- Includes: backgrounds, text, accents, borders, surfaces, inputs, status colors, shadows, radius
- Rewrite 3dbevel theme to use CSS variables instead of !important overrides
- All themes now properly cascade to office suite apps
2026-01-11 20:28:11 -03:00
76627ae9f0 feat(suite): Enhanced UI for Sheet, Docs, and Slides editors 2026-01-11 12:01:59 -03:00
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