diff --git a/src/Bundle/ChillMainBundle/Resources/public/module/bootstrap/index.js b/src/Bundle/ChillMainBundle/Resources/public/module/bootstrap/index.js
index daff13a55..4a0a33d38 100644
--- a/src/Bundle/ChillMainBundle/Resources/public/module/bootstrap/index.js
+++ b/src/Bundle/ChillMainBundle/Resources/public/module/bootstrap/index.js
@@ -8,3 +8,38 @@ require('./bootstrap.scss');
import Dropdown from 'bootstrap/js/src/dropdown';
import Modal from 'bootstrap/js/dist/modal';
import Collapse from 'bootstrap/js/src/collapse';
+import Carousel from 'bootstrap/js/src/carousel';
+
+//
+// ACHeaderSlider is a small slider used in banner of AccompanyingCourse Section
+// Initialize options, and show/hide controls in first/last slides
+//
+let ACHeaderSlider = document.querySelector('#ACHeaderSlider'),
+ controlPrev = ACHeaderSlider.querySelector('button[data-bs-slide="prev"]'),
+ controlNext = ACHeaderSlider.querySelector('button[data-bs-slide="next"]'),
+ length = ACHeaderSlider.querySelectorAll('.carousel-item').length,
+ last = length-1,
+ carousel = new Carousel(ACHeaderSlider, {
+ interval: false,
+ wrap: false,
+ ride: false,
+ keyboard: false,
+ touch: true
+ })
+;
+ACHeaderSlider.addEventListener('slid.bs.carousel', (e) => {
+ //console.log('from slide', e.direction, e.relatedTarget, e.from, e.to );
+ switch (e.to) {
+ case 0:
+ controlPrev.classList.add('visually-hidden');
+ controlNext.classList.remove('visually-hidden');
+ break;
+ case last:
+ controlPrev.classList.remove('visually-hidden');
+ controlNext.classList.add('visually-hidden');
+ break;
+ default:
+ controlPrev.classList.remove('visually-hidden');
+ controlNext.classList.remove('visually-hidden');
+ }
+})
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/chill/scss/badge.scss b/src/Bundle/ChillPersonBundle/Resources/public/chill/scss/badge.scss
index 7dcddf65d..240601826 100644
--- a/src/Bundle/ChillPersonBundle/Resources/public/chill/scss/badge.scss
+++ b/src/Bundle/ChillPersonBundle/Resources/public/chill/scss/badge.scss
@@ -127,3 +127,32 @@ div.activity-list {
}
}
}
+
+/// AccompanyingCourse: HeaderSlider Carousel
+div#header-accompanying_course-details {
+ button.carousel-control-prev,
+ button.carousel-control-next {
+ width: 8%;
+ opacity: inherit;
+ }
+ span.to-social-issues,
+ span.to-persons-associated {
+ display: inline-block;
+ border-radius: 15px;
+ width: 24px;
+ height: 24px;
+ box-shadow: 0 0 3px 0 grey;
+ opacity: 0.8;
+ &:hover {
+ opacity: 1;
+ }
+ }
+ span.to-social-issues {
+ background-color: #4bafe8;
+ border-left: 8px solid #32749a;
+ }
+ span.to-persons-associated {
+ background-color: #16d9b4;
+ border-right: 8px solid #ffffff;
+ }
+}
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Banner.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Banner.vue
index 801e83068..7cce4d900 100644
--- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Banner.vue
+++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Banner.vue
@@ -29,13 +29,15 @@