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:
+
-
-
+
+
+
+ Direct link:
+
-
-
+
+
{ 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 (
-
+
)