diff --git a/public/articles/index.html b/public/articles/index.html index 365517f..0782a78 100644 --- a/public/articles/index.html +++ b/public/articles/index.html @@ -66,7 +66,7 @@
- How To Make A Cloudflare Tunnel Domain + How to Set Up a Cloudflare Tunnel for an Eaglercraft Server

This brief guide walks you through configuring a Cloudflare Tunnel for your Eaglercraft server.

@@ -88,7 +88,7 @@
- × + ×

How To Make An Eaglercraft Server

Written by ServerDotSo and revised by zumbiepig

Have you ever wondered how to make an Eaglercraft Server?

@@ -168,8 +168,8 @@
- × -

How to Set Up A Cloudflare Tunnel for Eaglercraft Server

+ × +

How to Set Up a Cloudflare Tunnel for an Eaglercraft Server

Written by zumbiepig and SpeedSlicer

In this guide, we'll walk you through the steps to set up a Cloudflare Tunnel for your Eaglercraft server, which is running on ws://localhost:8081.

Prerequisites

diff --git a/public/resources/styles/themes/default.css b/public/resources/styles/themes/default.css index ffab536..76803dd 100644 --- a/public/resources/styles/themes/default.css +++ b/public/resources/styles/themes/default.css @@ -353,7 +353,6 @@ nav { 0% { transform: scale(1); } - 100% { transform: scale(1.1); } @@ -777,6 +776,34 @@ nav { align-items: center; } +@keyframes openArticle { + 0% { + opacity: 0; + scale: 0; + } + 80% { + scale: 1.1; + } + 100% { + opacity: 1; + scale: 1; + } +} + +@keyframes closeArticle { + 0% { + opacity: 1; + scale: 1; + } + 20% { + scale: 1.1; + } + 100% { + opacity: 0; + scale: 0; + } +} + .article .article-content { background-color: #333; padding: 20px; diff --git a/src/resources/scripts/main.ts b/src/resources/scripts/main.ts index 976b867..7281f2a 100644 --- a/src/resources/scripts/main.ts +++ b/src/resources/scripts/main.ts @@ -155,11 +155,17 @@ const navigate = { const article = { open: function (articleId: string) { const modal = document.querySelector(`#article-${articleId}`) as HTMLElement | null; - if (modal) modal.style.display = 'flex'; + if (modal) { + modal.style.animation = 'openArticle 0.5s ease-in-out'; + modal.style.display = 'flex'; + } }, - close: function () { - const modals = document.querySelectorAll(`.article`); - modals.forEach((modal) => ((modal as HTMLElement).style.display = 'none')); + close: function (articleId: string) { + const modal = document.querySelector(`#article-${articleId}`) as HTMLElement | null; + if (modal) { + modal.style.animation = 'closeArticle 0.5s ease-in-out'; + modal.addEventListener('animationend', () => (modal.style.display = 'none'), { once: true }); + } }, };