Skip to content

Commit 214191d

Browse files
adds initial version of feedback modal
1 parent ee57624 commit 214191d

3 files changed

Lines changed: 48 additions & 3 deletions

File tree

app/javascript/entrypoints/application.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ import '../src/upload/add-creator';
6666
import '../src/upload/current-student';
6767
import '../src/upload/disable-form';
6868
import '../src/upload/author-reorder';
69+
import "../src/acmodals.js";
6970
import { videoReady } from "../src/videojs.js";
7071

7172
$(document).ready(videoReady);

app/javascript/src/acmodals.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
document.addEventListener('DOMContentLoaded', function() {
2+
const trigger = document.querySelector('.feedback-trigger');
3+
const modal = document.getElementById('feedbackModal');
4+
const frame = document.getElementById('feedbackFrame');
5+
const closeBtn = document.getElementById('closeModal');
6+
7+
if (trigger && modal && frame) {
8+
9+
trigger.addEventListener('click', function(e) {
10+
e.preventDefault();
11+
12+
const baseUrl = this.getAttribute('href');
13+
const contextUrl = encodeURIComponent(window.location.href);
14+
15+
frame.src = `${baseUrl}?referer=${contextUrl}`;
16+
modal.style.display = 'block';
17+
18+
document.body.style.overflow = 'hidden';
19+
});
20+
21+
const closeModal = function() {
22+
modal.style.display = 'none';
23+
frame.src = '';
24+
document.body.style.overflow = '';
25+
};
26+
27+
if (closeBtn) {
28+
closeBtn.addEventListener('click', closeModal);
29+
}
30+
31+
window.addEventListener('click', function(e) {
32+
if (e.target === modal) {
33+
closeModal();
34+
}
35+
});
36+
}
37+
});

app/views/shared/_footer.html.erb

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,16 @@
1313
<%= link_to t('blacklight.header_links.faq'), faq_path %> <span>|</span>
1414
<%= link_to t('blacklight.header_links.policies'), policies_path %> <span>|</span>
1515
<%= link_to t('blacklight.header_links.developers'), developers_path %><span>|</span>
16-
<%= link_to t('blacklight.header_links.credits'), credits_path %>
17-
</div>
18-
<div class="col-md-3 contact">
16+
<%= link_to t('blacklight.header_links.credits'), credits_path %><span>|</span>
17+
<a href="https://feedback.cul.columbia.edu/feedback_submission/ac" class="feedback-trigger">Feedback & Suggestions</a>
18+
<div id="feedbackModal" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.8); z-index:9999;">
19+
<div style="background:white; margin:5% auto; width:80%; height:80%; position:relative; padding:20px;">
20+
<button id="closeModal" style="position:absolute; right:10px; top:10px;">&times;</button>
21+
<iframe id="feedbackFrame" src="" style="width:100%; height:100%; border:none;"></iframe>
22+
</div>
23+
</div>
24+
</div>
25+
<div class="col-md-3 contact">
1926
<i class="far fa-envelope" aria-hidden="true"></i> <%= mail_to "ac@columbia.edu" %>
2027
</div>
2128
</div>

0 commit comments

Comments
 (0)