Commit Graph
3 Commits
Author SHA1 Message Date
Cyrus GrayandGitHub b3e3e9bb96 feat(ui): full light theme redesign based on Figma design tokens (#307)
* feat(ui): full light theme redesign based on Figma design tokens

Redesign the entire app from dark glass-morphism to a clean light theme
per the Figma reference (OpenHuman-Prod / Ref for mithil). This is a
purely visual change — zero logic, handlers, state, or API changes.

- Update Tailwind color tokens: neutral grayscale, primary #2F6EF4,
  success #34C759, alert #E8A728, error #EF4444
- Switch global CSS from dark (black bg, white text) to light (#F5F5F5
  bg, #171717 text)
- Replace left MiniSidebar with bottom BottomTabBar (Home, Chat, Skills,
  Intelligence, Automation, Notification)
- Add Settings gear icon on Home page header for persistent access
- Restyle Home: white card, Welcome Onboard title, connection badge pill
- Restyle Chat: gray agent bubbles, blue user bubbles, white input with
  mic icon, circular send button, model pill selector
- Restyle Skills: white card, filter tabs, + Add button, skill rows
- Restyle Intelligence: light containers, filters, cards
- Convert all 25+ settings panels from dark to light theme
- Convert all shared components (modals, cards, inputs, status badges)

* fix(test): update ConnectionIndicator tests for pill badge redesign

The component no longer renders a description prop — it's now a compact
pill badge. Remove description-related test cases, add pill badge test.

* fix(ui): address CodeRabbit review — contrast, dead controls, regressions

- Remove unused description prop from ConnectionIndicator interface
- Fix Save Note button hover affordance (MemoryWorkspace)
- Fix low-contrast text in AccessibilityPanel vision summary
- Fix AIPanel metadata text contrast (gray-400 → stone-500)
- Fix ActionPanel spinner visibility on light bg variants
- Fix LocalModelPanel ollama link hover color
- Fix MessagingPanel error chip to light theme tokens
- Fix RecoveryPhrasePanel import inputs from dark to light tokens
- Fix TeamMembersPanel avatar initial contrast + modal name text
- Fix Intelligence refresh button text contrast
- Remove non-functional + Add button and filter tabs from Skills page

* feat(ui): center conversation page in a white card container

Match the Figma design where the chat is inside a centered white card
with rounded corners and shadow, consistent with the Skills page layout.

* feat(ui): wrap all remaining pages in centered white card containers

Apply the centered card layout (max-w-2xl, white bg, rounded-2xl,
shadow-soft) to every page for visual consistency with Figma designs:

- Settings: wrap Routes container in centered card with max-height
- Intelligence: centered card with padding
- Agents: centered card with empty state
- Invites: centered card, replace glass with white cards
- Webhooks: centered cards for tunnel list and activity
- Mnemonic: centered card, replace glass with white card
- Welcome: light bg, updated text colors

* fix(ui): stretch settings menu items to fill card container

Remove max-w-md constraint from SettingsHome scrollable area so menu
items fill the full width of the centered card wrapper.

* fix(ui): convert onboarding screens from dark to light theme

All onboarding steps (Welcome, LocalAI, ScreenPermissions, Analytics,
Tools, Skills, Connect, InviteCode, Mnemonic) and the overlay container
now use white cards with light backgrounds, matching the app redesign.

- Card containers: bg-black → bg-white with border-stone-200
- Info boxes: dark tinted → bg-stone-50 with border-stone-200
- Text: text-white → text-stone-900, secondary to text-stone-600
- Progress dots: inactive bg-stone-700 → bg-stone-300
- Toggle rows, permission badges, inputs all converted to light tokens

* fix(ui): fix onboarding Continue button hover turning green

Replace sage hover styles with proper primary blue hover (bg-primary-600)
on the shared OnboardingNextButton component.

* fix(ui): reapply light theme to Home.tsx after upstream merge overwrite

The merge with upstream (Local AI preset bootstrap PR #304) reverted
Home.tsx to the dark theme. Reapply the Figma-based light redesign while
preserving the new first-run bootstrap logic from upstream.

* fix(ui): light theme cleanup for MemoryWorkspace component

Remaining dark-theme classes from upstream merge — update borders,
text colors, and backgrounds to match light theme.
2026-04-03 21:05:59 +05:30
735152cb3f feat(memory): surface entity types in recall/query API and UI (#207) (#302)
* fix: patch whisper-rs-sys for Windows MSVC static CRT (/MT)

The upstream whisper-rs-sys builds whisper.cpp via CMake which
defaults to /MD (dynamic CRT), but Rust and all other C deps
use /MT (static CRT). This causes LNK2038/LNK1169 linker errors
on Windows.

Patch whisper-rs-sys from tinyhumansai/whisper-rs-sys fork which
adds config.static_crt(true) and overrides all per-config CMake
flags (Debug/Release/MinSizeRel/RelWithDebInfo) from /MD to /MT.

Closes #273

* feat: surface entity types in memory recall/query text context

Entity types extracted by GLiNER (person, project, organization, etc.)
were stored in graph attrs but not rendered in LLM context text.
Relations now display as Alice (PERSON) -[OWNS]-> Atlas (PROJECT)
instead of Alice -[OWNS]-> Atlas.

Closes #207

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* feat(memory): add entity type UI rendering (#207)

- New MemoryTextWithEntities component with colour-coded type badges
- MemoryWorkspace + MemoryDebugPanel pass structured entity data
- MemoryGraphMap shows entity types below node labels
- MemoryInsights shows EntityTypeBadge for subject/object types
- tauriCommands returns typed MemoryQueryResult with entities
- Updated useConsciousItems and tests for new return types

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* style: fix prettier formatting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* style: fix cargo fmt in query.rs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: use local regex instead of mutating module-level lastIndex

Avoids react-hooks/immutability ESLint error by using a non-global
regex for the .test() check instead of resetting ENTITY_TYPE_RE.lastIndex.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: sanil jain <jainsanil18@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 20:34:55 +05:30
cb3f2d351c feat(memory): redesign memory workspace with graph, insights, heatmap (#185)
* updated memory files

* updated memory

* Refactor MemoryHeatmap component to enhance functionality and improve performance

- Updated the MemoryHeatmap component to track document/relation timestamps over the last 8 months instead of 52 weeks.
- Improved date handling by aligning the start date to the nearest Sunday and counting timestamps within the display range.
- Enhanced grid generation logic to dynamically calculate the number of weeks displayed based on the available data.
- Adjusted SVG dimensions to ensure proper scaling and responsiveness.
- Updated UI text to reflect the new time frame for event tracking.

These changes improve the accuracy and usability of the MemoryHeatmap, providing a clearer view of user activity over time.

* feat(memory): redesign memory workspace with graph, insights, heatmap

Break MemoryWorkspace into focused sub-components (MemoryStatsBar,
MemoryGraphMap, MemoryInsights, MemoryHeatmap). Fix lint errors in
MemoryGraphMap (window.rAF, unused ref). Change heatmap to fixed
8-month range with responsive SVG width.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* style: format MemoryGraphMap with prettier

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(tests): update MemoryWorkspace tests for refactored components

Align test assertions with the new sub-component structure
(MemoryStatsBar, MemoryGraphMap, MemoryInsights, MemoryHeatmap).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 21:42:39 -07:00