Skip to content

Commit df0125d

Browse files
committed
mock sort functionality via carousel
1 parent 7c15f0f commit df0125d

File tree

3 files changed

+76
-7
lines changed

3 files changed

+76
-7
lines changed

frontend/dist/scripts/app.js

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -531,21 +531,55 @@ function loadProjectRequirements(data) {
531531

532532
let mockupIcons = document.querySelectorAll('li.mockup-type');
533533
const gallery = document.getElementById('galleryContainer');
534+
535+
currentIndex = '';
536+
534537
mockupIcons.forEach((icon, index) => {
535538
icon.setAttribute('data-mockup-index', index);
536539

537540
icon.addEventListener('click', e => {
538541
gallery.innerHTML = '';
539-
let currentIndex = e.target.getAttribute('data-mockup-index');
542+
currentIndex = e.target.getAttribute('data-mockup-index');
540543
let currentMock = projectFileData.currentMocks[currentIndex];
541544
let img = document.createElement('img');
542545
img.src = currentMock;
543546
gallery.appendChild(img);
544547
})
545548
});
546549

547-
548-
550+
// carousel logic
551+
const controls = document.getElementById('controls');
552+
let prevArrow = document.querySelector('[data-prev-image]')
553+
let nextArrow = document.querySelector('[data-next-image]')
554+
555+
controls.addEventListener('click', e => {
556+
557+
if (e.target === prevArrow) {
558+
559+
if (currentIndex === 0) {
560+
currentIndex = projectFileData.currentMocks.length -1;
561+
} else {
562+
currentIndex -= 1;
563+
}
564+
565+
}
566+
567+
if (e.target === nextArrow) {
568+
if (currentIndex === projectFileData.currentMocks.length -1) {
569+
currentIndex = 0;
570+
} else {
571+
currentIndex ++;
572+
}
573+
}
574+
575+
console.log(projectFileData.currentMocks.length);
576+
577+
gallery.innerHTML = '';
578+
let currentMock = projectFileData.currentMocks[currentIndex];
579+
let img = document.createElement('img');
580+
img.src = currentMock;
581+
gallery.appendChild(img);
582+
});
549583
}
550584

551585
function updateProgressBar() {

frontend/src/scripts/app.js

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -531,21 +531,55 @@ function loadProjectRequirements(data) {
531531

532532
let mockupIcons = document.querySelectorAll('li.mockup-type');
533533
const gallery = document.getElementById('galleryContainer');
534+
535+
currentIndex = '';
536+
534537
mockupIcons.forEach((icon, index) => {
535538
icon.setAttribute('data-mockup-index', index);
536539

537540
icon.addEventListener('click', e => {
538541
gallery.innerHTML = '';
539-
let currentIndex = e.target.getAttribute('data-mockup-index');
542+
currentIndex = e.target.getAttribute('data-mockup-index');
540543
let currentMock = projectFileData.currentMocks[currentIndex];
541544
let img = document.createElement('img');
542545
img.src = currentMock;
543546
gallery.appendChild(img);
544547
})
545548
});
546549

547-
548-
550+
// carousel logic
551+
const controls = document.getElementById('controls');
552+
let prevArrow = document.querySelector('[data-prev-image]')
553+
let nextArrow = document.querySelector('[data-next-image]')
554+
555+
controls.addEventListener('click', e => {
556+
557+
if (e.target === prevArrow) {
558+
559+
if (currentIndex === 0) {
560+
currentIndex = projectFileData.currentMocks.length -1;
561+
} else {
562+
currentIndex -= 1;
563+
}
564+
565+
}
566+
567+
if (e.target === nextArrow) {
568+
if (currentIndex === projectFileData.currentMocks.length -1) {
569+
currentIndex = 0;
570+
} else {
571+
currentIndex ++;
572+
}
573+
}
574+
575+
console.log(projectFileData.currentMocks.length);
576+
577+
gallery.innerHTML = '';
578+
let currentMock = projectFileData.currentMocks[currentIndex];
579+
let img = document.createElement('img');
580+
img.src = currentMock;
581+
gallery.appendChild(img);
582+
});
549583
}
550584

551585
function updateProgressBar() {

index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ <h1 data-project-name></h1>
138138
</header>
139139
<ul class="mockup-type-container" id="mockupTypeContainer">
140140
<!-- dynamic -->
141+
<li class="disabled">loading mockups...</li>
141142
</ul>
142143
</div>
143144

@@ -200,7 +201,7 @@ <h1 data-project-name></h1>
200201

201202
<!-- project-files-carousel -->
202203
<div class="overlay_projectFiles" data-carousel>
203-
<div class="controls">
204+
<div class="controls" id="controls">
204205
<i class="fa-solid fa-angle-left" data-prev-image></i>
205206
<i class="fa-solid fa-angle-right" data-next-image></i>
206207
</div>

0 commit comments

Comments
 (0)