28 Commits

Author SHA1 Message Date
df448a7245 fix: resolve ESLint parse errors, unused imports, and TS unknown type errors
All checks were successful
CI/CD / test (push) Successful in 1m4s
CI/CD / deploy (push) Successful in 2s
- Fix catch blocks with inline comments that broke parsing
- Remove unused Edit3 import from ClientReferrals
- Add eslint-disable for set-state-in-effect (intentional fetch-on-mount pattern)
- Fix 'e' is of type 'unknown' errors with instanceof checks
2026-01-30 04:58:32 +00:00
f042c910ee feat: add documents, goals, and referrals UI
- ClientDocuments tab with drag-and-drop upload, category filter, download/delete
- ClientGoals tab with progress bars, status badges, add/edit/complete
- ClientReferrals tab with given/received views, client search, status management
- Dashboard widgets: goals overview and referral leaderboard
- API client methods for all new endpoints
2026-01-30 04:42:32 +00:00
b0cfa0ab1b fix: resolve all ESLint errors + fix deploy workflow for CI
- Replace all 'any' types with 'unknown' or proper types
- Remove unused imports and variables
- Add comments to empty catch blocks
- Fix Date.now() purity issue in ReportsPage (useMemo)
- Fix fetchNotifications declaration order in NotificationBell
- Restructure MeetingPrepModal effect for setState
- Split Toast exports into separate lib/toast.ts
- Fix constant binary expression in utils.test.ts
- Fix deploy workflow: compose.deploy + DOKPLOY_COMPOSE_ID
2026-01-30 04:37:53 +00:00
4d684a9d74 fix: proxy API through nginx to fix cross-domain cookie issues
Brave and other privacy-focused browsers block third-party cookies.
Instead of cross-domain requests from app.thenetwork to api.thenetwork,
nginx now proxies /api/* to the backend, making everything same-origin.
2026-01-30 04:10:59 +00:00
1da92bac58 feat: global search page, data export page, client duplicates/merge modal 2026-01-30 04:10:46 +00:00
93f127f5e9 feat: engagement page, engagement badge on client detail, stats API integration
- New Engagement page with score cards, distribution summary, sort/filter controls
- Score breakdown bars (recency, interactions, emails, events, notes)
- Engagement badge widget on ClientDetailPage with click-to-expand details
- Added Engagement to sidebar navigation with Zap icon
- API client methods for engagement scoring and stats overview
2026-01-30 03:41:32 +00:00
7a956aebec feat: production hardening UI - tags page, onboarding wizard, pagination
Some checks failed
CI/CD / test (push) Failing after 21s
CI/CD / deploy (push) Has been skipped
- Tags management page: grid cards, rename/delete/merge modals, color-coded
- Onboarding wizard: 4-step full-screen flow for new users (welcome, client, style, tour)
- Client list pagination: page controls, page size selector, URL query params
- Pipeline view unaffected (shows all clients)
- Tags added to sidebar navigation
- All components support dark mode
2026-01-30 01:37:40 +00:00
1340893144 feat: audit log page, meeting prep modal, communication style, error boundaries + toast
- AuditLogPage: filterable table with expandable details (admin only)
- MeetingPrepModal: AI-generated meeting briefs with health score, talking points, conversation starters
- Communication Style section in Settings: tone, greeting, signoff, writing samples, avoid words
- ErrorBoundary wrapping all page routes with Try Again button
- Global toast system with API error interceptor (401/403/500)
- ToastContainer with success/error/warning/info variants
- Print CSS for meeting prep
- Audit Log added to sidebar nav for admins
- All 80 frontend tests pass, clean build
2026-01-30 01:21:26 +00:00
22bf4778fd feat: email templates page + client segments page with advanced filters
- Templates page: create/edit/delete/duplicate templates, category filters, placeholder insertion buttons, usage tracking
- Segments page: create/edit/delete segments with multi-criteria filter builder, preview matching clients, color picker, pin favorites
- Filter panel: multi-select dropdowns for stage/industry/tags/city/state, date range pickers, contact info toggles, search
- Added Templates + Segments to sidebar nav
- Both pages support dark mode
2026-01-30 01:07:41 +00:00
691e8170f3 feat: real notifications, interaction logging, bulk email compose 2026-01-30 00:48:13 +00:00
b43bdf3c71 feat: client pipeline view + notes tab + stage badges
- Pipeline/kanban view on Clients page (toggle grid/pipeline)
- Pipeline summary bar showing client distribution across stages
- Stage badge on client cards and detail page (click to cycle)
- Notes tab on ClientDetailPage with add/edit/pin/delete
- StageBadge component with color-coded labels
- Stage selector in ClientForm
- API client methods for notes CRUD
2026-01-30 00:35:50 +00:00
38761586e7 ci: add Gitea Actions CI/CD workflow 2026-01-29 23:18:10 +00:00
d5706d4ead feat: dark mode for all pages, calendar view for events 2026-01-29 14:12:35 +00:00
8c27b7b522 feat: command palette (Ctrl+K), dark mode, pinned clients
- Global Command Palette: Ctrl+K search across clients, pages, and actions
  - Arrow key navigation, grouped results (Pages/Clients/Actions)
  - Keyboard hints in footer
- Dark mode: full theme toggle (light/dark/system) with localStorage
  - Theme toggle in header bar
  - Dark mode applied to Layout, Dashboard, Clients, ClientDetail, Login, Modal
  - Tailwind v4 @custom-variant for class-based dark mode
- Pinned/Favorite clients: star clients for quick dashboard access
  - Pin button on client detail page and dashboard recent clients
  - Pinned clients grid on dashboard
  - Uses localStorage (no backend changes needed)
- Search bar trigger in header with ⌘K shortcut hint
2026-01-29 13:36:39 +00:00
4c7a8be5b8 feat: Reports & Analytics page, CSV export, notification bell in header
- Reports page with overview stats, client growth chart, email activity chart
- Engagement breakdown (engaged/warm/cooling/cold) with stacked bar
- Industry and tag distribution charts
- At-risk client lists (cold + cooling)
- CSV export button downloads all clients
- Notification bell in top bar: overdue events, upcoming events, stale clients, pending drafts
- Dismissable notifications with priority indicators
- Added Reports to sidebar nav between Network and Settings
2026-01-29 13:04:53 +00:00
e7c2e396c0 feat: add CSV import, activity timeline, and AI insights widget
- CSV Import: modal with file picker, auto column mapping, preview table, import progress
- Activity Timeline: new tab on client detail showing all communications, events, status changes
- AI Insights Widget: dashboard card showing stale clients, upcoming birthdays, suggested follow-ups
- Import button on Clients page header
2026-01-29 12:43:30 +00:00
0b7bddb81c feat: Network Matching page - AI-powered client connection suggestions
- New /network page with match cards, score badges, category filters
- Network stats dashboard (clients, matches, avg score, top connectors)
- Category-based filtering (industry, interests, location, business, social)
- Adjustable minimum score threshold
- AI introduction generation button per match
- Added Network to sidebar navigation
- Types: NetworkMatch, NetworkStats
2026-01-29 12:35:33 +00:00
b6de50ba5e add unit test suite: 80 tests across utils, api, auth, clients, events, emails
- Vitest + React Testing Library + jsdom setup
- utils.test.ts: cn, formatDate, formatFullDate, getInitials, getRelativeTime, getDaysUntil
- api.test.ts: token management, auth, CRUD for clients/events/emails, admin, error handling
- auth.test.ts: login, logout, checkSession, setUser
- clients.test.ts: fetch, create, update, delete, markContacted, filters
- events.test.ts: fetch, create, update, delete, syncAll
- emails.test.ts: fetch, generate, update, send, delete
2026-01-28 22:12:38 +00:00
c838a714d2 admin: replace icon buttons with user detail slide-over panel
- Click user row to open detail panel instead of inline icons
- Panel shows user info, role toggle (User/Admin buttons), password reset, and delete
- Cleaner UX: all user management in one place
2026-01-28 22:07:37 +00:00
726bbf27ca fix: use custom profile endpoints for email/password change 2026-01-28 21:55:39 +00:00
a3d4f09291 feat: change email and password in settings 2026-01-28 21:52:17 +00:00
696e2187f4 feat: password reset UI (forgot password, reset page, admin reset button) 2026-01-28 21:44:22 +00:00
6e451e0795 feat: admin panel and invite acceptance UI 2026-01-28 21:40:13 +00:00
ab402da7fd fix: use bearer tokens instead of cookies for cross-origin auth 2026-01-28 21:33:53 +00:00
b23e5ef801 fix: improve mobile responsiveness across all pages 2026-01-28 21:14:45 +00:00
0198348494 fix: update API URLs to thenetwork subdomain 2026-01-28 20:52:36 +00:00
2320005f72 add nginx config for SPA routing 2026-01-28 19:52:55 +00:00
1afd5d5bac feat: initial SPA frontend for network app 2026-01-28 19:51:45 +00:00