Skip to content

Commit c462f39

Browse files
dricazenckclaude
andcommitted
refactor: improve verify.js code quality and remove deprecated jQuery methods
- Replace deprecated .click() and .keypress() with .on() event binding - Change keypress event to keydown for better browser compatibility - Extract handleEnterKeyPress function for better code organization - Remove code smell comments and use self-documenting variable names (isOnVerifyPage, isEnterKey) - Update tests to use .trigger() instead of deprecated .click() - All tests passing (12/12) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 165ffbc commit c462f39

4 files changed

Lines changed: 102 additions & 14 deletions

File tree

assets/js/verify.js

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -135,31 +135,36 @@ let controllerVerify = (function (jQuery) {
135135
}
136136
};
137137

138+
/**
139+
* Handle Enter key press to trigger verification
140+
* @param {object} e - Keyboard event
141+
*/
142+
let handleEnterKeyPress = function (e) {
143+
const isEnterKey = e.key === 'Enter';
144+
if (isEnterKey) {
145+
e.preventDefault();
146+
verifyCertificate();
147+
}
148+
};
149+
138150
/**
139151
* Initialize event handlers
140152
*/
141153
let initEvents = function () {
142-
// Verify button click
143-
verifyBtn.click(function (e) {
154+
verifyBtn.on('click', function (e) {
144155
e.preventDefault();
145156
verifyCertificate();
146157
});
147158

148-
// Allow Enter key to trigger verification
149-
certIdInput.keypress(function (e) {
150-
if (e.key === 'Enter') {
151-
e.preventDefault();
152-
verifyCertificate();
153-
}
154-
});
159+
certIdInput.on('keydown', handleEnterKeyPress);
155160
};
156161

157162
/**
158163
* Initialize the controller
159164
*/
160165
let init = function () {
161-
// Only initialize if we're on the verify page
162-
if (certIdInput.length === 0) {
166+
const isOnVerifyPage = certIdInput.length > 0;
167+
if (!isOnVerifyPage) {
163168
return;
164169
}
165170

test/assets/verify.test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ describe('Certificate Verification Page', () => {
7171
clicked = true;
7272
});
7373

74-
verifyBtn.click();
74+
verifyBtn.trigger('click');
7575
expect(clicked).toBe(true);
7676
});
7777

@@ -89,14 +89,14 @@ describe('Certificate Verification Page', () => {
8989
const certIdInput = $('#certId');
9090
let keyPressed = false;
9191

92-
certIdInput.on('keypress', (e) => {
92+
certIdInput.on('keydown', (e) => {
9393
if (e.key === 'Enter') {
9494
keyPressed = true;
9595
}
9696
});
9797

9898
// Simulate Enter key
99-
const event = $.Event('keypress');
99+
const event = $.Event('keydown');
100100
event.key = 'Enter';
101101
certIdInput.trigger(event);
102102

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
Nevena Verbič; nevena.verbic@gmail.com;Backend
2+
Olivia Thetgyi; othetgyi@gmail.com;Backend
3+
Zaynah Ahmed; azaynah295@gmail.com;Backend
4+
Luiza Gretzk; lgretzk@proton.me;Backend
5+
Anna Cotogno; a.cotugno@yahoo.co.uk;Backend
6+
Rashidat Adekoya; radekoya@outlook.com;Backend
7+
Valeria;val.mix465@gmail.com;Backend
8+
Sonali Goel; goelsonali@gmail.com;Mentorship
9+
Nevena Verbič; nevena.verbic@gmail.com;Mentorship
10+
Gabriel Oliveira;gabriel.pa.oliveira@gmail.com;QA
11+
Mioara Cenusa; mioaracenusa82@gmail.com;QA
12+
Patrycja Gontarek; patgontarek17@gmail.com;QA
13+
Pranita Panse; pranita.v.panse@gmail.com;QA
14+
Purnima Tyagi;purnima.tyagi@gmail.com;QA
15+
Sahana Venkatesh;venkatesh.sahana1606@gmail.com;Newsletter
16+
Sowmiya Ravikumar;sowmiyathilakavathi@gmail.com;Newsletter
17+
Silke Nodwell;silke.nodwell@gmail.com;Newsletter
18+
Shabana;shabana@govani.org;Newsletter
19+
Darshna Agrawal;darshna.agrawal1234@gmail.com;Half-stack
20+
Emma Jourzac;emmanora@hotmail.com;Half-stack
21+
Prabha Venkatesh;pvconnect10@gmail.com;Half-stack
22+
Ramona Gawarwala;ramona.mironescu@gmail.com;Half-stack
23+
Helen T;heli.t82@gmail.com;Half-stack
24+
Linda Okorie-Kalu;lindaokorie27@gmail.com;Half-stack
25+
Damola Taiwo;khadijahbadmus024@gmail.com;Half-stack
26+
Madhura Chaganty;imadhurac@gmail.com;Half-stack
27+
Busra Ecem Sakar;busra.ecem.sakar@gmail.com;Half-stack
28+
Zaynah Ahmed; azaynah295@gmail.com;LeetCode
29+
Isabell;isabellhepburn@outlook.com;LeetCode
30+
Youning;youning.xia@gmail.com;LeetCode
31+
Joana Brito; joanabrito216@gmail.com;Frontend
32+
Sandra Barbosa; sandra90barbosa@hotmail.com;Frontend
33+
Adniloet Sosa Ricardo adni.sori@gmail.com;Frontend
34+
Mitali Shah; mitalishaleenshah@gmail.com;Frontend
35+
Idayat Sanni; idayatsanni@gmail.com;Frontend
36+
Anusha Devi; anusha3599@gmail.com;Frontend
37+
Silke Nodwell;silke.nodwell@gmail.com;API Days
38+
Afolake Odubote;afolakeopeyemi16@gmail.com;API Days
39+
Afsha;unityofbeing1@gmail.com;API Days
40+
Amrit Atwal;amritatwal04@gmail.com;API Days
41+
Damola Taiwo;khadijahbadmus024@gmail.com;API Days
42+
Helen T;heli.t82@gmail.com;API Days
43+
Marj Martinez;marjoriemartinezdev@gmail.com;API Days
44+
Maryam Yusuf;maryam.m.yusuf1802@gmail.com;API Days
45+
Mehul Varsha Singh;mvsbersama@yahoo.com;API Days
46+
Sarah Usher;sarahnusher@gmail.com;API Days
47+
Rohini;srohinireddy@gmail.com;API Days
48+
Sowmiya Ravikumar;sowmiyathilakavathi@gmail.com;API Days
49+
Turdugul Okonbaeva;t.okonbaeva92@gmail.com;API Days
50+
Ying Liu;sophia.j.liu@gmail.com;API Days
51+
Liliiia Rafikova;lika.rafikova@gmail.com;API Days
52+
Julia Babahina;jbabahina@gmail.com;Leader
53+
Ying Liu;sophia.j.liu@gmail.com;Leader
54+
Irina Kamalova;iren.kamalova@gmail.com;Leader
55+
Rajani Rao; rajaniraog@gmail.com; Leader
56+
Liliia Rafikova;lika.rafikova@gmail.com;Leader
57+
Madhura Chaganty;imadhurac@gmail.com;Leader
58+
Silke Nodwell;silke.nodwell@gmail.com;Leader
59+
Stephanie Senoner;stepsen.dev@gmail.com; Leader
60+
Idayat Sanni; idayatsanni@gmail.com; Leader
61+
Airat Yusuff;airahyusuff@gmail.com; Leader
62+
Rajashree Munoli; imrajashree@gmail.com; Leader
63+
Eleonora Belova; eleonora.belova.16@gmail.com; Leader
64+
Damola Taiwo;khadijahbadmus024@gmail.com;Leader
65+
Nonna Shakhova;nonshakhova@gmail.com;Leader
66+
Sonali Goel; goelsonali@gmail.com;Leader
67+
Busra Ecem Sakar;busra.ecem.sakar@gmail.com;Leader
68+
Samuela Smolorz;samuela.smolorz@gmail.com;Leader
69+
Prabha Venkatesh;pvconnect10@gmail.com;Leader
70+
Turdugul Okonbaeva;t.okonbaeva92@gmail.com;Evangelist
71+
Arzu Guney; arzuguneycaner@gmail.com;Evangelist
72+
Joana Brito; joanabrito216@gmail.com;Evangelist
73+
Shabana;shabana@govani.org;Leader
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
First Name; email@account.com;Mentee
2+
Mentee Name; email@account.com;Mentee
3+
First Name; email@gmail.com;Mentor
4+
First Name; email@gmail.com;Mentorship
5+
First Name; email@gmail.com;QA
6+
First Name; email@gmail.com;Newsletter
7+
First Name; email@gmail.com;Half-stack
8+
First Name; email@gmail.com;LeetCode
9+
First Name; email@gmail.com;Frontend
10+
First Name; email@gmail.com;API Days

0 commit comments

Comments
 (0)