From 88884ed07565a4bd23afba9d0daf5ad55cd97fe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0t=C4=9Bp=C3=A1n=20Farka?= <stepanfarka11@gmail.com> Date: Wed, 24 Aug 2022 15:05:50 +0200 Subject: [PATCH] [WIP] twitter --- .../_patterns/templates/person.mustache | 13 ++++--- .../source/css/molecules/carousels.pcss | 36 +++++++++++++++++++ .../source/js/components/TwitterCarousel.vue | 30 ++++++++++++++++ main/styleguide/source/js/main.js | 2 ++ 4 files changed, 77 insertions(+), 4 deletions(-) create mode 100644 main/styleguide/source/js/components/TwitterCarousel.vue diff --git a/main/styleguide/source/_patterns/templates/person.mustache b/main/styleguide/source/_patterns/templates/person.mustache index d855f6c6..021b0eba 100644 --- a/main/styleguide/source/_patterns/templates/person.mustache +++ b/main/styleguide/source/_patterns/templates/person.mustache @@ -78,16 +78,20 @@ </div> </section> </div> - <section class="grid-container no-max"> + <section class="grid-container no-max mr-0 mb-8"> <div class="grid-content-with-right-side"> <h2 class="head-4xl text-center xl:text-left"> Aktuálně na Twitteru </h2> - <div class="mb-8 flex flex-wrap"> - <div class="md:w-1/3 lg:w-1/4"> + <div class="__js-root twitter-carousel-root"> + <ui-twitter-carousel> + <div class="md:w-1/3 lg:w-1/4 pr-2"> {{> molecules-twitter-box }} </div> - <div class="md:w-1/3 lg:w-1/4"> + <div class="md:w-1/3 lg:w-1/4 pr-2"> + {{> molecules-twitter-box }} + </div> + <div class="md:w-1/3 lg:w-1/4 pr-2"> {{> molecules-twitter-box }} </div> <div class="md:w-1/3 lg:w-1/4"> @@ -96,6 +100,7 @@ <div class="md:w-1/3 lg:w-1/4"> {{> molecules-twitter-box }} </div> + </ui-twitter-carousel> </div> </div> </section> diff --git a/main/styleguide/source/css/molecules/carousels.pcss b/main/styleguide/source/css/molecules/carousels.pcss index 4d0f6956..c6d4a530 100644 --- a/main/styleguide/source/css/molecules/carousels.pcss +++ b/main/styleguide/source/css/molecules/carousels.pcss @@ -159,3 +159,39 @@ } } } + +.twitter-carousel { + .slick-arrow { + right: 10%; + @screen lg { + right: 5%; + } + + &:before, &:after { + border-color: black; + } + + &.slick-disabled { + &:before, &:after { + border-color: #B3B3B3; + } + } + } +} + +.twitter-carousel { + position: relative; + + .slick-arrow { + top: -2.6rem; + } + &:before { + content: ''; + height: 100%; + position: absolute; + right: 0; + width: 20%; + z-index: 100; + background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(255,255,255,1) 100%); + } +} diff --git a/main/styleguide/source/js/components/TwitterCarousel.vue b/main/styleguide/source/js/components/TwitterCarousel.vue new file mode 100644 index 00000000..9a4cd708 --- /dev/null +++ b/main/styleguide/source/js/components/TwitterCarousel.vue @@ -0,0 +1,30 @@ +<template> + <vue-slick-carousel v-bind="settings" class="twitter-carousel"> + <slot></slot> + </vue-slick-carousel> +</template> + +<script> +import VueSlickCarousel from 'vue-slick-carousel' + +export default { + components: {VueSlickCarousel}, + name: 'TwitterCarousel', + data: () => ({ + settings: { + "dots": false, + "infinite": false, + "slidesToShow": 4, + "slidesToScroll": 1, + "responsive": [ + { + "breakpoint": 1200, + "settings": { + "slidesToShow": 1 + } + } + ] + } + }) +} +</script> diff --git a/main/styleguide/source/js/main.js b/main/styleguide/source/js/main.js index 12575b69..06df5ade 100644 --- a/main/styleguide/source/js/main.js +++ b/main/styleguide/source/js/main.js @@ -8,6 +8,7 @@ import Renderer from "./components/calendar/Renderer"; import DummyProvider from "./components/calendar/DummyProvider"; import GoogleProvider from "./components/calendar/GoogleProvider"; import RegionMap from "./components/RegionMap"; +import TwitterCarousel from "./components/TwitterCarousel"; import ViewProvider from "./components/ViewProvider"; import Navbar from "./components/navbar/Navbar"; import FooterCollapsible from "./components/footer/FooterCollapsible"; @@ -20,6 +21,7 @@ Vue.component("ui-calendar-renderer", Renderer); Vue.component("ui-calendar-dummy-provider", DummyProvider); Vue.component("ui-calendar-google-provider", GoogleProvider); Vue.component("ui-region-map", RegionMap); +Vue.component("ui-twitter-carousel", TwitterCarousel); Vue.component("ui-view-provider", ViewProvider); Vue.component("ui-navbar", Navbar); Vue.component("ui-footer-collapsible", FooterCollapsible); -- GitLab