diff --git a/public/css/curators.css b/public/css/curators.css index bc176df6ee3237fbf42bbce0d8f7330e91f13561..757137db6752a8af92038553936362bcefedf1cc 100644 --- a/public/css/curators.css +++ b/public/css/curators.css @@ -70,6 +70,14 @@ gap: 8px; } +.status-text { + background-color: var(--clr-primary); + border-radius: var(--radius-md); + padding: 20px; + width: 100px; + text-align: center; +} + .subscribe-section { width: 70%; min-width: 50%; diff --git a/public/js/curators.js b/public/js/curators.js index 8886e20769f371d6bc98e66ec5e80e7d113d08cf..55f3e307a0a8e75d969a3d5fb397c88f82d5e6c7 100644 --- a/public/js/curators.js +++ b/public/js/curators.js @@ -13,4 +13,53 @@ function sendRequest(query) { function handlePageChange(page) { const query = `page=${page}&take=5`; sendRequest(query); -} \ No newline at end of file +} + +document.addEventListener("DOMContentLoaded", function () { + const subscribeButton = document.querySelector('#subscribe'); + subscribeButton?.addEventListener('click', function (e) { + console.log('hai'); + e.preventDefault(); + handleOpen('#confirm-edit-modal'); + }); + + const deleteButton = document.querySelector('#delete'); + deleteButton?.addEventListener('click', function (e) { + e.preventDefault(); + handleOpen('#confirm-delete-modal'); + }); + + const confirmEditButton = document.querySelector('#confirm-edit-btn'); + confirmEditButton?.addEventListener('click', function (e) { + e.preventDefault(); + const form = document.querySelector("#review-form"); + submitForm(form, window.location.href, function (responseText) { + window.location.href = "/my-reviews"; + }) + handleClose('#confirm-edit-modal'); + }); + + const confirmCancelButton = document.querySelector('#confirm-cancel-btn'); + confirmCancelButton?.addEventListener('click', function (e) { + e.preventDefault(); + window.location.href = window.location.href.replace(/\/\w+$/, ''); + }); + + const confirmDeleteButton = document.querySelector('#confirm-delete-btn'); + confirmDeleteButton?.addEventListener('click', function (e) { + e.preventDefault(); + const xhr = new XMLHttpRequest(); + const url = window.location.href; + xhr.open('DELETE', url, true); + xhr.onreadystatechange = function () { + if (xhr.readyState === 4) { // Check if the request is complete + if (xhr.status === 200) { + window.location.href = '/my-reviews'; + } else { + alert('Failed to delete review'); + } + } + }; + xhr.send(); + }); +}); \ No newline at end of file diff --git a/src/views/curators/index.php b/src/views/curators/index.php index 894a08c324aa30e208de5721f73fa8e1d88f201a..987e1c894c2c102f6b16199e500fe9072648b149 100644 --- a/src/views/curators/index.php +++ b/src/views/curators/index.php @@ -26,7 +26,7 @@ function curatorList($data) { <h6 class="curator-info">$subscriber subscriber</h6> </div> <div class="status-section"> - <h5 class="status-text">$status</h5> + <h6 class="status-text">$status</h6> </div> </a> EOT; diff --git a/src/views/curators/show.php b/src/views/curators/show.php index bb447ea9b9f6337d69739909d0843a2ad0c86682..4d7de2244d42bcf49e9808d538dd66774166f52a 100644 --- a/src/views/curators/show.php +++ b/src/views/curators/show.php @@ -9,6 +9,13 @@ function showCuratorProfile($data) { $subscriber = $data['subscriber']; $profileImg = '/assets/users/blank.jpeg'; $status = $data['status']; + $button = 'Subscribe'; + if ($status == 'ACCEPTED') { + $button = 'Unsubscribe'; + } + else if ($status == 'PENDING') { + $button = 'CANCEL'; + } $html = <<<EOT <div class="curator-container" id="cc2"> <div class="user-profile"> @@ -21,8 +28,17 @@ function showCuratorProfile($data) { </div> <div class="subscribe-section"> <div class="inner-subscribe"> - <h5 class="status-text">$status</h5> - <button type="button" class="btn-subscribe" id="subscribe">Subscribe</button> + <h6 class="status-text">$status</h6> + <button type="button" class="btn-subscribe" id="subscribe" onclick="t">$button</button> + </div> + </div> + <div class="modal-container" id="confirm-edit-modal"> + <div class="confirmation-modal"> + <h2>Are you sure you want to $button</h2> + <div class="btn-group"> + <button type="button" class="btn-primary" id="confirm-edit-btn">Yes</button> + <button type="button" class="btn-danger" onclick="handle('#confirm-edit-modal')">No</button> + </div> </div> </div> </div> @@ -90,12 +106,15 @@ function showCuratorReviews($data) { <div class="review-list" id="rl1"> <?php echo showCuratorReviews($data); - if (isset($data['count']) && isset($data['currentPage'])) { + if (isset($data['count']) && isset($data['currentPage']) && $data['status'] == 'ACCEPTED') { include Application::$BASE_DIR . '/src/views/components/pagination.php'; } ?> </div> </div> -<!-- <script defer src="/js/curators.js"></script> --> + +<script defer src="/js/curators.js"></script> +<script defer src="/js/confirmation-modal.js"></script> +<script defer src="/js/form-handler.js"></script> <script defer src="/js/reviews.js"></script> \ No newline at end of file