Agent Zero
e0975f4044
fix: mail UI German labels, multi-folder sync, account management, resizable panel fix
2026-07-15 14:36:45 +02:00
Agent Zero
0409a08002
feat(mail): resizable columns, account in folder tree, mail settings in CRM settings
...
- Add ResizablePanel component (components/ui/ResizablePanel.tsx) with
drag-to-resize via mouse events, no external dependencies
- Replace fixed-width columns in Mail.tsx with ResizablePanel for all
three panes (folder tree, mail list, mail detail)
- Remove account-select toolbar item from Mail.tsx; account selection
is now integrated into the folder tree
- Restructure MailFolderTree to show mail accounts as top-level nodes
with folders nested underneath, built from flat list via parent_id
- Add expand/collapse chevrons for accounts and folders with children
- Load folders for ALL accounts (not just selected one) so multi-account
tree works
- Derive selectedAccountId from selected folder instead of separate
account selector
- Add Mail tab to CRM Settings page (Settings.tsx) with 📧 icon
- Add /settings/mail route pointing to MailSettingsPage
- Update settings link in mail toolbar to point to /settings/mail
- Update no-accounts empty state link to /settings/mail
2026-07-15 13:37:22 +02:00
Agent Zero
5693fe1c3a
fix: stabilize store functions with selectors to prevent infinite loop
...
- Use usePluginToolbarStore((s) => s.registerItems) selector pattern
- Remove store functions from useEffect dependency array
- Store functions are stable references from zustand selectors
2026-07-15 13:10:27 +02:00
Agent Zero
1f01f2182a
fix: React infinite loop - use primitive deps for toolbar registration
...
- Replace selectedMail object with selectedMailId and selectedMailFlagged primitives
- Prevents useEffect infinite re-render loop
2026-07-15 13:03:36 +02:00
Agent Zero
d82ca27fdc
feat: move reply/forward/flag/event buttons to plugin toolbar
...
- Toolbar now includes context-aware mail action buttons
- Reply, Forward, Flag, Create Event disabled when no mail selected
- Buttons grouped: account | search | compose | mail-actions | tools
2026-07-15 12:55:41 +02:00
Agent Zero
56f624a073
feat: plugin ribbon toolbar + mail response fixes
...
- Add pluginToolbarStore for plugin toolbar item registration
- Add PluginToolbar component (slim ribbon bar under TopBar)
- Update AppShell to render PluginToolbar between TopBar and content
- Mail page registers toolbar items (account select, search, compose, sync, settings)
- Remove old mail top bar, use plugin toolbar instead
- Fix mail response: arrays for addresses, add from_name/body_html/sanitized_html/date
2026-07-15 12:22:14 +02:00
Agent Zero
0d882eaca5
fix: mail plugin CSRF token handling and trailing slash
...
- Add CSRF token storage in sessionStorage (persists across reloads)
- Send X-CSRF-Token header on POST/PATCH/DELETE requests
- Store CSRF token on login, clear on logout
- Fix trailing slash in mail list API call (/mail/ -> /mail)
2026-07-15 01:54:11 +02:00
leocrm-bot
ee4b16d98b
fix: remove Users and Settings from sidebar navigation
2026-07-07 07:15:02 +02:00
Leopoldadmin
7a42cf3457
i18n: Fix en.json — full content with address type keys, address UI labels, currencies/taxes/sequences add+confirmDelete
2026-07-04 07:19:36 +00:00
Leopoldadmin
cbb67dac09
i18n: Fix de.json — full content with address type keys, address UI labels, currencies/taxes/sequences add+confirmDelete
2026-07-04 07:18:36 +00:00
Leopoldadmin
fdf4ea4213
A: Remove address fields from ContactForm — addresses now via AddressList in detail view
2026-07-04 07:17:08 +00:00
Leopoldadmin
039a3e5a26
A: Remove address fields from CompanyForm — addresses now via AddressList in detail view
2026-07-04 07:17:07 +00:00
Leopoldadmin
49dca39511
i18n: Add address type keys, address UI labels, currencies/taxes/sequences add+confirmDelete to en.json
2026-07-04 07:17:07 +00:00
Leopoldadmin
15a1175bcb
i18n: Add address type keys, address UI labels, currencies/taxes/sequences add+confirmDelete to de.json
2026-07-04 07:17:06 +00:00
Leopoldadmin
bfd65af978
A: Fix hooks.ts — add address hooks (useAddresses, useCreateAddress, useUpdateAddress, useDeleteAddress), useUpdateSequence, useDeleteSequence, fix audit-log endpoint URL
2026-07-04 01:44:51 +00:00
Leopoldadmin
e3f8543102
Update frontend/src/api/hooks.ts
2026-07-04 01:42:12 +00:00
Leopoldadmin
a61531ca19
A: Add AddressList tab to ContactDetail.tsx
2026-07-04 01:42:11 +00:00
Leopoldadmin
afb9e86c50
A: Add AddressList tab to CompanyDetail.tsx
2026-07-04 01:42:11 +00:00
Leopoldadmin
5319ac2538
C4: Update routes/index.tsx — add routes for currencies, taxes, sequences
2026-07-04 01:37:04 +00:00
Leopoldadmin
3b12c70a7e
C4: Update Settings.tsx — add nav items for currencies, taxes, sequences
2026-07-04 01:37:03 +00:00
Leopoldadmin
9bde2d7e7a
C4: Add SettingsSequences.tsx — CRUD UI for sequences (no edit of next_number)
2026-07-04 01:37:03 +00:00
Leopoldadmin
41b4b885dc
C4: Add SettingsTaxes.tsx — CRUD UI for tax rates
2026-07-04 01:37:02 +00:00
Leopoldadmin
0cb36d6f2a
C4: Add SettingsCurrencies.tsx — CRUD UI for currencies
2026-07-04 01:37:01 +00:00
Leopoldadmin
26a01f706f
A: Add AddressList.tsx component — list, create, edit, delete, set default
2026-07-04 01:37:01 +00:00
Leopoldadmin
d0817427c1
feat(core): add attachment API hooks
2026-07-04 00:29:39 +00:00
Leopoldadmin
1e03c84591
feat(core): add systemSettings i18n keys (en)
2026-07-04 00:27:21 +00:00
Leopoldadmin
0727e5a505
feat(core): add systemSettings i18n keys (de)
2026-07-04 00:27:20 +00:00
Leopoldadmin
e59bbc7a11
feat(core): add system settings, currency, tax, sequence API hooks
2026-07-04 00:27:20 +00:00
Leopoldadmin
d17615fa45
feat(core): add SettingsSystem route
2026-07-04 00:27:20 +00:00
Leopoldadmin
8bbc49fb12
feat(core): add System settings nav item
2026-07-04 00:27:19 +00:00
Leopoldadmin
afbad3d7e4
feat(core): add SettingsSystem page
2026-07-04 00:26:22 +00:00
Leopoldadmin
72b2ac82ea
feat(core): add sequence i18n keys (en)
2026-07-04 00:24:41 +00:00
Leopoldadmin
3031e81b2c
feat(core): add sequence i18n keys (de)
2026-07-04 00:24:41 +00:00
Leopoldadmin
74a81b147c
feat(core): add currency and tax i18n keys (en)
2026-07-04 00:22:27 +00:00
Leopoldadmin
b26e2e3c5d
feat(core): add currency and tax i18n keys (de)
2026-07-04 00:22:26 +00:00
Leopoldadmin
dfa4a82e8d
feat(core): add address i18n keys (en)
2026-07-04 00:20:46 +00:00
Leopoldadmin
1e74efd2b4
feat(core): add address i18n keys (de)
2026-07-04 00:20:46 +00:00
Leopoldadmin
bc0aae0325
feat(core): add address fields to ContactForm
2026-07-04 00:20:30 +00:00
Leopoldadmin
f31baa444a
feat(core): add address fields to CompanyForm
2026-07-04 00:20:29 +00:00
Leopoldadmin
2deb7ed21c
Problem 3/5: Add i18n keys for systemPermissions, pluginPermissions, noPermissions, userDeleted, deleteUserConfirm (en)
2026-07-03 20:37:46 +00:00
Leopoldadmin
5991d79324
Problem 3/5: Add i18n keys for systemPermissions, pluginPermissions, noPermissions, userDeleted, deleteUserConfirm (de)
2026-07-03 20:26:26 +00:00
Leopoldadmin
0d3550ec86
Problem 1+5: Dynamic roles dropdown via useRoles(), delete button with ConfirmDialog, fixed create form
2026-07-03 20:11:04 +00:00
Leopoldadmin
493d99aff2
Problem 3/4: Replace hardcoded ALL_PERMISSIONS with usePermissions API call, group by category
2026-07-03 20:07:53 +00:00
Leopoldadmin
68b5153139
Problem 3/4: Add usePermissions hook + PermissionItem/PermissionsResponse interfaces
2026-07-03 20:02:32 +00:00
Leopoldadmin
a799a3d0e6
Problem 2: Remove dead System nav item from Settings sidebar
2026-07-03 19:50:18 +00:00
Leopoldadmin
962ac66f72
feat: add plugin and role translation keys to en.json
2026-07-03 15:24:01 +00:00
Leopoldadmin
dda972187a
feat: add plugin and role translation keys to de.json
2026-07-03 15:24:00 +00:00
Leopoldadmin
502cddd68c
feat: add useRoles/useCreateRole/useUpdateRole/useDeleteRole and plugin mutation hooks
2026-07-03 15:23:59 +00:00
Leopoldadmin
eb0420d726
feat: add SettingsPluginsPage import and /settings/plugins route
2026-07-03 15:23:58 +00:00
Leopoldadmin
ce4d41c1b8
feat: add plugins nav item to Settings page
2026-07-03 15:23:58 +00:00