Spaces:
Sleeping
Sleeping
Update templates/index.html
Browse files- templates/index.html +39 -4
templates/index.html
CHANGED
|
@@ -93,13 +93,48 @@
|
|
| 93 |
challengesTitle.style.marginTop = '10px';
|
| 94 |
challengesTitle.textContent = 'Challenges:';
|
| 95 |
|
| 96 |
-
const challengesList = document.createElement('
|
| 97 |
challengesList.className = 'key-issue-challenges';
|
| 98 |
|
| 99 |
issue.challenges.forEach(challenge => {
|
| 100 |
-
const
|
| 101 |
-
|
| 102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 103 |
});
|
| 104 |
|
| 105 |
const impactTitle = document.createElement('div');
|
|
|
|
| 93 |
challengesTitle.style.marginTop = '10px';
|
| 94 |
challengesTitle.textContent = 'Challenges:';
|
| 95 |
|
| 96 |
+
const challengesList = document.createElement('div');
|
| 97 |
challengesList.className = 'key-issue-challenges';
|
| 98 |
|
| 99 |
issue.challenges.forEach(challenge => {
|
| 100 |
+
const challengeTag = document.createElement('div');
|
| 101 |
+
challengeTag.className = 'challenge-tag';
|
| 102 |
+
challengeTag.textContent = challenge;
|
| 103 |
+
|
| 104 |
+
// Add click handler to toggle selection
|
| 105 |
+
challengeTag.addEventListener('click', function(e) {
|
| 106 |
+
e.stopPropagation(); // Prevent triggering parent card click
|
| 107 |
+
this.classList.toggle('selected');
|
| 108 |
+
|
| 109 |
+
// Update selected challenges data
|
| 110 |
+
const selectedChallenges = JSON.parse(issueCard.dataset.selectedChallenges || '[]');
|
| 111 |
+
const challengeText = this.textContent;
|
| 112 |
+
|
| 113 |
+
if (this.classList.contains('selected')) {
|
| 114 |
+
// Add challenge to selected list if not already there
|
| 115 |
+
if (!selectedChallenges.includes(challengeText)) {
|
| 116 |
+
selectedChallenges.push(challengeText);
|
| 117 |
+
}
|
| 118 |
+
} else {
|
| 119 |
+
// Remove challenge from selected list
|
| 120 |
+
const index = selectedChallenges.indexOf(challengeText);
|
| 121 |
+
if (index !== -1) {
|
| 122 |
+
selectedChallenges.splice(index, 1);
|
| 123 |
+
}
|
| 124 |
+
}
|
| 125 |
+
|
| 126 |
+
// Update dataset
|
| 127 |
+
issueCard.dataset.selectedChallenges = JSON.stringify(selectedChallenges);
|
| 128 |
+
|
| 129 |
+
// Update card selected state based on whether any challenges are selected
|
| 130 |
+
if (selectedChallenges.length > 0) {
|
| 131 |
+
issueCard.classList.add('selected');
|
| 132 |
+
} else {
|
| 133 |
+
issueCard.classList.remove('selected');
|
| 134 |
+
}
|
| 135 |
+
});
|
| 136 |
+
|
| 137 |
+
challengesList.appendChild(challengeTag);
|
| 138 |
});
|
| 139 |
|
| 140 |
const impactTitle = document.createElement('div');
|