YchKhan commited on
Commit
4169ea5
·
verified ·
1 Parent(s): 131b2fc

Update templates/index.html

Browse files
Files changed (1) hide show
  1. 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('ul');
97
  challengesList.className = 'key-issue-challenges';
98
 
99
  issue.challenges.forEach(challenge => {
100
- const challengeItem = document.createElement('li');
101
- challengeItem.textContent = challenge;
102
- challengesList.appendChild(challengeItem);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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');