Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1478 commits
Select commit Hold shift + click to select a range
b42e5ca
doc: add privacy analysis report
lamat1111 Dec 3, 2025
07f632a
feat: add toast for bookmark limit feedback
lamat1111 Dec 4, 2025
b32add5
fix: truncate links and prevent overflow in bookmarks
lamat1111 Dec 4, 2025
c1a5909
feat: compact date format for mobile panels
lamat1111 Dec 4, 2025
a2c6ee6
task: refine space folders UX and visual design
lamat1111 Dec 4, 2025
c9fab8e
task: restructure folders spec as checklist
lamat1111 Dec 4, 2025
510ce49
task: finalize space folders spec with edge cases
lamat1111 Dec 4, 2025
f5ca12b
doc: add web-native feature sync analysis
lamat1111 Dec 4, 2025
ec2cb85
style: responsive MessageActions with larger icons on xl
lamat1111 Dec 4, 2025
6006585
task: add context menu and highlight tasks
lamat1111 Dec 5, 2025
f68a34f
refactor: complete message highlight system overhaul
lamat1111 Dec 5, 2025
df43da1
feat: add desktop right-click context menu for messages
lamat1111 Dec 5, 2025
6c78304
i18n: update translations for all locales
lamat1111 Dec 5, 2025
5fa6e11
fix: handle duplicate message IDs in search index
lamat1111 Dec 5, 2025
343f6c3
fix: prevent invalid div inside p nesting
lamat1111 Dec 5, 2025
c0c644e
chore: disable display-name and entities rules
lamat1111 Dec 5, 2025
b65f57e
chore: fix ESLint warnings across components
lamat1111 Dec 5, 2025
714e258
chore: exclude i18n from ESLint
lamat1111 Dec 5, 2025
0ade5e1
chore: apply ESLint auto-fix (let to const)
lamat1111 Dec 5, 2025
41ffa26
feat: add icon variant toggle to IconPicker
lamat1111 Dec 6, 2025
1bbc330
wip: space folders data foundation (phase 1)
lamat1111 Dec 6, 2025
544e442
wip: folder UI components (phase 2)
lamat1111 Dec 6, 2025
fe54573
wip: folder modals and context menu (phase 3)
lamat1111 Dec 6, 2025
3d9db6e
wip: folder drag & drop with UI polish (phase 4)
lamat1111 Dec 6, 2025
50fafaa
fix: folder name input and validation
lamat1111 Dec 7, 2025
e63d821
fix: enable scrolling in nav menu spaces list
lamat1111 Dec 7, 2025
95933d6
doc: add new onboarding flow spec
lamat1111 Dec 8, 2025
9fc1581
doc: add /doc-update slash command
lamat1111 Dec 9, 2025
f91f722
doc: add bug report for bloated encryption states
lamat1111 Dec 9, 2025
e1d1b36
fix: filter bloated encryption states from config sync
lamat1111 Dec 9, 2025
7e2fe39
fix: update items array when creating/joining spaces
lamat1111 Dec 9, 2025
917fbfe
doc: update agents index, docs manifest, and verify documentation
lamat1111 Dec 9, 2025
6332b6b
doc: add evals docs and bloat bug report
lamat1111 Dec 9, 2025
3bba6c5
fix: revert bloated state filter hack
lamat1111 Dec 9, 2025
9d54939
feat: improve folder deletion UX
lamat1111 Dec 9, 2025
c2dcb42
style: add bordered tooltips for light theme
lamat1111 Dec 9, 2025
9083666
style: add theme-aware folder colors
lamat1111 Dec 9, 2025
62da5c2
fix: prevent theme switch flash on UI elements
lamat1111 Dec 9, 2025
d2709ca
fix: mention index alignment and code block hooks
lamat1111 Dec 9, 2025
2fd39f0
fix: mention index alignment and code block hooks
lamat1111 Dec 9, 2025
d537762
style: improve navbar toggle indicators
lamat1111 Dec 10, 2025
0ac5f33
refactor: improve folder utils type safety
lamat1111 Dec 10, 2025
120cc90
fix: auto-open folder modal and drop target border
lamat1111 Dec 10, 2025
ef6745c
Merge pull request #109 from QuilibriumNetwork/cross-platform_space-f…
lamat1111 Dec 10, 2025
0a54b55
i18n: update translation source references
lamat1111 Dec 10, 2025
d95f90a
fix: defer saveConfig to prevent UI freeze on sync
lamat1111 Dec 10, 2025
d5dd550
fix: disable sync toggle until config loads
lamat1111 Dec 10, 2025
10ad679
fix: folder modal timeout and delete cursor
lamat1111 Dec 10, 2025
b992ced
doc: replace style-validator with design-expert agent
lamat1111 Dec 10, 2025
0038756
doc: add tooltip flickering bug report
lamat1111 Dec 10, 2025
2e83f42
task: add tooltip shared mode implementation plan
lamat1111 Dec 10, 2025
2977070
chore: archive tooltip flickering fix attempt
lamat1111 Dec 11, 2025
3b8db4d
feat: enable folder drag-and-drop reordering
lamat1111 Dec 11, 2025
e252014
fix: touch drag-and-drop for nav menu
lamat1111 Dec 11, 2025
0cc24d2
feat: add deleting overlay to space settings
lamat1111 Dec 11, 2025
c8749eb
style: update danger text color
lamat1111 Dec 11, 2025
a22c499
task: add read-only channel bypass fix
lamat1111 Dec 11, 2025
538b613
fix: read-only channel bypass vulnerability
lamat1111 Dec 11, 2025
6952eb8
task: add message length bypass fix
lamat1111 Dec 11, 2025
04a87fe
fix: message length & mention count bypass
lamat1111 Dec 11, 2025
7480fc1
fix: add 2-layer message rate limiting
lamat1111 Dec 11, 2025
8832473
doc: restructure security.md as architecture doc
lamat1111 Dec 11, 2025
f66b8ac
style: soften danger text color
lamat1111 Dec 11, 2025
75cf2ec
fix: docs-manager encoding on native Windows
lamat1111 Dec 12, 2025
95f03af
feat: add cross-client pin sync with validation
lamat1111 Dec 12, 2025
9d0706d
feat: add database-layer bookmark limit validation
lamat1111 Dec 12, 2025
3ae2cf4
i18n: add role moderation and rate limit strings
lamat1111 Dec 12, 2025
e7bfcb1
i18n: add translations for all locales
lamat1111 Dec 12, 2025
87fcfe8
fix: add bidirectional config filtering and fix space creation race c…
lamat1111 Dec 12, 2025
47babc1
feat: add progressive messages to modal overlays
lamat1111 Dec 12, 2025
7b41127
fix: handle inbox_key null for deleted spaces
lamat1111 Dec 12, 2025
2dac7a3
doc: improve onboarding flow UX and step numbering
lamat1111 Dec 12, 2025
493a326
task: add config save optimization tasks
lamat1111 Dec 13, 2025
918f76c
task: update action queue with timing data
lamat1111 Dec 13, 2025
cde4b4d
task: revise config sync with security reqs
lamat1111 Dec 13, 2025
0e56bfc
feat: implement user config sync for returning users
lamat1111 Dec 13, 2025
05892b7
task: add space recovery tool plan
lamat1111 Dec 13, 2025
9f749f2
feat: add space recovery tool in settings
lamat1111 Dec 13, 2025
591a011
i18n: translate and compile
lamat1111 Dec 13, 2025
3a3d11f
doc: enforce template usage in changelog skill
lamat1111 Dec 13, 2025
e25d304
task: add service worker app update detection
lamat1111 Dec 14, 2025
cc11729
feat: add toast positioning above MessageComposer
lamat1111 Dec 14, 2025
1c4beb3
feat: add sync toast notification
lamat1111 Dec 14, 2025
2f41de5
doc: update index and task docs
lamat1111 Dec 14, 2025
28f84c9
style: show toggle indicator on drag merge target
lamat1111 Dec 14, 2025
bb51fc8
task: add message sending indicator task
lamat1111 Dec 14, 2025
13aab86
bug: add user:kick role permission report
lamat1111 Dec 14, 2025
aa38cb7
fix: remove non-functional user:kick role permission
lamat1111 Dec 14, 2025
d9b8713
task: add user mute feature implementation plan
lamat1111 Dec 14, 2025
1bdf107
feat: implement user mute moderation system
lamat1111 Dec 15, 2025
9eaa231
refactor: remove dead canKickUser code
lamat1111 Dec 15, 2025
1ec520d
fix: use correct MiniSearch discard method
lamat1111 Dec 15, 2025
62c95e2
feat: add user info display to kick modal
lamat1111 Dec 15, 2025
41251fd
doc: consolidate owner privacy limitation docs
lamat1111 Dec 15, 2025
aa518be
i18n: add missing translations
lamat1111 Dec 15, 2025
eb84f52
doc: add MuteUserModal to modals docs
lamat1111 Dec 15, 2025
017685c
fix: show sync toast only when receiving messages
lamat1111 Dec 15, 2025
01a0c64
fix: prevent group icon shrinking on long names
lamat1111 Dec 15, 2025
389cdb3
style: add username truncation in UserProfile
lamat1111 Dec 15, 2025
ee6efc4
fix: use bottomFixed for settings modal toasts
lamat1111 Dec 15, 2025
a1821cb
style: show folder color in context menu
lamat1111 Dec 15, 2025
52409be
fix: tooltip flickering at top-left on hover
lamat1111 Dec 15, 2025
9b0bdd9
feat: add mute duration support (0-365 days)
lamat1111 Dec 16, 2025
2565b77
task: refine message sending indicator plan
lamat1111 Dec 16, 2025
a2fa7ad
style: add text-warning and text-success CSS vars
lamat1111 Dec 16, 2025
5de8f26
feat: add message sending indicator with retry
lamat1111 Dec 16, 2025
cef4050
doc: reorganize messagedb task docs
lamat1111 Dec 16, 2025
8d58f76
i18n: add new translations
lamat1111 Dec 16, 2025
a7ad6c0
style: use float for code block copy button
lamat1111 Dec 16, 2025
4053558
fix: dedupe messages to prevent React key warnings
lamat1111 Dec 17, 2025
5a2034d
task: simplify background action queue plan
lamat1111 Dec 17, 2025
9d83391
wip: action queue milestones 1-3
lamat1111 Dec 17, 2025
ce0bce5
wip: action queue with optimistic UI updates
lamat1111 Dec 17, 2025
d567557
wip: integrate message sending into action queue
lamat1111 Dec 17, 2025
a8514db
wip: integrate edit-message into action queue
lamat1111 Dec 17, 2025
deb17e8
fix: offline banner UX improvements
lamat1111 Dec 18, 2025
0939657
fix: mute modal closes instantly, error via toast
lamat1111 Dec 18, 2025
8f5cec5
refactor: remove dead ActionQueue fallback code
lamat1111 Dec 18, 2025
2baaf61
doc: update action queue and messagedb docs
lamat1111 Dec 18, 2025
9897ccd
fix: prevent ghost messages after delete
lamat1111 Dec 18, 2025
8cfc90e
fix: prevent deleted messages reappearing via sync
lamat1111 Dec 18, 2025
4b775f8
fix: add defensive guards for undefined displayName in avatar utils
lamat1111 Dec 18, 2025
0c38170
fix: include sender identity in DM encryption
lamat1111 Dec 18, 2025
5067e12
feat: add deleting overlay to confirmation modal
lamat1111 Dec 18, 2025
4232689
task: add DM action queue handlers task
lamat1111 Dec 18, 2025
6486ca8
feat: add DM action queue handlers with granular feature flags
lamat1111 Dec 18, 2025
239cae9
fix: resolve DM sending indicator hang and race condition
lamat1111 Dec 19, 2025
a37bb28
fix: save Triple Ratchet state after edit/pin encryption
lamat1111 Dec 19, 2025
050e87a
refactor: align channel handler cache update with DM atomic pattern
lamat1111 Dec 19, 2025
7679244
fix: skip rate limiting for DM sync
lamat1111 Dec 19, 2025
aeff70f
refactor: simplify DM action queue to single feature flag
lamat1111 Dec 19, 2025
102a95e
task: add bug report + task + report (scroll issue + websocket)
lamat1111 Dec 19, 2025
002e1a9
fix: separate WebSocket inbound/outbound processing to prevent blocking
lamat1111 Dec 19, 2025
49c19ae
fix: restore update-profile handler in submitChannelMessage
lamat1111 Dec 19, 2025
fc86139
doc: move action-queue to reports folder
lamat1111 Dec 19, 2025
877f2ee
perf: optimize scroll and resize handlers
lamat1111 Dec 19, 2025
b614af5
fix: enable offline navigation for IndexedDB queries
lamat1111 Dec 19, 2025
f1ad75a
fix: enable offline DM navigation with fallback UI
lamat1111 Dec 19, 2025
e345701
i18n: update translations
lamat1111 Dec 19, 2025
9e68de0
fix: use WebSocket for offline detection
lamat1111 Dec 20, 2025
e42fb2c
fix: increase React Query cache retention
lamat1111 Dec 20, 2025
d1f2086
task: update docs and mark offline task done
lamat1111 Dec 20, 2025
b5013cf
refactor: extract encryptAndSendToSpace helper and reorganize docs
lamat1111 Dec 20, 2025
636a9a4
fix: debounce WebSocket disconnect state
lamat1111 Dec 20, 2025
b815a7b
chore: remove debug console.log statements
lamat1111 Dec 20, 2025
4419a86
doc: add offline support summary to action queue
lamat1111 Dec 20, 2025
3024d39
feat: add offline warning to CreateSpaceModal
lamat1111 Dec 20, 2025
8561edf
doc: add security bug report for action queue
lamat1111 Dec 20, 2025
a9629c7
doc: add cryptographic architecture documentation
lamat1111 Dec 20, 2025
ae1768e
fix: don't store private keys in action queue
lamat1111 Dec 21, 2025
8e665f9
fix: remove unused senderAddress from bookmarks
lamat1111 Dec 21, 2025
28c3bef
fix: update React Query cache after config save
lamat1111 Dec 21, 2025
daca513
refactor: simplify DM action queue to not store user registrations
lamat1111 Dec 22, 2025
a877065
fix: reduce registration cache staleTime to 5 minutes
lamat1111 Dec 22, 2025
6a2f636
fix: respect ENABLE_DM_ACTION_QUEUE feature flag
lamat1111 Dec 22, 2025
7e123b9
fix: clean stale encryption states on DM page load
lamat1111 Dec 22, 2025
3780a83
fix: use Action Queue only when offline for DMs
lamat1111 Dec 22, 2025
c5c746f
doc: update action-queue docs for offline-only DM routing
lamat1111 Dec 22, 2025
06217bd
feat: add offline handling to space and DM modals
lamat1111 Dec 22, 2025
bb39022
fix: persist DM profile updates to IndexedDB
lamat1111 Dec 22, 2025
ed8c130
fix: skip mute check for DMs in MessageService
lamat1111 Dec 23, 2025
3d7b6a1
test: update service tests for evolved APIs
lamat1111 Dec 23, 2025
aa4bab2
doc: add IndexedDB schema reference and debug tools
lamat1111 Dec 23, 2025
c10dbf2
Merge pull request #116 from QuilibriumNetwork/cross-platform_action-…
lamat1111 Dec 24, 2025
3dde6cd
feat: add double-click to reply for desktop
lamat1111 Dec 24, 2025
b4be0fd
style: simplify new messages separator design
lamat1111 Dec 24, 2025
947c7bf
perf: virtualize mobile drawer members list
lamat1111 Dec 24, 2025
f1656ac
feat: add collapsible role groups in members sidebar
lamat1111 Dec 24, 2025
5ba230c
doc: update tasks and feature documentation
lamat1111 Dec 24, 2025
70dae9e
task: add channel mute and role visibility tasks
lamat1111 Dec 26, 2025
9b8b1e8
i18n: update translations
lamat1111 Dec 26, 2025
113996b
qm delta
CassOnMars Dec 31, 2025
f43e022
Update to latest sync/encryption
CassOnMars Dec 31, 2025
1293908
fix build
CassOnMars Dec 31, 2025
b8b799c
further build fix
CassOnMars Dec 31, 2025
ba85628
update translations
CassOnMars Dec 31, 2025
448eb05
doc: add sending_inbox mismatch case study
lamat1111 Dec 26, 2025
2275710
feat: unified context menu system
lamat1111 Dec 27, 2025
c184209
fix: remove insecure clipboard fallback for old Android
lamat1111 Dec 27, 2025
e033682
feat: add channel mute system with context menu
lamat1111 Dec 27, 2025
5b6db29
feat: add space-level muting and UI improvements
lamat1111 Dec 27, 2025
c712b08
fix: preserve template/evals in Triple Ratchet state
lamat1111 Dec 27, 2025
2251e5a
fix: require role for space owner pin action
lamat1111 Dec 27, 2025
9c96625
doc: update docs and add storage analysis
lamat1111 Dec 27, 2025
a1cddf6
i18n: update translations for mute and settings
lamat1111 Dec 27, 2025
b445007
style: standardize toggle switch layout in modals
lamat1111 Dec 27, 2025
78ebb09
fix: open context menu on space long press
lamat1111 Dec 28, 2025
fc5d971
style: use folder color for notification badge
lamat1111 Dec 28, 2025
5b67339
style: improve user settings modal layouts
lamat1111 Dec 28, 2025
5e3af2b
syle: improve role editor UX and channel validation
lamat1111 Dec 28, 2025
f2b92ec
feat: add mock conversations for DM list testing
lamat1111 Dec 29, 2025
38d978d
style: remove redundant members sidebar from DMs
lamat1111 Dec 29, 2025
c1c15d8
chore: simplify mock data URL parameter
lamat1111 Dec 29, 2025
3c59f1c
feat: add DM contacts search, filtering, and favorites
lamat1111 Dec 29, 2025
68b3b9b
fix: update mock data URL param in consuming files
lamat1111 Dec 29, 2025
2debd48
refactor: remove dead sidebarContent code from Channel
lamat1111 Dec 29, 2025
224054c
task: space tags and public space directory tasks
lamat1111 Dec 30, 2025
2711d07
i18n: update translations for DM features
lamat1111 Jan 2, 2026
fd10e6d
chore: remove unused playground components
lamat1111 Jan 2, 2026
409ce2b
style: align Mobile Import with Key Export layout
lamat1111 Jan 2, 2026
0d05d70
i18n: update QR security warning translations
lamat1111 Jan 2, 2026
dea38d4
doc: update docs for sync protocol and config key
lamat1111 Jan 2, 2026
8bb6f41
refactor: replace console.log with logger utility
lamat1111 Jan 2, 2026
57494d3
refactor: consolidate duplicate icon mappings
lamat1111 Jan 3, 2026
8baa59e
style: simplify empty DM screen
lamat1111 Jan 3, 2026
cd5749a
style: replace DM logo with message icon
lamat1111 Jan 3, 2026
6bf90ce
style: reduce search input font size to 14px
lamat1111 Jan 3, 2026
b46d4ad
feat: add short address suffix format (#abcdef)
lamat1111 Jan 3, 2026
42f3cba
fix: improve MessageActionsMenu vertical positioning
lamat1111 Jan 3, 2026
4b9a52b
chore: misc cleanup and icon fixes
lamat1111 Jan 3, 2026
e329c78
feat: add image delete functionality to upload fields
lamat1111 Jan 3, 2026
de143e2
i18n: update translations
lamat1111 Jan 3, 2026
d6d71c2
style: add sidebar icons and improve nav toggle UX
lamat1111 Jan 4, 2026
4d41b57
fix: prevent accidental taps when scrolling on touch
lamat1111 Jan 4, 2026
9e64aaa
fix: remove focus outline on clickable icons
lamat1111 Jan 4, 2026
9792374
fix: restrict desktop notifications to DMs only
lamat1111 Jan 4, 2026
bad8d08
fix: hide tooltips when context menu is open
lamat1111 Jan 4, 2026
330569d
fix: prevent own messages from showing as unread
lamat1111 Jan 4, 2026
413fb69
feat: add DM conversation mute feature
lamat1111 Jan 4, 2026
a6ba868
fix: restore sync toast for new sync protocol
lamat1111 Jan 4, 2026
dde4e09
feat: add contextual desktop notifications
lamat1111 Jan 4, 2026
e921677
docs: update documentation for notification features
lamat1111 Jan 4, 2026
5a5a0c4
i18n: update translations
lamat1111 Jan 4, 2026
0825974
fix: DM unread indicator not clearing after reading messages
lamat1111 Jan 4, 2026
aeb798c
task: add task for lingui optimization
lamat1111 Jan 4, 2026
53e937a
chore: update to use shared sync service
CassOnMars Jan 5, 2026
05a58b6
doc: add quorum-shared migration analysis report
lamat1111 Jan 5, 2026
1865f50
feat: add message grouping with compact headers
lamat1111 Jan 5, 2026
74dd935
fix: message scroll and composer shape issues
lamat1111 Jan 5, 2026
112bb87
feat: add visual indicators for muted and favorite DMs
lamat1111 Jan 5, 2026
8e3370d
feat: add DM context menu with mark all as read
lamat1111 Jan 6, 2026
0852a32
fix: add comment-dots legacy icon alias
lamat1111 Jan 6, 2026
648c8cc
fix: add reply-counts cache invalidation for SpaceIcon
lamat1111 Jan 6, 2026
2d1f7eb
feat: add mark all as read to space context menu
lamat1111 Jan 6, 2026
78f7bb8
feat: add spoiler syntax support (||text||)
lamat1111 Jan 6, 2026
ad97c51
chore: update task docs and fix DM icon styling
lamat1111 Jan 6, 2026
81c74e6
feat: add keyboard shortcuts for markdown formatting
lamat1111 Jan 6, 2026
6f49679
feat: add Help tab to user settings modal
lamat1111 Jan 6, 2026
f102b81
feat: add bio field to user settings
lamat1111 Jan 6, 2026
d1ea5eb
doc: add multi-repo ecosystem documentation
lamat1111 Jan 6, 2026
41f1746
i18n: update translations
lamat1111 Jan 6, 2026
90ccbe0
doc: add tasks and bug reports, update index
lamat1111 Jan 7, 2026
bfd58c3
feat: add show online status toggle
lamat1111 Jan 7, 2026
49eb4ef
task: add channel ordering feature task and analysis
lamat1111 Jan 8, 2026
652d18c
feat: improve DM search with bordered input and filter icons
lamat1111 Jan 8, 2026
1be7aa7
feat: improve invite UI clarity with dynamic labels
lamat1111 Jan 8, 2026
5197c46
i18n: update translations
lamat1111 Jan 8, 2026
4a1cd66
task: update space-tags and backup feature specs
lamat1111 Jan 8, 2026
8530075
feat: hide public space toggle until approved
lamat1111 Jan 8, 2026
fab6ec8
style: use external gap for message spacing
lamat1111 Jan 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
130 changes: 130 additions & 0 deletions .agents/AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Quick Reference for Agents

Fast lookup guide for file paths and essential patterns. **For detailed workflows, see [agents-workflow.md](agents-workflow.md)**.

---

## 🌐 Quorum Ecosystem

This repo is part of a **multi-repo ecosystem**. Data syncs across all clients.

| Repository | Purpose | URL |
|------------|---------|-----|
| **quorum-desktop** | Web + Electron (this repo) | `github.com/QuilibriumNetwork/quorum-desktop` |
| **quorum-mobile** | React Native + Expo | `github.com/QuilibriumNetwork/quorum-mobile` |
| **quorum-shared** | Shared types, hooks, sync | `github.com/QuilibriumNetwork/quorum-shared` |

**Before implementing features**: Check if mobile has it → use same shared types for sync compatibility.

→ **Full Guide**: [Quorum Ecosystem Architecture](docs/quorum-shared-architecture.md)

---

## 📁 Key File Locations

| Category | Location | Key Files |
|----------|----------|-----------|
| **Primitives** | `src/components/primitives/` | Button, Input, Modal, Text, etc. |
| **Components** | `src/components/` | Business logic components |
| **Hooks** | `src/hooks/` | Custom React hooks |
| **Types** | `src/types/` | TypeScript definitions |
| **Services** | `src/services/` | API calls, utilities |
| **Styling** | `src/styles/` | SCSS variables, themes |
| **Router** | `src/components/Router/` | ModalRouter.tsx |

## 📱 Platform Detection
```tsx
import { isWeb, isMobile, isElectron } from 'src/utils/platform';
```

## 🎨 Essential Styling
- **Guidelines**: `docs/styling-guidelines.md` ⭐ **READ FIRST**
- **Tailwind**: Simple styles (< 7 classes)
- **SCSS**: Complex/shared styles
- **Variables**: Always use CSS variables, never hex
- **Theme**: `dark` class on `<html>` switches themes

## ⚡ Essential Patterns

### Primitive Usage (Platform-Aware)
```tsx
// ALWAYS use primitives for interactions
<Button onClick={save}>Save</Button>
<Input value={name} onChange={setName} />

// TEXT: Platform-specific choice
// Shared (.tsx): Use helpers - <Title>, <Paragraph>
// Web-only (.web.tsx): Use Text + as - <Text as="h1">
// Both typography & legacy props valid long-term
```

### Theme Integration
```tsx
import { useTheme } from '../components/primitives/theme';
const theme = useTheme();
```

### i18n
```tsx
import { Trans } from '@lingui/react/macro';
<Trans>User text</Trans>
```

## 🔧 Development Commands

```bash
yarn dev # Start dev server (ask user)
yarn build # Build project (you can run)
yarn validate # Type check + lint (run after changes)
yarn lint # Lint only
yarn format # Format (run on modified files)
```

### WSL/Windows
```bash
# Get current Windows path and run commands
WINDOWS_PATH=$(pwd | sed 's|^/mnt/\([a-z]\)/|\U\1:/|' | sed 's|/|\\|g')
cmd.exe /c "cd /d $WINDOWS_PATH && yarn validate"
```

## 📦 Package Management
**Use `yarn` only** - never `npm` (creates conflicts)

## 📦 @quilibrium/quorum-shared

Shared package providing types, hooks, and utilities for Quorum apps (web + mobile).

| Module | Purpose | Common Import |
|--------|---------|---------------|
| **Types** | Space, Message, Channel, User, etc. | `import type { Space, Message } from '@quilibrium/quorum-shared'` |
| **Storage** | StorageAdapter interface | `import type { StorageAdapter } from '@quilibrium/quorum-shared'` |
| **Sync** | Hash-based delta sync protocol | `import { SyncService, createMemberDigest } from '@quilibrium/quorum-shared'` |
| **Hooks** | React Query hooks | `import { useSpaces, useMessages } from '@quilibrium/quorum-shared'` |
| **Utils** | Logger, encoding, formatting | `import { logger } from '@quilibrium/quorum-shared'` |
| **Crypto** | E2E encryption, Ed448 signing | `import { WasmCryptoProvider } from '@quilibrium/quorum-shared'` |

→ **Full Guide**: [quorum-shared-architecture.md](docs/quorum-shared-architecture.md)

## 🎯 Quick Component Lookup

| Component | Use For |
|-----------|---------|
| `Button` | Interactive buttons |
| `Input` | Text inputs |
| `Modal` | Modal dialogs |
| `Text` / `Title` / `Paragraph` | Text content |
| `FlexRow` / `FlexColumn` | Simple layouts |
| `Container` | Styled wrappers |

→ **Full API**: `docs/features/primitives/API-REFERENCE.md`

## 📚 Key Documentation

- **Workflow Guide**: [agents-workflow.md](agents-workflow.md)
- **Full Index**: [INDEX.md](INDEX.md)
- **Primitives**: `docs/features/primitives/INDEX.md`
- **Styling**: `docs/styling-guidelines.md`

---

_Quick reference only - see [agents-workflow.md](agents-workflow.md) for detailed processes_
Loading