diff --git a/bcrmc/bcrmc.css b/bcrmc/bcrmc.css index 977755ad..30345daa 100644 --- a/bcrmc/bcrmc.css +++ b/bcrmc/bcrmc.css @@ -33,29 +33,10 @@ body { background-image: url("i/dirt_128x128_dark.png"); } -body.bcr1 { - background-image: var(--bcr1-bg); -} - -body.bcr2 { - background-image: var(--bcr2-bg); -} - -body.bcr3 { - background-image: var(--bcr3-bg); -} - -body.bcr4 { - background-image: var(--bcr4-bg); -} - -body.bcr5 { - background-image: var(--bcr5-bg); -} - main { background-color: rgba(0, 0, 0, 0.5); width: 75%; + min-height: 100vh; margin: 0 auto; } @@ -105,34 +86,148 @@ div.off { display: none; } -.flexnav.gallery-files { - width: 60%; +@keyframes fade-out { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +div.text-input-sub { + position: absolute; + width: -moz-max-content; + width: max-content; + background-color: white; + color: black; + padding-top: 0.25em; + padding-bottom: 0.25em; + font-family: "Arial", sans-serif; + font-size: 0.75em; + border: 1px solid #333; + box-sizing: border-box; } -a { +div.text-input-sub.invalid { + color: red; + border-color: red; +} + +div.search-suggestions { + position: absolute; + color: white; + max-height: 15em; + overflow-y: scroll; + scrollbar-width: none; + border: 1px solid cyan; + z-index: 1; +} + +div.search-suggestions.fade-out { + animation-name: fade-out; + animation-duration: 0.25s; +} + +div.search-suggestions::-webkit-scrollbar { + width: 0; + height: 0; +} + +button.search-suggestion-entry { + color: white; + font-family: "MinecraftRegular"; + font-size: 1.5em; + background-color: rgb(0, 0, 50); + padding: 0.5em; + display: block; + width: 100%; + border: none; + box-sizing: border-box; + border-bottom: 1px solid blue; + transition: 0.1s background-color; +} + +button.search-suggestion-entry:hover { + background-color: navy; color: cyan; } +table { + margin: 0 auto; + text-align: center; + border-collapse: collapse; +} + +table.scoreboard { + font-family: "MinecraftRegular", sans-serif; + font-size: 20px; + color: white; + text-shadow: 2px 2px #414141; + min-width: 50%; + max-width: 75%; +} + +table.scoreboard tr th, td { + text-align: center; + color: white; + padding: 0.5em; +} + +table.scoreboard tr th { + border: 2px solid black; +} + +table.scoreboard tr:hover td { + background-color: rgb(0, 0, 70); +} + +table.scoreboard tr td { + background-color: rgb(0, 0, 50); + transition: 0.1s background-color; + border: 2px solid navy; + padding-right: 0.1em; + padding-left: 0.1em; +} + +table.scoreboard tr td.adjacent { + background-color: rgb(0, 0, 75); +} + +table.scoreboard tr td:hover { + background-color: rgb(0, 0, 100); +} + +.flexnav.gallery-files { + width: 60%; +} + .bttn { font-family: "MinecraftRegular"; - text-shadow: 3px 3px rgba(0, 0, 0, 0.5); - font-size: 1.5em; + font-size: 20px; + text-shadow: 2px 2px #414141; margin: 0 auto; - width: 396px; - height: 50px; + width: 400px; + height: 40px; + box-sizing: border-box; display: flex; align-items: center; justify-content: center; text-decoration: none; color: white; padding: 0px; - padding-bottom: 5px; - border-style: solid; - border-width: 2px; - border-color: black; - background-image: url("i/bttn.png"); + padding-top: 1px; + border: 2px solid black; + background-image: url("/bcrmc/i/bttn.png"); background-size: cover; - /*transition: 0.2s all;*/ +} + +.bttn:hover { + border-color: white; +} + +.bttn.disabled { + pointer-events: none; + filter: brightness(0.5); } .bttn.arrow { @@ -145,16 +240,21 @@ a { pointer-events: none; } +.bttn.tab.active { + border-color: white; + filter: brightness(0.5); +} + nav.flexnav .bttn { justify-content: center; } -.bttn:hover { - border-color: white; +a { + color: cyan; } a.mega { - background-image: url("i/bttnbig.png"); + background-image: url("/bcrmc/i/bttnbig.png"); height: 72px; } @@ -163,6 +263,37 @@ a.mega span { top: 3px; } +input { + font-size: 1.5em; + font-family: "MinecraftRegular"; + padding: 0.5em; + color: white; + background-color: rgba(0, 0, 0, 0.5); +} + +input.invalid { + border: 2px solid #ff7777; + color: #ff7777; +} + +select.bttn { + font-family: "MinecraftRegular", sans-serif; + background-image: none; + background-color: rgba(0, 0, 0, 0.25); + width: 10em; + font-size: 1.5em; + text-align: center; +} + +select.bttn > option { + font-size: 0.75em; + font-family: "MinecraftRegular", sans-serif; + color: white; + background-color: black; + text-shadow: none; + border: none; +} + .hl { color: orange; } @@ -209,26 +340,6 @@ h2 { text-shadow: 5px 5px black; } -body.bcr1 h2 { - background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr1-h2); -} - -body.bcr2 h2 { - background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr2-h2); -} - -body.bcr3 h2 { - background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr3-h2); -} - -body.bcr4 h2 { - background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr4-h2); -} - -body.bcr5 h2 { - background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr5-h2); -} - h2 sup { font-style: italic; font-weight: lighter; @@ -353,6 +464,31 @@ img.alone { height: 500px; } +kbd { + font-family: "Consolas", monospace; + font-size: 1em; + background-image: linear-gradient(#333, #222); + padding: 5px; + height: 1em; + width: 1em; + display: inline-block; + border: 1px solid black; + border-radius: 5px; + color: yellow; +} + +body.bcr1 { + background-image: var(--bcr1-bg); +} + +body.bcr1 h2 { + background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr1-h2); +} + +body.bcr1 table.scoreboard th { + background-image: var(--bcr1-h2); +} + img.bcr1-icon { content: var(--bcr1-icon); height: 1.5em; @@ -361,6 +497,18 @@ img.bcr1-icon { filter: drop-shadow(2px 2px rgba(0, 0, 0, 0.5)); } +body.bcr2 { + background-image: var(--bcr2-bg); +} + +body.bcr2 h2 { + background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr2-h2); +} + +body.bcr2 table.scoreboard th { + background-image: var(--bcr2-h2); +} + img.bcr2-icon { content: var(--bcr2-icon); height: 1.5em; @@ -369,6 +517,18 @@ img.bcr2-icon { filter: drop-shadow(2px 2px rgba(0, 0, 0, 0.5)); } +body.bcr3 { + background-image: var(--bcr3-bg); +} + +body.bcr3 h2 { + background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr3-h2); +} + +body.bcr3 table.scoreboard th { + background-image: var(--bcr3-h2); +} + img.bcr3-icon { content: var(--bcr3-icon); height: 1.5em; @@ -377,6 +537,18 @@ img.bcr3-icon { filter: drop-shadow(2px 2px rgba(0, 0, 0, 0.5)); } +body.bcr4 { + background-image: var(--bcr4-bg); +} + +body.bcr4 h2 { + background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr4-h2); +} + +body.bcr4 table.scoreboard th { + background-image: var(--bcr4-h2); +} + img.bcr4-icon { content: var(--bcr4-icon); height: 1.5em; @@ -385,6 +557,18 @@ img.bcr4-icon { filter: drop-shadow(2px 2px rgba(0, 0, 0, 0.5)); } +body.bcr5 { + background-image: var(--bcr5-bg); +} + +body.bcr5 h2 { + background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr5-h2); +} + +body.bcr5 table.scoreboard th { + background-image: var(--bcr5-h2); +} + img.bcr5-icon { content: var(--bcr5-icon); height: 1.5em; diff --git a/bcrmc/bcrmc.css.map b/bcrmc/bcrmc.css.map index c5804344..4014dbc8 100644 --- a/bcrmc/bcrmc.css.map +++ b/bcrmc/bcrmc.css.map @@ -1 +1 @@ -{"version":3,"sources":["bcrmc.scss","bcrmc.css"],"names":[],"mappings":"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","file":"bcrmc.css"} \ No newline at end of file +{"version":3,"sources":["bcrmc.scss","bcrmc.css"],"names":[],"mappings":"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","file":"bcrmc.css"} \ No newline at end of file diff --git a/bcrmc/bcrmc.scss b/bcrmc/bcrmc.scss index f0def95d..ebcf2e3b 100644 --- a/bcrmc/bcrmc.scss +++ b/bcrmc/bcrmc.scss @@ -40,22 +40,20 @@ body background-image: url('i/dirt_128x128_dark.png'); } -@for $i from 1 through 5 { - body.bcr#{$i} { - background-image: var(--bcr#{$i}-bg); - } -} - main { background-color: rgba(0, 0, 0, 0.5); width: 75%; + min-height: 100vh; margin: 0 auto; } hr { width: 75%; } + p { width: 75%; margin: 0 auto; font-size: 1.5em; } + b { font-weight: bold; } + code { font-family: "Courier New"; @@ -88,33 +86,144 @@ div.off { display: none; } +@keyframes fade-out { + from { opacity: 1; } + to { opacity: 0; } +} + +div.text-input-sub { + position: absolute; + width: max-content; + background-color: white; + color: black; + padding-top: 0.25em; + padding-bottom: 0.25em; + font-family: 'Arial', sans-serif; + font-size: 0.75em; + border: 1px solid #333; + box-sizing: border-box; +} + +div.text-input-sub.invalid { + color: red; + border-color: red; +} + +div.search-suggestions { + position: absolute; + color: white; + max-height: 15em; + overflow-y: scroll; + scrollbar-width: none; + border: 1px solid cyan; + z-index: 1; +} + +div.search-suggestions.fade-out { + animation-name: fade-out; + animation-duration: 0.25s; +} + +div.search-suggestions::-webkit-scrollbar { + width: 0; + height: 0; +} + +button.search-suggestion-entry { + color: white; + font-family: 'MinecraftRegular'; + font-size: 1.5em; + background-color: rgb(0, 0, 50); + padding: 0.5em; + display: block; + width: 100%; + border: none; + box-sizing: border-box; + border-bottom: 1px solid blue; + transition: 0.1s background-color; +} + +button.search-suggestion-entry:hover { + background-color: navy; + color: cyan; +} + +table { + margin: 0 auto; + text-align: center; + border-collapse: collapse; +} + +table.scoreboard { + font-family: 'MinecraftRegular', sans-serif; + font-size: 20px; + color: white; + text-shadow: 2px 2px #414141; + min-width: 50%; + max-width: 75%; +} + +table.scoreboard tr th, td { + text-align: center; + color: white; + padding: 0.5em; +} + +table.scoreboard tr th { + border: 2px solid black; + // border-bottom: 0; +} + +table.scoreboard tr:hover td { + background-color: rgb(0, 0, 70); +} + +table.scoreboard tr td { + background-color: rgb(0, 0, 50); + transition: 0.1s background-color; + border: 2px solid navy; + padding-right: 0.1em; + padding-left: 0.1em; +} + +table.scoreboard tr td.adjacent { + background-color: rgb(0, 0, 75); +} + +table.scoreboard tr td:hover { + background-color: rgb(0, 0, 100); +} + .flexnav.gallery-files { width: 60%; } -a { color: cyan; } - .bttn { font-family: 'MinecraftRegular'; - text-shadow: 3px 3px rgba(0,0,0,0.5); - font-size: 1.5em; + font-size: 20px; + text-shadow: 2px 2px #414141; margin: 0 auto; - width: 396px; - height: 50px; + width: 400px; + height: 40px; + box-sizing: border-box; display: flex; align-items: center; justify-content: center; text-decoration: none; color: white; padding: 0px; - padding-bottom: 5px; - border-style: solid; - border-width: 2px; - border-color: black; - background-image: url('i/bttn.png'); + padding-top: 1px; + border: 2px solid black; + background-image: url('/bcrmc/i/bttn.png'); background-size: cover; - /*transition: 0.2s all;*/ +} + +.bttn:hover { border-color: white; } + +.bttn.disabled { + pointer-events: none; + filter: brightness(0.5); } .bttn.arrow { @@ -127,15 +236,51 @@ a { color: cyan; } pointer-events: none; } -nav.flexnav .bttn -{ +.bttn.tab.active { + border-color: white; + filter: brightness(0.5); +} + + +nav.flexnav .bttn { justify-content: center; } -.bttn:hover { border-color: white; } -a.mega { background-image: url('i/bttnbig.png'); height: 72px; } +a { color: cyan; } +a.mega { background-image: url('/bcrmc/i/bttnbig.png'); height: 72px; } a.mega span { position: relative; top: 3px; } +input { + font-size: 1.5em; + font-family: 'MinecraftRegular'; + padding: 0.5em; + color: white; + background-color: rgba(0, 0, 0, 0.5); +} + +input.invalid { + border: 2px solid #ff7777; + color: #ff7777; +} + +select.bttn { + font-family: 'MinecraftRegular', sans-serif; + background-image: none; + background-color: rgba(0, 0, 0, 0.25); + width: 10em; + font-size: 1.5em; + text-align: center; +} + +select.bttn > option { + font-size: 0.75em; + font-family: 'MinecraftRegular', sans-serif; + color: white; + background-color: black; + text-shadow: none; + border: none; +} + .hl /* hl for "highlight" */ { color: orange; @@ -184,12 +329,6 @@ h2 text-shadow: 5px 5px black; } -@for $i from 1 through 5 { - body.bcr#{$i} h2 { - background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr#{$i}-h2); - } -} - h2 sup { font-style: italic; font-weight: lighter; } h3 { font-weight: bold; font-size: 2em; text-align: left; } h3.subtitle @@ -293,7 +432,34 @@ h2:hover img.linker img.alone { width: auto; height: 500px; } +kbd { + font-family: 'Consolas', monospace; + font-size: 1em; + background-image: linear-gradient(#333, #222); + padding: 5px; + height: 1em; + width: 1em; + display: inline-block; + border: 1px solid black; + border-radius: 5px; + color: yellow; +} + +// AUTOMATIONS + @for $i from 1 through 5 { + body.bcr#{$i} { + background-image: var(--bcr#{$i}-bg); + } + + body.bcr#{$i} h2 { + background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), var(--bcr#{$i}-h2); + } + + body.bcr#{$i} table.scoreboard th { + background-image: var(--bcr#{$i}-h2); + } + img.bcr#{$i}-icon { content: var(--bcr#{$i}-icon); height: 1.5em; @@ -303,6 +469,8 @@ img.alone { width: auto; height: 500px; } } } +// MOBILE + @media only screen and (max-device-width:600px) { /* body {font-size:2em;}*/ diff --git a/bcrmc/footer.js b/bcrmc/footer.js new file mode 100644 index 00000000..9f8f50a7 --- /dev/null +++ b/bcrmc/footer.js @@ -0,0 +1,3 @@ +import { $ } from "./utils.js"; +const FOOTER = $('footer'); +const CONTENT = FOOTER.appendChild(document.createElement('div')); diff --git a/bcrmc/footer.ts b/bcrmc/footer.ts new file mode 100644 index 00000000..99ff55f7 --- /dev/null +++ b/bcrmc/footer.ts @@ -0,0 +1,5 @@ +import { $ } from "./utils.js"; + +const FOOTER: HTMLElement = $('footer'); + +const CONTENT: HTMLDivElement = FOOTER.appendChild(document.createElement('div')); \ No newline at end of file diff --git a/bcrmc/gallery.js b/bcrmc/gallery.js index 3a76b27e..73405cf2 100644 --- a/bcrmc/gallery.js +++ b/bcrmc/gallery.js @@ -7,41 +7,25 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; import { extract_number, json } from './utils.js'; (function () { - return __awaiter(this, void 0, void 0, function () { + return __awaiter(this, void 0, void 0, function* () { + const LATEST_SERVER = 5; + // Concatenation for readability, mainly + const FIGURE_TEMPLATE = `
` + + `
%TITLE% %%HAS_PNG[PNG]HAS_PNG%%` + + `
(from %AUTHOR%)
`; + const PHOTO_AUTHORS = { + "desu": "Desu", + "mar": "Mar", + "vi": "Violet" + }; + const PHOTO_TITLES = yield json('/bcrmc/photo_titles.json'); function author_from_filename(filename) { return PHOTO_AUTHORS[filename.split('-')[0]]; } function create_figure(image_filename, image_title, server_season, has_png) { - var figure_string = FIGURE_TEMPLATE + let figure_string = FIGURE_TEMPLATE .replace(/%IMAGE%/g, image_filename) .replace(/%TITLE%/g, image_title) .replace(/%SEASON%/g, server_season) @@ -50,31 +34,30 @@ import { extract_number, json } from './utils.js'; return figure_string; } function build_gallery(server_season) { - var gallery_container = document.querySelector('div#gallery-collection'); - var new_gallery = document.createElement('div'); + let gallery_container = document.querySelector('div#gallery-collection'); + let new_gallery = document.createElement('div'); new_gallery.classList.add('gallery', 'smaller'); new_gallery.setAttribute('name', server_season); // Run through images - for (var _i = 0, _a = Object.entries(PHOTO_TITLES[server_season]); _i < _a.length; _i++) { - var _b = _a[_i], filename = _b[0], attrs = _b[1]; - var new_figure = create_figure(filename, attrs.title, server_season, attrs.has_png); + for (const [filename, attrs] of Object.entries(PHOTO_TITLES[server_season])) { + let new_figure = create_figure(filename, attrs.title, server_season, attrs.has_png); new_gallery.innerHTML += new_figure; } // Add it gallery_container.appendChild(new_gallery); } function add_gallery_nav_arrows() { - var gallery_titles = document.querySelectorAll('div.gallery-title'); - gallery_titles.forEach(function (title) { - var current_page_name = title.getAttribute('name'); - var current_page_number = extract_number(current_page_name); - var left_arrow = document.createElement('button'); + let gallery_titles = document.querySelectorAll('div.gallery-title'); + gallery_titles.forEach(title => { + let current_page_name = title.getAttribute('name'); + let current_page_number = extract_number(current_page_name); + let left_arrow = document.createElement('button'); left_arrow.classList.add('bttn', 'arrow'); - left_arrow.addEventListener('click', function () { switch_gallery("bcr".concat(current_page_number - 1)); }); + left_arrow.addEventListener('click', () => { switch_gallery(`bcr${current_page_number - 1}`); }); left_arrow.innerHTML = '<'; - var right_arrow = document.createElement('button'); + let right_arrow = document.createElement('button'); right_arrow.classList.add('bttn', 'arrow'); - right_arrow.addEventListener('click', function () { switch_gallery("bcr".concat(current_page_number + 1)); }); + right_arrow.addEventListener('click', () => { switch_gallery(`bcr${current_page_number + 1}`); }); right_arrow.innerHTML = '>'; title.insertBefore(left_arrow, title.querySelector('h2')); if (current_page_number == 1) { @@ -88,65 +71,47 @@ import { extract_number, json } from './utils.js'; } function update_heading_anchors(server_season) { console.log(server_season); - var heading_anchors = document.querySelectorAll('a.heading-link'); - heading_anchors.forEach(function (a) { + let heading_anchors = document.querySelectorAll('a.heading-link'); + heading_anchors.forEach(a => { console.log(a.href); if (a.href.includes('?s=bcr')) { console.log('replacing', a.href); - console.log("?s=".concat(server_season)); - a.href = a.href.replace(/\?s=bcr\d+/, "?s=".concat(server_season)); + console.log(`?s=${server_season}`); + a.href = a.href.replace(/\?s=bcr\d+/, `?s=${server_season}`); console.log(a.href); } else { - var root = a.href.split('#')[0]; - var stem = a.href.split('#')[0]; + let root = a.href.split('#')[0]; + let stem = a.href.split('#')[0]; console.log(root, stem); - a.href = root + "?s=".concat(server_season, "#") + stem; + a.href = root + `?s=${server_season}#` + stem; console.log('new', a.href); } }); } function switch_gallery(server_season) { // Swap page theme - var body = document.querySelector('body'); + let body = document.querySelector('body'); body.classList.remove(body.classList.toString()); body.classList.add(server_season); // Make the gallery, if it doesn't exist - if (!document.querySelector("div.gallery[name=\"".concat(server_season, "\"]"))) { + if (!document.querySelector(`div.gallery[name="${server_season}"]`)) { build_gallery(server_season); } // Change out stuff depending on the relevant server season - ['div.gallery-title', 'div.gallery-maps', 'div.gallery-files', 'div.gallery'].forEach(function (selector) { - var divs = document.querySelectorAll(selector); - divs.forEach(function (div) { + ['div.gallery-title', 'div.gallery-maps', 'div.gallery-files', 'div.gallery'].forEach(selector => { + let divs = document.querySelectorAll(selector); + divs.forEach(div => { div.classList.add('off'); }); }); - document.querySelectorAll("div[name=\"".concat(server_season, "\"]")).forEach(function (div) { div.classList.remove('off'); }); + document.querySelectorAll(`div[name="${server_season}"]`).forEach(div => { div.classList.remove('off'); }); update_heading_anchors(server_season); } - var LATEST_SERVER, FIGURE_TEMPLATE, PHOTO_AUTHORS, PHOTO_TITLES, params, initial_season; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - LATEST_SERVER = 5; - FIGURE_TEMPLATE = "
" + - "
%TITLE% %%HAS_PNG[PNG]HAS_PNG%%" + - "
(from %AUTHOR%)
"; - PHOTO_AUTHORS = { - "desu": "Desu", - "mar": "Mar", - "vi": "Violet" - }; - return [4 /*yield*/, json('/bcrmc/photo_titles.json')]; - case 1: - PHOTO_TITLES = _a.sent(); - params = new URLSearchParams(window.location.search); - initial_season = params.get('s') || "bcr".concat(LATEST_SERVER); - add_gallery_nav_arrows(); - switch_gallery(initial_season); - return [2 /*return*/]; - } - }); + // Main + let params = new URLSearchParams(window.location.search); + let initial_season = params.get('s') || `bcr${LATEST_SERVER}`; + add_gallery_nav_arrows(); + switch_gallery(initial_season); }); })(); diff --git a/bcrmc/gallery.ts b/bcrmc/gallery.ts index 9c6a4cc0..6e2b9472 100644 --- a/bcrmc/gallery.ts +++ b/bcrmc/gallery.ts @@ -1,4 +1,4 @@ -import {extract_number, json} from './utils.js'; +import { extract_number, json } from './utils.js'; (async function () { @@ -15,7 +15,7 @@ const PHOTO_AUTHORS: { [key: string]: string } = { "vi": "Violet" } -let PHOTO_TITLES: { [key: string]: object } = await json('/bcrmc/photo_titles.json'); +const PHOTO_TITLES: { [key: string]: object } = await json('/bcrmc/photo_titles.json'); function author_from_filename(filename: string): string { return PHOTO_AUTHORS[filename.split('-')[0]]; diff --git a/bcrmc/header.js b/bcrmc/header.js index 11c3e572..f474c0e1 100644 --- a/bcrmc/header.js +++ b/bcrmc/header.js @@ -1,18 +1,9 @@ -function add_icon(header) { - header.innerHTML += ""; -} function add_viewport_meta(header) { - header.innerHTML += ""; + header.innerHTML += ``; } function add_missing_header_data() { - var header = document.getElementsByTagName("head")[0]; - console.log(header); - if (!header.innerHTML.includes("href=\"favicon.ico\"")) { - console.log("Adding icon"); - add_icon(header); - } - if (!header.innerHTML.includes("meta name=\"viewport\"")) { - console.log("Adding viewport"); + let header = document.getElementsByTagName("head")[0]; + if (!header.innerHTML.includes(`meta name="viewport"`)) { add_viewport_meta(header); } } diff --git a/bcrmc/header.ts b/bcrmc/header.ts index 64960a67..34f36286 100644 --- a/bcrmc/header.ts +++ b/bcrmc/header.ts @@ -1,21 +1,10 @@ -function add_icon(header: HTMLHeadElement): void { - header.innerHTML += ``; -} - function add_viewport_meta(header: HTMLHeadElement): void { header.innerHTML += ``; } function add_missing_header_data(): void { let header: HTMLHeadElement = document.getElementsByTagName("head")[0]; - console.log(header); - if (!header.innerHTML.includes(`href="favicon.ico"`)) { - console.log("Adding icon"); - add_icon(header); - } - if (!header.innerHTML.includes(`meta name="viewport"`)) { - console.log("Adding viewport"); add_viewport_meta(header); } } diff --git a/bcrmc/info.html b/bcrmc/info.html index a28700d9..467ae365 100644 --- a/bcrmc/info.html +++ b/bcrmc/info.html @@ -19,8 +19,14 @@

- The server is now closed; view the gallery and our final map here. Until next year! + The server is now closed, thanks to all who joined! Until next year!

+
+
+ Photo Gallery, Maps, World Download + Search & Browse the Scoreboard +
+

@@ -28,14 +34,16 @@

-

Table Of Contents


- +

Joining The Server