Update index.html
Browse files- index.html +27 -0
index.html
CHANGED
@@ -22,6 +22,10 @@
|
|
22 |
<img src="website-icon.png" alt="Website Icon">
|
23 |
<span>Website</span>
|
24 |
</div>
|
|
|
|
|
|
|
|
|
25 |
</div>
|
26 |
|
27 |
<!-- Main Container -->
|
@@ -46,6 +50,9 @@
|
|
46 |
<div class="website-layer" id="websiteLayer" style="display: none;">
|
47 |
<iframe id="websiteFrame" src="" frameborder="0"></iframe>
|
48 |
</div>
|
|
|
|
|
|
|
49 |
</div>
|
50 |
</div>
|
51 |
<div class="video-overlay" id="videoOverlay" style="display: none;">
|
@@ -72,10 +79,14 @@
|
|
72 |
const websiteIcon = document.getElementById('websiteIcon');
|
73 |
const websiteLayer = document.getElementById('websiteLayer');
|
74 |
const websiteFrame = document.getElementById('websiteFrame');
|
|
|
|
|
|
|
75 |
|
76 |
let slides = [];
|
77 |
let currentIndex = 0;
|
78 |
let websiteVisible = false;
|
|
|
79 |
|
80 |
async function fetchSlides() {
|
81 |
try {
|
@@ -97,6 +108,9 @@
|
|
97 |
responseBox.style.display = 'none';
|
98 |
responseContent.innerHTML = '';
|
99 |
videoPlayer.src = '';
|
|
|
|
|
|
|
100 |
if (websiteVisible) {
|
101 |
toggleWebsiteLayer();
|
102 |
}
|
@@ -117,6 +131,18 @@
|
|
117 |
websiteVisible = !websiteVisible;
|
118 |
}
|
119 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
prevBtn.addEventListener('click', () => {
|
121 |
currentIndex = (currentIndex - 1 + slides.length) % slides.length;
|
122 |
loadSlide(currentIndex);
|
@@ -147,6 +173,7 @@
|
|
147 |
});
|
148 |
|
149 |
websiteIcon.addEventListener('click', toggleWebsiteLayer);
|
|
|
150 |
|
151 |
queryButton.addEventListener('click', async () => {
|
152 |
const userPrompt = promptText.value.trim();
|
|
|
22 |
<img src="website-icon.png" alt="Website Icon">
|
23 |
<span>Website</span>
|
24 |
</div>
|
25 |
+
<div class="textbox-icon" id="textboxIcon">
|
26 |
+
<img src="textbox-icon.png" alt="Textbox Icon">
|
27 |
+
<span>Textbox</span>
|
28 |
+
</div>
|
29 |
</div>
|
30 |
|
31 |
<!-- Main Container -->
|
|
|
50 |
<div class="website-layer" id="websiteLayer" style="display: none;">
|
51 |
<iframe id="websiteFrame" src="" frameborder="0"></iframe>
|
52 |
</div>
|
53 |
+
<div class="textbox-layer" id="textboxLayer" style="display: none;">
|
54 |
+
<div id="textboxContent"></div>
|
55 |
+
</div>
|
56 |
</div>
|
57 |
</div>
|
58 |
<div class="video-overlay" id="videoOverlay" style="display: none;">
|
|
|
79 |
const websiteIcon = document.getElementById('websiteIcon');
|
80 |
const websiteLayer = document.getElementById('websiteLayer');
|
81 |
const websiteFrame = document.getElementById('websiteFrame');
|
82 |
+
const textboxIcon = document.getElementById('textboxIcon');
|
83 |
+
const textboxLayer = document.getElementById('textboxLayer');
|
84 |
+
const textboxContent = document.getElementById('textboxContent');
|
85 |
|
86 |
let slides = [];
|
87 |
let currentIndex = 0;
|
88 |
let websiteVisible = false;
|
89 |
+
let textboxVisible = false;
|
90 |
|
91 |
async function fetchSlides() {
|
92 |
try {
|
|
|
108 |
responseBox.style.display = 'none';
|
109 |
responseContent.innerHTML = '';
|
110 |
videoPlayer.src = '';
|
111 |
+
textboxLayer.style.display = 'none';
|
112 |
+
textboxContent.innerHTML = '';
|
113 |
+
textboxVisible = false;
|
114 |
if (websiteVisible) {
|
115 |
toggleWebsiteLayer();
|
116 |
}
|
|
|
131 |
websiteVisible = !websiteVisible;
|
132 |
}
|
133 |
|
134 |
+
function toggleTextboxLayer() {
|
135 |
+
if (textboxVisible) {
|
136 |
+
textboxLayer.style.display = 'none';
|
137 |
+
textboxContent.innerHTML = '';
|
138 |
+
} else {
|
139 |
+
const markdownText = slides[currentIndex]?.text || "No additional text available.";
|
140 |
+
textboxContent.innerHTML = marked(markdownText);
|
141 |
+
textboxLayer.style.display = 'block';
|
142 |
+
}
|
143 |
+
textboxVisible = !textboxVisible;
|
144 |
+
}
|
145 |
+
|
146 |
prevBtn.addEventListener('click', () => {
|
147 |
currentIndex = (currentIndex - 1 + slides.length) % slides.length;
|
148 |
loadSlide(currentIndex);
|
|
|
173 |
});
|
174 |
|
175 |
websiteIcon.addEventListener('click', toggleWebsiteLayer);
|
176 |
+
textboxIcon.addEventListener('click', toggleTextboxLayer);
|
177 |
|
178 |
queryButton.addEventListener('click', async () => {
|
179 |
const userPrompt = promptText.value.trim();
|