From 20bd9801897aaab00cc7aca7dd13a51b7e62ea92 Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Mon, 20 Nov 2023 21:53:10 +0100 Subject: [PATCH] web: Copy extension player restyling to demo --- .../demo/fonts/S6uyw4BMUTPHjx4wXg.woff2 | Bin 0 -> 23580 bytes .../demo/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 | Bin 0 -> 5472 bytes web/packages/demo/src/common.css | 163 +++++++++++ web/packages/demo/src/index.css | 259 +++++++----------- web/packages/demo/src/index.ts | 75 +++-- web/packages/demo/src/lato.css | 20 ++ web/packages/demo/webpack.config.js | 4 + web/packages/demo/www/icon180.png | Bin 0 -> 1109 bytes web/packages/demo/www/icon32.png | Bin 0 -> 1657 bytes web/packages/demo/www/icon48.png | Bin 0 -> 2113 bytes web/packages/demo/www/index.html | 170 ++++++------ web/packages/demo/www/logo.svg | 1 + 12 files changed, 411 insertions(+), 281 deletions(-) create mode 100644 web/packages/demo/fonts/S6uyw4BMUTPHjx4wXg.woff2 create mode 100644 web/packages/demo/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 create mode 100644 web/packages/demo/src/common.css create mode 100644 web/packages/demo/src/lato.css create mode 100644 web/packages/demo/www/icon180.png create mode 100644 web/packages/demo/www/icon32.png create mode 100644 web/packages/demo/www/icon48.png create mode 100644 web/packages/demo/www/logo.svg diff --git a/web/packages/demo/fonts/S6uyw4BMUTPHjx4wXg.woff2 b/web/packages/demo/fonts/S6uyw4BMUTPHjx4wXg.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ff60934dd0ea9cdd93f961d2dfd1e158357f2a77 GIT binary patch literal 23580 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 QOFh<%JiLFgmWQ+r07g396aWAK literal 0 HcmV?d00001 diff --git a/web/packages/demo/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 b/web/packages/demo/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..edb9fa6f492362a9ab1f1d674b8f6e6f4e2085d0 GIT binary patch literal 5472 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 WhF)K4IGNT+hd8;|K8&%*Sz!P*WW1>W literal 0 HcmV?d00001 diff --git a/web/packages/demo/src/common.css b/web/packages/demo/src/common.css new file mode 100644 index 000000000..9a0bfb652 --- /dev/null +++ b/web/packages/demo/src/common.css @@ -0,0 +1,163 @@ +:root { + --ruffle-light-blue: #546da3; + --ruffle-blue: #37528c; + --ruffle-dark-blue: #184778; + --ruffle-orange: #ffad33; + --ruffle-dark-orange: #966214; +} + +.notransition, +.notransition *, +.notransition::before, +.notransition::after { + transition: none !important; +} + +body { + background: var(--ruffle-blue); + font: + 14px Arial, + sans-serif; + margin: auto; + color: white; +} + +.header { + position: relative; + background: var(--ruffle-dark-blue); + text-align: center; + padding: 16px 16px 6px; + box-shadow: 0 0 12px #0008; +} + +.header a { + display: inline-block; + line-height: 0; +} + +#version-text { + text-align: center; + font-size: smaller; + opacity: 0.6; +} + +.logo { + width: 100%; + transition: transform 0.2s; +} + +.logo:hover { + transform: scale(104%); +} + +/* Controls */ + +input, +select { + background: var(--ruffle-dark-blue); + color: white; + padding: 6px; + border: none; + border-radius: 4px; +} + +input::placeholder { + opacity: 0.5; + color: white; +} + +button { + padding: 6px 8px; + border: 2px solid var(--ruffle-blue); + border-radius: 8px; + cursor: pointer; + text-align: center; + background: var(--ruffle-light-blue); + color: white; + + /* This gives the text a little more weight without outright bolding it */ + text-shadow: 0 0 0.1px white; +} + +.options { + display: flex; + flex-flow: column; + gap: 20px; +} + +.option { + position: relative; + display: flex; + align-items: center; +} + +.option input, +.option select { + padding: 4px; + position: absolute; + right: 0; +} + +.option label { + display: inline-block; + padding-right: 60px; +} + +/* Checkbox (Based on "Pure CSS Slider Checkboxes": https://codepen.io/Qvcool/pen/bdzVYW) */ + +.option.checkbox input { + width: 40px; + height: 20px; + margin: auto; + cursor: pointer; + z-index: 1; + opacity: 0; +} + +.option.checkbox label::before, +.option.checkbox label::after { + content: ""; + position: absolute; + border-radius: 10px; + top: 0; + bottom: 0; + margin: auto; + transition: + background 0.2s, + right 0.2s; +} + +.option.checkbox label::before { + height: 20px; + width: 40px; + right: 0; + background: gray; +} + +.option.checkbox label::after { + height: 18px; + width: 18px; + right: 21px; + background: silver; +} + +.option.checkbox input:checked + label::before { + background: var(--ruffle-dark-orange); +} + +.option.checkbox input:checked + label::after { + background: var(--ruffle-orange); + right: 1px; +} + +/* Number input */ + +.option.number-input input { + width: 60px; + height: 20px; + margin: auto; +} + +.hidden { + display: none !important; +} diff --git a/web/packages/demo/src/index.css b/web/packages/demo/src/index.css index dd9bf673d..e11da61a0 100644 --- a/web/packages/demo/src/index.css +++ b/web/packages/demo/src/index.css @@ -1,35 +1,100 @@ -:root { - --ruffle-blue: #37528c; - --ruffle-orange: #ffad33; - --splash-screen-background: #31497d; -} - body { position: absolute; inset: 0; padding: 0; margin: 0; font-family: Lato, sans-serif; + font-size: 100%; display: flex; - flex-flow: column; + flex-direction: column; background: black; } +#nav { + width: 100%; + background: var(--ruffle-blue); + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + color: white; + padding: 8px 16px; + box-sizing: border-box; +} + +#nav > * { + display: flex; + gap: 20px; +} + +.logo { + height: 32px; + flex: 0 0 content; +} + +.select-container > div { + display: flex; + align-items: center; + gap: 4px; +} + +#web-url { + width: min(40vw, 500px); +} + +#local-file { + display: none; +} + +#local-file-name, +#sample-swfs-label, +#local-file-static-label { + font-size: smaller; +} + +#local-file-static-label { + display: none; +} + +#toggle-info, +#reload-swf { + cursor: pointer; +} + +#author { + color: var(--ruffle-orange); +} + #main { position: relative; flex: 1; + display: flex; + flex-direction: row; +} + +#author-container { + font-size: smaller; +} + +#player-container { + overflow-y: hidden; + flex-grow: 1; +} + +#player-container > * { + position: relative; + width: 100%; + height: 100%; } #overlay { - position: absolute; - inset: 0; - z-index: 1; pointer-events: none; border: 8px dashed var(--ruffle-orange); border-radius: 30px; opacity: 0; transition: opacity 0.3s ease-in; - margin: 10px 5px; + box-sizing: border-box; + z-index: 1; } #overlay.drag { @@ -37,163 +102,47 @@ body { transition-timing-function: ease-out; } -#player { - position: absolute; - inset: 0; - width: auto; - height: auto; - margin: 10px 0; +#overlay:not([hidden]) ~ #player { + bottom: 100%; } -#nav { - width: 100%; - background: var(--ruffle-blue); - box-shadow: 0 3px 6px 5px var(--ruffle-blue); - display: flex; - align-items: center; - justify-content: space-around; - color: white; - padding: 10px 0 5px; - margin-bottom: 5px; -} - -#title { - transition: opacity 0.5s; -} - -#title:hover { - opacity: 0.5; -} - -#title img { - height: 32px; -} - -#file-picker select, -#file-picker input, -#author { - margin-left: 5px; -} - -#local-file-container, -#sample-swfs-container { - display: inline-block; - vertical-align: middle; -} - -#local-file { - width: 0; - opacity: 0; - position: absolute; -} - -#local-file-label { - color: var(--ruffle-blue); - padding: 3px 10px; - margin: 5px 2px; - cursor: pointer; - border-radius: 50px; - background-color: white; -} - -#local-file-name { - min-width: 150px; - display: inline-block; - font-size: smaller; -} - -#sample-swfs { - background-color: white; - color: var(--ruffle-blue); - border: 1px solid white; - border-radius: 5px; -} - -#author-container { - font-size: small; -} - -#author { - color: var(--ruffle-orange); -} - -.hidden { - display: none !important; -} - -.modal { - display: none; - position: fixed; - z-index: 1; - left: 0; - top: 0; - width: 100%; - height: 100%; -} - -.modal-content { - background-color: var(--ruffle-blue); - margin: 15vh auto; - padding: 20px; - border: 2px solid white; +#info-container { width: 300px; - height: 270px; - overflow: auto; + background-color: var(--ruffle-blue); + padding: 4px 16px; + flex-direction: column; + gap: 8px; + box-sizing: border-box; } -.close { - color: #aaa; +#info-container span:first-child { + text-shadow: 0 0 1px white; +} + +#info-container span:first-child::after { + content: ":"; +} + +#info-container span:last-child { float: right; - font-size: 28px; - font-weight: bold; - cursor: pointer; } -#open-modal, -#reload-swf { - vertical-align: middle; - cursor: pointer; +/* TODO: Make metadata element IDs kebab-case, and convert back and forth + between that and the camelCase of metadata JS object keys. */ +/* stylelint-disable-next-line selector-id-pattern */ +#backgroundColor { + width: 1em; + height: 1em; + border: 2px solid var(--ruffle-dark-blue); + background-color: white; } -#metadata { - margin: 0 auto; -} - -#metadata td { - padding: 2px 1px; - border: 1px solid #ddd; - color: var(--ruffle-orange); -} - -#metadata tr td:nth-child(1) { - font-weight: bold; - padding: 0 10px; -} - -@media only screen and (width <= 800px) { - #local-file-container, - #sample-swfs-container { +@media only screen and (width <= 1120px) { + #local-file-static-label { display: block; } - #local-file-container { - margin-bottom: 10px; - } -} - -@media only screen and (width <= 600px) { - #local-file-static-label, - #sample-swfs-label { - display: block; - margin-bottom: 5px; - } - - #author-container { - font-size: 12px; - text-align: center; - } - - #nav { + .select-container { flex-flow: column; } } diff --git a/web/packages/demo/src/index.ts b/web/packages/demo/src/index.ts index e5fe64c07..248503359 100644 --- a/web/packages/demo/src/index.ts +++ b/web/packages/demo/src/index.ts @@ -1,3 +1,5 @@ +import "./lato.css"; +import "./common.css"; import "./index.css"; declare global { @@ -25,7 +27,7 @@ const ruffle = (window.RufflePlayer as PublicAPI).newest()!; let player: RufflePlayer | null; -const main = document.getElementById("main")!; +const main = document.getElementById("player-container")!; const overlay = document.getElementById("overlay")!; const authorContainer = document.getElementById("author-container")!; const author = document.getElementById("author"); @@ -37,14 +39,13 @@ const sampleFileInput = ( document.getElementById("sample-swfs") ); const localFileName = document.getElementById("local-file-name")!; -const closeModal = document.getElementById("close-modal")!; -const openModal = document.getElementById("open-modal")!; +const toggleInfo = document.getElementById("toggle-info")!; const reloadSwf = document.getElementById("reload-swf")!; -const metadataModal = document.getElementById("metadata-modal")!; +const infoContainer = document.getElementById("info-container")!; // prettier-ignore const optionGroups = { - "Animation": document.getElementById("anim-optgroup")!, - "Game": document.getElementById("games-optgroup")!, + "Animation": document.getElementById("anim-optgroup")!, + "Game": document.getElementById("games-optgroup")!, }; // This is the base config used by the demo player (except for specific SWF files @@ -57,7 +58,7 @@ const baseDemoConfig = { forceAlign: true, }; -const swfToFlashVersion: Record = { +const swfToFlashVersion: { [key: number]: string } = { 1: "1", 2: "2", 3: "3", @@ -122,37 +123,36 @@ function unload() { document.querySelectorAll("span.metadata").forEach((el) => { el.textContent = "Loading"; }); - (document.getElementById("backgroundColor")).value = - "#FFFFFF"; + document.getElementById("backgroundColor")!.style.backgroundColor = + "white"; } } -function load(options: DataLoadOptions | URLLoadOptions) { +function load(options: string | DataLoadOptions | URLLoadOptions) { unload(); player = ruffle.createPlayer(); player.id = "player"; main.append(player); player.load(options, false); - player.addEventListener("loadedmetadata", function () { + player.addEventListener("loadedmetadata", () => { if (player?.metadata) { for (const [key, value] of Object.entries(player.metadata)) { const metadataElement = document.getElementById(key); if (metadataElement) { switch (key) { case "backgroundColor": - (metadataElement).value = - value ?? "#FFFFFF"; + metadataElement.style.backgroundColor = + value ?? "white"; break; case "uncompressedLength": metadataElement.textContent = `${value >> 10}Kb`; break; + // @ts-expect-error This intentionally falls through to the default case case "swfVersion": document.getElementById( "flashVersion", - )!.textContent = - swfToFlashVersion[value] ?? "Unknown"; - metadataElement.textContent = value; - break; + )!.textContent = swfToFlashVersion[value] ?? null; + // falls through and executes the default case as well default: metadataElement.textContent = value; break; @@ -177,7 +177,7 @@ function hideSample() { author.href = ""; } -async function loadFile(file: File) { +async function loadFile(file: File | undefined) { if (!file) { return; } @@ -204,9 +204,14 @@ function loadSample() { } } -localFileInput.addEventListener("change", (_event) => { - if (localFileInput.files && localFileInput.files[0]) { - loadFile(localFileInput.files[0]); +localFileInput.addEventListener("change", (event) => { + const eventTarget = event.target as HTMLInputElement; + if ( + eventTarget?.files && + eventTarget?.files.length > 0 && + eventTarget.files[0] + ) { + loadFile(eventTarget.files[0]); } }); @@ -230,8 +235,8 @@ main.addEventListener("drop", (event) => { event.stopPropagation(); event.preventDefault(); overlay.classList.remove("drag"); - localFileInput.files = event.dataTransfer?.files ?? null; - if (event.dataTransfer?.files[0]) { + if (event.dataTransfer) { + localFileInput.files = event.dataTransfer.files; loadFile(event.dataTransfer.files[0]); } }); @@ -249,18 +254,18 @@ localFileInput.addEventListener("drop", (event) => { event.stopPropagation(); event.preventDefault(); overlay.classList.remove("drag"); - localFileInput.files = event.dataTransfer?.files ?? null; - if (event.dataTransfer?.files[0]) { + if (event.dataTransfer) { + localFileInput.files = event.dataTransfer.files; loadFile(event.dataTransfer.files[0]); } }); -closeModal.addEventListener("click", () => { - metadataModal.style.display = "none"; -}); - -openModal.addEventListener("click", () => { - metadataModal.style.display = "block"; +toggleInfo.addEventListener("click", () => { + if (infoContainer.style.display === "none") { + infoContainer.style.display = "flex"; + } else { + infoContainer.style.display = "none"; + } }); reloadSwf.addEventListener("click", () => { @@ -281,15 +286,9 @@ window.addEventListener("load", () => { ) { localFileInput.removeAttribute("accept"); } - overlay.classList.remove("hidden"); + overlay.removeAttribute("hidden"); }); -window.onclick = (event) => { - if (event.target === metadataModal) { - metadataModal.style.display = "none"; - } -}; - (async () => { const response = await fetch("swfs.json"); diff --git a/web/packages/demo/src/lato.css b/web/packages/demo/src/lato.css new file mode 100644 index 000000000..3e38a760e --- /dev/null +++ b/web/packages/demo/src/lato.css @@ -0,0 +1,20 @@ +/* latin-ext */ +@font-face { + font-family: Lato; + font-style: normal; + font-weight: 400; + src: url("../fonts/S6uyw4BMUTPHjxAwXjeu.woff2") format("woff2"); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: Lato; + font-style: normal; + font-weight: 400; + src: url("../fonts/S6uyw4BMUTPHjx4wXg.woff2") format("woff2"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, + U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/web/packages/demo/webpack.config.js b/web/packages/demo/webpack.config.js index db4c0dddb..e6ff1ed43 100644 --- a/web/packages/demo/webpack.config.js +++ b/web/packages/demo/webpack.config.js @@ -41,6 +41,10 @@ module.exports = (_env, _argv) => { patterns: [ { from: path.resolve(__dirname, "www/index.html") }, { from: path.resolve(__dirname, "www/logo-anim.swf") }, + { from: path.resolve(__dirname, "www/icon32.png") }, + { from: path.resolve(__dirname, "www/icon48.png") }, + { from: path.resolve(__dirname, "www/icon180.png") }, + { from: path.resolve(__dirname, "www/logo.svg") }, { from: "swfs.json", noErrorOnMissing: true }, { from: "LICENSE*" }, { from: "README.md" }, diff --git a/web/packages/demo/www/icon180.png b/web/packages/demo/www/icon180.png new file mode 100644 index 0000000000000000000000000000000000000000..698fa8aa5ffbbbac0ca2a17e0082c686d889260c GIT binary patch literal 1109 zcmV-b1giUqP)z*y~qc8ZVG5@VI%eK3~0000RbW%=J01pozA1^OIPhVeee~*u! zudlz)&(F`_-|z49s$uZ}00U)7L_t(|+U?w7SDP>t24G|etRReRV@Rykb*{Gg|Nn2T zbzSS>)JwU!N!^n-g3xjqdhE{YHYIhTwjQf-r>Hmp&V?e1CK8UFM|Y_D>zjHPsi zt--KXd6&}8WA2UB)D}7y#&-By*Tw|bTB0*|>&D2W4DLDaz~=KhH)5%{I>)_S=`Oh8 z*d=B9Ae8KEW;~@U(b7zQ^Z}O6O@O6kr-Nyxm27FAx0qJ8G|$hWZ0DZm<50G=;(3#m zE#0t`o`oo08KQV~h~fz|&GQn_foU1>QZOwfULjk$2$AU^#Y;jg9in(GHm1`SR>_K& zvpgeT#cNn*j7PkhV_`F2#Vc4|et5*|I2N{)6)$30*hW^oL{_{?mg$ydxr8^Sie$;&Gj9C0W^Y6Bky=ig%dGqEeSHY%3vNoRvdqUjFgT_}?nq z7cZ~QPQ&`Af8u5D&F@ODhQ3_86EA*WxFLo+!YUw!|Ypjo&Aw^>V)n`Ob1}tGBc7I1=wQ zce@c;e~w&;M_$55{WkN(;@edeig<_IUY{R5Y7$%G%|~~(m+k_lU3VsnxAv%WdKuH( zeEsCAGo9&QZ#sXua@LtH-U-vUH|`$um=CRoL*pMe*OA*OTU#10#Pg_gWNS;~g?P%N z(wVI-jThpT9+j?ay~IJhOT~)=6wg3BA@LfIN*5uDM`n5k@usDPcrr;K9>il1uYh<$ z;w2DIM!Yse@f5^^cwvaAAf8NOh$j^CpUqSuisuv4&4(5*g?KXJbr28YK|F{Tx_Chz zFb63f`4S-xm?wsOi4X_O6VpRHhzIc?9>l`|GsL5d*Fd~!AzvcIm70mcB|@R#5+TIn z5Dy2;QsUu&Sx7t_Fhe|u2l0Xz50?m~LcTLOpeP~HDt00000NkvXXu0mjf#}5(I literal 0 HcmV?d00001 diff --git a/web/packages/demo/www/icon32.png b/web/packages/demo/www/icon32.png new file mode 100644 index 0000000000000000000000000000000000000000..91a93610928c02fab0ef4a31b6a4e1769d32d734 GIT binary patch literal 1657 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 literal 0 HcmV?d00001 diff --git a/web/packages/demo/www/index.html b/web/packages/demo/www/index.html index a95915a58..1ebf131e6 100644 --- a/web/packages/demo/www/index.html +++ b/web/packages/demo/www/index.html @@ -1,95 +1,89 @@ - - - - - Ruffle Web Demo - - - - - - -