From dddf378977e42a23b47358eaaa4feef98a9b2c42 Mon Sep 17 00:00:00 2001 From: He4eT Date: Tue, 2 Mar 2021 01:28:45 +0500 Subject: [PATCH] Dirty markup --- src/components/player/common/engines.js | 6 -- src/style/base.css | 52 +++++++++++++- src/themes/themes.js | 6 +- src/views/HomeView.jsx | 92 +++++++++++++++++++++---- src/views/PlayerView.jsx | 2 +- 5 files changed, 131 insertions(+), 27 deletions(-) diff --git a/src/components/player/common/engines.js b/src/components/player/common/engines.js index b4d7b37..22ab4c9 100644 --- a/src/components/player/common/engines.js +++ b/src/components/player/common/engines.js @@ -1,5 +1,4 @@ import bocfel from 'emglken/src/bocfel.js' -import glulxe from 'emglken/src/glulxe.js' import git from 'emglken/src/git.js' import hugo from 'emglken/src/hugo.js' import tads from 'emglken/src/tads.js' @@ -10,11 +9,6 @@ const formats = [ extensions: /z([3458]|blorb)$/, engine: bocfel }, - { - id: 'glulxe', - extensions: /(gblorb|ulx)$/, - engine: glulxe - }, { id: 'git', extensions: /(gblorb|ulx)$/, diff --git a/src/style/base.css b/src/style/base.css index 8655bfa..2e5d58c 100644 --- a/src/style/base.css +++ b/src/style/base.css @@ -22,7 +22,6 @@ html, body { background-color: var(--bg-color); color: var(--main-color); - padding: var(--outer-padding); } .app > main { @@ -40,3 +39,54 @@ html, body { max-width: 800px; } } + +/* Common */ + +a { + border-bottom: 2px solid currentColor; + color: inherit; + text-decoration: none; +} + +a:focus { + background-color: hsl(0, 0%, 0%, 0.1); +} + +/* Dirty views */ + +.app > main.home { + padding: var(--inner-padding); + max-height: unset; + height: 200%; +} + +.home input, +.home select { + padding: 4px 8px; + color: var(--main-color); + background-color: var(--bg-color); + border: 2px solid var(--main-color); + outline-offset: 0; + font: inherit; +} + +.home summary { + display: inline-block; + padding-right: 4px; + cursor: pointer; +} + +.home details > ul { + border-left: 4px solid currentColor; +} + +.home .play label { + display: block; + margin-bottom: 16px; +} + +.home .play input { + box-sizing: border-box; + width: 100%; + max-width: 400px; +} diff --git a/src/themes/themes.js b/src/themes/themes.js index 24c58c3..d5c999c 100644 --- a/src/themes/themes.js +++ b/src/themes/themes.js @@ -5,16 +5,14 @@ import '~/src/style/themes.css' const themes = [ 'default', 'default-borders', - 'default-dark', - 'default-dark-borders', 'default-dim', 'default-dim-borders', + 'default-dark', + 'default-dark-borders', 'solarized-light', 'solarized-light-borders', 'solarized-dark', 'solarized-dark-borders', - 'nord', - 'nord-borders', '_raw' ] diff --git a/src/views/HomeView.jsx b/src/views/HomeView.jsx index fbaba8a..1eaef41 100644 --- a/src/views/HomeView.jsx +++ b/src/views/HomeView.jsx @@ -19,31 +19,93 @@ export default function ({ themeEngine }) { const [targetUrl, setTargetUrl] = useState(null) return ( -
+
+

+ ifplayer +

+

- You can browse some - games from IFDB - or play a game from a file. + Interactive Fiction interpreter + that runs right in your browser. +
+ Powered by + Emglken + and + cheap-glkote + .

-
    -
  • - -
  • -
  • +

    + Source code can be found here: + ifplayer + . +

    +
    +

    + Interface theme +

    +

    + +

    + + Themes without borders + are better suited for small screens. +
    + + Double-click on the input field during the game + to enter full-screen mode. + +

    +
    +

    + Play a game from the list +

    +

    + IFDB Top 100 games +

    +
    +

    + Play the game from a file +

    +

    +

    + Supported formats +
      +
    • TADS games (.t3, .gam);
    • +
    • Z-machine games (.z3, .z4, .z5, .z8, .blorb);
    • +
    • Glulx VM games (.gblorb, .ulx);
    • +
    • Hugo games (.hex);
    • +
    • Text-only games are supported;
    • +
    +
    +

    +

    +

    + Local file: +
    -
  • -
  • + +
  • -
+ +

{ targetUrl ? playButton(targetName, targetUrl, themeEngine.currentTheme) : null } diff --git a/src/views/PlayerView.jsx b/src/views/PlayerView.jsx index 8d9ad3d..0e263a2 100644 --- a/src/views/PlayerView.jsx +++ b/src/views/PlayerView.jsx @@ -15,7 +15,7 @@ export default function ({ setTheme, theme, encodedUrl }) { }, [encodedUrl]) return ( -
+
)