From 40fd1f8340492982c37d7ce79a82e7fb83ff6214 Mon Sep 17 00:00:00 2001 From: shockrahwow Date: Mon, 4 Nov 2019 12:18:48 -0800 Subject: [PATCH] commit for sake of history not for significance in development --- client/build | 6 ++ client/build.sh | 22 ++++++++ client/index.html | 15 +++++ client/init_user.js | 7 +++ client/main.js | 37 ++++++++++++ client/package-lock.json | 119 +++++++++++++++++++++++++++++++++++++++ client/package.json | 5 ++ 7 files changed, 211 insertions(+) create mode 100644 client/build create mode 100644 client/build.sh create mode 100644 client/index.html create mode 100644 client/init_user.js create mode 100644 client/main.js diff --git a/client/build b/client/build new file mode 100644 index 0000000..b33aacc --- /dev/null +++ b/client/build @@ -0,0 +1,6 @@ +#!/bin/python3 + +import argparse as argp + +if __name__ == "__main__": + parser = argp.asdf() \ No newline at end of file diff --git a/client/build.sh b/client/build.sh new file mode 100644 index 0000000..d87b3d4 --- /dev/null +++ b/client/build.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +build_dir="css" +sass_dir="sass" + +if [ ! -d $build_dir ]; then + mkdir -p $build_dir +fi + +login="login" + +build() { + echo Building $1 css in $build_dir/$1.css + sass "$sass_dir/$1.scss" "$build_dir/$1.css" +} + +while getopts "" opt; do + case $opt in + + esac +done +build login \ No newline at end of file diff --git a/client/index.html b/client/index.html new file mode 100644 index 0000000..3d0012b --- /dev/null +++ b/client/index.html @@ -0,0 +1,15 @@ + + + + + Freechat + + + + +

Hello World!

+ We are using node , + Chrome , + and Electron . + + \ No newline at end of file diff --git a/client/init_user.js b/client/init_user.js new file mode 100644 index 0000000..6d90808 --- /dev/null +++ b/client/init_user.js @@ -0,0 +1,7 @@ +function submit_creds() { + // submit form data to the requested domain +} + +function auth_lookup() { + // lookup for user credentials file somewhere +} \ No newline at end of file diff --git a/client/main.js b/client/main.js new file mode 100644 index 0000000..aa141cd --- /dev/null +++ b/client/main.js @@ -0,0 +1,37 @@ +const {app, BrowserWindow} = require('electron'); + +// this is here to keep the window reference alive +let win; + +function create_window() { + win = new BrowserWindow({ + width: 800, + height: 600, + webPreferences: { + nodeIntegration: true + } + }) + + // load the main content + win.loadFile('index.html'); + + win.on('closed', () => { + win = null + }) + +} +app.on('ready', create_window) + + +// if the window is closed we dereference he object and thus its gc'd +// Finally load the window +app.on('window-all-closed', () => { + if(process.platform !== 'darwin') { + app.quit() + } +}) +app.on('activate', () => { + if(win === null) { + create_window() + } +}) \ No newline at end of file diff --git a/client/package-lock.json b/client/package-lock.json index bc2a929..b353917 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -41,6 +41,20 @@ "integrity": "sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA==", "dev": true }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" + }, "boolean": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/boolean/-/boolean-2.0.2.tgz", @@ -48,6 +62,14 @@ "dev": true, "optional": true }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -86,6 +108,21 @@ } } }, + "chokidar": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.3.tgz", + "integrity": "sha512-GtrxGuRf6bzHQmXWRepvsGnXpkQkVU+D2/9a7dAe4a7v1NhrfZOZ2oKf76M3nOs46fFYL8D+Q8JYA4GYeJ8Cjw==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + } + }, "clone-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", @@ -263,6 +300,14 @@ "pend": "~1.2.0" } }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, "fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -274,6 +319,12 @@ "universalify": "^0.1.0" } }, + "fsevents": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.1.tgz", + "integrity": "sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw==", + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -290,6 +341,14 @@ "pump": "^3.0.0" } }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, "global-agent": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.5.tgz", @@ -375,6 +434,32 @@ "dev": true, "optional": true }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -462,6 +547,11 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, "normalize-url": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", @@ -507,6 +597,11 @@ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==" + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -558,6 +653,14 @@ "util-deprecate": "~1.0.1" } }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "requires": { + "picomatch": "^2.0.4" + } + }, "responselike": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", @@ -597,6 +700,14 @@ "truncate-utf8-bytes": "^1.0.0" } }, + "sass": { + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.1.tgz", + "integrity": "sha512-zQzJ3UETUWOMd/pJJGH/zvRsBVO97m11RcpfUhcQUHEXf0yHUBgOIE/Nw8aK0m1XyVJPeq228iIK7gVxsJ/Puw==", + "requires": { + "chokidar": ">=2.0.0 <4.0.0" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -652,6 +763,14 @@ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", "dev": true }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, "truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", diff --git a/client/package.json b/client/package.json index 4f586c3..808d507 100644 --- a/client/package.json +++ b/client/package.json @@ -4,11 +4,16 @@ "description": "Desktop application for Freechat's decentralized communications platform.", "main": "index.js", "scripts": { + "start": "electron .", + "build": "./build.sh", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "devDependencies": { "electron": "^7.0.0" + }, + "dependencies": { + "sass": "^1.23.1" } }