Skip to content

Commit ddd83e7

Browse files
committed
Replace static hero images with responsive swiper
1 parent 370ffbe commit ddd83e7

File tree

6 files changed

+73
-15
lines changed

6 files changed

+73
-15
lines changed

assets/images/Hero.jpg

-256 KB
Loading

assets/images/Hero2.jpg

38 KB
Loading
170 KB
Loading

components/Index/Hero.vue

Lines changed: 61 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,78 @@
11
<template>
22
<div>
3-
<div
4-
id="hero"
5-
class="flex w-full mx-auto mt-16 bg-right bg-cover md:pt-0 md:items-center"
6-
>
3+
<swiper id="hero" ref="mySwiper" :options="swiperOption">
4+
<swiper-slide
5+
><img src="~assets/images/Hero.jpg" />
6+
<div
7+
class="flex flex-col items-start justify-center w-full mx-auto tracking-wide lg:w-1/2"
8+
>
9+
<span
10+
class="w-full p-4 mt-4 text-center text-white bg-black text-md lg:text-2xl lg:-mt-64"
11+
>
12+
Modern Pillow Sample Set
13+
</span>
14+
</div>
15+
</swiper-slide>
16+
<swiper-slide
17+
><img src="~assets/images/Hero2.jpg" />
18+
<div
19+
class="flex flex-col items-start justify-center w-full mx-auto tracking-wide lg:w-1/2"
20+
>
21+
<span
22+
class="w-full p-4 mt-4 text-center text-white bg-black text-md lg:text-2xl lg:-mt-64"
23+
>
24+
Modern Interior Sample
25+
</span>
26+
</div>
27+
</swiper-slide>
728
<div
8-
class="flex flex-col items-start justify-center w-full px-6 tracking-wide lg:w-1/2"
9-
>
10-
<span class="p-4 my-4 text-2xl text-white bg-black rounded-lg">
11-
Modern Pillow Sample Set
12-
</span>
13-
</div>
14-
</div>
29+
slot="button-prev"
30+
class="swiper-button-prev"
31+
@click="swiper.slidePrev(1000, false)"
32+
></div>
33+
<div
34+
slot="button-next"
35+
class="swiper-button-next"
36+
@click="swiper.slideNext(1000, false)"
37+
></div>
38+
</swiper>
1539
</div>
1640
</template>
1741

1842
<script>
43+
import { Swiper, SwiperSlide } from 'vue-awesome-swiper'
44+
45+
import 'swiper/swiper-bundle.min.css'
46+
1947
export default {
2048
name: 'Hero',
49+
components: {
50+
Swiper,
51+
SwiperSlide,
52+
},
53+
data() {
54+
return {
55+
swiperOption: {
56+
navigation: {
57+
nextEl: '.swiper-button-next',
58+
prevEl: '.swiper-button-prev',
59+
},
60+
},
61+
}
62+
},
63+
computed: {
64+
swiper() {
65+
return this.$refs.mySwiper.$swiper
66+
},
67+
},
68+
mounted() {
69+
this.swiper.slideTo(2, 2000, false)
70+
},
2171
}
2272
</script>
2373

2474
<style lang="postcss" scoped>
2575
#hero {
26-
background-image: url('~assets/images/Hero.jpg');
27-
height: 24rem;
2876
max-width: 1350px;
2977
}
3078
</style>

nuxt.config.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default {
1313
},
1414
// Global page headers (https://go.nuxtjs.dev/config-head)
1515
head: {
16-
title: 'nuxtjs-woocommerce',
16+
title: 'NuxtJS WooCommerce',
1717
meta: [
1818
{ charset: 'utf-8' },
1919
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
@@ -26,7 +26,10 @@ export default {
2626
css: ['@/assets/css/animate.min.css'],
2727

2828
// Plugins to run before rendering page (https://go.nuxtjs.dev/config-plugins)
29-
plugins: ['~/plugins/vue-formulate'],
29+
plugins: [
30+
'~/plugins/vue-formulate',
31+
{ src: '~/plugins/vue-awesome-swiper', mode: 'client', ssr: false },
32+
],
3033

3134
// Auto import components (https://go.nuxtjs.dev/config-components)
3235
components: true,

plugins/vue-awesome-swiper.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// https://github.com/surmon-china/vue-awesome-swiper
2+
3+
import Vue from 'vue'
4+
// import VueAwesomeSwiper from 'vue-awesome-swiper/dist/ssr'
5+
import VueAwesomeSwiper from 'vue-awesome-swiper'
6+
7+
Vue.use(VueAwesomeSwiper)

0 commit comments

Comments
 (0)