Skip to content

Commit 6cc6af5

Browse files
committed
Add footer, update testing.html to now use json, and show warnings if
its a Early development build or if there is currently no file available, also the slection dropdowns were changed to be a little easier to understand and to look cleaner
1 parent 5c04807 commit 6cc6af5

16 files changed

+1056
-549
lines changed

about.html

Lines changed: 75 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,81 @@
1-
<!DOCTYPE html>
1+
<!doctype html>
22
<html lang="en">
3-
<head>
4-
<meta charset="UTF-8">
5-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6-
<title>About - Mod-Sauce Dev's</title>
7-
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico?">
8-
<link rel="stylesheet" type="text/css" href="style.css">
9-
<link rel="stylesheet" type="text/css" href="assets/css/theme-toggle.css">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>About - Mod-Sauce</title>
7+
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico?" />
8+
<link rel="stylesheet" type="text/css" href="style.css" />
9+
<link
10+
rel="stylesheet"
11+
type="text/css"
12+
href="assets/css/theme-toggle.css"
13+
/>
14+
</head>
15+
<body>
16+
<!-- Main Content -->
17+
<main class="main-content">
18+
<h1>About Mod-Sauce</h1>
19+
<p>
20+
We are a team of passionate Minecraft mod developers dedicated
21+
to reviving and maintaining older, abandoned mods.
22+
</p>
1023

11-
</head>
12-
<body>
13-
<!-- Main Content -->
14-
<main class="main-content">
15-
<h1>About Mod-Sauce Dev's</h1>
16-
<p>We are a team of passionate Minecraft mod developers dedicated to reviving and maintaining older, abandoned mods.</p>
24+
<div class="card">
25+
<h2>Our Mission</h2>
26+
<p>
27+
Our mission is to ensure that classic Minecraft mods remain
28+
accessible and compatible with modern versions of the game.
29+
We believe that these mods contribute significantly to the
30+
rich history and diversity of the Minecraft modding
31+
community.
32+
</p>
33+
</div>
1734

18-
<div class="card">
19-
<h2>Our Mission</h2>
20-
<p>Our mission is to ensure that classic Minecraft mods remain accessible and compatible with modern versions of the game. We believe that these mods contribute significantly to the rich history and diversity of the Minecraft modding community.</p>
21-
</div>
35+
<div class="card">
36+
<h2>What We Do</h2>
37+
<p>We specialize in:</p>
38+
<ul>
39+
<li>Repairing and updating outdated mods</li>
40+
<li>
41+
Maintaining the original spirit and vision of the mods
42+
</li>
43+
<li>Providing community support and updates</li>
44+
</ul>
45+
</div>
2246

23-
<div class="card">
24-
<h2>What We Do</h2>
25-
<p>We specialize in:</p>
26-
<ul>
27-
<li>Repairing and updating outdated mods</li>
28-
<li>Maintaining the original spirit and vision of the mods</li>
29-
<li>Providing community support and updates</li>
30-
</ul>
31-
</div>
47+
<div class="card">
48+
<h2>Our Team</h2>
49+
<p>
50+
We are a small, dedicated team of developers with a shared
51+
love for Minecraft and its modding community. We are
52+
committed to providing high-quality, reliable mods for
53+
everyone to enjoy.
54+
</p>
55+
<a href="https://github.com/Mooo0042" class="btn"
56+
>Fr4gm3nt3d.sh (prev. Us3r0) - GitHub</a
57+
>
58+
<a href="https://github.com/Shadowbee27" class="btn"
59+
>Shadowbee - GitHub</a
60+
>
61+
</div>
3262

33-
<div class="card">
34-
<h2>Our Team</h2>
35-
<p>We are a small, dedicated team of developers with a shared love for Minecraft and its modding community. We are committed to providing high-quality, reliable mods for everyone to enjoy.</p>
36-
<a href="https://github.com/Mooo0042" class="btn">Fr4gm3nt3d.sh (prev. Us3r0) - GitHub</a>
37-
<a href="https://github.com/Shadowbee27" class="btn">Shadowbee - GitHub</a>
38-
</div>
39-
40-
<div class="card">
41-
<h2>Get Involved</h2>
42-
<p>If you're interested in contributing or have any questions, feel free to join our Discord community. We welcome feedback, suggestions, and contributions from the community.</p>
43-
<a href="https://discord.gg/VNrzdd5ErJ" class="btn">Join Discord Server</a>
44-
<p>Thank you for your support!</p>
45-
</div>
46-
</main>
47-
<script src="assets/js/navbar-loader.js"></script>
48-
<script src="assets/js/nav-theme.js"></script>
49-
<script src="assets/js/theme-toggle.js"></script>
50-
</body>
63+
<div class="card">
64+
<h2>Get Involved</h2>
65+
<p>
66+
If you're interested in contributing or have any questions,
67+
feel free to join our Discord community. We welcome
68+
feedback, suggestions, and contributions from the community.
69+
</p>
70+
<a href="https://discord.gg/VNrzdd5ErJ" class="btn"
71+
>Join Discord Server</a
72+
>
73+
<p>Thank you for your support!</p>
74+
</div>
75+
</main>
76+
<script src="assets/js/navbar-loader.js"></script>
77+
<script src="assets/js/nav-theme.js"></script>
78+
<script src="assets/js/theme-toggle.js"></script>
79+
<script src="assets/js/footer-loader.js"></script>
80+
</body>
5181
</html>

assets/js/footer-loader.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Load footer from footer.html and inject it into the page
2+
(function () {
3+
async function loadFooter() {
4+
try {
5+
// Use absolute path from root
6+
const footerPath =
7+
window.location.origin +
8+
window.location.pathname.split("/").slice(0, -1).join("/") +
9+
"/footer.html";
10+
11+
const response = await fetch(footerPath);
12+
if (!response.ok)
13+
throw new Error(`Failed to load footer: ${response.status}`);
14+
const html = await response.text();
15+
16+
// Insert footer at the end of body
17+
document.body.insertAdjacentHTML("beforeend", html);
18+
19+
// Dispatch event to signal footer is loaded
20+
document.dispatchEvent(new CustomEvent("footerLoaded"));
21+
} catch (err) {
22+
console.error("footer-loader: Failed to load footer", err);
23+
}
24+
}
25+
26+
if (document.readyState === "loading") {
27+
document.addEventListener("DOMContentLoaded", loadFooter);
28+
} else {
29+
loadFooter();
30+
}
31+
})();

assets/js/theme-toggle.js

Lines changed: 70 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,120 +1,144 @@
11
// Simple Theme Toggle Implementation
2-
(function() {
3-
const THEME_KEY = 'site-theme';
4-
console.log('Theme toggle script loaded');
2+
(function () {
3+
const THEME_KEY = "site-theme";
4+
console.log("Theme toggle script loaded");
55

66
// Apply theme to document
77
function applyTheme(theme) {
8-
console.log('applyTheme called with:', theme);
9-
if (theme === 'dark') {
10-
document.documentElement.setAttribute('data-theme', 'dark');
8+
console.log("applyTheme called with:", theme);
9+
if (theme === "dark") {
10+
document.documentElement.setAttribute("data-theme", "dark");
1111
} else {
12-
document.documentElement.removeAttribute('data-theme');
12+
document.documentElement.removeAttribute("data-theme");
1313
}
1414
updateToggleButton(theme);
15+
updateDiscordLogo(theme);
16+
}
17+
18+
function updateDiscordLogo(theme) {
19+
const discordLogo = document.getElementById("discord-logo-img");
20+
if (discordLogo) {
21+
discordLogo.src =
22+
theme === "dark"
23+
? "assets/png/discord-btn-dark.png"
24+
: "assets/png/discord-btn-light.png";
25+
}
1526
}
1627

1728
// Update toggle button appearance
1829
function updateToggleButton(theme) {
19-
console.log('updateToggleButton called with:', theme);
20-
const toggle = document.getElementById('theme-toggle');
21-
console.log('toggle element:', toggle);
30+
console.log("updateToggleButton called with:", theme);
31+
const toggle = document.getElementById("theme-toggle");
32+
console.log("toggle element:", toggle);
2233
if (toggle) {
23-
const newHTML = theme === 'dark' ? '<span class="toggle-icon">☀️</span>' : '<span class="toggle-icon">🌙</span>';
24-
console.log('Setting toggle HTML to:', newHTML);
34+
const newHTML =
35+
theme === "dark"
36+
? '<span class="toggle-icon">☀️</span>'
37+
: '<span class="toggle-icon">🌙</span>';
38+
console.log("Setting toggle HTML to:", newHTML);
2539
toggle.innerHTML = newHTML;
2640
}
2741
}
2842

2943
// Toggle between dark and light theme
3044
function toggleTheme(e) {
31-
console.log('toggleTheme called, event:', e);
45+
console.log("toggleTheme called, event:", e);
3246
e.preventDefault();
33-
const currentTheme = document.documentElement.getAttribute('data-theme') || 'light';
34-
console.log('currentTheme:', currentTheme);
35-
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
36-
console.log('newTheme:', newTheme);
47+
const currentTheme =
48+
document.documentElement.getAttribute("data-theme") || "light";
49+
console.log("currentTheme:", currentTheme);
50+
const newTheme = currentTheme === "dark" ? "light" : "dark";
51+
console.log("newTheme:", newTheme);
3752
localStorage.setItem(THEME_KEY, newTheme);
3853
applyTheme(newTheme);
3954
}
4055

4156
// Initialize theme
4257
function initTheme() {
43-
console.log('initTheme called');
58+
console.log("initTheme called");
4459
const savedTheme = localStorage.getItem(THEME_KEY);
45-
console.log('savedTheme from localStorage:', savedTheme);
60+
console.log("savedTheme from localStorage:", savedTheme);
4661
let theme;
4762

4863
if (savedTheme) {
4964
// Use saved preference if available
5065
theme = savedTheme;
51-
console.log('Using saved theme:', theme);
66+
console.log("Using saved theme:", theme);
5267
} else {
5368
// Check system preference (browser settings)
54-
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
55-
console.log('System prefers dark mode:', prefersDark);
56-
theme = prefersDark ? 'dark' : 'light';
57-
console.log('Using system theme:', theme);
69+
const prefersDark = window.matchMedia(
70+
"(prefers-color-scheme: dark)",
71+
).matches;
72+
console.log("System prefers dark mode:", prefersDark);
73+
theme = prefersDark ? "dark" : "light";
74+
console.log("Using system theme:", theme);
5875
}
5976

60-
console.log('theme to apply:', theme);
77+
console.log("theme to apply:", theme);
6178
applyTheme(theme);
6279
}
6380

6481
// Listen for system theme changes
6582
function setupSystemThemeListener() {
66-
const darkModeQuery = window.matchMedia('(prefers-color-scheme: dark)');
67-
darkModeQuery.addEventListener('change', (e) => {
83+
const darkModeQuery = window.matchMedia("(prefers-color-scheme: dark)");
84+
darkModeQuery.addEventListener("change", (e) => {
6885
// Only apply system theme if user hasn't saved a preference
6986
if (!localStorage.getItem(THEME_KEY)) {
70-
const newTheme = e.matches ? 'dark' : 'light';
71-
console.log('System theme changed to:', newTheme);
87+
const newTheme = e.matches ? "dark" : "light";
88+
console.log("System theme changed to:", newTheme);
7289
applyTheme(newTheme);
7390
}
7491
});
7592
}
7693

7794
// Setup click handler
7895
function setupClickHandler() {
79-
console.log('setupClickHandler called');
80-
const toggle = document.getElementById('theme-toggle');
81-
console.log('toggle element found:', !!toggle);
96+
console.log("setupClickHandler called");
97+
const toggle = document.getElementById("theme-toggle");
98+
console.log("toggle element found:", !!toggle);
8299
if (toggle) {
83-
console.log('Adding click listener to toggle button');
84-
toggle.addEventListener('click', toggleTheme);
85-
console.log('Click listener added');
100+
console.log("Adding click listener to toggle button");
101+
toggle.addEventListener("click", toggleTheme);
102+
console.log("Click listener added");
86103
} else {
87-
console.log('ERROR: toggle element not found!');
104+
console.log("ERROR: toggle element not found!");
88105
}
89106
}
90107

91108
// Initialize on page load
92109
function init() {
93-
console.log('init called');
110+
console.log("init called");
94111
initTheme();
95112
setupClickHandler();
96113
setupSystemThemeListener();
97114
}
98115

99116
// Run initialization
100-
console.log('document.readyState:', document.readyState);
117+
console.log("document.readyState:", document.readyState);
101118

102119
// Wait for navbar to be loaded first
103-
document.addEventListener('navbarLoaded', function() {
104-
console.log('navbarLoaded event received, initializing theme toggle');
120+
document.addEventListener("navbarLoaded", function () {
121+
console.log("navbarLoaded event received, initializing theme toggle");
105122
setTimeout(init, 50);
106123
});
107124

108125
// Also try on DOMContentLoaded as fallback
109-
if (document.readyState === 'loading') {
110-
console.log('DOM still loading, waiting for DOMContentLoaded');
111-
document.addEventListener('DOMContentLoaded', function() {
112-
console.log('DOMContentLoaded fired');
126+
if (document.readyState === "loading") {
127+
console.log("DOM still loading, waiting for DOMContentLoaded");
128+
document.addEventListener("DOMContentLoaded", function () {
129+
console.log("DOMContentLoaded fired");
113130
setTimeout(init, 100);
114131
});
115132
} else {
116-
console.log('DOM already loaded, trying init');
133+
console.log("DOM already loaded, trying init");
117134
setTimeout(init, 100);
118135
}
119-
})();
120136

137+
// Listen for footer
138+
document.addEventListener("footerLoaded", function () {
139+
console.log("footerLoaded event received, updating discord logo");
140+
const currentTheme =
141+
document.documentElement.getAttribute("data-theme") || "light";
142+
updateDiscordLogo(currentTheme);
143+
});
144+
})();

assets/png/discord-btn-dark.png

7.63 KB
Loading

assets/png/discord-btn-light.png

7.64 KB
Loading

downloads.json

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
"IMP Renewed": {
3+
"Forge": {
4+
"1.19.2": {
5+
"url": "https://pidxcndeajrmjzgnizaw.supabase.co/storage/v1/object/public/msbucket/1.19.2/iammusicplayer-forge-3.20.2-1.19.2-mc1.19.2-3.20.2-1.19.2.jar",
6+
"note": "None"
7+
},
8+
"1.18.2": {
9+
"url": "https://pidxcndeajrmjzgnizaw.supabase.co/storage/v1/object/public/msbucket/iammusicplayer_renewed-forge-1.18.2-3.18.0-Alpha1.jar",
10+
"note": "DEV"
11+
}
12+
},
13+
"Fabric": {
14+
"1.19.2": {
15+
"url": "https://pidxcndeajrmjzgnizaw.supabase.co/storage/v1/object/public/msbucket/1.19.2/iammusicplayer-fabric-3.20.2-1.19.2-mc1.19.2-3.20.2-1.19.2.jar",
16+
"note": "None"
17+
},
18+
"1.18.2": {
19+
"url": "https://pidxcndeajrmjzgnizaw.supabase.co/storage/v1/object/public/msbucket/iammusicplayer_renewed-fabric-1.18.2-3.18.0-Alpha1.jar",
20+
"note": "DEV"
21+
},
22+
"1.21.1": {
23+
"url": "",
24+
"note": "NA"
25+
}
26+
},
27+
"NeoForge": {
28+
"1.21.1": {
29+
"url": "",
30+
"note": "NA"
31+
}
32+
}
33+
},
34+
"Otyacraft Engine Renewed": {
35+
"NeoForge": {
36+
"1.21.1": {
37+
"url": "",
38+
"note": "NA"
39+
}
40+
},
41+
"Fabric": {
42+
"1.21.1": {
43+
"url": "",
44+
"note": "NA"
45+
}
46+
}
47+
}
48+
}

0 commit comments

Comments
 (0)