Skip to content

Commit c1f9e31

Browse files
committed
added toggleRadio function
Signed-off-by: Vedansh Saini <[email protected]>
1 parent a20f9be commit c1f9e31

File tree

3 files changed

+72
-59
lines changed

3 files changed

+72
-59
lines changed

src/popup.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ <h3 class="text-3xl font-semibold ">Scrum Helper</h3>
3131

3232
<!-- Change from here -->
3333
<div class="row center mt-2 flex justify-center items-center">
34-
<div class="switch">
34+
<div class="flex items-center gap-3 cursor-pointer">
3535
<label class="flex items-center align-center">
3636
Disable
3737
<input type="checkbox" id="enable">
@@ -66,22 +66,22 @@ <h4>Your Github Username</h4>
6666
<p class="text-sm">Fetch your contributions between:</p>
6767
<div class="flex justify-between items-center my-2 mx-4">
6868
<div class="flex items-center gap-2">
69-
<input type="radio" id="lastWeekContribution" name="timeframe" class="form-radio">
69+
<input type="radio" id="lastWeekContribution" name="timeframe" class="form-radio" onclick="toggleRadio(this)">
7070
<label for="lastWeekContribution">Last 7 days</label>
7171
</div>
7272
<div class="flex items-center gap-2">
73-
<input type="radio" id="yesterday" name="timeframe" class="form-radio">
73+
<input type="radio" id="yesterday" name="timeframe" class="form-radio" onclick="toggleRadio(this)">
7474
<label for="yesterday">Last 1 day</label>
7575
</div>
7676
</div>
7777

7878
<div class="flex justify-between items-center mt-2">
7979
<div>
80-
<label for="start-date">Start Date:</label>
80+
<label for="startingDate">Start Date:</label>
8181
<input type="date" id="startingDate" class="border-2 border-gray-200 bg-gray-200 rounded-xl p-1">
8282
</div>
8383
<div>
84-
<label for="end-date">End Date:</label>
84+
<label for="endingDate">End Date:</label>
8585
<input type="date" id="endingDate" class="border-2 border-gray-200 bg-gray-200 rounded-xl p-1">
8686
</div>
8787
</div>
@@ -102,7 +102,7 @@ <h4>Your Github Username</h4>
102102
<h6 class="text-base font-semibold">Scrum Report</h6>
103103
<div id="scrumReport"
104104
contenteditable="true"
105-
class="min-h-[200px] overflow-y-auto whitespace-pre-wrap border-2 border-gray-200 bg-gray-200 rounded-xl text-gray-800 p-2 my-2">
105+
class="min-h-[200px] overflow-y-auto whitespace-pre-wrap border-2 border-gray-200 bg-gray-100 rounded-xl text-gray-800 p-2 my-2">
106106
</div>
107107
</div>
108108
<div class="flex justify-between gap-2">

src/scripts/popup.js

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,22 @@ document.addEventListener('DOMContentLoaded', function() {
4949

5050

5151
})
52-
53-
54-
55-
56-
57-
})
52+
})
53+
54+
let selectedRadio = null;
55+
function toggleRadio(radio){
56+
const startDateInput = document.getElementById('startingDate');
57+
const endDateInput = document.getElementById('endingDate');
58+
59+
60+
if(selectedRadio === radio) {
61+
radio.checked = false;
62+
selectedRadio = null;
63+
startDateInput.disabled = false;
64+
endDateInput.disabled = false;
65+
} else {
66+
selectedRadio = radio;
67+
startDateInput.disabled = true;
68+
endDateInput.disabled = true;
69+
}
70+
}

src/scripts/scrumHelper.js

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ function allIncluded(outputTarget = 'email') {
6060
lastWeekContribution = true;
6161
handleLastWeekContributionChange();
6262
}
63-
if (items.yesterday){
64-
yesterday = true;
65-
handleYesterdayChange();
66-
}
63+
if (items.yesterday) {
64+
yesterday = true;
65+
handleYesterdayChange();
66+
}
6767
if (!items.enableToggle) {
6868
enableToggle = items.enableToggle;
6969
}
@@ -76,18 +76,18 @@ function allIncluded(outputTarget = 'email') {
7676
if (items.githubUsername) {
7777
githubUsername = items.githubUsername;
7878
fetchGithubData();
79-
} else {
80-
if (outputTarget === 'popup') {
81-
const generateBtn = document.getElementById('generateReport');
82-
if (generateBtn) {
83-
generateBtn.innerHTML = '<i class="fa fa-refresh"></i> Generate Report';
84-
generateBtn.disabled = false;
85-
}
86-
Materialize.toast('Please enter your GitHub username', 3000);
87-
} else {
88-
console.warn('No GitHub username found in storage');
89-
}
90-
}
79+
} else {
80+
if (outputTarget === 'popup') {
81+
const generateBtn = document.getElementById('generateReport');
82+
if (generateBtn) {
83+
generateBtn.innerHTML = '<i class="fa fa-refresh"></i> Generate Report';
84+
generateBtn.disabled = false;
85+
}
86+
Materialize.toast('Please enter your GitHub username', 3000);
87+
} else {
88+
console.warn('No GitHub username found in storage');
89+
}
90+
}
9191
if (items.projectName) {
9292
projectName = items.projectName;
9393
}
@@ -152,13 +152,13 @@ function allIncluded(outputTarget = 'email') {
152152
}
153153
function getYesterday() {
154154
var today = new Date();
155-
var noDays_to_goback = 1;
156-
var yesterday = new Date(today.getFullYear(), today.getMonth(), today.getDate() - noDays_to_goback);
157-
var yesterdayMonth = yesterday.getMonth() + 1;
158-
var yesterdayDay = yesterday.getDate();
159-
var yesterdayYear = yesterday.getFullYear();
160-
var yesterdayDisplayPadded = ('0000' + yesterdayYear.toString()).slice(-4)+ '-' + ('00' + yesterdayMonth.toString()).slice(-2) + '-' + ('00' + yesterdayDay.toString()).slice(-2);
161-
return yesterdayDisplayPadded;
155+
var noDays_to_goback = 1;
156+
var yesterday = new Date(today.getFullYear(), today.getMonth(), today.getDate() - noDays_to_goback);
157+
var yesterdayMonth = yesterday.getMonth() + 1;
158+
var yesterdayDay = yesterday.getDate();
159+
var yesterdayYear = yesterday.getFullYear();
160+
var yesterdayDisplayPadded = ('0000' + yesterdayYear.toString()).slice(-4) + '-' + ('00' + yesterdayMonth.toString()).slice(-2) + '-' + ('00' + yesterdayDay.toString()).slice(-2);
161+
return yesterdayDisplayPadded;
162162
}
163163
// fetch github data
164164
function fetchGithubData() {
@@ -254,27 +254,27 @@ function allIncluded(outputTarget = 'email') {
254254

255255
// Create the complete content
256256
let content;
257-
if (lastWeekContribution == true) {
258-
content = `<b>1. What did I do ${weekOrDay}?</b><br>
257+
if (lastWeekContribution == true) {
258+
content = `<b>1. What did I do ${weekOrDay}?</b><br>
259259
${lastWeekUl}<br>
260260
<b>2. What I plan to do ${weekOrDay2}?</b><br>
261261
${nextWeekUl}<br>
262262
<b>3. What is stopping me from doing my work?</b><br>
263263
${userReason}`;
264-
} else {
265-
content = `<b>1. What did I do from ${formatDate(startingDate)} to ${formatDate(endingDate)}?</b><br>
264+
} else {
265+
content = `<b>1. What did I do from ${formatDate(startingDate)} to ${formatDate(endingDate)}?</b><br>
266266
${lastWeekUl}<br>
267267
<b>2. What I plan to do ${weekOrDay2}?</b><br>
268268
${nextWeekUl}<br>
269269
<b>3. What is stopping me from doing my work?</b><br>
270270
${userReason}`;
271-
}
271+
}
272272

273273
if (outputTarget === 'popup') {
274274
const scrumReport = document.getElementById('scrumReport');
275275
if (scrumReport) {
276276
scrumReport.innerHTML = content;
277-
277+
278278
// Reset generate button
279279
const generateBtn = document.getElementById('generateReport');
280280
if (generateBtn) {
@@ -324,10 +324,10 @@ ${userReason}`;
324324

325325
function writeGithubPrsReviews() {
326326
var items = githubPrsReviewData.items;
327-
327+
328328
reviewedPrsArray = [];
329329
githubPrsReviewDataProcessed = {};
330-
330+
331331
for (var i = 0; i < items.length; i++) {
332332
var item = items[i];
333333
console.log(`Review item ${i + 1}/${items.length}:`, {
@@ -337,21 +337,21 @@ ${userReason}`;
337337
state: item.state,
338338
title: item.title
339339
});
340-
340+
341341
if (item.user.login === githubUsername) {
342342
continue;
343343
}
344-
344+
345345
var repository_url = item.repository_url;
346346
var project = repository_url.substr(repository_url.lastIndexOf('/') + 1);
347347
var title = item.title;
348348
var number = item.number;
349349
var html_url = item.html_url;
350-
350+
351351
if (!githubPrsReviewDataProcessed[project]) {
352352
githubPrsReviewDataProcessed[project] = [];
353353
}
354-
354+
355355
var obj = {
356356
number: number,
357357
html_url: html_url,
@@ -360,15 +360,15 @@ ${userReason}`;
360360
};
361361
githubPrsReviewDataProcessed[project].push(obj);
362362
}
363-
363+
364364
for (var repo in githubPrsReviewDataProcessed) {
365365
var repoLi = '<li><i>(' + repo + ')</i> - Reviewed ';
366366
if (githubPrsReviewDataProcessed[repo].length > 1) {
367367
repoLi += 'PRs - ';
368368
} else {
369369
repoLi += 'PR - ';
370370
}
371-
371+
372372
if (githubPrsReviewDataProcessed[repo].length <= 1) {
373373
for (var pr in githubPrsReviewDataProcessed[repo]) {
374374
var pr_arr = githubPrsReviewDataProcessed[repo][pr];
@@ -401,16 +401,16 @@ ${userReason}`;
401401
repoLi += '</li>';
402402
reviewedPrsArray.push(repoLi);
403403
}
404-
405-
writeScrumBody();
404+
405+
writeScrumBody();
406406
}
407407
function writeGithubIssuesPrs() {
408408
var data = githubIssuesData;
409409
var items = data.items;
410-
410+
411411
lastWeekArray = [];
412412
nextWeekArray = [];
413-
413+
414414
for (var i = 0; i < items.length; i++) {
415415
var item = items[i];
416416
console.log(`Processing item ${i + 1}/${items.length}:`, {
@@ -420,14 +420,14 @@ ${userReason}`;
420420
isPR: !!item.pull_request,
421421
body: item.body ? item.body.substring(0, 100) + "..." : "no body"
422422
});
423-
423+
424424
var html_url = item.html_url;
425425
var repository_url = item.repository_url;
426426
var project = repository_url.substr(repository_url.lastIndexOf('/') + 1);
427427
var title = item.title;
428428
var number = item.number;
429429
var li = '';
430-
430+
431431
if (item.pull_request) {
432432
if (item.state === 'closed') {
433433
li = `<li><i>(${project})</i> - Made PR (#${number}) - <a href='${html_url}'>${title}</a> ${pr_merged_button}</li>`;
@@ -511,13 +511,13 @@ ${userReason}`;
511511
allIncluded('email');
512512
}
513513
}
514-
allIncluded('email');
514+
allIncluded('email');
515515
$('button>span:contains(New conversation)').parent('button').click(() => {
516-
allIncluded();
516+
allIncluded();
517517
});
518518

519-
window.generateScrumReport = function() {
520-
allIncluded('popup');
519+
window.generateScrumReport = function () {
520+
allIncluded('popup');
521521
};
522522

523523
$('button>span:contains(New conversation)')

0 commit comments

Comments
 (0)