Chaitanya895 commited on
Commit
797ae07
·
verified ·
1 Parent(s): 742aa15

Update static/script.js

Browse files
Files changed (1) hide show
  1. static/script.js +35 -7
static/script.js CHANGED
@@ -341,19 +341,47 @@ fetchData('/api/hobbies', 'hobbies-grid', (data, container) => {
341
  }
342
  reviews.forEach(review => {
343
  const reviewDiv = document.createElement('div');
344
- reviewDiv.className = 'glassmorphic p-4 rounded-xl';
345
  reviewDiv.innerHTML = `
346
- <div class="flex items-center mb-2">
347
- <span class="font-orbitron text-primary-blue glow mr-2">${review.name}</span>
348
- <div class="text-primary-blue flex">
349
- ${'<i class="fas fa-star glow"></i>'.repeat(review.rating)}
350
- ${'<i class="far fa-star text-gray-400"></i>'.repeat(5 - review.rating)}
 
 
351
  </div>
 
352
  </div>
353
- <p class="text-gray-300 text-sm">${review.description}</p>
 
 
354
  `;
355
  reviewsContainer.appendChild(reviewDiv);
356
  gsap.from(reviewDiv, { opacity: 0, y: 20, duration: 0.8, ease: 'power3.out' });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
357
  });
358
  })
359
  .catch(error => {
 
341
  }
342
  reviews.forEach(review => {
343
  const reviewDiv = document.createElement('div');
344
+ reviewDiv.className = 'glassmorphic p-4 rounded-xl flex justify-between items-start';
345
  reviewDiv.innerHTML = `
346
+ <div>
347
+ <div class="flex items-center mb-2">
348
+ <span class="font-orbitron text-primary-blue glow mr-2">${review.name}</span>
349
+ <div class="text-primary-blue flex">
350
+ ${'<i class="fas fa-star glow"></i>'.repeat(review.rating)}
351
+ ${'<i class="far fa-star text-gray-400"></i>'.repeat(5 - review.rating)}
352
+ </div>
353
  </div>
354
+ <p class="text-gray-300 text-sm">${review.description}</p>
355
  </div>
356
+ <button class="delete-review text-red-500 hover:text-red-700 glow" data-id="${review.id}">
357
+ <i class="fas fa-trash-alt"></i>
358
+ </button>
359
  `;
360
  reviewsContainer.appendChild(reviewDiv);
361
  gsap.from(reviewDiv, { opacity: 0, y: 20, duration: 0.8, ease: 'power3.out' });
362
+
363
+ // Add event listener for delete button
364
+ reviewDiv.querySelector('.delete-review').addEventListener('click', () => {
365
+ const confirmDelete = confirm(`Are you sure you want to delete the review by ${review.name}?`);
366
+ if (confirmDelete) {
367
+ fetch(`/api/reviews/delete/${review.id}`, {
368
+ method: 'DELETE'
369
+ })
370
+ .then(response => response.json())
371
+ .then(data => {
372
+ if (data.message) {
373
+ alert(data.message);
374
+ fetchReviews(reviewsContainer); // Refresh reviews
375
+ } else {
376
+ alert('Error deleting review: ' + (data.error || 'Unknown error'));
377
+ }
378
+ })
379
+ .catch(error => {
380
+ console.error('Error deleting review:', error);
381
+ alert('Error deleting review. Please try again later.');
382
+ });
383
+ }
384
+ });
385
  });
386
  })
387
  .catch(error => {