Skip to content

Commit f6f07b2

Browse files
authored
Merge pull request #19 from amakarudze/master
Try to fix carousel issues
2 parents 2ba0ac6 + aa02b87 commit f6f07b2

6 files changed

Lines changed: 36 additions & 31 deletions

File tree

e2e/carousel.e2e.ts

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
import { test, expect } from '@playwright/test';
22

3-
test('carousel container exists on /en/', async ({ page }) => {
3+
test('carousel initializes on /en/', async ({ page }) => {
44
await page.goto('/en/');
5-
await page.waitForSelector('.swiper, .carousel'); // adjust to your actual class
6-
await expect(page.locator('.swiper, .carousel')).toBeVisible();
7-
});
5+
6+
const container = page.locator('swiper-container');
7+
await expect(container).toBeVisible();
8+
9+
await page.waitForFunction(() => {
10+
const el = document.querySelector('swiper-container');
11+
return el && el.swiper;
12+
});
13+
14+
const hasSwiper = await page.evaluate(() => {
15+
const el = document.querySelector('swiper-container');
16+
return !!el.swiper;
17+
});
18+
19+
expect(hasSwiper).toBe(true);
20+
});

src/components/Carousel.astro

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/components/Carousel.jsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { useEffect } from "react";
2+
import { register } from "swiper/element/bundle";
3+
import "swiper/swiper-bundle.css";
4+
5+
export default function Carousel() {
6+
useEffect(() => {
7+
register();
8+
}, []);
9+
10+
return (
11+
<swiper-container slides-per-view="1" autoplay="true" loop="true">
12+
<swiper-slide>Item 1</swiper-slide>
13+
<swiper-slide>Item 2</swiper-slide>
14+
<swiper-slide>Item 3</swiper-slide>
15+
</swiper-container>
16+
);
17+
}

src/components/Sidebar.astro

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
---
22
const { currentOS } = Astro.props;
3-
import 'swiper/css';
4-
import 'swiper/element/bundle';
5-
import Carousel from '../components/Carousel.astro';
3+
import Carousel from '../components/Carousel.jsx';
64
---
75

86
<nav>

src/layouts/TutorialLayout.astro

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,10 @@ const { title, currentOS } = Astro.props;
99
<meta charset="utf-8" />
1010
<title>{title} | Django Girls Tutorial</title>
1111
<link rel="stylesheet" href="/styles.css" />
12-
<script type="module" src="/src/scripts/swiper.js"></script>
13-
<script type="module" src="/src/scripts/sidebar-toggle.js"></script>
1412
</head>
1513
<body>
1614
<header>
1715
<h1>Django Girls Tutorial</h1>
18-
<button class="menu-toggle" aria-controls="sidebar" aria-expanded="false">
19-
☰ Menu
20-
</button>
2116
</header>
2217

2318
<div class="overlay"></div>

src/scripts/swiper.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
import { register } from 'swiper/element/bundle';
2+
import 'swiper/swiper-bundle.css';
23

34
register();

0 commit comments

Comments
 (0)