Skip to content

Commit 904f502

Browse files
committed
fix: Initialize tilt effect script on page load and reformat post data processing.
1 parent 15000c4 commit 904f502

2 files changed

Lines changed: 40 additions & 36 deletions

File tree

src/components/Tilt.astro

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,25 +34,27 @@ const id = crypto.randomUUID();
3434
}
3535
</style>
3636

37-
<script type="module">
38-
const tiltElements = document.querySelectorAll(".tilt");
39-
40-
tiltElements.forEach((el) => {
41-
document.addEventListener("mousemove", (e) => {
42-
rotateElement(e, el);
37+
<script type="module" is:inline>
38+
document.addEventListener("astro:page-load", () => {
39+
const tiltElements = document.querySelectorAll(".tilt");
40+
41+
tiltElements.forEach((el) => {
42+
document.addEventListener("mousemove", (e) => {
43+
rotateElement(e, el);
44+
});
4345
});
44-
});
4546

46-
function rotateElement(event, element) {
47-
const x = event.clientX;
48-
const y = event.clientY;
47+
function rotateElement(event, element) {
48+
const x = event.clientX;
49+
const y = event.clientY;
4950

50-
const middleX = window.innerWidth / 2;
51-
const middleY = window.innerHeight / 2;
52-
const offsetX = ((x - middleX) / middleX) * 15;
53-
const offsetY = ((y - middleY) / middleY) * 15;
51+
const middleX = window.innerWidth / 2;
52+
const middleY = window.innerHeight / 2;
53+
const offsetX = ((x - middleX) / middleX) * 15;
54+
const offsetY = ((y - middleY) / middleY) * 15;
5455

55-
element.style.setProperty("--rotateX", offsetX + "deg");
56-
element.style.setProperty("--rotateY", -1 * offsetY + "deg");
57-
}
56+
element.style.setProperty("--rotateX", offsetX + "deg");
57+
element.style.setProperty("--rotateY", -1 * offsetY + "deg");
58+
}
59+
});
5860
</script>

src/pages/index.astro

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,27 @@ type Mention = {
1616
};
1717
1818
const postsGlob = await import.meta.glob("./blog/*", { eager: true });
19-
const posts = Object.values(postsGlob).map(
20-
(p: {
21-
url: string;
22-
frontmatter: {
23-
title: string;
24-
description: string;
25-
date: string;
26-
tags: string[];
27-
mentions: Mention[];
28-
};
29-
}) => ({
30-
url: p.url,
31-
title: p.frontmatter.title,
32-
description: p.frontmatter.description,
33-
date: p.frontmatter.date,
34-
tags: p.frontmatter.tags,
35-
mentions: p.frontmatter.mentions ?? [],
36-
})).sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime(),
37-
);
19+
const posts = Object.values(postsGlob)
20+
.map(
21+
(p: {
22+
url: string;
23+
frontmatter: {
24+
title: string;
25+
description: string;
26+
date: string;
27+
tags: string[];
28+
mentions: Mention[];
29+
};
30+
}) => ({
31+
url: p.url,
32+
title: p.frontmatter.title,
33+
description: p.frontmatter.description,
34+
date: p.frontmatter.date,
35+
tags: p.frontmatter.tags,
36+
mentions: p.frontmatter.mentions ?? [],
37+
}),
38+
)
39+
.sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime());
3840
---
3941

4042
<Layout title="@paripsky's Portfolio">

0 commit comments

Comments
 (0)