mirror of
https://github.com/LCE-Hub/lce-hub.github.io.git
synced 2026-07-15 21:32:25 +00:00
Launcher screenshots
This commit is contained in:
37
index.html
37
index.html
@@ -169,7 +169,7 @@
|
||||
|
||||
<div class="content-footer">
|
||||
<div class="roadmap-link">
|
||||
<a href="#">DEVELOPMENT ROADMAP →</a>
|
||||
<a href="https://github.com/orgs/Emerald-Legacy-Launcher/projects/2">DEVELOPMENT ROADMAP →</a>
|
||||
</div>
|
||||
<div class="acknowledgments">
|
||||
<p>Developed by the Emerald Team. Original creators: 4J Studios & Mojang.</p>
|
||||
@@ -181,6 +181,32 @@
|
||||
<section class="tab-content" id="media">
|
||||
<div class="features-layout scroll-content">
|
||||
<div class="overview-box" style="text-align: center;">
|
||||
<h2>Launcher Screenshots</h2>
|
||||
<p>Experience the definitive way to launch and manage your legacy console editions.</p>
|
||||
</div>
|
||||
|
||||
<div class="gallery-grid launcher-previews">
|
||||
<div class="gallery-item large">
|
||||
<div class="gallery-frame">
|
||||
<img src="Launcher/home.png" alt="Launcher Home">
|
||||
<div class="frame-caption">Interface</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="gallery-item large">
|
||||
<div class="gallery-frame">
|
||||
<img src="Launcher/versions.png" alt="Version Selection">
|
||||
<div class="frame-caption">Versions</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="gallery-item large">
|
||||
<div class="gallery-frame">
|
||||
<img src="Launcher/settings.png" alt="Launcher Settings">
|
||||
<div class="frame-caption">Settings</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="overview-box" style="text-align: center; margin-top: 40px;">
|
||||
<h2>Community Gallery</h2>
|
||||
<p>A collection of moments and creations shared by the Emerald Legacy community.</p>
|
||||
</div>
|
||||
@@ -297,7 +323,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
<div id="image-modal" class="modal-overlay">
|
||||
<div class="image-modal-content">
|
||||
<button id="close-image-modal" class="close-btn expansion-close">X</button>
|
||||
<img id="expanded-image" src="" alt="Expanded Preview">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="module" src="src/main.ts"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
BIN
public/Launcher/home.png
Normal file
BIN
public/Launcher/home.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 369 KiB |
BIN
public/Launcher/settings.png
Normal file
BIN
public/Launcher/settings.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 204 KiB |
BIN
public/Launcher/versions.png
Normal file
BIN
public/Launcher/versions.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 216 KiB |
39
src/main.ts
39
src/main.ts
@@ -269,6 +269,45 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
}
|
||||
});
|
||||
|
||||
const imageModal = document.getElementById('image-modal');
|
||||
const expandedImg = document.getElementById('expanded-image') as HTMLImageElement;
|
||||
const closeImageModal = document.getElementById('close-image-modal');
|
||||
|
||||
const openImageModal = (src: string) => {
|
||||
if (!imageModal || !expandedImg) return;
|
||||
audio.playSFX('levelup.ogg');
|
||||
expandedImg.src = src;
|
||||
imageModal.classList.add('active');
|
||||
};
|
||||
|
||||
document.querySelectorAll('.gallery-frame img, .carousel-img').forEach(img => {
|
||||
(img as HTMLElement).style.cursor = 'pointer';
|
||||
img.addEventListener('click', () => {
|
||||
openImageModal((img as HTMLImageElement).src);
|
||||
});
|
||||
});
|
||||
|
||||
closeImageModal?.addEventListener('click', () => {
|
||||
audio.playSFX('back.ogg');
|
||||
imageModal?.classList.remove('active');
|
||||
});
|
||||
|
||||
imageModal?.addEventListener('click', (e) => {
|
||||
if (e.target === imageModal) {
|
||||
audio.playSFX('back.ogg');
|
||||
imageModal.classList.remove('active');
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Escape') {
|
||||
if (imageModal?.classList.contains('active')) {
|
||||
audio.playSFX('back.ogg');
|
||||
imageModal.classList.remove('active');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
updateDownloadButtons();
|
||||
|
||||
setInterval(() => rotateScreenshot(1, false), 5000);
|
||||
|
||||
101
src/style.css
101
src/style.css
@@ -25,8 +25,8 @@ body {
|
||||
font-family: var(--font-pixel);
|
||||
background-color: var(--color-bg);
|
||||
color: var(--color-text);
|
||||
overflow: hidden;
|
||||
height: 100vh;
|
||||
overflow-x: hidden;
|
||||
min-height: 100vh;
|
||||
width: 100vw;
|
||||
user-select: none;
|
||||
image-rendering: pixelated;
|
||||
@@ -82,8 +82,9 @@ body {
|
||||
.menu-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100vh;
|
||||
padding: 20px 0;
|
||||
min-height: 100vh;
|
||||
height: auto;
|
||||
padding: 40px 0;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
@@ -897,6 +898,9 @@ body {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 15px;
|
||||
justify-content: center;
|
||||
max-width: 900px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.gallery-item {
|
||||
@@ -939,4 +943,93 @@ body {
|
||||
.gallery-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
.launcher-previews {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 30px;
|
||||
margin-bottom: 20px;
|
||||
max-width: 1000px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.launcher-previews {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.launcher-previews {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.launcher-previews {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
.gallery-item.large {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.gallery-item.large .gallery-frame {
|
||||
height: auto;
|
||||
aspect-ratio: 16/9;
|
||||
}
|
||||
|
||||
.frame-caption {
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
right: 15px;
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
padding: 6px 14px;
|
||||
border: 2px solid #5c5c5c;
|
||||
color: #fff;
|
||||
font-family: var(--font-silk);
|
||||
font-size: 0.75rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
pointer-events: none;
|
||||
z-index: 5;
|
||||
box-shadow: 2px 2px 0 #000;
|
||||
}
|
||||
|
||||
.gallery-item:hover .frame-caption {
|
||||
border-color: var(--color-emerald);
|
||||
color: var(--color-emerald);
|
||||
}
|
||||
|
||||
.image-modal-content {
|
||||
position: relative;
|
||||
max-width: 90vw;
|
||||
max-height: 90vh;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.image-modal-content img {
|
||||
max-width: 100%;
|
||||
max-height: 90vh;
|
||||
border: 8px solid #3c3c3c;
|
||||
outline: 4px solid #1a1a1a;
|
||||
box-shadow: 0 0 50px rgba(0, 0, 0, 1);
|
||||
}
|
||||
|
||||
.expansion-close {
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
right: -20px;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
@media (max-width: 800px) {
|
||||
.menu-container {
|
||||
width: 95vw;
|
||||
margin: 20px auto;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user