aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--deploy/mobile/image_upload.html13
-rw-r--r--deploy/mobile/ink_controls.html13
-rw-r--r--package-lock.json5
-rw-r--r--package.json1
-rw-r--r--src/mobile/ImageUpload.tsx11
-rw-r--r--src/mobile/InkControls.tsx0
-rw-r--r--src/server/index.ts10
-rw-r--r--webpack.config.js2
8 files changed, 53 insertions, 2 deletions
diff --git a/deploy/mobile/image_upload.html b/deploy/mobile/image_upload.html
new file mode 100644
index 000000000..4cfd931ac
--- /dev/null
+++ b/deploy/mobile/image_upload.html
@@ -0,0 +1,13 @@
+<html>
+
+<head>
+ <title>Test view</title>
+ <link href="https://fonts.googleapis.com/css?family=Fjalla+One|Hind+Siliguri:300" rel="stylesheet">
+</head>
+
+<body>
+ <div id="root"></div>
+ <script src="../image_upload.js"></script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/deploy/mobile/ink_controls.html b/deploy/mobile/ink_controls.html
new file mode 100644
index 000000000..725ed3685
--- /dev/null
+++ b/deploy/mobile/ink_controls.html
@@ -0,0 +1,13 @@
+<html>
+
+<head>
+ <title>Test view</title>
+ <link href="https://fonts.googleapis.com/css?family=Fjalla+One|Hind+Siliguri:300" rel="stylesheet">
+</head>
+
+<body>
+ <div id="root"></div>
+ <script src="../ink_controls.js"></script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index dd5d44bd9..9169ae4e9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5982,6 +5982,11 @@
}
}
},
+ "mobile-detect": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/mobile-detect/-/mobile-detect-1.4.3.tgz",
+ "integrity": "sha512-UaahPNLllQsstHOEHAmVnTHCMQrAS9eL5Qgdi50QrYz6UgGk+Xziz2udz2GN6NYcyODcPLnasC7a7s6R2DjiaQ=="
+ },
"mobx": {
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/mobx/-/mobx-5.9.0.tgz",
diff --git a/package.json b/package.json
index 219efb5f7..ed593898d 100644
--- a/package.json
+++ b/package.json
@@ -92,6 +92,7 @@
"jsonwebtoken": "^8.5.0",
"jsx-to-string": "^1.4.0",
"lodash": "^4.17.11",
+ "mobile-detect": "^1.4.3",
"mobx": "^5.9.0",
"mobx-react": "^5.3.5",
"mobx-react-devtools": "^6.1.1",
diff --git a/src/mobile/ImageUpload.tsx b/src/mobile/ImageUpload.tsx
new file mode 100644
index 000000000..566fe9d6c
--- /dev/null
+++ b/src/mobile/ImageUpload.tsx
@@ -0,0 +1,11 @@
+ReactDOM.render((
+ <div
+ style={{
+ position: "absolute",
+ width: "100%",
+ height: "100%",
+ background: "yellow"
+ }}
+ ></div>),
+ document.getElementById('root')
+); \ No newline at end of file
diff --git a/src/mobile/InkControls.tsx b/src/mobile/InkControls.tsx
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/mobile/InkControls.tsx
diff --git a/src/server/index.ts b/src/server/index.ts
index fcf74c08a..f83532a2f 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -27,6 +27,7 @@ import * as expressValidator from 'express-validator';
import expressFlash = require('express-flash');
import * as bodyParser from 'body-parser';
import * as session from 'express-session';
+import * as mobileDetect from 'mobile-detect';
import c = require("crypto");
const MongoStore = require('connect-mongo')(session);
const mongoose = require('mongoose');
@@ -100,8 +101,13 @@ app.use('/images', express.static(__dirname + '/public'))
let FieldStore: ObservableMap<FieldId, Field> = new ObservableMap();
// define a route handler for the default home page
-app.get("/", (req, res) => {
- res.sendFile(path.join(__dirname, '../../deploy/index.html'));
+app.get("/", (req: express.Request, res: express.Response) => {
+ let detector = new mobileDetect(req.headers['user-agent'] || "");
+ if (detector.mobile() != null) {
+ res.sendFile(path.join(__dirname, '../../deploy/mobile/image_upload.html'));
+ } else {
+ res.sendFile(path.join(__dirname, '../../deploy/index.html'));
+ }
});
app.get("/pull", (req, res) => {
diff --git a/webpack.config.js b/webpack.config.js
index 815e2b477..52ad2c653 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -8,6 +8,8 @@ module.exports = {
bundle: ["./src/client/views/Main.tsx", 'webpack-hot-middleware/client?reload=true'],
viewer: ["./src/debug/Viewer.tsx", 'webpack-hot-middleware/client?reload=true'],
test: ["./src/debug/Test.tsx", 'webpack-hot-middleware/client?reload=true'],
+ image_upload: ["./src/debug/mobile/ImageUpload.tsx", 'webpack-hot-middleware/client?reload=true'],
+ ink_control: ["./src/debug/mobile/InkControl.tsx", 'webpack-hot-middleware/client?reload=true'],
},
devtool: "source-map",
node: {