maaz519
bc9fe7c145
feat: member portal Sprint 2 — digest history page and restore Digest/DigestConfig schema models
...
- Restore Digest + DigestConfig models to schema.prisma (wiped by prior git reset)
- Add Tenant.digestConfig / Tenant.digests relations
- GET /my/digest API endpoint (last 20 digests, truncated summary)
- BFF route /api/my/digest
- /my/digest page: digest cards with date, message count, summary preview
- Add Digest nav item to MemberShell sidebar
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-17 16:04:31 +05:30
maaz519
566690bd04
feat: member portal Sprint 1 — dashboard with MemberShell layout and TowerUser profile fields
...
- Add avatar, hometown, currentLocation, interests, language, digestPreference, directoryVisible fields to TowerUser
- Migration: 20260617200000_add_tower_user_profile_fields
- GET /my/dashboard API endpoint with stats (groups, messages, consents)
- BFF route /api/my/dashboard
- MemberShell 3-column layout (220px nav + flex-1 main + 280px rail)
- Dashboard page: hero card, stat cards, group list, interests chips
- Sidebar returns null for /my paths (MemberShell owns the nav)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-17 15:44:58 +05:30
maaz519
622737fdca
feat: add web app pages for org portal, thread viewer, and admin org management
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-17 15:40:40 +05:30
maaz519
ff4d0f90e8
added changes
2026-06-09 15:33:21 +05:30
maaz519
249d759e6a
good forst commit
2026-06-09 02:02:40 +05:30
maaz519
2f88e883b2
feat: add AccountsList with Add Account form; proxy POST /accounts
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-29 11:49:23 +05:30
maaz519
e8aaae4188
feat: add Accounts page with QR code display for WhatsApp re-authentication
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-29 11:40:48 +05:30
maaz519
759b49159e
feat: add Next.js proxy routes for accounts list and QR endpoints
2026-05-29 11:37:48 +05:30
maaz519
5d9df64849
fix(api): prevent self-loop routes, map P2003 to 400, forward DELETE error body
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 01:44:48 +05:30
maaz519
1389a65e18
feat(web): add groups page with RouteManager and route handler proxies
...
Implements the Groups & Routes admin page with a client-side RouteManager
component (add/delete sync routes via fetch), server-side groups page that
pre-fetches groups/routes from the API, and Next.js Route Handler proxies
for /api/routes (GET, POST) and /api/routes/[id] (DELETE). Adds a custom
jest environment that polyfills Node 18+ native fetch into the jsdom sandbox
so tests can use jest.spyOn(global, 'fetch').
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 01:37:13 +05:30
maaz519
71e2b0681c
test(web): assert approvedAt date is rendered in SearchResults
2026-05-28 01:23:25 +05:30
maaz519
6ae1130585
feat(web): add search page with full-text message search UI
2026-05-28 01:19:23 +05:30
maaz519
f7b3ef5a7c
feat(web): add sidebar nav layout and dashboard home page
2026-05-28 01:15:53 +05:30
maaz519
d33b4e40b8
fix: use type-only Baileys import and raw status code to fix Jest ESM issue
...
Replaces DisconnectReason enum import with type-only WASocket import and
uses 401 directly instead of DisconnectReason.loggedOut. Baileys is an ES
module that cannot be executed in Jest's CommonJS mode, so removing the
value import (keeping only type imports) prevents ts-jest from trying to
execute the module.
Also updated session-pool.test.ts to verify end() is called with the
expected Boom error object instead of undefined.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 17:40:24 +05:30
maaz519
fe8eaf75fb
feat: scaffold Next.js 16 web app with Tailwind v4
...
Sets up apps/web with Next.js 16, React 19, Tailwind CSS v4 (postcss plugin
config, @import syntax), Jest + Testing Library, App Router layout and home page.
2/2 tests passing, build verified.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 14:34:00 +05:30