Commit Graph

28 Commits

Author SHA1 Message Date
Krao Hasanee f9e66dfced Rename Jobs to Tasks, add Project Files section header on project detail 2026-05-14 19:46:17 -04:00
Krao Hasanee 6e7e7d7130 Include paid sub invoices in expenses/profit/year totals 2026-05-14 19:40:50 -04:00
Krao Hasanee 6b5f5df547 Add sub invoice detail page with delete/mark paid/receipt; fix payable stat 2026-05-14 19:35:44 -04:00
Krao Hasanee 13bb0f7914 Apply pill shape (border-radius 20px) to all buttons and sidebar nav items 2026-05-14 15:48:23 -04:00
Krao Hasanee 53b591697a Apply pill tab style across all portal pages (team, client, external) 2026-05-14 15:26:48 -04:00
Krao Hasanee 4980ebb09a Add client filter tabs to team Projects page 2026-05-14 15:23:39 -04:00
Krao Hasanee b2f165a8f1 Add Projects page for team members with search, nav under Requests 2026-05-14 15:21:25 -04:00
Krao Hasanee c32f9d1366 Add Project Files section and show company name for external users on project detail 2026-05-14 15:01:32 -04:00
Krao Hasanee eee0885811 Fix file sharing load speed and move error; misc updates
- Remove recursive directory size calculations (single Seafile API call per list)
- Remove 'Used in this location' usage display
- Fix move using v2 per-type endpoints instead of broken batch endpoint
- Send entry type from frontend for correct move routing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 14:20:38 -04:00
Krao Hasanee c9e7816e28 Fix Create Folder button not submitting form
LoadingButton defaults to type='button'. Added type='submit'.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 13:12:28 -04:00
Krao Hasanee e5a5529e21 Move New Folder inline next to Sync Folders button
Clicking '+ New Folder' expands an inline input in the action bar.
Removed the separate form below the toolbar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 13:08:46 -04:00
Krao Hasanee 543983c914 Fix task delete cascade, multi-company UI, and error handling
- RequestDetail: remove auto-project-delete when last task deleted
- MyCompany: support multiple companies with selector dropdown
- MyCompany: fetch members from both profiles and company_members
- ProjectDetail/MyProjectDetail/InvoiceDetail: check Supabase errors before updating state
- Migration: drop client project-delete RLS policy (no longer valid)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 11:29:27 -04:00
Krao Hasanee d6e49a4c67 Add Stripe fee tracking on paid invoices + backfill function
- Store stripe_fee on invoices when webhook receives checkout.session.completed
- Display Stripe fee and net received in InvoiceDetail when paid via Stripe
- Add backfill-stripe-fees edge function to populate fee on existing paid invoices
- Migration: add stripe_fee column to invoices table
- Includes all pending portal changes (brand book, sign survey, task/project/company updates, etc.)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 12:16:22 -04:00
Krao Hasanee 5519c1f54b Surface actual error message when user creation fails
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 09:14:53 -04:00
Krao Hasanee 8034f15fb5 Full codebase cleanup and optimization pass
- Fix all hardcoded light colors breaking dark mode (FileAttachment, TaskDetail, RequestDetail)
- Parallelize sequential DB fetches in TaskDetail, CompanyDetail, MyProjects
- Add error handling: NewRequest project/file upload, MyCompany update, CompanyDetail prices, AuthContext profile fetch
- Fix currentUser.company_id → currentUser.company?.id in NewRequest
- Remove stale company.email references from InvoiceDetail, ProjectDetail, TaskDetail
- Clean up dead email field from Companies form reset

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:46:08 -04:00
Krao Hasanee 41e4d58ab9 Fix invoice delete race condition by seeding detail page from navigation state
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 10:37:29 -04:00
Krao Hasanee bc6915a549 Fix invoice company dropdown by removing stale email column references
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 09:50:55 -04:00
Krao Hasanee 65b8b2ce2c Mark superseded request versions as completed on Requests page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 01:08:24 -04:00
Krao Hasanee 59c4ef6632 Remove Projects tab from company detail, fix pricing layout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 01:04:30 -04:00
Krao Hasanee 0371e3eba5 Newest version first in history, remove nav section labels
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 00:55:00 -04:00
Krao Hasanee 71b34a4700 Fix send to client: use primary submission, add error handling
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 00:41:15 -04:00
Krao Hasanee 33c2ad8460 Fix assign dropdown persistence, auto-assign on start
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 00:40:06 -04:00
Krao Hasanee d7948a9afe Replace filter dropdowns with toggle buttons on Requests page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 00:38:15 -04:00
Krao Hasanee 989ebcb024 Add company/user filters to Requests, move Companies to bottom of nav
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 00:36:11 -04:00
Krao Hasanee 684500b42e Nest amendments inside parent submission on Requests page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 00:31:52 -04:00
Krao Hasanee 342fa0805f Team task detail: group amendments in version history, fix dark mode backgrounds
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 00:24:31 -04:00
Krao Hasanee e7174d392c Replace company email with address field
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 23:59:21 -04:00
Krao Hasanee 719209fa25 Refactor: clients → companies schema v2 2026-03-26 23:42:06 -04:00