Commit Graph
7 Commits
Author SHA1 Message Date
Jaanu423andClaude Sonnet 4.6 c4387c5c79 feat(election): candidate lock UI, director board grouping, collapsible elections, and member photos
- Candidate board: lock Remove and Change Symbol buttons when voting is active (VOTING_OPEN/CLOSED/RESULT_DECLARED/CANCELLED)
- Director board: group directors by election with Current/Past badges, sorted newest first
- Past election groups collapsed by default; click header to expand/collapse with chevron animation
- Show first 6 directors, expand button for remaining members
- Load member photos in director cards via clientImage API (fallback to initials)
- 4-column responsive grid for director cards

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-03 13:44:05 +05:30
Jaanu423andClaude Sonnet 4.6 a915259ba1 feat(election): candidate analysis enhancements + overall shareholder analysis page
- candidate-analysis: add family voter influence donut chart (% of total shareholders)
- candidate-analysis: sub-caste breakdown by client lastname
- candidate-analysis: religion profile with candidate match (★) highlighting
- candidate-analysis: remove active savings holders metric, expand grid to 3 cols
- shareholder-analysis: new standalone page showing demographic analysis of all active shareholders (11 charts across gender, age, religion, caste, sub-caste, occupation, education, marital, share-holding, tenure, area)
- candidate-board: add 'Overall Analysis' button navigating to shareholder analysis page
- election-routing: lazy-load route for :electionId/shareholders/analysis
- election.service: add getOverallShareholderAnalysis() API call

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 18:31:40 +05:30
Jaanu423andClaude Sonnet 4.6 dac169ae15 feat(election): candidate voter analysis — Chart.js charts, cross-dimension insights
- New CandidateAnalysisComponent with Chart.js doughnut charts for all
  demographic/financial/social dimensions (gender, age, area, caste,
  sub-caste, religion, occupation, share-holding, tenure, loan, education,
  marital status, monthly income, savings account depth)
- Section 4: Multi-Dimension Voter Alignment card showing core base
  (caste + area cross-match), caste %, area %, and savings engagement
- Candidate board: added Analyse button linking to analysis page
- Hero header, KPI strip, 4 dashboard sections with hover charts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 11:53:28 +05:30
Jaanu423andClaude Sonnet 4.6 f1b829a100 feat(election): candidate photos/symbols, voting interface, withdrawal, live vote counts
- Candidate board: show client profile photos and election symbols via CBS ContentStore
  (lazy-fetch base64 via GET /election/{id}/candidate/{id}/symbol), zoom/drag viewer
- Candidate board: live vote count badge per candidate (VOTING_OPEN/CLOSED only)
- Election dashboard: total voters/votes chips on VOTING_OPEN election cards
- Voting interface: fix candidates not loading (paged response .content extraction),
  lazy-load candidate photos and symbols, gold-bordered symbol on ballot card
- Nomination withdrawal: implement withdraw button in nomination-detail and nomination-list
- ImagePreviewDialogComponent: DomSanitizer support for data: URLs
- election.service: uploadCandidateSymbol (FormData), getCandidateSymbol, getClientImage,
  getVoteSummary methods
- main.scss: ipd-dialog / ipd-backdrop styles for image preview dialog

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 18:38:11 +05:30
Jaanu423andClaude Sonnet 4.6 9e33392b01 feat(election): server-side pagination + CEO pre-check family loan UI
- election.service.ts: all 3 list APIs now accept page/size params and return PagedResponse
- election-dashboard: server-side paginated elections with statusCounts from backend
- nomination-list: server-side pagination; summary chips use backend totals (all pages)
- candidate-board: server-side pagination; post filter triggers new API call
- nomination-detail: full 8-check CEO pre-check display (director loan, relation accounts, KYC, family KYC, guarantor, AML, family loans)
- nomination-apply: guarantor status section added

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 12:07:38 +05:30
Jaanu423andClaude Sonnet 4.6 71552d6875 feat(election): add guarantor status section to nomination-apply page
Shows whether the selected nominee is a guarantor on any loan, with loan health indicator, borrower details, savings account, guaranteed/released/remaining amounts, and loan timeline.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 13:12:08 +05:30
Jaanu423andClaude Sonnet 4.6 10b301c30c feat(election,family): family member KYC display, collapsible cards, linked/manual badges, create-as-client flow
- nomination-apply: show full KYC for linked family members via nested forkJoin, accordion expand/collapse cards, owner chips on KYC headers, 'Create as Client' button for manual entries
- family-members-tab: show Linked Client / Manual Entry badges, entry type in detail grid, 'Create as Client' button navigating with prefill state
- create-client + client-general-step: accept prefillData @Input from navigation state, patch form fields from family member data
- Add MPL-2.0 headers to all election module files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 17:30:29 +05:30