Commit graph

318 commits

Author SHA1 Message Date
Ashwin Kumar Sivakumar
812fc5ef04 fix(admin-auth): point forgot-password flow at endpoints that actually exist
All checks were successful
build-and-release / build (push) Successful in 48s
The reset-password flow called /api/auth/internal/forgot-password/request-code
and /verify-code with a challengeId-based two-step contract — neither route
exists anywhere in the backend, so every reset attempt failed with "Failed to
send reset code." The real backend only exposes /api/auth/forgot-password
(sends a one-time code, always 200 to avoid account enumeration) and
/api/auth/reset-password (consumes the code + new password, no challengeId
involved). Rewrites both request/verify handlers to match that contract.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 22:56:52 +05:30
Ashwin Kumar Sivakumar
0866b7a069 fix(admin): add missing detail pages for 8 profession admin lists
All checks were successful
build-and-release / build (push) Successful in 44s
Each of these profession admin list pages (makeup artist, tutor, developer,
video editor, graphic designer, social media manager, fitness trainer,
catering services) linked "View Profile" to /admin/{role}/{id}, but only
Photographer and Company had a real [id].tsx route — every other role fell
through to the legacy catch-all module and showed a placeholder instead of
the applicant's actual profile. Converts each flat list route into a
folder (index.tsx + [id].tsx) and adds a shared ProfessionDetailPage
component, modeled on the working Photographer detail page.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 21:24:02 +05:30
Ashwin Kumar Sivakumar
7ae59fee20 fix: admin panel bugs found in QA audit
All checks were successful
build-and-release / build (push) Successful in 59s
- users: wire suspend/block buttons to PATCH /api/admin/users/:id/status
  (previously only mutated local state, reverted on refresh); add
  load/action error banners instead of silently emptying the table
- [...module]: stop rendering a dead localhost:9201 iframe for legacy
  modules when VITE_LEGACY_ADMIN_ORIGIN isn't configured (it never is
  in production); show a clear "not available" message instead
- dashboard: surface a banner when /api/admin/dashboard/metrics fails
  instead of silently showing "No Data" on every widget
- credit: fix stray extra closing </Show> tag that broke the whole
  file's JSX parse; restore missing API/authHeaders module helpers
  dropped in a previous refactor (AI Credits handlers referenced them
  but they were undefined); replace a dead, broken exportLedgerCsv/
  filteredLedger implementation with one matching actual call sites;
  fix activeTab type/tab keys so the Balance & Ledger and Platform
  Ledger tabs were actually reachable (they compared against 'balance'
  /'platform' but the tab buttons only ever set 'ledger')
- roles: surface errors when fetching a role's permissions for edit
  fails, instead of silently swallowing them
- runtime-roles: surface fetch/delete errors instead of silently
  swallowing them or presenting fallback sample data as if real

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-13 18:24:44 +05:30
Ashwin Kumar Sivakumar
98a41d833a fix(ci): push gitops updates via GitHub instead of direct-to-Forgejo
Some checks failed
build-and-release / build (push) Failing after 57s
GITOPS_PAT auth was failing against Forgejo. GitHub is the source of
truth for nxtgauge-gitops; push there and let sync-to-forgejo.yml
relay to Forgejo, which Flux actually watches.
2026-07-12 23:00:58 +05:30
Ashwin Kumar Sivakumar
697a4b0d92 fix(ci): use GITOPS_PAT for gitops push, not never-configured SSH secrets
Some checks failed
build-and-release / build (push) Failing after 1m34s
Same fix as nxtgauge-frontend-solid: GITEOPS_REPO/GITEOPS_SSH_KEY were
never configured as repo secrets. Switch to an HTTPS clone with
GITOPS_PAT, matching nxtgauge-backend-rust's already-working workflow.
2026-07-12 18:37:20 +05:30
Ashwin Kumar Sivakumar
7f4351550a fix(ci): tolerate whitespace in buildx metadata-file digest grep
Some checks failed
build-and-release / build (push) Failing after 1m39s
Same fix as nxtgauge-frontend-solid: buildx writes its metadata file
pretty-printed, so the compact ":"-only grep pattern never matched,
failing the build-and-push step right after a successful push and
skipping the GitOps-release step. Match backend-rust's
whitespace-tolerant pattern.
2026-07-12 18:32:57 +05:30
Ashwin Kumar Sivakumar
f94dafdf7c fix(ci): detect docker gateway instead of hardcoding 127.0.0.1
Some checks failed
build-and-release / build (push) Failing after 1m17s
Same fix as nxtgauge-backend-rust and nxtgauge-frontend-solid: every
build here has been failing with "Cannot connect to the Docker daemon
at tcp://127.0.0.1:2375" since the job container is nested inside the
runner pod's dind sidecar. Detect the real gateway from
/proc/net/route instead of hardcoding loopback.
2026-07-12 18:28:38 +05:30
Ashwin Kumar Sivakumar
ef8f4410c7 fix: dead Add Note buttons and no-op row click in admin review pages
Some checks failed
build-and-release / build (push) Failing after 1m16s
- verification/[id].tsx: "Add Note" in the Reviewer Notes panel had no
  onClick — wired to the existing POST /api/admin/verifications/:id/notes
  endpoint.
- approval/index.tsx: Decision Notes textarea was uncontrolled and its
  "Add Note" button was a no-op; there's no standalone notes endpoint
  for approval_requests, so the textarea is now bound to state and its
  value is sent as the rejection reason when the reviewer rejects
  (the only channel the backend currently supports).
- support.tsx: removed a no-op onClick={() => {}} on the case row —
  the row isn't actually clickable, only the adjacent "View" link is
  (though that link's target route doesn't exist yet — flagged
  separately, out of scope here).
2026-07-12 17:59:03 +05:30
Ashwin Kumar Sivakumar
e78b7c2642 fix: Update Dockerfile to use ci.nxtgauge.com registry
Some checks failed
build-and-release / build (push) Failing after 1m3s
2026-07-08 03:37:18 +05:30
Ashwin Kumar Sivakumar
78b6558539 fix: Storybook import path for onboarding-management
- Update import from non-existent onboarding-management to onboarding-schemas/index
2026-07-06 22:02:39 +05:30
Ashwin Kumar Sivakumar
a5bfe63f78 ci: remove GitHub Actions workflow - using Forgejo CI exclusively
Some checks failed
build-and-release / build (push) Failing after 1m11s
- Remove build-and-deploy-forgejo.yml from GitHub Actions
- Forgejo CI at ci.nxtgauge.com now handles all builds and deployments
- All images pushed to Forgejo registry (ci.nxtgauge.com/ashwin/*)
2026-07-06 04:19:48 +05:30
Ashwin Kumar Sivakumar
fa9e221fe3 fix(ci): switch from GHCR to Forgejo registry
Some checks failed
build-and-release / build (push) Failing after 1m15s
- Update workflow to push to ci.nxtgauge.com/ashwin/nxtgauge-admin-solid
- Use FORGEJO_USERNAME and FORGEJO_TOKEN secrets
- Fix gitops repo cloning to use x-access-token
2026-07-06 03:49:11 +05:30
Ashwin Kumar Sivakumar
43d181bf5a fix: JSX structure in credit.tsx
Some checks failed
build-and-release / build (push) Failing after 1m11s
- Fix nested tag structure: AI Credits tab was incorrectly nested inside Platform Ledger section
- Close Platform Ledger section before starting AI Credits tab
- Move AI Credits tab to be a sibling of Platform Ledger tab, not a child
- Wrap AI Credits content in proper section element for consistent styling

Fixes build errors in admin-solid
2026-07-06 03:04:14 +05:30
Ashwin Kumar Sivakumar
578fb2c5a1 fix: JSX structure in credit.tsx
Some checks failed
build-and-release / build (push) Failing after 1m10s
- Fix nested tag structure: AI Credits tab was incorrectly nested inside Platform Ledger section
- Close Platform Ledger section before starting AI Credits tab
- Move AI Credits tab to be a sibling of Platform Ledger tab, not a child
- Wrap AI Credits content in proper section element for consistent styling
2026-07-06 02:49:39 +05:30
Ashwin Kumar Sivakumar
059c7569c4 feat: Add AI Credits admin UI on high-performance branch (Task 2)
Some checks failed
build-and-release / build (push) Failing after 1m10s
- pricing.tsx: AI Credit Packages tab
- credit.tsx: AI Credits panel with Balance/Ledger/Adjust/Reconcile
2026-07-06 01:49:44 +05:30
Ashwin Kumar Sivakumar
2d02d5f26f ci(forgejo): update admin build pipeline
Some checks failed
build-and-release / build (push) Failing after 0s
2026-07-03 19:51:38 +05:30
Ashwin Kumar Sivakumar
b7023648a6 ci: sync GitHub pushes to Forgejo
Some checks failed
build-and-release / build (push) Failing after 0s
2026-07-03 18:58:29 +05:30
Tracewebstudio Dev
69079caa1d feat: admin invoice/credit/pricing UI overhaul with auth token injection
Some checks failed
build-and-release / build (push) Failing after 0s
- Inject Bearer token from sessionStorage into all API requests
- Add typed API helpers for invoices, credits, discounts, ledger, orders, pricing, tax
- Overhaul invoice, credit, pricing, tax admin routes with full CRUD UI
- Remove committed log files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-02 13:51:08 +02:00
Ashwin Kumar Sivakumar
2f042bbc15 Merge branch 'high-performance' of https://github.com/Traceworks2023/nxtgauge-admin-solid into high-performance 2026-07-02 06:51:14 +05:30
Ashwin Kumar Sivakumar
4623d7c371 Update Dockerfile 2026-07-02 06:51:03 +05:30
Tracewebstudio Dev
22fe140987 Refine admin Razorpay gateway screen 2026-06-26 21:08:26 +02:00
Ashwin Kumar Sivakumar
d13fc3218a Update Forgejo admin publish workflow 2026-06-17 03:28:45 +05:30
Ashwin Kumar Sivakumar
becc90b48c fix(ci): isolate gitops checkout dir 2026-06-16 03:29:01 +05:30
Ashwin Kumar Sivakumar
34f7bf744c fix(ci): retry gitops sync pushes 2026-06-16 01:26:32 +05:30
Ashwin Kumar Sivakumar
15df115504 fix(ci): run admin deploys on self-hosted runners 2026-06-16 00:50:03 +05:30
Ashwin Kumar Sivakumar
41b3bf3e1d Merge remote high-performance: keep local AI management page and resolve conflicts 2026-06-15 06:19:36 +05:30
Ashwin Kumar Sivakumar
446152648f feat(ai): add AI management page and sidebar link 2026-06-15 06:19:17 +05:30
Tracewebstudio Dev
f511a3c31a feat: add AI management page to admin panel
New AI Management page (/admin/ai-management):
- Overview tab: AI users, daily/monthly generations, active plans
- User Usage tab: searchable table with plan, usage, addon balance
- Plans tab: grid of available AI plans

Sidebar:
- Added AI Management nav item with Sparkles icon

Dashboard:
- Added kpi_ai_users widget
- Added kpi_ai_generations_today widget

Files:
- src/routes/admin/ai-management.tsx (new)
2026-06-14 20:28:38 +02:00
Ashwin Kumar Sivakumar
8ad3f091aa fix(ci): deploy via gitops from github actions 2026-06-14 23:05:23 +05:30
Ashwin Kumar Sivakumar
d32afaed0b fix(ci): use lowercase ghcr image names 2026-06-14 22:57:54 +05:30
Ashwin Kumar Sivakumar
7dfa08f148 ci: deploy admin via github actions and ghcr 2026-06-14 22:48:56 +05:30
Ashwin Kumar Sivakumar
5422cf4af0 fix(ci): deploy admin via immutable gitops release
Some checks failed
build-and-release / build (push) Failing after 3s
2026-06-14 05:52:49 +05:30
Ashwin Kumar Sivakumar
a1bbff87b1 chore: rebuild all
Some checks failed
build-and-push / build (push) Failing after 2s
2026-06-13 18:32:15 +05:30
Ashwin Kumar Sivakumar
bd29c678cd fix: remove push preflight from forgejo mirror sync 2026-06-11 19:29:41 +05:30
Ashwin Kumar Sivakumar
9037b1a694 fix: trigger forgejo mirror sync via api 2026-06-11 19:14:46 +05:30
Ashwin Kumar Sivakumar
915b088284 fix: use basic auth for forgejo sync 2026-06-11 18:56:39 +05:30
Ashwin Kumar Sivakumar
dff45b83cc fix: use existing forgejo mirror secrets 2026-06-11 18:19:10 +05:30
Ashwin Kumar Sivakumar
26c6140c74 fix: point forgejo sync to ashwin namespace 2026-06-11 18:00:03 +05:30
Ashwin Kumar Sivakumar
75a93cf476 chore: migrate ci naming to forgejo 2026-06-11 17:17:42 +05:30
Ashwin Kumar Sivakumar
4b59338d2c chore: trigger rebuild 2026-06-08 21:22:40 +05:30
Tracewebstudio Dev
ee45ea44db Resolve conflicts: remove Woodpecker CI, use Gitea
Some checks failed
build-and-push / build (push) Failing after 0s
2026-05-08 15:41:06 +02:00
Tracewebstudio Dev
394046fdb3 Update admin session, gateway, jobs/leads routes, login, and add API me endpoint 2026-05-08 15:34:46 +02:00
Tracewebstudio Dev
0e44cfa181 Update Woodpecker CI/CD configuration 2026-05-08 15:34:39 +02:00
Tracewebstudio Dev
b117514df7 chore: trigger gitea pipeline 2026-05-05 20:26:49 +02:00
Tracewebstudio Dev
6e848d221f ci: trigger rebuild 2026-05-05 18:54:26 +02:00
Tracewebstudio Dev
198da5f492 ci: skip gitops update if GITEOPS_REPO secret not set 2026-05-01 18:46:04 +02:00
Tracewebstudio Dev
f76cab8545 ci: update gitops with new SHA on each build (auto-deploy) 2026-05-01 11:04:23 +02:00
Tracewebstudio Dev
55aab42470 ci: add post-push registry prune (keep latest 1 SHA build) 2026-05-01 10:10:30 +02:00
Tracewebstudio Dev
7f2d17bade chore: trigger gitea pipeline 2026-05-01 00:17:44 +02:00
Tracewebstudio Dev
ac03dbc5e3 chore: trigger gitea pipeline 2026-05-01 00:14:33 +02:00