Redesign, ig
22
404.html
Normal file
@ -0,0 +1,22 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<style>@font-face {font-family: 'Shop'; src: url('/meta/shop.ttf') format('truetype'); font-weight: normal; font-style: normal;}</style>
|
||||
<title>404 Not Found - DSiMart</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/meta/main.css">
|
||||
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<img src="/media/branding-bag-no-bg.png" loading="lazy" width="150px" height="150px">
|
||||
<h1 style="color:red">404 Page Not Found</h1>
|
||||
|
||||
<a href="/" class="btn">Home page</a> <button onclick="history.back(1);">Previous page</button>
|
||||
|
||||
<footer><p>The WiiMart Team is not affiliated with Nintendo or any related parties. To contact, please send an email to <a href="mailto:support@wiimart.org"><b>support@wiimart.org</b></a>.</p></footer>
|
||||
|
||||
</body>
|
||||
</html>
|
13
README.md
@ -4,22 +4,15 @@
|
||||
|
||||
This is the source code of DSiMart's soon-to-be website. It contains NDS files, branding, and project information.
|
||||
|
||||
## Folders and build script
|
||||
## Folders and sources
|
||||
* `/media` Media files used throughout the site (pictures, branding, sound effects)
|
||||
* `/meta` Files used for the website (CSS, JS, images, music)
|
||||
* `/nds` NDS files (shop)
|
||||
* `.gitlab-ci.yml` Build script for the website
|
||||
* `404.html` 404 page
|
||||
* `favicon.ico` Favicon
|
||||
|
||||
## Content pages
|
||||
* `404.html` 404 page
|
||||
* `branding.html` Branding for DSiMart
|
||||
* `credits.html` Credits for DSiMart
|
||||
* `CNAME` Domain text file
|
||||
* `errors.html` Error Code Checker
|
||||
* `favicon.ico` Favicon
|
||||
* `index.html` Main page
|
||||
* `install.html` Installation guide
|
||||
* `support.html` Support/FAQ page
|
||||
|
||||
|
||||
*The WiiMart Team is not affiliated with Nintendo or any related parties. To contact, please send an email to support@wiimart.org*
|
BIN
favicon.ico
Normal file
After Width: | Height: | Size: 4.1 KiB |
87
index.html
@ -1,44 +1,61 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>DSiMart</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<style>
|
||||
body {background-color:#E911D1;color:white;font-family: sans-serif; margin: 0;height: 100vh;display: flex;justify-content: center;align-items: center;}
|
||||
img.btn {outline: solid 1px white}
|
||||
td img {border-radius: 5px}
|
||||
</style>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<title>DSiMart: private beta DSi Shop revival!</title>
|
||||
<meta content="DSiMart: private beta DSi Shop revival!" property="og:title">
|
||||
<meta content="DSiMart is an upcoming private beta DSi Shop revival. Like WiiMart, it is an open-source revival for the defunct DSi Shop service." property="og:description">
|
||||
<meta content="https://dsimart.org/media/branding-bag.png" property="og:image">
|
||||
<meta content="https://dsimart.org" property="og:url">
|
||||
<meta content="#E911D1" data-react-helmet="true" name="theme-color">
|
||||
<meta name="keywords" content="DSiMart, DSi Shop, homebrew">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="meta/main.css">
|
||||
<script src="meta/gallery.js" defer></script>
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<table style="text-align:center">
|
||||
<tr>
|
||||
<td><img src="media/icon-aura-aura.gif" alt="Aura-Aura Climber"></td>
|
||||
<td><img src="media/icon-brain-age.gif" alt="Brain Age"></td>
|
||||
<td><img src="media/icon-dr-mario.gif" alt="Dr. Mario"></td>
|
||||
<td><img src="media/icon-birds-and-beans.gif" alt="Birds and Beans"></td>
|
||||
<td><img src="media/icon-paper-airplane-chase.gif" alt="Paper Airplane Chase"></td>
|
||||
<td><img src="media/icon-dsi-web.gif" alt="DSi Browser"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6"><img src="media/branding-wordmark.png" width="400px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="media/icon-electroplankton.gif" alt="Electroplankton"></td>
|
||||
<td><img src="media/icon-mario-calculator.gif" alt="Mario Calculator"></td>
|
||||
<td><img src="media/icon-uno.gif" alt="UNO"></td>
|
||||
<td><img src="media/icon-game-and-watch-ball.gif" alt="Game & Watch Ball"></td>
|
||||
<td><img src="media/icon-space-invaders.gif" alt="Space Invaders Extreme Z"></td>
|
||||
<td><img src="media/icon-flipnote.gif" alt="Flipnote Studio"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6"><p style="color:#FF94F3;font-style: italic;">maybe one day...</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6"><a href="https://wiimart.org"><img src="media/branding-button-wiimart.png" class="btn"></a> <img src="media/branding-button.png" class="btn"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h1>DSiMart</h1>
|
||||
|
||||
<div id="about">
|
||||
<p><b>DSiMart</b> is an upcoming private beta DSi Shop revival. Like <b>WiiMart</b>, it is
|
||||
an open-source revival for the defunct DSi Shop service.</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2>Screenshots</h2>
|
||||
<div class="gallery">
|
||||
<img src="media/example-1.png" class="slide">
|
||||
<img src="media/example-2.png" class="slide">
|
||||
<img src="media/example-3.png" class="slide">
|
||||
<img src="media/example-4.png" class="slide">
|
||||
</div>
|
||||
<p>These were taken during testing.</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2>Frequently Asked Questions</h2>
|
||||
<h3>When will it be released?</h3>
|
||||
<p>We do not have an ETA on the project.</p>
|
||||
<h3>What will it have?</h3>
|
||||
<p>DSiWare alongside custom-made software. Custom software will be added if it is small enough. (16 MB)</p>
|
||||
<h3>Will it be on 3DS?</h3>
|
||||
<p>Due to difficulties with the 293003 code, DSiMart will not be released on Nintendo 3DS.</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2>Branding</h2>
|
||||
<img src="media/branding-bag.png" width="200px">
|
||||
<p><a href="media/branding-bag.svg" class="btn" download>Download SVG</a></p>
|
||||
<img src="media/branding-wordmark.png" width="200px">
|
||||
<p><a href="media/branding-wordmark.svg" class="btn" download>Download SVG</a></p>
|
||||
</div>
|
||||
|
||||
<p style="margin-bottom: 0px"><img src="media/branding-button.png" class="wb"> <a href="https://wiimart.org/"><img src="media/branding-button-wiimart.png" class="wb"></a></p>
|
||||
|
||||
<footer><p>The WiiMart Team is not affiliated with Nintendo or any related parties. To contact, please send an email to <a href="mailto:support@wiimart.org"><b>support@wiimart.org</b></a>.</p></footer>
|
||||
|
||||
</body>
|
||||
</html>
|
BIN
media/branding-bag-bg-white.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
media/branding-bag-no-bg.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
media/branding-bag.png
Normal file
After Width: | Height: | Size: 42 KiB |
17
media/branding-bag.svg
Normal file
@ -0,0 +1,17 @@
|
||||
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1500 1500" width="1500" height="1500">
|
||||
<title>dsimart-bag</title>
|
||||
<defs>
|
||||
<image width="1500" height="1500" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdwAAAXcAQMAAAAC+94nAAAAAXNSR0IB2cksfwAAAANQTFRF6RHRo0QXpwAABZtJREFUeJztzkENADAIALHh3/RE8GhIrgo677DRgY3ySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa+UV8or5ZXySnmlvFJeKa98ogcF3T/hVqIAAAAASUVORK5CYII="/>
|
||||
</defs>
|
||||
<style>
|
||||
.s0 { fill: #ffffff;stroke: #e911d1;stroke-miterlimit:100;stroke-width: 22 }
|
||||
.s1 { fill: #e911d1 }
|
||||
.s2 { fill: #ffffff }
|
||||
</style>
|
||||
<use id="Layer 1" href="#img1" x="0" y="0"/>
|
||||
<path id="Shape 5" fill-rule="evenodd" class="s0" d="m473 461.5c0-161.6 124-292.5 277-292.5 153 0 277 130.9 277 292.5v234c0 161.6-124 292.5-277 292.5-153 0-277-130.9-277-292.5zm277-175.5c-91.8 0-166.2 78.6-166.2 175.5v234c0 96.9 74.4 175.5 166.2 175.5 91.8 0 166.2-78.6 166.2-175.5v-234c0-96.9-74.4-175.5-166.2-175.5z"/>
|
||||
<path id="Shape 1" fill-rule="evenodd" class="s0" d="m288 502h924c27.6 0 50 22.4 50 50v609c0 27.6-22.4 50-50 50h-924c-27.6 0-50-22.4-50-50v-609c0-27.6 22.4-50 50-50z"/>
|
||||
<path id="★" class="s1" aria-label="★" d="m676.5 884.5l-118.2-86.2h146.3l45.4-138.9 45.7 138.9h146l-118.2 86.2 45.4 138.7-118.9-85.9-118.7 85.9z"/>
|
||||
<path id="Shape 7" fill-rule="evenodd" class="s2" d="m1016 491v22h-89v-22z"/>
|
||||
<path id="Shape 6" fill-rule="evenodd" class="s2" d="m573 486v32h-89v-32z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 3.2 KiB |
7
media/branding-wordmark.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 740 112" width="740" height="112">
|
||||
<title>DSi★MART </title>
|
||||
<style>
|
||||
.s0 { fill: #ffffff }
|
||||
</style>
|
||||
<path id="DSi★MART" class="s0" aria-label="DSi★MART" d="m0.1 2.5h42.8q6.9 0 13.6 1.1 22.3 3.8 29.4 23.9 3.7 10.8 3.7 23.2 0 12.8-3.3 24.8-4.5 16.4-15.8 25.6-9.7 7.9-28.7 7.9h-41.7zm41.9 25.3h-15.1v58.6h12.8q7.2 0.1 10.8-1.8 4.2-2.1 7.5-8 4.6-8.4 4.8-21.5 0.2-27.4-20.8-27.3zm52.8 72.5v-25.5l2.3 1.6q3.6 2.4 7.4 4.4 4.8 2.7 9.9 4.3 6.1 2.1 12.2 2.1 5.4 0 8.9-2.2 4.9-2.8 4.7-7.6 0.2-4.7-4.6-6.5-3.9-1.4-11.9-3.6-14.2-3.9-21.9-9.7-10.5-7.7-10.5-23.3 0-7.3 2.6-13.3 3.1-7.6 9.9-12.5 10.8-8.3 27.6-8.4 16.6 0.1 27.8 7.4l3.6 2.6v26.8l-5.5-3.1q-11.5-6-24.4-6.1-14.9 0.1-14.8 7.8-0.1 3.5 8.3 6.5l12 3.7q15.4 4.7 20.6 9.6 8 7.7 8.1 21.5 0 10.6-5.5 19.1-5.6 8.8-15.3 12.5-8 3.1-17.1 3-7.3 0.1-14.4-1.8-8.9-2.1-16.1-6.7zm76.7 8.7v-77.6h24.8v77.6zm0-87.6v-20.3h24.9v20.3zm65 48.9l-33.6-24.5h41.6l12.9-39.5 12.9 39.5h41.5l-33.6 24.5 12.9 39.4-33.7-24.4-33.7 24.4zm119.2-24.4v63.1h-28.6v-106.5h43.8l15.4 73.4 15.4-73.4h43.8v106.5h-28.5v-63.1l-15.8 63.1h-29.8zm94.8 63.1l32-106.5h44.5l32 106.5h-31.4l-6.3-21.3h-34.5l-6.2 21.3zm53.6-83.6l-10.8 34.5h21.3zm116.8 37.7l33 45.9h-36.4l-24.4-40.2v40.2h-29.1v-107.1h49.7q12.6 0.2 19.2 2.6 10.2 3.9 13.8 13.6 2.3 6.2 2.5 13.4-0.1 11.8-6.1 20.2-6.7 9.4-18.1 11 0 0-4.1 0.4zm-0.9-26.1q0-4.9-3.6-7-2.9-1.7-8.4-1.7h-14.9v18.4h13.7q7 0 9.4-1.7 3.8-2.7 3.8-8zm36.4-6.9v-27.6h83.5v27.6h-27.2v78.9h-29.1v-78.9z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
BIN
media/example-1.png
Normal file
After Width: | Height: | Size: 314 KiB |
BIN
media/example-2.png
Normal file
After Width: | Height: | Size: 394 KiB |
BIN
media/example-3.png
Normal file
After Width: | Height: | Size: 250 KiB |
BIN
media/example-4.png
Normal file
After Width: | Height: | Size: 375 KiB |
BIN
meta/NEW_en.gif
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
meta/arrow-left-hover.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
meta/arrow-left-pressed.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
meta/arrow-left.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
meta/arrow-right-hover.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
meta/arrow-right-pressed.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
meta/arrow-right.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
meta/background.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
meta/em-warning.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
meta/favicon-fishie.ico
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
meta/favicon.ico
Normal file
After Width: | Height: | Size: 183 KiB |
63
meta/gallery.js
Normal file
@ -0,0 +1,63 @@
|
||||
const galleries = document.querySelectorAll('.gallery');
|
||||
|
||||
galleries.forEach(gallery => {
|
||||
const images = gallery.querySelectorAll('img');
|
||||
let currentIndex = 0;
|
||||
|
||||
const leftArrow = document.createElement('img');
|
||||
leftArrow.src = 'meta/arrow-left.png';
|
||||
leftArrow.classList.add('arrow', 'left');
|
||||
gallery.appendChild(leftArrow);
|
||||
|
||||
const rightArrow = document.createElement('img');
|
||||
rightArrow.src = 'meta/arrow-right.png';
|
||||
rightArrow.classList.add('arrow', 'right');
|
||||
gallery.appendChild(rightArrow);
|
||||
|
||||
function showImage(index) {
|
||||
images.forEach((img, i) => {
|
||||
img.style.display = (i === index) ? 'block' : 'none';
|
||||
});
|
||||
}
|
||||
|
||||
function handleArrowClick(isLeftArrow) {
|
||||
currentIndex = isLeftArrow
|
||||
? (currentIndex === 0 ? images.length - 1 : currentIndex - 1)
|
||||
: (currentIndex === images.length - 1 ? 0 : currentIndex + 1);
|
||||
|
||||
showImage(currentIndex);
|
||||
|
||||
if (isLeftArrow) {
|
||||
leftArrow.src = 'meta/arrow-left-pressed.png';
|
||||
rightArrow.src = 'meta/arrow-right.png';
|
||||
setTimeout(() => {
|
||||
leftArrow.src = 'meta/arrow-left.png';
|
||||
}, 200);
|
||||
} else {
|
||||
rightArrow.src = 'meta/arrow-right-pressed.png';
|
||||
leftArrow.src = 'meta/arrow-left.png';
|
||||
setTimeout(() => {
|
||||
rightArrow.src = 'meta/arrow-right.png';
|
||||
}, 200);
|
||||
}
|
||||
}
|
||||
|
||||
leftArrow.addEventListener('click', () => handleArrowClick(true));
|
||||
rightArrow.addEventListener('click', () => handleArrowClick(false));
|
||||
|
||||
leftArrow.addEventListener('mouseover', () => {
|
||||
leftArrow.src = 'meta/arrow-left-hover.png';
|
||||
});
|
||||
leftArrow.addEventListener('mouseout', () => {
|
||||
leftArrow.src = 'meta/arrow-left.png';
|
||||
});
|
||||
|
||||
rightArrow.addEventListener('mouseover', () => {
|
||||
rightArrow.src = 'meta/arrow-right-hover.png';
|
||||
});
|
||||
rightArrow.addEventListener('mouseout', () => {
|
||||
rightArrow.src = 'meta/arrow-right.png';
|
||||
});
|
||||
|
||||
showImage(currentIndex);
|
||||
});
|
BIN
meta/ico-bsky.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
meta/ico-git.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
meta/ico-twitch.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
meta/ico-twt.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
meta/ico-web.png
Normal file
After Width: | Height: | Size: 9.9 KiB |
BIN
meta/ico-yt.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
14
meta/issue.js
Normal file
@ -0,0 +1,14 @@
|
||||
document.querySelectorAll('.issue-button').forEach(button => {
|
||||
button.addEventListener('click', function() {
|
||||
const parentDiv = this.parentElement; // Get the parent div with class "issue"
|
||||
const hiddenElements = parentDiv.querySelectorAll('.issue-detail'); // Select hidden elements within this div
|
||||
|
||||
// Hide the button
|
||||
this.style.display = 'none';
|
||||
|
||||
// Show the hidden elements
|
||||
hiddenElements.forEach(element => {
|
||||
element.style.display = 'block';
|
||||
});
|
||||
});
|
||||
});
|
80
meta/main.css
Normal file
@ -0,0 +1,80 @@
|
||||
@font-face {font-family: 'Shop'; src: url('shop.ttf') format('truetype'); font-weight: normal; font-style: normal;}
|
||||
|
||||
/*Main things*/
|
||||
body {scroll-behavior:smooth;text-align: center;font-family: sans-serif;font-family:'Shop',sans-serif; overflow-x:hidden;transition:.1s ease-in-out;}
|
||||
div {line-height:23.3px; background-color: white;border-radius: 5px;border-color: #ED0972;box-shadow: 0 0 10px #2525255d; box-sizing: border-box;border-width: 2px;border-style: solid; width: 35%; text-align: center;margin: 0 auto;padding: 5px;margin-top: 8px; overflow: auto;}
|
||||
div.clear {border:none;background: none;box-shadow: none;}
|
||||
|
||||
nav {margin-bottom: 20px;line-height: 30px;}
|
||||
|
||||
a.btn {background-color: #E6FFF2;border-radius: 10px;padding: 4px;color:black;text-decoration: none;filter: drop-shadow(1px 1px 1px black);font-weight: 100;display:inline}
|
||||
a.btn:hover {background-color: #C7FDFF;}
|
||||
a.btn:active {filter: none;}
|
||||
span.active {background-color: #c7c7c7;border-radius: 10px;padding: 4px;font-weight: 100;display:inline;cursor:auto;user-select:none}
|
||||
|
||||
button {margin-bottom: 6px;font-family:'Shop',sans-serif;padding: 5px;outline: 1px solid #ED0972;border-radius: 3px;filter: drop-shadow(1px 1px 3.4px #bbbbbb);border:none}
|
||||
button:hover {box-shadow: inset 0 0 0 3px #ED0972;cursor:pointer}
|
||||
|
||||
footer {color:grey}
|
||||
footer a {color:grey}
|
||||
|
||||
/* Text stuff */
|
||||
h1, h2 {color:#ED0972;}
|
||||
h1 {font-size: 30px;}
|
||||
h1 a {text-decoration:none}
|
||||
hr {border-color:grey}
|
||||
|
||||
a {color:#ED0972; font-weight: bold;}
|
||||
::selection{color: #323232;background: #ED0972;}
|
||||
::-moz-selection{color: #323232;background:#ED0972;}
|
||||
body.dir {text-align: left;}
|
||||
body.dir a {color:black;text-decoration: none;font-weight: normal;}
|
||||
body.dir a:hover {color:#ED0972}
|
||||
table {border: 1px solid white; border-collapse: collapse;}
|
||||
th, td {border: 1px solid;}
|
||||
button.ico {width:20px; height:20px;}
|
||||
img.ico {vertical-align: middle; width:25px; height:25px;}
|
||||
img.wb {outline: solid 1px black}
|
||||
.blue {color:#1164E9;}
|
||||
|
||||
mark {color:white;background:#ED0972;font-weight:bold;}
|
||||
mark.new {background-color: gold;color:orangered;border-radius: 10px; padding-right:5px; padding-left:5px;font-weight:bold;}
|
||||
|
||||
/* Gallery */
|
||||
div.gallery {position: relative; overflow: hidden;width:100%;}
|
||||
img.slide {width:100%; min-height:200px; min-width:100%;}
|
||||
img.arrow {min-height:68px; position: absolute; top: 50%; transform: translateY(-50%); cursor: pointer; width: 60px; height: auto;}
|
||||
img.left {left: 10px; animation: hoverAnimation 0.5s infinite alternate;}
|
||||
img.right {right: 10px; animation: rightHoverAnimation 0.5s infinite alternate;}
|
||||
|
||||
/* Music */
|
||||
div#bgmplayer {z-index: 1000;transition:.3s ease-in-out; opacity:30%; position:fixed; bottom:3px; border:2px solid #ED0972; left:3px; float:left; width:160px; height:40px; overflow:hidden;}
|
||||
div#bgmplayer:hover {opacity: 50%; transition:.3s ease-in-out; height:100px; width:200px; overflow:auto;scrollbar-width: none;}
|
||||
div#bgmplayer h2 {height:20px; margin-top:-9px; line-height:40px}
|
||||
div#bgmplayer p {line-height:20px;color:#9A9A9A;margin-top:-10px;font-style:italic;font-size:10px;}
|
||||
|
||||
|
||||
/* Auto-resizer, do not change pls*/
|
||||
@media (max-width: 768px) {div {width: 95%} }
|
||||
|
||||
/* Dark theme via system preference */
|
||||
@media (prefers-color-scheme: dark)
|
||||
{
|
||||
body {background-color: black; color: #e0e0e0;}
|
||||
div {background-color: #1e1e1e; border-color: #ED0972; box-shadow: 0 0 10px #000000CC;}
|
||||
a.btn {background-color: #587566;color:white}
|
||||
a.btn:hover {background-color: #7da2a3;}
|
||||
span.active {background-color: #313131}
|
||||
button {background-color: #3b3b3b; color: #e0e0e0;filter: drop-shadow(1px 1px 3.4px #747474)}
|
||||
button:active {box-shadow: none;}
|
||||
footer, footer a {color: #9A9A9A;}
|
||||
h1, h2, a {color: #ED0972;}
|
||||
::selection {color: #e0e0e0; background: #ED0972;}
|
||||
::-moz-selection {color: #e0e0e0; background: #ED0972;}
|
||||
mark {color:black;background:#ED0972;font-weight:bold;}
|
||||
img.wb {outline: solid 1px white}
|
||||
.blue {color:#5898ff;}
|
||||
#errorCode {background-color: black;border: 2px solid grey;color:white;}
|
||||
body.dir a {color:white}
|
||||
mark {color:white}
|
||||
}
|
98
meta/music.js
Normal file
@ -0,0 +1,98 @@
|
||||
// Wii Shop BGM Player, suggested by @legamer66 (https://discord.com/channels/1346485785284575335/1346485786039681056/1351527080546009259)
|
||||
|
||||
function hideConsoleControls() {
|
||||
const userAgent = navigator.userAgent.toLowerCase();
|
||||
const isConsoleBrowser =
|
||||
userAgent.includes('wii') ||
|
||||
userAgent.includes('nintendo ds') ||
|
||||
userAgent.includes('nintendo 3ds') ||
|
||||
userAgent.includes('nintendo');
|
||||
// they can't play music so rip
|
||||
if (isConsoleBrowser) {const bgmPlayerDiv = document.getElementById('bgmplayer');
|
||||
if (bgmPlayerDiv) {bgmPlayerDiv.style.display = 'none';} }
|
||||
}
|
||||
|
||||
|
||||
var shoploop = new Audio("/meta/shop.wav");
|
||||
shoploop.loop = true;
|
||||
shoploop.volume = 0; // prevent clipping
|
||||
|
||||
function loadafterwednesdaycheck() {
|
||||
hideConsoleControls();
|
||||
|
||||
var savedTime = localStorage.getItem("bgmlooppoint");
|
||||
|
||||
if (savedTime) {
|
||||
shoploop.currentTime = parseFloat(savedTime);
|
||||
}
|
||||
|
||||
if (localStorage.getItem("shopmusic") === "playing") {
|
||||
playBGMonload();
|
||||
} else {
|
||||
pauseBGM();
|
||||
}
|
||||
}
|
||||
|
||||
window.onbeforeunload = function() {
|
||||
localStorage.setItem("bgmlooppoint", shoploop.currentTime);
|
||||
};
|
||||
|
||||
function playBGM() {
|
||||
shoploop.volume = 0.8;
|
||||
localStorage.setItem("shopmusic", "playing");
|
||||
shoploop.play();
|
||||
document.getElementById("shopbgm").innerHTML = "Pause";
|
||||
document.getElementById("shopbgmselector").href = "javascript:pauseBGM();";
|
||||
}
|
||||
|
||||
function pauseBGM() {
|
||||
localStorage.setItem("shopmusic", "paused");
|
||||
shoploop.pause();
|
||||
document.getElementById("shopbgm").innerHTML = "Play";
|
||||
document.getElementById("shopbgmselector").href = "javascript:playBGM();";
|
||||
}
|
||||
|
||||
function playBGMonload() {
|
||||
// this version has it fade in for smoother experince between pages uwu (i could of used set interval, but memory issues?)
|
||||
fadeinbgm();
|
||||
localStorage.setItem("shopmusic", "playing");
|
||||
shoploop.play();
|
||||
document.getElementById("shopbgm").innerHTML = "Pause";
|
||||
document.getElementById("shopbgmselector").href = "javascript:pauseBGM();";
|
||||
}
|
||||
|
||||
function fadeinbgm() {
|
||||
shoploop.volume="0.0";
|
||||
setTimeout(fade2,10);
|
||||
}
|
||||
function fade2() {
|
||||
shoploop.volume="0.1";
|
||||
setTimeout(fade3,10);
|
||||
}
|
||||
function fade3() {
|
||||
shoploop.volume="0.2";
|
||||
setTimeout(fade4,10);
|
||||
}
|
||||
function fade4() {
|
||||
shoploop.volume="0.3";
|
||||
setTimeout(fade5,10);
|
||||
}
|
||||
function fade5() {
|
||||
shoploop.volume="0.4";
|
||||
setTimeout(fade6,10);
|
||||
}
|
||||
function fade6() {
|
||||
shoploop.volume="0.5";
|
||||
setTimeout(fade7,10);
|
||||
}
|
||||
function fade7() {
|
||||
shoploop.volume="0.6";
|
||||
setTimeout(fade8,10);
|
||||
}
|
||||
function fade8() {
|
||||
shoploop.volume="0.7";
|
||||
setTimeout(fade9,10);
|
||||
}
|
||||
function fade9() {
|
||||
shoploop.volume="0.8";
|
||||
}
|