Commit Graph

327 Commits (12dc77542d15c64c8da35fe17c8251dd33cc1f5e)

Author SHA1 Message Date
talha.ahmed 12dc77542d Merge pull request 'Inbox: drop the Microsoft Graph API status chip' (#55) from Talha into main
Deploy to S3 / deploy (push) Successful in 34s Details
2026-09-02 12:59:06 +00:00
Talha Ahmed 59afcadec9 Inbox: drop the Microsoft Graph API status chip from the header
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-02 17:57:27 +05:00
talha.ahmed 08db8dda15 Merge pull request 'Inbox: All channel first and default' (#54) from Talha into main
Deploy to S3 / deploy (push) Successful in 33s Details
2026-09-02 12:52:15 +00:00
Talha Ahmed 2bfdbdee93 Inbox: All channel first and default
The combined stream leads the channel pills (All / Email / Sheet Forms)
and is the channel the inbox opens on.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-02 17:52:03 +05:00
Talha Ahmed ec8a4af52d Inbox: All channel - Email and Sheet Forms merged in one queue
Third channel pill beside Email / Sheet Forms. Both sources are fetched
unpaged (their endpoints read a missing top/limit as no LIMIT), merged
newest-first, and paged client-side - per-source skip/top cannot compose
into a correct global page. Rows carry kind (email/form) so the detail
pane, mark-read (email rows only get checkboxes; sheet rows have no
mailbox read state) and the kind-aware state/duplicate mutations all
pick the right endpoint per row. Tabs collapse to the shared set (no
Unread), counts and totals sum both sources, and the sheet filter spans
every sheet tab on this channel.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-02 17:36:52 +05:00
talha.ahmed 5f77ba9f8e Merge pull request 'Inbox: All channel � Email and Sheet Forms merged in one queue' (#53) from Talha into main
Deploy to S3 / deploy (push) Successful in 33s Details
2026-09-02 12:36:29 +00:00
talha.ahmed ff718bccd2 Merge pull request 'Inbox: surface the All toggle at the top of the queue' (#52) from Talha into main
Deploy to S3 / deploy (push) Successful in 33s Details
2026-09-02 12:28:19 +00:00
Talha Ahmed d1fa58ecc3 Inbox: surface the All toggle at the top of the queue
The unpaged switch lived only in the bottom Per-page dropdown and went
unnoticed. The bulk bar now carries a Show all (N) / Show paged button
(hidden while rows are ticked, since the bar swaps to selection
actions); it drives the same pageSize state, so the dropdown stays in
sync. The bar wraps now - four controls no longer fit one line in the
34%-wide split column at laptop widths.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-02 17:24:23 +05:00
ahmed.mujtaba 638c5b11ac Merge pull request 'add pagination inhistory' (#51) from add_range into main
Deploy to S3 / deploy (push) Successful in 35s Details
Reviewed-on: #51
2026-09-02 12:13:58 +00:00
ahmed.mujtaba 75943cf03f Merge branch 'main' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into add_range 2026-09-02 17:01:48 +05:00
ahmed.mujtaba a33f4e18fc add pagination inhistory 2026-09-02 17:00:44 +05:00
talha.ahmed b3c890476f Merge pull request 'Inbox: All page-size option (show every application unpaged)' (#50) from Talha into main
Deploy to S3 / deploy (push) Successful in 33s Details
2026-09-02 11:29:11 +00:00
Talha Ahmed 73ec556f8c Merge origin/main into Talha (history logs, page-size dropdown)
Integrates the Per-page dropdown (10/50/100) with the inbox All option:
All is now a fourth dropdown entry (opt-in via allowAll) instead of a
separate button. Restores what the stale-branch merges on main clobbered
from PR #46: mobile.test.mjs, the test:mobile script and the
puppeteer-core devDependency.
2026-09-02 16:28:25 +05:00
Talha Ahmed 3f06fbeff1 Inbox: All page-size option to show every application unpaged
PageSizeField gains an opt-in All toggle beside the numeric input
(sentinel value all; the input disables while active). Only the
Recruitment Inbox opts in: with All active the fetch omits top/limit,
which /inbox/all-applications and /sheet/form-data/fetch already read
as unpaged (Query(None) -> no LIMIT), so the whole tab renders as one
page for both the Email and Sheet Forms channels. Every other table
keeps its existing paged-only control.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-02 16:25:05 +05:00
ahmed.mujtaba e5d1a20dc6 Merge pull request 'added range' (#49) from create_new_Range into main
Deploy to S3 / deploy (push) Successful in 35s Details
Reviewed-on: #49
2026-09-02 11:03:35 +00:00
ahmed.mujtaba 63d5232cac added range 2026-09-02 15:58:35 +05:00
ahmed.mujtaba 7068f75008 Merge pull request 'NEW_MEREGE' (#48) from NEW_MEREGE into main
Deploy to S3 / deploy (push) Successful in 41s Details
Reviewed-on: #48
2026-09-02 10:40:42 +00:00
ahmed.mujtaba f4c1899d5b Merge branch 'main' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into add_history_logs 2026-09-02 15:35:35 +05:00
ahmed.mujtaba c7d630875c add history 2026-09-02 15:33:20 +05:00
talha.ahmed 182ee134ec Merge pull request 'Mobile responsiveness across the portal + viewport regression test' (#46) from Talha into main
Deploy to S3 / deploy (push) Successful in 40s Details
2026-09-02 10:33:02 +00:00
Talha Ahmed ea43b02b99 Post-merge: Progress screen mobile fixes, register Progress in smoke harness
- .progress-stage-grid gets the same min-width:0 blowout guard as .grid,
  and stacks to one column under 400px (two columns left ~56px for a
  stage label at 320)
- mobile.test.mjs: add the new progress/requisitions routes (27 total)
- __smoke__/entry.jsx: main added the /progress route but never
  registered the Progress screen in the harness map, so the smoke test
  rendered h(undefined) and /progress failed on main itself

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-02 15:32:23 +05:00
Talha Ahmed 75972d29b2 Merge origin/main into Talha (requisitions, progress screens, ATS order-by) 2026-09-02 15:19:04 +05:00
Talha Ahmed 14c78970bd Mobile responsiveness: fix grid blowouts, calendar clipping, wrapping controls; add viewport test
Audited all 25 routes at 320/375/390/430/768 with browser automation.
Root cause of most overflows: grid items default min-width:auto, so one
wide intrinsic child (a select option, the 620px RBAC matrix) pushed
whole cards past the viewport.

- .grid > * / .rbac-layout > * min-width:0 (CV Import, Interviews,
  Tasks, Access Control card blowouts)
- calendar: minmax(0,1fr) columns — SAT was clipped off-screen at 320
- .seg wraps (Tasks filters), .card-head wraps <=900
- sticky mobile table column: first column (identity), was nth-child(2)
- tooltips display:none until hover + .content overflow-x clip (killed
  a 7px sideways wiggle from invisible tooltip boxes)
- Ask Analytics form: design-system input styling, stacks on phones
- bar/grouped-bar charts thin x labels by slot width (overlap on phones)
- Candidates sort label+select wrap as one unit
- new: mobile.test.mjs + npm run test:mobile (puppeteer-core devDep,
  drives installed Chrome) — fails on sideways scroll or runtime errors

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-02 15:18:47 +05:00
ahmed.mujtaba 6db8e7aff3 Merge pull request 'Add_ATS_Order_by' (#45) from Add_ATS_Order_by into main
Deploy to S3 / deploy (push) Successful in 32s Details
Reviewed-on: #45
2026-09-02 08:49:25 +00:00
ahmed.mujtaba 3ab1dc9117 progress 2026-09-02 13:47:56 +05:00
ahmed.mujtaba b0d280ec86 Merge branch 'main' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into Add_ATS_Order_by 2026-09-02 13:45:29 +05:00
ahmed.mujtaba 8c5549a201 Add Progress bar 2026-09-02 13:33:11 +05:00
talha.ahmed a68cc43455 Merge pull request 'Dashboard redesign: org-wide activity summary with applications-per-job' (#44) from Talha into main
Deploy to S3 / deploy (push) Successful in 31s Details
2026-09-01 17:24:19 +00:00
Talha Ahmed f9fd88c5aa Dashboard redesign: org-wide activity summary with applications-per-job
Backend: new GET /analytics/applications-per-job/fetch (analytics.view) counting
inbox + manual-upload applications per job on the same basis as the funnel, with
zero-application open reqs included. Per-job group-bys added to Inbox_Messages,
Manual_UPLOAD_CANDIDATE; JobPosts.list_open_reqs for the zero-fill.

Frontend: Dashboard rewritten as a filterable summary (Week/Month/Quarter/Year +
department) - My Tasks, Today's Schedule and Quick Actions removed; 8 KPI tiles
(Hires and Offers Sent now shown); Applications per Job hero row-list; pipeline
card refed from /analytics/funnel so it obeys filters; Offer Book, Needs
Attention and Recent Activity cards added. ChartCard and time ranges extracted
to shared modules used by both Dashboard and Analytics.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-01 22:23:38 +05:00
ahmed.mujtaba 2998ba94a7 . 2026-09-01 19:59:55 +05:00
Talha Ahmed 88b6c96a11 Talent Pool: Export button beside All Departments filter (client-side CSV of filtered grid)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-01 19:31:22 +05:00
ahmed.mujtaba 9b5c2c8053 . 2026-09-01 18:25:53 +05:00
ahmed.mujtaba cf40e43423 Merge pull request '.' (#43) from Talha_merge into main
Deploy to S3 / deploy (push) Successful in 33s Details
Reviewed-on: #43
2026-08-31 15:30:54 +00:00
ahmed.mujtaba c41bfda959 Merge branch 'main' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into Talha_merge 2026-08-31 20:28:36 +05:00
ahmed.mujtaba 25a4eb8ec5 . 2026-08-31 18:30:56 +05:00
ahmed.mujtaba 453dc5c529 Merge pull request '.' (#42) from Talha_merge into main
Deploy to S3 / deploy (push) Successful in 32s Details
Reviewed-on: #42
2026-08-31 13:22:25 +00:00
ahmed.mujtaba 48813b4a32 . 2026-08-31 18:21:45 +05:00
Talha Ahmed 5a28b35dd9 Merge branch 'main' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into Talha
Deploy to S3 / deploy (push) Successful in 35s Details
2026-08-31 17:51:37 +05:00
ahmed.mujtaba f8a67e7649 Merge pull request 'Add_Flush' (#41) from Add_Flush into main
Deploy to S3 / deploy (push) Successful in 33s Details
Reviewed-on: #41
2026-08-31 12:37:25 +00:00
ahmed.mujtaba 823d02c34b Merge branch 'main' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into Add_Flush 2026-08-31 17:35:43 +05:00
ahmed.mujtaba 42e590e71d . 2026-08-31 17:35:34 +05:00
Talha Ahmed 7e76fb7874 Find Talent: Apify spend tracking + responsive fixes
- talent_runs.cost_usd records each run's actual charge (usageTotalUsd),
  accumulated across the broadened re-run ladder (migration 018).
- GET /talent/account: live balance and cycle spend from Apify
  /users/me/limits (nulls when Apify is unreachable) plus the observed
  $/profile over recorded runs.
- Header shows Balance / Spent / $-per-profile chips that refresh with
  every search; the run status line shows the last search's cost and the
  confirm dialog estimates from the live average.
- Responsive: toolbar controls stack edge-to-edge and candidate card
  footers wrap instead of clipping their buttons on phones.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-31 17:29:10 +05:00
ahmed.mujtaba 0f6de132f8 make sync visible 2026-08-31 17:03:21 +05:00
ahmed.mujtaba d5c3b87e5e Merge pull request 'Add_Flush' (#40) from Add_Flush into main
Deploy to S3 / deploy (push) Successful in 35s Details
Reviewed-on: #40
2026-08-31 11:23:37 +00:00
ahmed.mujtaba d0737e03ad Merge branch 'main' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into Add_Flush 2026-08-31 16:23:05 +05:00
ahmed.mujtaba 0038157eb0 Update job post insertion method to commit and refresh after adding a new job post 2026-08-31 16:21:19 +05:00
ahmed.mujtaba 1164a1cb2d add flush 2026-08-31 16:11:04 +05:00
ahmed.mujtaba 615d127775 Merge pull request 'Correct_Recieved_time' (#39) from Correct_Recieved_time into main
Deploy to S3 / deploy (push) Successful in 38s Details
Reviewed-on: #39
2026-08-31 10:52:53 +00:00
ahmed.mujtaba 8380be0d8a recieved time implemented 2026-08-31 15:51:52 +05:00
Talha Ahmed e7907a194e Inbox: responsive fixes for the split layout
- List column yields (34%, floor 280px) instead of holding 420px, so the
  detail pane stays readable in the 980-1200px band.
- Detail pane is a size container: its two-column info grid collapses on
  the pane own width, and long names/emails wrap instead of clipping.
- Tab strip wraps on narrow screens instead of running off-canvas.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-31 15:22:18 +05:00