diff options
-rw-r--r-- | package-lock.json | 13 | ||||
-rw-r--r-- | package.json | 10 | ||||
-rw-r--r-- | src/client/views/Main.tsx | 21 | ||||
-rw-r--r-- | src/server/RouteStore.ts | 1 | ||||
-rw-r--r-- | src/server/index.ts | 6 | ||||
-rw-r--r-- | views/layout.pug | 1 |
6 files changed, 47 insertions, 5 deletions
diff --git a/package-lock.json b/package-lock.json index 365bf14be..7976f60b0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -382,6 +382,14 @@ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz", "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==" }, + "@types/mobile-detect": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mobile-detect/-/mobile-detect-1.3.4.tgz", + "integrity": "sha512-MGBTvT5c7aH8eX6szFYP3dWPryNLt5iGlo31XNaJtt8o6jsg6tjn99eEMq9l8T6cPZymsr+J4Jth8+/G/04ZDw==", + "requires": { + "mobile-detect": "*" + } + }, "@types/mocha": { "version": "5.2.6", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.6.tgz", @@ -5968,6 +5976,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 5a1856302..195d0fcfa 100644 --- a/package.json +++ b/package.json @@ -33,12 +33,12 @@ "webpack-hot-middleware": "^2.24.3" }, "dependencies": { - "@types/async": "^2.4.1", "@fortawesome/fontawesome-free-solid": "^5.0.13", "@fortawesome/fontawesome-svg-core": "^1.2.15", - "@hig/flyout": "^1.0.3", "@fortawesome/free-solid-svg-icons": "^5.7.2", "@fortawesome/react-fontawesome": "^0.1.4", + "@hig/flyout": "^1.0.3", + "@types/async": "^2.4.1", "@types/bcrypt-nodejs": "0.0.30", "@types/bluebird": "^3.5.25", "@types/body-parser": "^1.17.0", @@ -53,10 +53,11 @@ "@types/jquery": "^3.3.29", "@types/jsonwebtoken": "^8.3.2", "@types/lodash": "^4.14.121", - "@types/nodemailer": "^4.6.6", + "@types/mobile-detect": "^1.3.4", "@types/mongodb": "^3.1.22", "@types/mongoose": "^5.3.21", "@types/node": "^10.12.30", + "@types/nodemailer": "^4.6.6", "@types/passport": "^1.0.0", "@types/passport-local": "^1.0.33", "@types/prosemirror-commands": "^1.0.1", @@ -78,8 +79,8 @@ "@types/socket.io-client": "^1.4.32", "@types/typescript": "^2.0.0", "@types/uuid": "^3.4.4", - "async": "^2.6.2", "@types/webpack": "^4.4.25", + "async": "^2.6.2", "babel-runtime": "^6.26.0", "bcrypt-nodejs": "0.0.3", "bluebird": "^3.5.3", @@ -102,6 +103,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/client/views/Main.tsx b/src/client/views/Main.tsx index 5ff16b8dc..63cc785e0 100644 --- a/src/client/views/Main.tsx +++ b/src/client/views/Main.tsx @@ -23,6 +23,7 @@ import { observer } from 'mobx-react'; import { Field, Opt } from '../../fields/Field'; import { InkingControl } from './InkingControl'; import { RouteStore } from '../../server/RouteStore'; +import { json } from 'body-parser'; @observer export class Main extends React.Component { @@ -43,6 +44,7 @@ export class Main extends React.Component { } initEventListeners = () => { + // window.addEventListener("pointermove", (e) => this.reportLocation(e)) window.addEventListener("drop", (e) => e.preventDefault(), false) // drop event handler window.addEventListener("dragover", (e) => e.preventDefault(), false) // drag event handler // click interactions for the context menu @@ -71,6 +73,24 @@ export class Main extends React.Component { }); } + // reportLocation = (e: PointerEvent) => { + // request.post(this.prepend(RouteStore.updateCursor), { + // body: { + // cursorX: e.screenX, + // cursorY: e.screenY, + // docId: this.mainContainer ? this.mainContainer.Id : undefined + // }, + // json: true + // }); + // } + + // componentWillUnmount = () => { + + // } + + // pushCursor = () => { + // } + @action createNewWorkspace = (init: boolean): void => { let mainDoc = Documents.DockDocument(JSON.stringify({ content: [{ type: 'row', content: [] }] }), { title: `Main Container ${this.userWorkspaces.length + 1}` }); @@ -108,6 +128,7 @@ export class Main extends React.Component { }); this.mainContainer = doc; this.mainContainer.GetAsync(KeyStore.ActiveFrame, field => this.mainfreeform = field as Document); + // this.pushCursor(); } toggleWorkspaces = () => { diff --git a/src/server/RouteStore.ts b/src/server/RouteStore.ts index ace2152d7..4842da51a 100644 --- a/src/server/RouteStore.ts +++ b/src/server/RouteStore.ts @@ -17,6 +17,7 @@ export enum RouteStore { getAllWorkspaces = "/getAllWorkspaceIds", getActiveWorkspace = "/getActiveWorkspaceId", setActiveWorkspace = "/setActiveWorkspaceId", + updateCursor = "/updateCursor", // AUTHENTICATION signup = "/signup", diff --git a/src/server/index.ts b/src/server/index.ts index d710ac875..70b794e35 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -39,6 +39,7 @@ import User, { DashUserModel } from './authentication/models/user_model'; import * as fs from 'fs'; import * as request from 'request' import { RouteStore } from './RouteStore'; +import * as MobileDetect from 'mobile-detect'; const download = (url: string, dest: fs.PathLike) => { request.get(url).pipe(fs.createWriteStream(dest)); @@ -144,6 +145,10 @@ addSecureRoute(Method.GET, RouteStore.root, (user, req, res) => { // YAY! SHOW THEM THEIR WORKSPACES NOW addSecureRoute(Method.GET, RouteStore.home, (user, req, res) => { + let detector = new MobileDetect(req.headers['user-agent'] || ""); + console.log("GAAAAAAHHHHH"); + console.log(detector.mobile()); + console.log(detector.is("mobile")); res.sendFile(path.join(__dirname, '../../deploy/index.html')); }); @@ -156,6 +161,7 @@ addSecureRoute(Method.GET, RouteStore.getAllWorkspaces, (user, req, res) => { }); addSecureRoute(Method.POST, RouteStore.setActiveWorkspace, (user, req) => { + req user.update({ $set: { activeWorkspaceId: req.body.target } }, () => { }); }); diff --git a/views/layout.pug b/views/layout.pug index 95a5a391f..b11291eb9 100644 --- a/views/layout.pug +++ b/views/layout.pug @@ -8,7 +8,6 @@ html(lang='') meta(name='description', content='') meta(name='theme-color' content='#4DA5F4') meta(name='csrf-token', content=_csrf) - link(rel='shortcut icon', href='/images/favicon.png') link(rel='stylesheet', href='/css/main.css') body |