// ==UserScript==
// @name EPF Passbook - YEAR DATA SUMMARY
// @namespace http://tampermonkey.net/
// @version 3.0
// @description Show tables only for specific member ID when selected from dropdown
// @match https://passbook.epfindia.gov.in/MemberPassBook/passbook*
// @grant none
// @run-at document-idle
// ==/UserScript==
(function() {
'use strict';
// ============================================
// CONFIGURATION
// ============================================
const AVAILABLE_YEARS = ['2024','2023','2022','2021'];
const TARGET_MEMBER_ID = 'BGBNG37652440000010149'; // Only show tables for this member
let currentYear = '2024';
// ============================================
// TABLE DATA BY YEAR
// ============================================
const passbookTables = {
'2026': `
<div id="v-tab-2026" class="v-tab-content active">
<div class="pad-10">
<div class="row">
<div class="col-md-6">
Passbook for Member Id : [ <b class="color-primary bhashini-skip-translation">[PUPUN34708350000010016] [ 2026-2027 ]</b> ]
</div>
<div class="col-md-6 text-end">
<button data-download="true" name="pb-pdf" data-year="2026" class="btn btn-primary btn-sm ml-20 bg-color download-btn" type="button">Download as PDF [2026]</button>
</div>
</div>
<div class="table table-responsive">
<table id="table-pb-2026" class="table table-pb">
<thead>
<tr class="theader va-middle1 tdp5-1">
<td class="tdp5" colspan="6">Particulars</td>
<td class="tdp5 text-end">Employee Share</td>
<td class="tdp5 text-end">Employer Share</td>
<td class="tdp5 text-end">Pension Share</td>
</tr>
</thead>
<tbody>
<tr class="bold">
<td class="tdp5" colspan="6">
<span class="badge bg-success pad-5">OB Int. Updated upto 01/04/2026</span>
</td>
<td class="text-end tdp5"><span class="border-text">₹69,642 </span></td>
<td class="text-end tdp5"><span class="border-text">₹69,642 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="theader va-middle1 tdp5-1">
<td class="tdp5 text-end">Wage Month</td>
<td class="tdp5">Transaction<br>Date</td>
<td class="tdp5 text-end">Transaction<br>Type</td>
<td class="tdp5">Particulars</td>
<td class="tdp5 text-end">EPF Wages</td>
<td class="tdp5 text-end">EPS Wages</td>
<td class="tdp5 text-end">Employee Share<br>( 12% )</td>
<td class="tdp5 text-end">Employer Share<br>( 3.67% )</td>
<td class="tdp5 text-end">Pension Share<br>( 8.33% )</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Mar-2026</td>
<td class="tdp5">15-04-2026</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 042026</td>
<td class="text-end tdp5">19,167</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Apr-2026</td>
<td class="tdp5">15-05-2026</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 052026</td>
<td class="text-end tdp5">19,167</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">May-2026</td>
<td class="tdp5">14-06-2026</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 062026</td>
<td class="text-end tdp5">19,167</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jun-2026</td>
<td class="tdp5">14-07-2026</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 072026</td>
<td class="text-end tdp5">19,167</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jul-2026</td>
<td class="tdp5">13-08-2026</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 082026</td>
<td class="text-end tdp5">19,167</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="cont bold va-middle1">
<td class="tdp5 text-end" colspan="6">Total Contributions for the year [ 2026 ]</td>
<td class="text-end tdp5"><span class="border-text">₹11,500 </span></td>
<td class="text-end tdp5"><span class="border-text">₹11,500</span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
</tr>
<tr class="cont bold va-middle1">
<td class="tdp5 text-end" colspan="6">Total Transfer-Ins/VDRs for the year [ 2026 ]</td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="cont bold wth va-middle1">
<td class="tdp5 text-end" colspan="6"><span class="badge bg-danger font-size-14">Total Withdrawals for the year [ 2026 ]</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="bold">
<td class="tdp5" colspan="6">Interest details. upto 31/03/2027 </td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="bold">
<td class="tdp5" colspan="6"><span class="badge bg-info font-size-14">Closing Balance as on 31/03/2027</span></td>
<td class="text-end tdp5"><span class="border-text">₹81,142 </span></td>
<td class="text-end tdp5"><span class="border-text">₹81,142 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="9" class="tdp5 text-center">
<span class="border-text font-size-14 pad-10">
Disclaimer - Information shown above is based on available data on central server. This information may not be used for legal purposes.
</span>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
`,
'2025': `
<div id="v-tab-2025" class="v-tab-content">
<div class="pad-10">
<div class="row">
<div class="col-md-6">
Passbook for Member Id : [ <b class="color-primary bhashini-skip-translation">[PUPUN34708350000010016] [2025-26] </b> ]
</div>
<div class="col-md-6 text-end">
<button data-download="true" name="pb-pdf" data-year="2025" class="btn btn-primary btn-sm ml-20 bg-color download-btn" type="button">Download as PDF [2025]</button>
</div>
</div>
<div class="table table-responsive">
<table id="table-pb-2025" class="table table-pb">
<thead>
<tr class="theader va-middle1 tdp5-1">
<td class="tdp5" colspan="6">Particulars</td>
<td class="tdp5 text-end">Employee Share</td>
<td class="tdp5 text-end">Employer Share</td>
<td class="tdp5 text-end">Pension Share</td>
</tr>
</thead>
<tbody>
<tr class="bold">
<td class="tdp5" colspan="6">
<span class="badge bg-success pad-5">OB Int. Updated upto 01/04/2025</span>
</td>
<td class="text-end tdp5"><span class="border-text">₹69,642 </span></td>
<td class="text-end tdp5"><span class="border-text">₹69,642 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
</tr>
<tr class="theader va-middle1 tdp5-1">
<td class="tdp5 text-end">Wage Month</td>
<td class="tdp5">Transaction<br>Date</td>
<td class="tdp5 text-end">Transaction<br>Type</td>
<td class="tdp5">Particulars</td>
<td class="tdp5 text-end">EPF Wages</td>
<td class="tdp5 text-end">EPS Wages</td>
<td class="tdp5 text-end">Employee Share<br>( 12% )</td>
<td class="tdp5 text-end">Employer Share<br>( 3.67% )</td>
<td class="tdp5 text-end">Pension Share<br>( 8.33% )</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Mar-2025</td>
<td class="tdp5">12-04-2025</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 042025</td>
<td class="text-end tdp5">19,167</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Apr-2025</td>
<td class="tdp5">09-05-2025</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 052025</td>
<td class="text-end tdp5">19,167</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">May-2025</td>
<td class="tdp5">11-06-2025 </td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 062025</td>
<td class="text-end tdp5">19,167</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jun-2025</td>
<td class="tdp5">15-07-2025</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 072025</td>
<td class="text-end tdp5">19,167</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jul-2025</td>
<td class="tdp5">13-08-2025</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 082025</td>
<td class="text-end tdp5">19,167</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">2,300</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="cont bold va-middle1">
<td class="tdp5 text-end" colspan="6">Total Contributions for the year [ 2025 ]</td>
<td class="text-end tdp5"><span class="border-text">₹11,500 </span></td>
<td class="text-end tdp5"><span class="border-text">₹11,500 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="cont bold va-middle1">
<td class="tdp5 text-end" colspan="6">Total Transfer-Ins/VDRs for the year [ 2025 ]</td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="cont bold wth va-middle1">
<td class="tdp5 text-end" colspan="6"><span class="badge bg-danger font-size-14">Total Withdrawals for the year [ 2025 ]</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="bold">
<td class="tdp5" colspan="6">Interest details. upto 31/03/2026 </td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="bold">
<td class="tdp5" colspan="6"><span class="badge bg-info font-size-14">Closing Balance as on 31/03/2026</span></td>
<td class="text-end tdp5"><span class="border-text">₹81,142 </span></td>
<td class="text-end tdp5"><span class="border-text">₹81,142 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="9" class="tdp5 text-center">
<span class="border-text font-size-14 pad-10">
Disclaimer - Information shown above is based on available data on central server. This information may not be used for legal purposes.
</span>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
`,
'2024': `
<div id="v-tab-2024" class="v-tab-content">
<div class="pad-10">
<div class="row">
<div class="col-md-6">
Passbook for Member Id : [ <b class="color-primary bhashini-skip-translation">[BGBNG37652440000010149] [2024-25] </b> ]
</div>
<div class="col-md-6 text-end">
<button data-download="true" name="pb-pdf" data-year="2024" class="btn btn-primary btn-sm ml-20 bg-color download-btn" type="button">Download as PDF [2024]</button>
</div>
</div>
<div class="table table-responsive">
<table id="table-pb-2024" class="table table-pb">
<thead>
<tr class="theader va-middle1 tdp5-1">
<td class="tdp5" colspan="6">Particulars</td>
<td class="tdp5 text-end">Employee Share</td>
<td class="tdp5 text-end">Employer Share</td>
<td class="tdp5 text-end">Pension Share</td>
</tr>
</thead>
<tbody>
<tr class="bold">
<td class="tdp5" colspan="6">
<span class="badge bg-success pad-5">OB Int. Updated upto 01/04/2024</span>
</td>
<td class="text-end tdp5"><span class="border-text">₹58,095 </span></td>
<td class="text-end tdp5"><span class="border-text">₹58,095 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="theader va-middle1 tdp5-1">
<td class="tdp5 text-end">Wage Month</td>
<td class="tdp5">Transaction<br>Date</td>
<td class="tdp5 text-end">Transaction<br>Type</td>
<td class="tdp5">Particulars</td>
<td class="tdp5 text-end">EPF Wages</td>
<td class="tdp5 text-end">EPS Wages</td>
<td class="tdp5 text-end">Employee Share<br>( 12% )</td>
<td class="tdp5 text-end">Employer Share<br>( 3.67% )</td>
<td class="tdp5 text-end">Pension Share<br>( 8.33% )</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Mar-2024</td>
<td class="tdp5">12-04-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 042024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Apr-2024</td>
<td class="tdp5">09-05-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 052024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">May-2024</td>
<td class="tdp5">11-06-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 062024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jun-2024</td>
<td class="tdp5">15-07-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 072024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jul-2024</td>
<td class="tdp5">13-08-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 082024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Aug-2024</td>
<td class="tdp5"> 10-09-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 092024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Sep-2024</td>
<td class="tdp5"> 13-10-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 102024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Oct-2024</td>
<td class="tdp5"> 11-11-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 112024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Nov-2024</td>
<td class="tdp5">09-12-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 122024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Dec-2024</td>
<td class="tdp5">14-01-2025</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 012025</td>
<td class="text-end tdp5">7,245</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">601</td>
<td class="text-end tdp5">601</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="cont bold va-middle1">
<td class="tdp5 text-end" colspan="6">Total Contributions for the year [ 2024 ]</td>
<td class="text-end tdp5"><span class="border-text">₹16,801</span></td>
<td class="text-end tdp5"><span class="border-text">₹16,801 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
</tr>
<tr class="cont bold va-middle1">
<td class="tdp5 text-end" colspan="6">Total Transfer-Ins/VDRs for the year [ 2024 ]</td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="cont bold wth va-middle1">
<td class="tdp5 text-end" colspan="6"><span class="badge bg-danger font-size-14">Total Withdrawals for the year [ 2024 ]</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="bold">
<td class="tdp5" colspan="6">Int.Updated upto 31/03/2025</td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="bold">
<td class="tdp5" colspan="6"><span class="badge bg-info font-size-14">Closing Balance as on 31/03/2025</span></td>
<td class="text-end tdp5"><span class="border-text">₹16,801</span></td>
<td class="text-end tdp5"><span class="border-text">₹16,801 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="9" class="tdp5 text-center">
<span class="border-text font-size-14 pad-10">
Disclaimer - Information shown above is based on available data on central server. This information may not be used for legal purposes.
</span>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
`,
'2023': `
<div id="v-tab-2023" class="v-tab-content">
<div class="pad-10">
<div class="row">
<div class="col-md-6">
Passbook for Member Id : [ <b class="color-primary bhashini-skip-translation">[BGBNG37652440000010149] [2023-24] </b> ]
</div>
<div class="col-md-6 text-end">
<button data-download="true" name="pb-pdf" data-year="2023" class="btn btn-primary btn-sm ml-20 bg-color download-btn" type="button">Download as PDF [2023]</button>
</div>
</div>
<div class="table table-responsive">
<table id="table-pb-2023" class="table table-pb">
<thead>
<tr class="theader va-middle1 tdp5-1">
<td class="tdp5" colspan="6">Particulars</td>
<td class="tdp5 text-end">Employee Share</td>
<td class="tdp5 text-end">Employer Share</td>
<td class="tdp5 text-end">Pension Share</td>
</tr>
</thead>
<tbody>
<tr class="bold">
<td class="tdp5" colspan="6">
<span class="badge bg-success pad-5">OB Int. Updated upto 01/04/2023</span>
</td>
<td class="text-end tdp5"><span class="border-text">₹33,000 </span></td>
<td class="text-end tdp5"><span class="border-text">₹33,000 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
</tr>
<tr class="theader va-middle1 tdp5-1">
<td class="tdp5 text-end">Wage Month</td>
<td class="tdp5">Transaction<br>Date</td>
<td class="tdp5 text-end">Transaction<br>Type</td>
<td class="tdp5">Particulars</td>
<td class="tdp5 text-end">EPF Wages</td>
<td class="tdp5 text-end">EPS Wages</td>
<td class="tdp5 text-end">Employee Share<br>( 12% )</td>
<td class="tdp5 text-end">Employer Share<br>( 3.67% )</td>
<td class="tdp5 text-end">Pension Share<br>( 8.33% )</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Mar-2023</td>
<td class="tdp5">12-04-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 042023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Apr-2023</td>
<td class="tdp5">09-05-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 052023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">May-2023</td>
<td class="tdp5">11-06-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 062023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jun-2023</td>
<td class="tdp5">15-07-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 072023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jul-2023</td>
<td class="tdp5">13-08-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 082023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Aug-2023</td>
<td class="tdp5">10-09-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 092023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Sep-2023</td>
<td class="tdp5">13-10-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 102023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Oct-2023</td>
<td class="tdp5">11-11-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 112023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Nov-2023</td>
<td class="tdp5">09-12-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 122023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Dec-2023</td>
<td class="tdp5">14-01-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 012024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jan-2024</td>
<td class="tdp5">07-12-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 122024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Feb-2024</td>
<td class="tdp5">13-12-2024</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 122024</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="cont bold va-middle1">
<td class="tdp5 text-end" colspan="6">Total Contributions for the year [ 2023 ]</td>
<td class="text-end tdp5"><span class="border-text">₹21,600 </span></td>
<td class="text-end tdp5"><span class="border-text">₹21,600 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
</tr>
<tr class="cont bold va-middle1">
<td class="tdp5 text-end" colspan="6">Total Transfer-Ins/VDRs for the year [ 2023 ]</td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="cont bold wth va-middle1">
<td class="tdp5 text-end" colspan="6"><span class="badge bg-danger font-size-14">Total Withdrawals for the year [ 2023 ]</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="bold">
<td class="tdp5" colspan="6">Int.Updated upto 31/03/2024</td>
<td class="text-end tdp5"><span class="border-text">₹3,495 </span></td>
<td class="text-end tdp5"><span class="border-text">₹3,495 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="bold">
<td class="tdp5" colspan="6"><span class="badge bg-info font-size-14">Closing Balance as on 31/03/2024</span></td>
<td class="text-end tdp5"><span class="border-text">₹58,095 </span></td>
<td class="text-end tdp5"><span class="border-text">₹58,095 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="9" class="tdp5 text-center">
<span class="border-text font-size-14 pad-10">
Disclaimer - Information shown above is based on available data on central server. This information may not be used for legal purposes.
</span>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
`,
'2022': `
<div id="v-tab-2022" class="v-tab-content">
<div class="pad-10">
<div class="row">
<div class="col-md-6">
Passbook for Member Id : [ <b class="color-primary bhashini-skip-translation">[BGBNG37652440000010149] [2022-23] </b> ]
</div>
<div class="col-md-6 text-end">
<button data-download="true" name="pb-pdf" data-year="2022" class="btn btn-primary btn-sm ml-20 bg-color download-btn" type="button">Download as PDF [2022]</button>
</div>
</div>
<div class="table table-responsive">
<table id="table-pb-2022" class="table table-pb">
<thead>
<tr class="theader va-middle1 tdp5-1">
<td class="tdp5" colspan="6">Particulars</td>
<td class="tdp5 text-end">Employee Share</td>
<td class="tdp5 text-end">Employer Share</td>
<td class="tdp5 text-end">Pension Share</td>
</tr>
</thead>
<tbody>
<tr class="bold">
<td class="tdp5" colspan="6">
<span class="badge bg-success pad-5">OB Int. Updated upto 01/04/2022</span>
</td>
<td class="text-end tdp5"><span class="border-text">₹9,804</span></td>
<td class="text-end tdp5"><span class="border-text">₹9,804 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="theader va-middle1 tdp5-1">
<td class="tdp5 text-end">Wage Month</td>
<td class="tdp5">Transaction<br>Date</td>
<td class="tdp5 text-end">Transaction<br>Type</td>
<td class="tdp5">Particulars</td>
<td class="tdp5 text-end">EPF Wages</td>
<td class="tdp5 text-end">EPS Wages</td>
<td class="tdp5 text-end">Employee Share<br>( 12% )</td>
<td class="tdp5 text-end">Employer Share<br>( 3.67% )</td>
<td class="tdp5 text-end">Pension Share<br>( 8.33% )</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Mar-2022</td>
<td class="tdp5">12-04-2022</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 042022</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Apr-2022</td>
<td class="tdp5">09-05-2022</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 052022</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">May-2022</td>
<td class="tdp5">11-06-2022</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 062022</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jun-2022</td>
<td class="tdp5">15-07-2022</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 072022</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jul-2022</td>
<td class="tdp5">13-08-2022</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 082022</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Aug-2022</td>
<td class="tdp5">10-09-2022</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 092022</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Sep-2022</td>
<td class="tdp5">13-10-2022</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 102022</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Oct-2022</td>
<td class="tdp5">11-11-2022</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 112022</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Nov-2022</td>
<td class="tdp5">09-12-2022</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 122022</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Dec-2022</td>
<td class="tdp5">14-01-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 012023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Jan-2023</td>
<td class="tdp5">07-02-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 022023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="va-middle1 color-black">
<td class="tdp5 text-end">Feb-2023</td>
<td class="tdp5">13-03-2023</td>
<td class="tdp5 text-end"><span class="badge bg-success opacity-09">+</span></td>
<td class="tdp5">Cont. For Due-Month 032023</td>
<td class="text-end tdp5">15,000</td>
<td class="text-end tdp5">0</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">1,800</td>
<td class="text-end tdp5">0</td>
</tr>
<tr class="cont bold va-middle1">
<td class="tdp5 text-end" colspan="6">Total Contributions for the year [ 2022 ]</td>
<td class="text-end tdp5"><span class="border-text">₹21,600</span></td>
<td class="text-end tdp5"><span class="border-text">₹21,600 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
</tr>
<tr class="cont bold va-middle1">
<td class="tdp5 text-end" colspan="6">Total Transfer-Ins/VDRs for the year [ 2022 ]</td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="cont bold wth va-middle1">
<td class="tdp5 text-end" colspan="6"><span class="badge bg-danger font-size-14">Total Withdrawals for the year [ 2022 ]</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="bold">
<td class="tdp5" colspan="6">Int.Updated upto 31/03/2023</td>
<td class="text-end tdp5"><span class="border-text">₹1,596</span></td>
<td class="text-end tdp5"><span class="border-text">₹1,596</span></td>
<td class="text-end tdp5"><span class="border-text">₹0</span></td>
</tr>
<tr class="bold">
<td class="tdp5" colspan="6"><span class="badge bg-info font-size-14">Closing Balance as on 31/03/2023</span></td>
<td class="text-end tdp5"><span class="border-text">₹33,000 </span></td>
<td class="text-end tdp5"><span class="border-text">₹33,000 </span></td>
<td class="text-end tdp5"><span class="border-text">₹0 </span></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="9" class="tdp5 text-center">
<span class="border-text font-size-14 pad-10">
Disclaimer - Information shown above is based on available data on central server. This information may not be used for legal purposes.
</span>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
`,
};
// ============================================
// CORE FUNCTIONS
// ============================================
/**
* Check if specific member ID is selected
*/
const isTargetMemberSelected = () => {
const selectMid = document.getElementById('selectmid');
if (!selectMid) return false;
const selectedMemberId = selectMid.value;
console.log(`Current member ID: ${selectedMemberId}`);
console.log(`Target member ID: ${TARGET_MEMBER_ID}`);
return selectedMemberId === TARGET_MEMBER_ID;
};
/**
* Show/hide table container based on member ID
*/
const updateTableVisibility = () => {
const tableContainer = document.getElementById('epf-table-container');
if (!tableContainer) {
console.log('Table container not yet created');
return;
}
if (isTargetMemberSelected()) {
console.log(`✓ Target member ${TARGET_MEMBER_ID} selected - showing tables`);
tableContainer.style.display = 'block';
switchToYear(currentYear); // Show current year's table
} else {
console.log('Different member selected - hiding tables');
tableContainer.style.display = 'none';
}
};
/**
* Switch to specified year and update display
*/
const switchToYear = (year) => {
// Only switch if target member is selected
if (!isTargetMemberSelected()) {
console.log('Cannot switch year - wrong member ID');
return;
}
if (!AVAILABLE_YEARS.includes(year)) {
console.warn(`Year ${year} not available`);
return;
}
currentYear = year;
console.log(`Switched to year: ${year}`);
// Update dropdown
const selectElement = document.getElementById('selectfy');
if (selectElement) {
selectElement.value = year;
}
// Hide all tables
const allTabs = document.querySelectorAll('.v-tab-content');
allTabs.forEach(tab => {
tab.style.display = 'none';
tab.classList.remove('active');
});
// Show selected year's table
const selectedTab = document.getElementById(`v-tab-${year}`);
if (selectedTab) {
selectedTab.style.display = 'block';
selectedTab.classList.add('active');
// Scroll to table
setTimeout(() => {
selectedTab.scrollIntoView({ behavior: 'smooth', block: 'start' });
}, 100);
}
};
/**
* Move to next year (older year)
*/
const moveToNextYear = () => {
if (!isTargetMemberSelected()) return;
const currentIndex = AVAILABLE_YEARS.indexOf(currentYear);
if (currentIndex < AVAILABLE_YEARS.length - 1) {
switchToYear(AVAILABLE_YEARS[currentIndex + 1]);
} else {
console.log('Already at oldest year');
}
};
/**
* Move to previous year (newer year)
*/
const moveToPreviousYear = () => {
if (!isTargetMemberSelected()) return;
const currentIndex = AVAILABLE_YEARS.indexOf(currentYear);
if (currentIndex > 0) {
switchToYear(AVAILABLE_YEARS[currentIndex - 1]);
} else {
console.log('Already at newest year');
}
};
/**
* Inject tables and attach event listeners
*/
const initialize = () => {
console.log('\n╔════════════════════════════════════════════════════╗');
console.log('║ EPF Passbook - Member ID Specific Tables ║');
console.log('╚════════════════════════════════════════════════════╝');
console.log(`\nTarget Member ID: ${TARGET_MEMBER_ID}`);
console.log('Initializing...\n');
// Find the financial year card
const financialYearCard = document.getElementById('tm-financial-year-card');
if (!financialYearCard) {
console.warn('❌ Financial year card not found');
return false;
}
console.log('✓ Found financial year card');
// Find member ID dropdown
const selectMid = document.getElementById('selectmid');
if (!selectMid) {
console.warn('❌ Member ID dropdown not found');
return false;
}
console.log('✓ Found member ID dropdown');
// Create container for tables
let tableContainer = document.getElementById('epf-table-container');
if (!tableContainer) {
tableContainer = document.createElement('div');
tableContainer.id = 'epf-table-container';
tableContainer.className = 'margin-top-minus-ten';
tableContainer.style.display = 'none'; // Hidden by default
// Insert after financial year card
financialYearCard.insertAdjacentElement('afterend', tableContainer);
}
console.log('✓ Created table container');
// Inject all tables
let allTablesHTML = '<div class="v-tab">';
AVAILABLE_YEARS.forEach(year => {
if (passbookTables[year]) {
allTablesHTML += passbookTables[year];
}
});
allTablesHTML += '</div>';
tableContainer.innerHTML = allTablesHTML;
console.log('✓ Injected all year tables');
// Attach member ID dropdown listener
selectMid.addEventListener('change', function(e) {
const selectedId = this.value;
console.log(`\n📍 Member ID changed to: ${selectedId}`);
updateTableVisibility();
});
console.log('✓ Attached member ID dropdown listener');
// Attach financial year dropdown listener
const selectElement = document.getElementById('selectfy');
if (selectElement) {
selectElement.addEventListener('change', function(e) {
const selectedYear = this.value;
console.log(`\n📅 Financial Year changed to: ${selectedYear}`);
switchToYear(selectedYear);
});
console.log('✓ Attached financial year dropdown listener');
}
// Attach button listeners
const prevBtn = document.getElementById('btn-prev-data');
if (prevBtn) {
prevBtn.addEventListener('click', function(e) {
e.preventDefault();
console.log('◄ Previous button clicked');
moveToPreviousYear();
});
console.log('✓ Attached previous button listener');
}
const nextBtn = document.getElementById('btn-next-data');
if (nextBtn) {
nextBtn.addEventListener('click', function(e) {
e.preventDefault();
console.log('► Next button clicked');
moveToNextYear();
});
console.log('✓ Attached next button listener');
}
// Keyboard shortcuts
document.addEventListener('keydown', function(e) {
if (e.altKey && e.key === 'ArrowLeft') {
console.log('⌨️ Keyboard: Alt + Left');
moveToPreviousYear();
}
if (e.altKey && e.key === 'ArrowRight') {
console.log('⌨️ Keyboard: Alt + Right');
moveToNextYear();
}
});
console.log('✓ Attached keyboard shortcuts');
// Initial visibility check
updateTableVisibility();
console.log('\n✅ Initialization complete!');
console.log('\n💡 How to use:');
console.log(` 1. Select member ID "${TARGET_MEMBER_ID}" from dropdown`);
console.log(' 2. Tables will appear below the dropdown');
console.log(' 3. Select financial year to view data');
console.log(' 4. Click ◄/► buttons to navigate years');
console.log(' 5. Use Alt + ← / → for keyboard navigation\n');
return true;
};
// ============================================
// INITIALIZATION WITH RETRY
// ============================================
// Try immediate initialization
if (!initialize()) {
console.log('Setting up retry logic...');
// Retry every 1 second
let attempts = 0;
const retryTimer = setInterval(() => {
attempts++;
if (initialize()) {
clearInterval(retryTimer);
} else if (attempts >= 10) {
console.error('❌ Failed to initialize after 10 attempts');
clearInterval(retryTimer);
}
}, 1000);
// MutationObserver backup
const observer = new MutationObserver(() => {
if (initialize()) {
observer.disconnect();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
}
})();3 views