Compare commits

..

67 Commits
v1.4 ... master

Author SHA1 Message Date
6391d9261d Update jQuery to fix SNYK-JS-JQUERY-174006 2020-01-10 20:35:07 -07:00
5dd6ec9403 Update version code 2018-12-31 11:38:15 -07:00
c617940c40 Update netsyms.com api url 2018-12-31 11:37:45 -07:00
c1ffdc7a5d Update version number 2018-12-22 12:30:59 -07:00
d006684147 Fix bug where account switching failed to actually switch accounts 2018-12-22 12:28:19 -07:00
07614c76f6 Fix Android resource issue 2018-11-16 01:04:46 -07:00
5c549225c7 Bump version 2.0 => 2.0.1 2018-11-16 00:49:19 -07:00
36acd0ff06 Allow business account setup without pairing code, close #16, close #21 2018-11-16 00:41:21 -07:00
7963613cd3 Further improve setup UX 2018-11-09 17:04:39 -07:00
136e7fa660 Add back buttons to setup pages 2018-11-09 16:55:28 -07:00
ae9fdb2654 Improve L&F, fix bug with secure connection checkbox 2018-11-09 16:53:04 -07:00
21479f2940 Add loading error screen 2018-11-09 16:29:33 -07:00
e808b7bbf7 Replace testing URL with actual URL 2018-11-09 01:27:35 -07:00
f48ab5e6b9 Remove old app data, rename project, update logo 2018-11-09 00:56:38 -07:00
c340976cf8 Update README.md, remove unused images 2018-11-09 00:51:55 -07:00
177831374a Fix status bar text color 2018-11-09 00:40:42 -07:00
35f1e10b7c Fix "Error: null" message 2018-11-09 00:40:03 -07:00
dd772dba93 Change package name and bump version to 2.0 2018-11-09 00:37:59 -07:00
9ce6a31d18 Cleanup java 2018-11-09 00:32:06 -07:00
c5bc67a257 Rebrand to "Netsyms Apps" 2018-11-09 00:31:42 -07:00
8b5edbd369 Add setup for personal netsyms.com accounts (close #15) 2018-11-08 21:20:33 -07:00
4345405b78 Fix Java imports 2018-11-07 17:17:42 -07:00
b59171a0b9 Fix home screen bug, add account switcher (close #19, close #20) 2018-11-07 17:17:23 -07:00
44a0da1f2b Make script tags work when inside pages 2018-11-07 17:13:12 -07:00
2c3092ecb4 Add notification manager to home page 2018-11-07 12:14:59 -07:00
6f79fb7b2a Improve settings, add OTP countdown 2018-11-02 00:39:13 -06:00
ee5e2b4a50 Add some settings and credits 2018-11-01 23:58:39 -06:00
ba185f32b3 Add pull to refresh on home screen 2018-11-01 23:58:02 -06:00
21c5113b88 Fix back button behavior 2018-11-01 23:57:42 -06:00
5691744543 Improve manual OTP UX 2018-11-01 20:19:09 -06:00
d7c00945a7 Add OTP feature to redesign 2018-10-27 00:47:28 -06:00
0b85c8a7f6 Working: initial setup tool, app list, using Apps 2018-10-23 22:14:38 -06:00
d248aa5934 Use Java background task for fetching notifications, close #18 2018-10-22 20:09:57 -06:00
9cb914512b Backup user data to NativeStorage 2018-10-22 13:44:26 -06:00
675248dfd3 Add background notification checking and display (close #17) 2018-08-07 01:41:25 -06:00
27a0904ec7 Fix version number 2018-05-07 21:17:32 -06:00
07b2a4eacf Update copyright dates 2018-03-27 17:59:35 -06:00
371e6a5be4 Use adaptive icon on Android, bump version to 1.6 2018-03-27 17:52:33 -06:00
ad070f0020 Update Android target 2018-03-27 17:19:09 -06:00
623d5e089e Update icon 2018-03-27 17:02:56 -06:00
5c440f6d9e Fix circle button CSS bugs 2018-03-27 16:30:36 -06:00
1561008dd4 Fix bug with account pairing key display, close #13 2018-03-27 16:21:36 -06:00
46ddfb476e Add missing graphic 2018-03-27 16:19:31 -06:00
0aca783a25 Update Cordova and plugin versions 2018-03-27 16:06:01 -06:00
fb333ce6bd Add account switching 2018-03-27 16:05:13 -06:00
a148a34597 Bump version to 1.5 2018-02-01 21:58:39 -07:00
afda404611 Update credits 2018-02-01 21:57:58 -07:00
a0dcefaa79 Make "Add OTP" button more material-y 2018-02-01 18:40:03 -07:00
154d5ca2fa Inject polyfills.js to apps, add Array.prototype.includes() polyfill 2018-01-31 19:26:04 -07:00
edea079eb3 Fix #12 2018-01-31 17:50:18 -07:00
8265554037 Remove excessive commented code 2018-01-31 17:50:03 -07:00
87237f1824 Use cdvfile:// for spinner GIF 2018-01-31 17:49:25 -07:00
a6b342df36 Fix spinner.css 404 2018-01-31 17:49:13 -07:00
32582718df Replace SVG spinner with GIF (closes #11), decrease splash screen time 2018-01-31 15:50:19 -07:00
29351714eb Fix icon 404 2018-01-27 22:40:25 -07:00
7bf1536ee8 Add Bootstrap 4 support 2018-01-27 22:39:25 -07:00
266e5ffd02 Change Station code icon 2017-12-26 20:35:54 -07:00
02f8c97b44 Better tablet (width >= 768px) support 2017-12-23 01:18:11 -07:00
c2916076ad Show username, partial pairing key, and server URL in Settings 2017-12-22 22:58:38 -07:00
41fe24aaac Rewrite navbar code for better tablet behavior 2017-12-22 21:22:12 -07:00
ae7210f145 Minor text fixes 2017-12-21 01:22:35 -07:00
e23ad3b0d5 Minor code formatting adjustments 2017-12-21 00:34:05 -07:00
fe3b9e1637 Change string replace flags to make syntax checker happy 2017-12-20 17:49:01 -07:00
151a01ef56 Don't crash app when rate limiting is triggered 2017-12-18 01:43:02 -07:00
27ca27c5be Add one-time authentication code tool for Station client 2017-12-18 01:36:02 -07:00
dfa0998be8 Add license info and link 2017-12-16 13:52:57 -07:00
d896f4a021 Fully implement MPL-2.0 license 2017-12-16 13:36:56 -07:00
152 changed files with 3439 additions and 7958 deletions

2
.gitignore vendored
View File

@ -2,3 +2,5 @@ nbproject/private
platforms platforms
plugins plugins
node_modules node_modules
/www/old/
build.json

View File

@ -1,4 +1,4 @@
Branding assets copyright (c) 2017 Netsyms Technologies. Branding assets copyright (c) 2018 Netsyms Technologies.
If you modify and redistribute this project, you must replace the branding If you modify and redistribute this project, you must replace the branding
assets with your own. assets with your own.

View File

@ -1,9 +1,9 @@
Business Mobile Netsyms Mobile
=============== ===============
A mobile app for easy and secure access to the Business Apps on the go. A mobile app for easy and secure access to the Netsyms Apps on the go.
https://netsyms.biz/apps/bizmobile https://netsyms.biz/apps/netsymsmobile
Features Features
-------- --------
@ -13,7 +13,7 @@ Scan a QR code displayed in AccountHub with the app, enter your password, and
everything is setup automatically. everything is setup automatically.
**Full Access** **Full Access**
Access all features of all Business Apps from one place. Access all features of all Netsyms Apps from one place.
**Barcode Scanning** **Barcode Scanning**
Use your device camera to scan barcodes into BinStack and other apps. Use your device camera to scan barcodes into BinStack and other apps.

View File

@ -1,14 +1,15 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<widget id="com.netsyms.BusinessMobile" version="1.4" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> <widget id="com.netsyms.apps.Mobile" version="2.0.3" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Business</name> <name>Netsyms</name>
<description> <description>
Mobile client for the Netsyms Business Apps. Securely use the Netsyms Apps from your phone or tablet.
</description> </description>
<author email="admin@netsyms.com" href="https://netsyms.com"> <author email="skylar@netsyms.com" href="https://netsyms.com">
Netsyms Technologies Netsyms Technologies
</author> </author>
<content src="index.html" /> <content src="index.html" />
<access origin="*" /> <access origin="*" />
<access origin="cdvfile://*" />
<allow-intent href="http://*/*" /> <allow-intent href="http://*/*" />
<allow-intent href="https://*/*" /> <allow-intent href="https://*/*" />
<allow-intent href="tel:*" /> <allow-intent href="tel:*" />
@ -21,35 +22,68 @@
<allow-intent href="market:*" /> <allow-intent href="market:*" />
<preference name="AndroidLaunchMode" value="singleTop" /> <preference name="AndroidLaunchMode" value="singleTop" />
<preference name="android-minSdkVersion" value="19" /> <preference name="android-minSdkVersion" value="19" />
<preference name="android-targetSdkVersion" value="26" /> <preference name="android-targetSdkVersion" value="27" />
<preference name="SplashMaintainAspectRatio" value="true" /> <preference name="SplashMaintainAspectRatio" value="true" />
<preference name="HeaderColor" value="#2196f3" /> <preference name="HeaderColor" value="#2196f3" />
<preference name="StatusBarBackgroundColor" value="#1976d2" /> <preference name="StatusBarBackgroundColor" value="#1976d2" />
<splash qualifier="port-ldpi" src="res/screens/android/screen-ldpi-portrait.png" /> <preference name="stopOnTerminate" value="false" />
<splash qualifier="port-mdpi" src="res/screens/android/screen-mdpi-portrait.png" /> <preference name="startOnBoot" value="true" />
<splash qualifier="port-hdpi" src="res/screens/android/screen-hdpi-portrait.png" /> <preference name="forceReload" value="true" />
<splash qualifier="port-xhdpi" src="res/screens/android/screen-xhdpi-portrait.png" /> <preference name="minimumFetchInterval" value="1" />
<splash qualifier="port-xxhdpi" src="res/screens/android/screen-xxhdpi-portrait.png" /> <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<splash qualifier="port-xxxhdpi" src="res/screens/android/screen-xxxhdpi-portrait.png" /> <application android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" />
<splash qualifier="land-ldpi" src="res/screens/android/screen-ldpi-landscape.png" /> </edit-config>
<splash qualifier="land-mdpi" src="res/screens/android/screen-mdpi-landscape.png" /> <resource-file src="res/android/drawable/ic_launcher_background.xml" target="app/src/main/res/drawable/ic_launcher_background.xml" />
<splash qualifier="land-hdpi" src="res/screens/android/screen-hdpi-landscape.png" /> <resource-file src="res/android/drawable/ic_launcher_foreground.xml" target="app/src/main/res/drawable/ic_launcher_foreground.xml" />
<splash qualifier="land-xhdpi" src="res/screens/android/screen-xhdpi-landscape.png" /> <resource-file src="res/android/mipmap-anydpi-v26/ic_launcher.xml" target="app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml" />
<splash qualifier="land-xxhdpi" src="res/screens/android/screen-xxhdpi-landscape.png" /> <resource-file src="res/android/mipmap-anydpi-v26/ic_launcher_round.xml" target="app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml" />
<splash qualifier="land-xxxhdpi" src="res/screens/android/screen-xxxhdpi-landscape.png" /> <resource-file src="res/android/mipmap-hdpi/ic_launcher.png" target="app/src/main/res/mipmap-hdpi/ic_launcher.png" />
<resource-file src="res/android/mipmap-hdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-hdpi/ic_launcher_round.png" />
<resource-file src="res/android/mipmap-mdpi/ic_launcher.png" target="app/src/main/res/mipmap-mdpi/ic_launcher.png" />
<resource-file src="res/android/mipmap-mdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-mdpi/ic_launcher_round.png" />
<resource-file src="res/android/mipmap-xhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xhdpi/ic_launcher.png" />
<resource-file src="res/android/mipmap-xhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xhdpi/ic_launcher_round.png" />
<resource-file src="res/android/mipmap-xxhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xxhdpi/ic_launcher.png" />
<resource-file src="res/android/mipmap-xxhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png" />
<resource-file src="res/android/mipmap-xxxhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" />
<resource-file src="res/android/mipmap-xxxhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png" />
<resource-file src="res/android/drawable-hdpi/ic_notification.png" target="app/src/main/res/drawable-hdpi/ic_notification.png" />
<resource-file src="res/android/drawable-mdpi/ic_notification.png" target="app/src/main/res/drawable-mdpi/ic_notification.png" />
<resource-file src="res/android/drawable-xhdpi/ic_notification.png" target="app/src/main/res/drawable-xhdpi/ic_notification.png" />
<resource-file src="res/android/drawable-xxhdpi/ic_notification.png" target="app/src/main/res/drawable-xxhdpi/ic_notification.png" />
<resource-file src="src/android/BackgroundFetchHeadlessTask.java" target="app/src/main/java/com/transistorsoft/cordova/backgroundfetch/BackgroundFetchHeadlessTask.java" />
<splash density="port-ldpi" src="res/screen/android/splash-port-ldpi.png" />
<splash density="port-mdpi" src="res/screen/android/splash-port-mdpi.png" />
<splash density="port-hdpi" src="res/screen/android/splash-port-hdpi.png" />
<splash density="port-xhdpi" src="res/screen/android/splash-port-xhdpi.png" />
<splash density="port-xxhdpi" src="res/screen/android/splash-port-xxhdpi.png" />
<splash density="port-xxxhdpi" src="res/screen/android/splash-port-xxxhdpi.png" />
<splash density="land-ldpi" src="res/screen/android/splash-land-ldpi.png" />
<splash density="land-mdpi" src="res/screen/android/splash-land-mdpi.png" />
<splash density="land-hdpi" src="res/screen/android/splash-land-hdpi.png" />
<splash density="land-xhdpi" src="res/screen/android/splash-land-xhdpi.png" />
<splash density="land-xxhdpi" src="res/screen/android/splash-land-xxhdpi.png" />
<splash density="land-xxxhdpi" src="res/screen/android/splash-land-xxxhdpi.png" />
</platform> </platform>
<preference name="SplashScreenDelay" value="3000" />
<preference name="AutoHideSplashScreen" value="false" /> <preference name="AutoHideSplashScreen" value="false" />
<engine name="android" spec="^6.3.0" />
<plugin name="cordova-plugin-app-version" spec="^0.1.9" />
<plugin name="cordova-plugin-console" spec="git+https://github.com/apache/cordova-plugin-console.git" />
<plugin name="cordova-plugin-device" spec="git+https://github.com/apache/cordova-plugin-device.git" />
<plugin name="cordova-plugin-dialogs" spec="git+https://github.com/apache/cordova-plugin-dialogs.git" />
<plugin name="cordova-plugin-headercolor" spec="^1.0.0" />
<plugin name="cordova-plugin-inappbrowser" spec="^1.7.1" />
<plugin name="cordova-plugin-splashscreen" spec="git+https://github.com/apache/cordova-plugin-splashscreen.git" />
<plugin name="cordova-plugin-statusbar" spec="^2.2.3" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.2" /> <plugin name="cordova-plugin-whitelist" spec="^1.3.2" />
<plugin name="cordova-plugin-zeroconf" spec="^1.2.5" /> <plugin name="cordova-plugin-headercolor" spec="^1.0.0" />
<plugin name="phonegap-plugin-barcodescanner" spec="^6.0.6" /> <plugin name="cordova-plugin-app-version" spec="^0.1.9" />
<plugin name="cordova-plugin-file" spec="^6.0.1" />
<plugin name="cordova-plugin-add-swift-support" spec="^1.7.1" />
<plugin name="cordova-plugin-zeroconf" spec="^1.3.1" />
<plugin name="cordova-plugin-statusbar" spec="^2.4.1" />
<plugin name="phonegap-plugin-barcodescanner" spec="^7.1.0">
<variable name="ANDROID_SUPPORT_V4_VERSION" value="27.+" />
</plugin>
<plugin name="cordova-plugin-console" spec="^1.1.0" />
<plugin name="cordova-plugin-device" spec="^2.0.1" />
<plugin name="cordova-plugin-dialogs" spec="^2.0.1" />
<plugin name="cordova-plugin-inappbrowser" spec="^2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
<plugin name="cordova-plugin-nativestorage" spec="^2.3.2" />
<plugin name="cordova-plugin-local-notification" spec="^0.9.0-beta.2" />
<plugin name="cordova-plugin-background-fetch" spec="^5.4.1" />
<engine name="browser" spec="^5.0.4" />
<engine name="android" spec="^7.1.2" />
</widget> </widget>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -46,7 +46,7 @@ made subject to such option by the copyright holder.
<!-- <!--
Generated file; DO NOT EDIT. Generated file; DO NOT EDIT.
--> -->
<project name="BusinessMobile" basedir=".."> <project name="NetsymsMobile" basedir="..">
<property file="nbproject/configs/${config}.properties" /> <property file="nbproject/configs/${config}.properties" />
<scriptdef name="checkVersion" language="javascript"> <scriptdef name="checkVersion" language="javascript">

9
nbproject/mplheader.txt Normal file
View File

@ -0,0 +1,9 @@
<#if licenseFirst??>
${licenseFirst}
</#if>
${licensePrefix}This Source Code Form is subject to the terms of the Mozilla Public
${licensePrefix}License, v. 2.0. If a copy of the MPL was not distributed with this
${licensePrefix}file, You can obtain one at http://mozilla.org/MPL/2.0/.
<#if licenseLast??>
${licenseLast}
</#if>

View File

@ -9,3 +9,7 @@ cordova-plugin-headercolor=https://github.com/tomloprod/cordova-plugin-headercol
cordova-plugin-inappbrowser=https://github.com/apache/cordova-plugin-inappbrowser.git cordova-plugin-inappbrowser=https://github.com/apache/cordova-plugin-inappbrowser.git
cordova-plugin-app-version=https://github.com/whiteoctober/cordova-plugin-app-version.git cordova-plugin-app-version=https://github.com/whiteoctober/cordova-plugin-app-version.git
cordova-plugin-zeroconf=https://github.com/becvert/cordova-plugin-zeroconf.git cordova-plugin-zeroconf=https://github.com/becvert/cordova-plugin-zeroconf.git
cordova-plugin-file=https://github.com/apache/cordova-plugin-file.git
cordova-plugin-local-notification=https://github.com/katzer/cordova-plugin-local-notifications.git
cordova-plugin-background-fetch=https://github.com/transistorsoft/cordova-plugin-background-fetch.git
cordova-plugin-nativestorage=https://github.com/TheCocoaProject/cordova-plugin-nativestorage.git

View File

@ -1,7 +1,8 @@
auxiliary.org-netbeans-modules-cordova.cordova_5f_build_5f_script_5f_version=52 auxiliary.org-netbeans-modules-cordova.cordova_5f_build_5f_script_5f_version=52
auxiliary.org-netbeans-modules-cordova.phonegap=false auxiliary.org-netbeans-modules-cordova.phonegap=false
file.reference.BusinessMobile-test=test file.reference.NetsymsMobile-test=test
file.reference.BusinessMobile-www=www file.reference.NetsymsMobile-www=www
files.encoding=UTF-8 files.encoding=UTF-8
site.root.folder=${file.reference.BusinessMobile-www} project.licensePath=nbproject/mplheader.txt
test.folder=${file.reference.BusinessMobile-test} site.root.folder=${file.reference.NetsymsMobile-www}
test.folder=${file.reference.NetsymsMobile-test}

View File

@ -3,7 +3,7 @@
<type>org.netbeans.modules.web.clientproject</type> <type>org.netbeans.modules.web.clientproject</type>
<configuration> <configuration>
<data xmlns="http://www.netbeans.org/ns/clientside-project/1"> <data xmlns="http://www.netbeans.org/ns/clientside-project/1">
<name>BusinessMobile</name> <name>NetsymsMobile</name>
</data> </data>
</configuration> </configuration>
</project> </project>

522
package-lock.json generated
View File

@ -1,522 +0,0 @@
{
"name": "com.netsyms.BusinessMobile",
"version": "1.0.0",
"lockfileVersion": 1,
"dependencies": {
"cordova-android": {
"version": "https://registry.npmjs.org/cordova-android/-/cordova-android-6.2.3.tgz",
"integrity": "sha1-JJ8hts5fHxyEenq4OxaQnb7Vqig=",
"dependencies": {
"abbrev": {
"version": "http://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
"integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8="
},
"ansi": {
"version": "http://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
"integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
},
"balanced-match": {
"version": "http://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
"integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg="
},
"base64-js": {
"version": "http://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
"integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg="
},
"big-integer": {
"version": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.22.tgz",
"integrity": "sha1-SHyV/OiGAi6kj/XxnjiJMt9G3S4="
},
"bplist-parser": {
"version": "http://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
"integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY="
},
"brace-expansion": {
"version": "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz",
"integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k="
},
"concat-map": {
"version": "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"cordova-common": {
"version": "http://registry.npmjs.org/cordova-common/-/cordova-common-2.0.2.tgz",
"integrity": "sha1-V0Z5driv1eC9ChMRG2akIEQWAcs="
},
"cordova-registry-mapper": {
"version": "http://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz",
"integrity": "sha1-4kS5GFuBdUc7/2B5MkkFEV+D3Hw="
},
"elementtree": {
"version": "http://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz",
"integrity": "sha1-KsTEbqMFFsjEy9teOsdBjlkt4gw="
},
"glob": {
"version": "http://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E="
},
"inflight": {
"version": "http://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
},
"inherits": {
"version": "http://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"lodash": {
"version": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y="
},
"minimatch": {
"version": "http://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
"integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q="
},
"nopt": {
"version": "http://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k="
},
"once": {
"version": "http://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
},
"os-homedir": {
"version": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
},
"os-tmpdir": {
"version": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
},
"osenv": {
"version": "http://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
"integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ="
},
"path-is-absolute": {
"version": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"plist": {
"version": "http://registry.npmjs.org/plist/-/plist-1.2.0.tgz",
"integrity": "sha1-CEtQk93JJQbiWfh0uNmxr7jHlZM="
},
"properties-parser": {
"version": "http://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz",
"integrity": "sha1-91kSVfcHq7/yJ8e1a2N9uwNzoQ8="
},
"q": {
"version": "http://registry.npmjs.org/q/-/q-1.5.0.tgz",
"integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE="
},
"sax": {
"version": "http://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
"integrity": "sha1-iPz8H3PAyLvVt8d2ttPzUB7tBz0="
},
"semver": {
"version": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
},
"shelljs": {
"version": "http://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
"integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
},
"underscore": {
"version": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
"integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
},
"unorm": {
"version": "http://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
"integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA="
},
"util-deprecate": {
"version": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"wrappy": {
"version": "http://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"xmlbuilder": {
"version": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz",
"integrity": "sha1-mLj2UcowqmJANvEn0RzGbce5B6M="
},
"xmldom": {
"version": "http://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
"integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
}
}
},
"cordova-browser": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/cordova-browser/-/cordova-browser-4.1.0.tgz",
"integrity": "sha1-dQeQZeXNUKpnQ8vYUxdhcFP7IMY=",
"dependencies": {
"adm-zip": {
"version": "0.4.7",
"bundled": true
},
"cordova-serve": {
"version": "1.0.0",
"bundled": true,
"dependencies": {
"chalk": {
"version": "1.1.1",
"bundled": true,
"dependencies": {
"ansi-styles": {
"version": "2.2.0",
"bundled": true,
"dependencies": {
"color-convert": {
"version": "1.0.0",
"bundled": true
}
}
},
"escape-string-regexp": {
"version": "1.0.5",
"bundled": true
},
"has-ansi": {
"version": "2.0.0",
"bundled": true,
"dependencies": {
"ansi-regex": {
"version": "2.0.0",
"bundled": true
}
}
},
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
"dependencies": {
"ansi-regex": {
"version": "2.0.0",
"bundled": true
}
}
},
"supports-color": {
"version": "2.0.0",
"bundled": true
}
}
},
"compression": {
"version": "1.6.1",
"bundled": true,
"dependencies": {
"accepts": {
"version": "1.3.1",
"bundled": true,
"dependencies": {
"mime-types": {
"version": "2.1.10",
"bundled": true,
"dependencies": {
"mime-db": {
"version": "1.22.0",
"bundled": true
}
}
},
"negotiator": {
"version": "0.6.0",
"bundled": true
}
}
},
"bytes": {
"version": "2.2.0",
"bundled": true
},
"compressible": {
"version": "2.0.7",
"bundled": true,
"dependencies": {
"mime-db": {
"version": "1.22.0",
"bundled": true
}
}
},
"debug": {
"version": "2.2.0",
"bundled": true,
"dependencies": {
"ms": {
"version": "0.7.1",
"bundled": true
}
}
},
"on-headers": {
"version": "1.0.1",
"bundled": true
},
"vary": {
"version": "1.1.0",
"bundled": true
}
}
},
"express": {
"version": "4.13.4",
"bundled": true,
"dependencies": {
"accepts": {
"version": "1.2.13",
"bundled": true,
"dependencies": {
"mime-types": {
"version": "2.1.10",
"bundled": true,
"dependencies": {
"mime-db": {
"version": "1.22.0",
"bundled": true
}
}
},
"negotiator": {
"version": "0.5.3",
"bundled": true
}
}
},
"array-flatten": {
"version": "1.1.1",
"bundled": true
},
"content-disposition": {
"version": "0.5.1",
"bundled": true
},
"content-type": {
"version": "1.0.1",
"bundled": true
},
"cookie": {
"version": "0.1.5",
"bundled": true
},
"cookie-signature": {
"version": "1.0.6",
"bundled": true
},
"debug": {
"version": "2.2.0",
"bundled": true,
"dependencies": {
"ms": {
"version": "0.7.1",
"bundled": true
}
}
},
"depd": {
"version": "1.1.0",
"bundled": true
},
"escape-html": {
"version": "1.0.3",
"bundled": true
},
"etag": {
"version": "1.7.0",
"bundled": true
},
"finalhandler": {
"version": "0.4.1",
"bundled": true,
"dependencies": {
"unpipe": {
"version": "1.0.0",
"bundled": true
}
}
},
"fresh": {
"version": "0.3.0",
"bundled": true
},
"merge-descriptors": {
"version": "1.0.1",
"bundled": true
},
"methods": {
"version": "1.1.2",
"bundled": true
},
"on-finished": {
"version": "2.3.0",
"bundled": true,
"dependencies": {
"ee-first": {
"version": "1.1.1",
"bundled": true
}
}
},
"parseurl": {
"version": "1.3.1",
"bundled": true
},
"path-to-regexp": {
"version": "0.1.7",
"bundled": true
},
"proxy-addr": {
"version": "1.0.10",
"bundled": true,
"dependencies": {
"forwarded": {
"version": "0.1.0",
"bundled": true
},
"ipaddr.js": {
"version": "1.0.5",
"bundled": true
}
}
},
"qs": {
"version": "4.0.0",
"bundled": true
},
"range-parser": {
"version": "1.0.3",
"bundled": true
},
"send": {
"version": "0.13.1",
"bundled": true,
"dependencies": {
"destroy": {
"version": "1.0.4",
"bundled": true
},
"http-errors": {
"version": "1.3.1",
"bundled": true,
"dependencies": {
"inherits": {
"version": "2.0.1",
"bundled": true
}
}
},
"mime": {
"version": "1.3.4",
"bundled": true
},
"ms": {
"version": "0.7.1",
"bundled": true
},
"statuses": {
"version": "1.2.1",
"bundled": true
}
}
},
"serve-static": {
"version": "1.10.2",
"bundled": true
},
"type-is": {
"version": "1.6.12",
"bundled": true,
"dependencies": {
"media-typer": {
"version": "0.3.0",
"bundled": true
},
"mime-types": {
"version": "2.1.10",
"bundled": true,
"dependencies": {
"mime-db": {
"version": "1.22.0",
"bundled": true
}
}
}
}
},
"utils-merge": {
"version": "1.0.0",
"bundled": true
},
"vary": {
"version": "1.0.1",
"bundled": true
}
}
}
}
},
"nopt": {
"version": "3.0.6",
"bundled": true,
"dependencies": {
"abbrev": {
"version": "1.0.7",
"bundled": true
}
}
},
"q": {
"version": "1.4.1",
"bundled": true
},
"shelljs": {
"version": "0.6.0",
"bundled": true
}
}
},
"cordova-plugin-compat": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/cordova-plugin-compat/-/cordova-plugin-compat-1.1.0.tgz",
"integrity": "sha1-kr3xaf62EgUyPcyWo/+DSON+h/w="
},
"cordova-plugin-console": {
"version": "git+https://github.com/apache/cordova-plugin-console.git#45d4e38b5d807aa3eb5e19c712cb387414a80239"
},
"cordova-plugin-device": {
"version": "git+https://github.com/apache/cordova-plugin-device.git#2d845036befa5152ab9b87011c0970cc95833e69"
},
"cordova-plugin-dialog": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/cordova-plugin-dialog/-/cordova-plugin-dialog-0.0.1.tgz",
"integrity": "sha1-PbQ9++2318hL4dOjOfGxbZIHyA4="
},
"cordova-plugin-dialogs": {
"version": "git+https://github.com/apache/cordova-plugin-dialogs.git#a22b0eb7fd013e5b50486ebc54e6396780cad999"
},
"cordova-plugin-headercolor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/cordova-plugin-headercolor/-/cordova-plugin-headercolor-1.0.0.tgz",
"integrity": "sha1-AgrNlDeH7gOdZ/Z56NnqbTiSAxY="
},
"cordova-plugin-splashscreen": {
"version": "git+https://github.com/apache/cordova-plugin-splashscreen.git#98f83fea5ae58fb50962af2725310cc199b28f40"
},
"cordova-plugin-statusbar": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.2.3.tgz",
"integrity": "sha1-UcXgKtQzvr0LDcl3pEbrkd/uFQI="
},
"cordova-plugin-whitelist": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.2.tgz",
"integrity": "sha1-W2M1/rn1MB88ATuQlsuIhb29UHY="
},
"phonegap-plugin-barcodescanner": {
"version": "6.0.6",
"resolved": "https://registry.npmjs.org/phonegap-plugin-barcodescanner/-/phonegap-plugin-barcodescanner-6.0.6.tgz",
"integrity": "sha1-wy35plMyEU1j3b45Xw9OE206IPI="
}
}
}

View File

@ -1,42 +1,56 @@
{ {
"name": "com.netsyms.BusinessMobile", "name": "com.netsyms.apps.Mobile",
"displayName": "Business for Mobile", "displayName": "Netsyms Apps for Mobile",
"version": "1.4", "version": "2.0.1",
"description": "Mobile client for the Netsyms Business Apps.", "description": "Securely use the Netsyms Apps from your phone or tablet.",
"main": "index.html", "main": "index.html",
"author": "Netsyms Technologies", "author": "Netsyms Technologies",
"license": "MPL-2.0", "license": "MPL-2.0",
"dependencies": { "dependencies": {
"cordova-android": "^6.3.0", "cordova-android": "^7.1.2",
"cordova-plugin-add-swift-support": "^1.7.0", "cordova-browser": "^5.0.4",
"cordova-plugin-add-swift-support": "^1.7.1",
"cordova-plugin-app-version": "^0.1.9", "cordova-plugin-app-version": "^0.1.9",
"cordova-plugin-console": "git+https://github.com/apache/cordova-plugin-console.git", "cordova-plugin-background-fetch": "^5.4.1",
"cordova-plugin-device": "git+https://github.com/apache/cordova-plugin-device.git", "cordova-plugin-badge": "^0.8.7",
"cordova-plugin-console": "^1.1.0",
"cordova-plugin-device": "^2.0.1",
"cordova-plugin-dialog": "0.0.1", "cordova-plugin-dialog": "0.0.1",
"cordova-plugin-dialogs": "git+https://github.com/apache/cordova-plugin-dialogs.git", "cordova-plugin-dialogs": "^2.0.1",
"cordova-plugin-file": "^6.0.1",
"cordova-plugin-headercolor": "^1.0.0", "cordova-plugin-headercolor": "^1.0.0",
"cordova-plugin-inappbrowser": "^1.7.1", "cordova-plugin-inappbrowser": "^2.0.2",
"cordova-plugin-splashscreen": "git+https://github.com/apache/cordova-plugin-splashscreen.git", "cordova-plugin-local-notification": "^0.9.0-beta.2",
"cordova-plugin-statusbar": "^2.2.3", "cordova-plugin-nativestorage": "^2.3.2",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.1",
"cordova-plugin-whitelist": "^1.3.2", "cordova-plugin-whitelist": "^1.3.2",
"cordova-plugin-zeroconf": "^1.2.5", "cordova-plugin-zeroconf": "^1.3.1",
"phonegap-plugin-barcodescanner": "^6.0.6" "phonegap-plugin-barcodescanner": "^7.1.0"
}, },
"cordova": { "cordova": {
"plugins": { "plugins": {
"phonegap-plugin-barcodescanner": {}, "cordova-plugin-whitelist": {},
"cordova-plugin-headercolor": {},
"cordova-plugin-app-version": {},
"cordova-plugin-file": {},
"cordova-plugin-add-swift-support": {},
"cordova-plugin-zeroconf": {},
"cordova-plugin-statusbar": {},
"phonegap-plugin-barcodescanner": {
"ANDROID_SUPPORT_V4_VERSION": "27.+"
},
"cordova-plugin-console": {}, "cordova-plugin-console": {},
"cordova-plugin-device": {}, "cordova-plugin-device": {},
"cordova-plugin-whitelist": {},
"cordova-plugin-dialogs": {}, "cordova-plugin-dialogs": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-headercolor": {},
"cordova-plugin-inappbrowser": {}, "cordova-plugin-inappbrowser": {},
"cordova-plugin-app-version": {}, "cordova-plugin-splashscreen": {},
"cordova-plugin-zeroconf": {} "cordova-plugin-nativestorage": {},
"cordova-plugin-local-notification": {},
"cordova-plugin-background-fetch": {}
}, },
"platforms": [ "platforms": [
"browser",
"android" "android"
] ]
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1021 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,23 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="60"
android:viewportHeight="60">
<group android:translateX="6"
android:translateY="6">
<path
android:pathData="M0,0h48v48h-48z"
android:strokeAlpha="0"
android:strokeWidth="8.06694221"
android:fillColor="#0d87f6"
android:strokeColor="#00000000"
android:fillAlpha="1"/>
<path
android:pathData="m18.9031,9.2872c-0.1596,0.014 -0.3055,0.044 -0.4348,0.093 -2.0694,0.7831 -4.1011,7.8462 -5.0107,9.8633 -0.9096,2.017 -4.8582,8.2167 -4.0752,10.2861 0.7831,2.0694 7.8463,4.1011 9.8633,5.0106 2.0171,0.9097 8.2167,4.8583 10.2861,4.0752 2.0694,-0.7831 4.1011,-7.8462 5.0107,-9.8632 0.9096,-2.0171 4.8583,-8.2168 4.0752,-10.2862 -0.7831,-2.0694 -7.8462,-4.1011 -9.8633,-5.0106 -1.8909,-0.8528 -7.4577,-4.3768 -9.8513,-4.1686z"
android:strokeAlpha="1"
android:strokeWidth="0.61330891"
android:fillColor="#0d87f6"
android:strokeColor="#ffffff"
android:fillAlpha="1"/>
</group>
</vector>

View File

@ -0,0 +1,44 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="1163.6364"
android:viewportHeight="1163.6364">
<group android:translateX="325.81818"
android:translateY="325.81818">
<path
android:pathData="m198.563,65.838c-0.615,0 -1.144,-0 -1.572,0.158 -3.427,1.296 -6.794,12.993 -8.3,16.335 -1.506,3.341 -8.046,13.593 -6.749,17.021 1.297,3.426 12.995,6.793 16.335,8.3 3.341,1.506 13.615,8.046 17.042,6.749 3.427,-1.296 6.794,-12.995 8.3,-16.335 1.506,-3.342 8.046,-13.614 6.749,-17.042 -1.297,-3.427 -12.992,-6.794 -16.332,-8.3 -2.923,-1.318 -11.166,-6.475 -15.473,-6.883zM151.95,146.228c-0.615,0 -1.144,-0 -1.572,0.158 -3.427,1.296 -6.794,12.991 -8.3,16.332 -1.506,3.34 -8.046,13.594 -6.749,17.021 1.297,3.428 12.995,6.794 16.335,8.3 3.341,1.506 13.593,8.049 17.021,6.752 3.427,-1.298 6.794,-12.994 8.3,-16.335 1.506,-3.34 8.046,-13.614 6.749,-17.042 -1.297,-3.428 -12.995,-6.794 -16.335,-8.3 -2.923,-1.318 -11.142,-6.475 -15.448,-6.883zM237.163,147.843c-0.615,0 -1.141,0.013 -1.569,0.137 -3.427,1.296 -6.794,12.991 -8.3,16.332 -1.506,3.34 -8.049,13.617 -6.752,17.045 1.297,3.427 12.995,6.79 16.335,8.297 3.341,1.506 13.593,8.049 17.021,6.752 3.427,-1.296 6.794,-12.993 8.3,-16.335 1.506,-3.341 8.046,-13.614 6.749,-17.042 -1.297,-3.427 -12.992,-6.794 -16.332,-8.3 -2.923,-1.319 -11.145,-6.487 -15.452,-6.883zM422.045,160.701c-0.615,0 -1.144,0.013 -1.572,0.137 -3.427,1.298 -6.794,12.992 -8.3,16.332 -1.506,3.341 -8.046,13.618 -6.749,17.045 1.297,3.427 12.995,6.794 16.335,8.3 3.341,1.507 13.615,8.046 17.042,6.749 3.427,-1.296 6.794,-12.992 8.3,-16.332 1.506,-3.341 8.049,-13.618 6.752,-17.045 -1.297,-3.427 -12.995,-6.793 -16.335,-8.3 -2.923,-1.318 -11.166,-6.475 -15.473,-6.883zM240.757,227.406c-0.615,0 -1.141,0.01 -1.569,0.134 -3.427,1.298 -6.794,12.996 -8.3,16.338 -1.506,3.34 -8.049,13.614 -6.752,17.042 1.297,3.426 12.995,6.794 16.335,8.3 3.341,1.506 13.615,8.047 17.042,6.749 3.427,-1.296 6.794,-12.995 8.3,-16.335 1.506,-3.341 8.049,-13.616 6.752,-17.042 -1.297,-3.428 -12.995,-6.793 -16.335,-8.3 -2.923,-1.318 -11.166,-6.475 -15.473,-6.883zM113.407,226.65c-0.615,0 -1.165,-0 -1.594,0.158 -3.427,1.296 -6.794,12.993 -8.3,16.335 -1.506,3.341 -8.025,13.594 -6.728,17.021 1.297,3.427 12.992,6.792 16.332,8.3 3.341,1.506 13.593,8.046 17.021,6.749 3.427,-1.296 6.794,-12.991 8.3,-16.332 1.506,-3.341 8.049,-13.596 6.752,-17.024 -1.297,-3.427 -12.995,-6.79 -16.335,-8.297 -2.923,-1.317 -11.142,-6.511 -15.448,-6.908zM385.081,239.476c-0.615,0 -1.165,-0 -1.594,0.158 -3.427,1.298 -6.794,12.991 -8.3,16.332 -1.506,3.34 -8.025,13.593 -6.728,17.021 1.297,3.427 12.995,6.794 16.335,8.3 3.341,1.507 13.593,8.05 17.021,6.752 3.427,-1.298 6.794,-12.994 8.3,-16.335 1.506,-3.34 8.046,-13.594 6.749,-17.021 -1.297,-3.428 -12.992,-6.794 -16.332,-8.3 -2.923,-1.319 -11.145,-6.508 -15.451,-6.905zM74.772,311.831c-0.615,0 -1.144,0.01 -1.572,0.134 -3.427,1.298 -6.794,12.994 -8.3,16.335 -1.506,3.34 -8.049,13.614 -6.752,17.042 1.297,3.428 12.995,6.794 16.335,8.3 3.341,1.506 13.618,8.049 17.045,6.752 3.427,-1.298 6.794,-12.994 8.3,-16.335 1.506,-3.34 8.025,-13.615 6.728,-17.042 -1.297,-3.428 -12.995,-6.794 -16.335,-8.3 -2.923,-1.319 -11.142,-6.475 -15.448,-6.883zM253.233,311.831c-0.615,0 -1.144,0.01 -1.572,0.134 -3.427,1.298 -6.794,12.994 -8.3,16.335 -1.506,3.34 -8.046,13.614 -6.749,17.042 1.297,3.428 12.995,6.794 16.335,8.3 3.341,1.506 13.615,8.049 17.042,6.752 3.427,-1.298 6.794,-12.994 8.3,-16.335 1.506,-3.34 8.046,-13.615 6.749,-17.042 -1.297,-3.428 -12.992,-6.794 -16.332,-8.3 -2.923,-1.319 -11.166,-6.475 -15.473,-6.883zM338.482,317.478c-0.615,0 -1.144,0.013 -1.572,0.137 -3.427,1.298 -6.794,12.994 -8.3,16.335 -1.506,3.341 -8.046,13.614 -6.749,17.042 1.297,3.426 12.995,6.794 16.335,8.3 3.341,1.506 13.615,8.05 17.042,6.752 3.427,-1.296 6.794,-12.995 8.3,-16.335 1.506,-3.341 8.046,-13.616 6.749,-17.042 -1.297,-3.428 -12.992,-6.792 -16.332,-8.3 -2.923,-1.317 -11.166,-6.475 -15.473,-6.883zM298.975,397.426c-0.615,0 -1.165,-0 -1.594,0.158 -3.427,1.298 -6.794,12.994 -8.3,16.335 -1.506,3.341 -8.049,13.594 -6.752,17.021 1.297,3.427 12.995,6.794 16.335,8.3 3.341,1.506 13.618,8.05 17.045,6.752 3.427,-1.296 6.794,-12.995 8.3,-16.335 1.506,-3.341 8.046,-13.594 6.749,-17.021 -1.297,-3.428 -12.995,-6.794 -16.335,-8.3 -2.923,-1.318 -11.142,-6.511 -15.448,-6.908z"
android:strokeAlpha="1"
android:strokeWidth="11.33235741"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillAlpha="1"/>
<path
android:pathData="M-2521.377,-590.781l531.981,230.764l-141.472,326.136l-531.981,-230.764z"
android:strokeAlpha="1"
android:strokeWidth="11.87444973"
android:fillColor="#78bff8"
android:strokeColor="#00000000"
android:fillAlpha="1"/>
<path
android:pathData="M-1810.385,-660.711l-531.981,-230.764l141.472,-326.136l531.981,230.764z"
android:strokeAlpha="1"
android:strokeWidth="11.87444973"
android:fillColor="#78bff8"
android:strokeColor="#00000000"
android:fillAlpha="1"/>
<path
android:pathData="M-2146.024,-292.892l230.764,-531.981l326.136,141.472l-230.764,531.981z"
android:strokeAlpha="1"
android:strokeWidth="11.87444973"
android:fillColor="#78bff8"
android:strokeColor="#00000000"
android:fillAlpha="1"/>
<path
android:pathData="M-2786.024,-572.892l230.764,-531.981l326.136,141.472l-230.764,531.981z"
android:strokeAlpha="1"
android:strokeWidth="11.87444973"
android:fillColor="#78bff8"
android:strokeColor="#00000000"
android:fillAlpha="1"/>
</group>
</vector>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,6 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">Netsyms</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
</resources>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,171 @@
package com.transistorsoft.cordova.backgroundfetch;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Build;
import android.provider.Settings;
import android.support.v4.app.NotificationCompat;
import android.util.Log;
import com.netsyms.apps.Mobile.MainActivity;
import com.netsyms.apps.Mobile.R;
import com.transistorsoft.tsbackgroundfetch.BackgroundFetch;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class BackgroundFetchHeadlessTask implements HeadlessTask {
private static final String PREFS_NAME = "NativeStorage";
private static final String KEY = "accounts";
private static String shownNotifications = "";
public final String NOTIFICATION_CHANNEL_ID = "background-channel-id";
public static String getValue(Context context, String key, String defaultValue) {
SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, Activity.MODE_PRIVATE);
return settings.getString(key, defaultValue);
}
/**
* https://stackoverflow.com/a/34691486
*
* @param urlString
* @return
* @throws IOException
*/
public static String getStringFromURL(String urlString) throws IOException {
HttpURLConnection urlConnection = null;
URL url = new URL(urlString);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setReadTimeout(10000 /* milliseconds */);
urlConnection.setConnectTimeout(15000 /* milliseconds */);
urlConnection.setDoOutput(true);
urlConnection.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
br.close();
String jsonString = sb.toString();
return jsonString;
}
@Override
public void onFetch(Context context) {
Log.d(BackgroundFetch.TAG, "Notification Poller: onFetch");
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
String accountjson = getValue(context, KEY, null).replaceAll("\\\\", "");
accountjson = accountjson.substring(1, accountjson.length() - 1);
//Log.d(BackgroundFetch.TAG, "Notification Poller: Account JSON: " + accountjson);
try {
JSONArray accounts = new JSONArray(accountjson);
for (int i = 0; i < accounts.length(); i++) {
try {
JSONObject acct = accounts.getJSONObject(i);
Log.d(BackgroundFetch.TAG, "Notification Poller: Account " + i + " URL: " + acct.getString("syncurl"));
String notificationString = getStringFromURL(acct.getString("syncurl") + "?key=" + acct.getString("key") + "&username=" + acct.getString("username") + "&action=checknotifications");
//Log.d(BackgroundFetch.TAG, "Notification Poller: Account " + i + " JSON: " + notificationString);
JSONArray notifications = new JSONObject(notificationString).getJSONArray("notifications");
Log.d(BackgroundFetch.TAG, "Notification Poller: Account " + i + " JSON parsed: " + notifications.length() + " notifications");
for (int j = 0; j < notifications.length(); j++) {
JSONObject notif = notifications.getJSONObject(j);
Log.d(BackgroundFetch.TAG, "Notification Poller: Procesing notification ID " + notif.getString("id") + " with title " + notif.getString("title"));
if (notif.getBoolean("seen") || shownNotifications.contains("|" + i + ":" + notif.getString("id") + "|")) {
continue;
}
Intent intent = new Intent(context, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder b = new NotificationCompat.Builder(context);
b.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL)
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle(notif.getString("title"))
.setContentText(notif.getString("content"))
.setSound(Settings.System.DEFAULT_NOTIFICATION_URI)
.setContentIntent(contentIntent)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setVisibility(Notification.VISIBILITY_PRIVATE);
// Create alternate notification for lockscreen
NotificationCompat.Builder lockb = new NotificationCompat.Builder(context);
if (notif.getBoolean("sensitive") == true) {
lockb
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle("Contents hidden")
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
} else {
lockb
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle(notif.getString("title"))
.setContentText(notif.getString("content"))
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
}
b.setPublicVersion(lockb.build());
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
CharSequence name = "Background Notifications";
int importance = NotificationManager.IMPORTANCE_DEFAULT;
NotificationChannel channel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, name, importance);
channel.enableLights(true);
channel.enableVibration(true);
channel.setLightColor(Color.rgb(33, 150, 243));
// Register the channel with the system; you can't change the importance
// or other notification behaviors after this
b.setChannelId(NOTIFICATION_CHANNEL_ID);
notificationManager.createNotificationChannel(channel);
}
notificationManager.notify(Integer.parseInt(notif.getString("id")), b.build());
Log.d(BackgroundFetch.TAG, "Notification Poller: Shown notification " + notif.getString("id"));
shownNotifications += "|" + i + ":" + notif.getString("id") + "|";
}
} catch (Exception e) {
Log.d(BackgroundFetch.TAG, "Notification Poller: Exception: " + e.getMessage());
Log.d(BackgroundFetch.TAG, "Notification Poller: Stack trace: " + Log.getStackTraceString(e));
}
}
} catch (Exception e) {
Log.d(BackgroundFetch.TAG, "Notification Poller: Exception: " + e.getMessage());
Log.d(BackgroundFetch.TAG, "Notification Poller: Stack trace: " + Log.getStackTraceString(e));
} finally {
BackgroundFetch.getInstance(context).finish();
}
}
}
);
thread.start();
}
}

119
www/css/app-inject.css Normal file
View File

@ -0,0 +1,119 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
.mobile-app-hide {
display: none;
visibility: hidden;
}
.mobile-app-show {
visibility: visible;
}
.mobile-app-display {
display: initial;
}
@media screen and (max-width: 767px) {
#navbar-collapse {
display: none;
}
}
#swipe-nav {
display: none;
visibility: visible;
overflow-y: scroll;
position: fixed;
top: 0;
left: 0;
bottom: 0;
width: 60%;
z-index: 9999999;
max-width: 300px;
min-width: 200px;
background-color: #fafafa;
box-shadow: 5px 0px 15px 0px rgba(0,0,0,0.5);
}
#swipe-nav #swipe-header {
height: 150px;
background-color: #eeeeee;
position: relative;
}
#swipe-nav #swipe-header #swipe-username {
position: absolute;
bottom: 0;
padding-left: 10px;
padding-bottom: 10px;
font-size: 110%;
}
#swipe-nav #swipe-header #swipe-appicon {
position: absolute;
top: 0;
padding-left: 20px;
padding-top: 20px;
height: 80px;
}
#swipe-nav #swipe-header #swipe-username .fa {
font-size: 120%;
}
#swipe-nav #swipe-pages {
padding-bottom: 10px;
border-bottom: 1px solid #eeeeee;
}
#swipe-shader {
position: fixed;
display: none;
visibility: visible;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.5);
z-index: 9999998;
}
#swipe-nav .swipe-list {
margin-top: 5px;
margin-bottom: 10px;
padding-left: 0px;
list-style-type: none;
padding: 3px;
}
#swipe-nav .swipe-list .nav-item {
color: #424242;
padding-top: 5px;
padding-bottom: 5px;
}
#swipe-nav .swipe-list .nav-item a:focus,a:active {
background-color: #e0e0e0;
}
#swipe-nav .swipe-list .nav-item i.fa {
font-size: 120%;
margin-right: 10px;
margin-left: 5px;
}
#swipe-nav .swipe-list .nav-item a {
display: inline-block;
color: #424242;
font-size: 110%;
text-decoration: none;
width: 100%;
padding-top: 15px;
padding-bottom: 15px;
}
#swipe-nav .swipe-list .nav-item a:hover {
text-decoration: none;
}

View File

@ -1,85 +0,0 @@
html, body {
height: 100%;
}
.app-dock-container {
display: flex;
height: 100%;
}
.app-dock {
margin: 0 auto 10px auto;
display: flex;
justify-content: space-evenly;
flex-wrap: wrap;
align-items: center;
justify-content: center;
height: 100%;
}
.app-icon {
border: 1px solid grey;
border-radius: 20%;
}
.app-dock-item {
padding: 0px 10px 2px 10px;
min-width: 100px;
max-width: 50%;
width: 120px;
margin: 15px;
}
.app-dock-item p {
margin-bottom: 0px;
font-size: 120%;
color: #555;
}
.app-dock-item p img {
width: 80px;
height: 80px;
display: block;
background: url(../img/app-icon-bg.svg) no-repeat;
background-size: 90%;
background-position: 50%;
margin: 0 auto;
}
.app-dock-item p span {
display: block;
text-align: center;
}
span.navbar-brand {
color: white;
margin-right: 0px;
height: 30px;
margin-top: -4px;
font-size: 20px;
margin-left: 5px;
}
.navbar-brand.pull-left img {
margin-right: -10px;
height: 30px;
margin-top: -4px;
margin-left: -4px;
}
.navbar-brand.pull-right img {
height: 30px;
margin-top: -4px;
}
#manual_setup {
margin-top: 15px;
}
#navbar {
min-height: 56px;
}
.loading-text {
font-size: 18px;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,10 +0,0 @@
/*
A tiny bit of CSS to inject into apps even if injectcode = false.
This hides items in the app with the class mobile-app-hide.
*/
.mobile-app-hide {
display: none;
visibility: hidden;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,80 +0,0 @@
/*
Roboto font family
Downloaded from Google Web Fonts
Apache 2.0 License
*/
/* Normal */
/*@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 100;
src: local('Roboto Thin'), local('Roboto-Thin'), url(../fonts/Roboto-Thin.ttf) format('truetype');
}*/
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'), url(../fonts/Roboto-Light.ttf) format('truetype');
}
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url(../fonts/Roboto-Regular.ttf) format('truetype');
}
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 500;
src: local('Roboto Medium'), local('Roboto-Medium'), url(../fonts/Roboto-Medium.ttf) format('truetype');
}
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: local('Roboto Bold'), local('Roboto-Bold'), url(../fonts/Roboto-Bold.ttf) format('truetype');
}
/*@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 900;
src: local('Roboto Black'), local('Roboto-Black'), url(../fonts/Roboto-Black.ttf) format('truetype');
}*/
/* Italic */
/*@font-face {
font-family: 'Roboto';
font-style: italic;
font-weight: 100;
src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'), url(../fonts/Roboto-ThinItalic.ttf) format('truetype');
}
@font-face {
font-family: 'Roboto';
font-style: italic;
font-weight: 300;
src: local('Roboto Light Italic'), local('Roboto-LightItalic'), url(../fonts/Roboto-LightItalic.ttf) format('truetype');
}
@font-face {
font-family: 'Roboto';
font-style: italic;
font-weight: 400;
src: local('Roboto Italic'), local('Roboto-Italic'), url(../fonts/Roboto-Italic.ttf) format('truetype');
}
@font-face {
font-family: 'Roboto';
font-style: italic;
font-weight: 500;
src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'), url(../fonts/Roboto-MediumItalic.ttf) format('truetype');
}
@font-face {
font-family: 'Roboto';
font-style: italic;
font-weight: 700;
src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(../fonts/Roboto-BoldItalic.ttf) format('truetype');
}
@font-face {
font-family: 'Roboto';
font-style: italic;
font-weight: 900;
src: local('Roboto Black Italic'), local('Roboto-BlackItalic'), url(../fonts/Roboto-BlackItalic.ttf) format('truetype');
}*/

View File

@ -1,153 +0,0 @@
#swipe-nav {
display: none;
visibility: hidden;
}
#swipe-shader {
display: none;
visibility: hidden;
}
.mobile-app-hide {
display: none;
visibility: hidden;
}
.mobile-app-show {
visibility: visible;
}
.mobile-app-display {
display: initial;
}
.navbar, .navbar-brand {
min-height: 56px;
height: 56px;
}
.navbar-brand {
font-size: 20px;
margin-top: -4px;
}
.navbar-toggle {
border: 0px solid white;
margin-top: 11px;
margin-bottom: 11px;
}
@media screen and (max-width: 767px) {
#navbar-collapse {
display: none;
}
button.navbar-toggle[data-toggle="collapse"] {
float: left;
margin-left: 15px;
}
.navbar-header .navbar-brand {
margin-left: -20px;
}
.navbar-header .navbar-brand img {
display: none;
}
#swipe-nav {
display: none;
visibility: visible;
overflow-y: scroll;
position: fixed;
top: 0;
left: 0;
bottom: 0;
width: 60%;
z-index: 9999999;
max-width: 300px;
min-width: 200px;
background-color: #fafafa;
box-shadow: 5px 0px 15px 0px rgba(0,0,0,0.5);
}
#swipe-nav #swipe-header {
height: 150px;
background-color: #eeeeee;
position: relative;
}
#swipe-nav #swipe-header #swipe-username {
position: absolute;
bottom: 0;
padding-left: 10px;
padding-bottom: 10px;
font-size: 110%;
}
#swipe-nav #swipe-header #swipe-appicon {
position: absolute;
top: 0;
padding-left: 20px;
padding-top: 20px;
height: 80px;
}
#swipe-nav #swipe-header #swipe-username .fa {
font-size: 120%;
}
#swipe-nav ul {
margin-bottom: 10px;
padding-left: 2px;
list-style-type: none;
padding: 3px;
}
#swipe-nav ul li {
color: #424242;
padding-top: 5px;
padding-bottom: 5px;
}
#swipe-nav ul li a:focus,a:active {
background-color: #e0e0e0;
}
#swipe-nav ul li i.fa {
font-size: 120%;
margin-right: 10px;
margin-left: 5px;
}
#swipe-nav ul li a {
display: inline-block;
color: #424242;
font-size: 110%;
text-decoration: none;
width: 100%;
padding-top: 10px;
padding-bottom: 10px;
}
#swipe-nav ul li a:hover {
text-decoration: none;
}
#swipe-nav #swipe-pages {
padding-bottom: 10px;
border-bottom: 1px solid #eeeeee;
}
#swipe-shader {
position: fixed;
display: none;
visibility: visible;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.5);
z-index: 9999998;
}
}

View File

@ -1,67 +0,0 @@
.spinner {
-webkit-animation: rotator 1.4s linear infinite;
animation: rotator 1.4s linear infinite;
}
@-webkit-keyframes rotator {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(270deg);
transform: rotate(270deg);
}
}
@keyframes rotator {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(270deg);
transform: rotate(270deg);
}
}
.spinner .path {
stroke-dasharray: 187;
stroke-dashoffset: 0;
-webkit-transform-origin: center;
transform-origin: center;
-webkit-animation: dash 1.4s ease-in-out infinite, 5.6s ease-in-out infinite;
animation: dash 1.4s ease-in-out infinite, 5.6s ease-in-out infinite;
stroke: #448aff;
}
@-webkit-keyframes dash {
0% {
stroke-dashoffset: 187;
}
50% {
stroke-dashoffset: 46.75;
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
}
100% {
stroke-dashoffset: 187;
-webkit-transform: rotate(450deg);
transform: rotate(450deg);
}
}
@keyframes dash {
0% {
stroke-dashoffset: 187;
}
50% {
stroke-dashoffset: 46.75;
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
}
100% {
stroke-dashoffset: 187;
-webkit-transform: rotate(450deg);
transform: rotate(450deg);
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

31
www/fonts/material.css Normal file
View File

@ -0,0 +1,31 @@
@font-face {
font-family: 'Material Icons';
font-style: normal;
font-weight: 400;
src: local('Material Icons'),
local('MaterialIcons-Regular'),
url(./MaterialIcons-Regular.woff2) format('woff2'),
url(./MaterialIcons-Regular.woff) format('woff');
}
.material-icons {
font-family: 'Material Icons';
font-weight: normal;
font-style: normal;
font-size: 24px; /* Preferred icon size */
display: inline-block;
line-height: 1;
text-transform: none;
letter-spacing: normal;
word-wrap: normal;
white-space: nowrap;
direction: ltr;
/* Support for all WebKit browsers. */
-webkit-font-smoothing: antialiased;
/* Support for Safari and Chrome. */
text-rendering: optimizeLegibility;
/* Support for Firefox. */
-moz-osx-font-smoothing: grayscale;
}

View File

@ -1,4 +0,0 @@
<svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>

Before

Width:  |  Height:  |  Size: 199 B

View File

@ -1,57 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
fill="#000000"
height="24"
viewBox="0 0 24 24"
width="24"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="ic_arrow-back.svg">
<metadata
id="metadata12">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs10" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview8"
showgrid="false"
inkscape:zoom="10.125"
inkscape:cx="-6.0246914"
inkscape:cy="11.802469"
inkscape:current-layer="svg2" />
<path
d="M0 0h24v24H0z"
fill="none"
id="path4" />
<path
d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"
id="path6"
style="fill:#ffffff;fill-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
fill="#000000"
height="24"
viewBox="0 0 24 24"
width="24"
id="svg3421"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="ic_settings.svg">
<metadata
id="metadata3431">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs3429" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview3427"
showgrid="false"
inkscape:zoom="33.083333"
inkscape:cx="11.969773"
inkscape:cy="12"
inkscape:current-layer="svg3421" />
<path
d="M0 0h24v24H0z"
fill="none"
id="path3423" />
<path
d="M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z"
id="path3425"
style="fill:#ffffff;fill-opacity:1;stroke:none" />
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,4 +0,0 @@
<svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"/>
</svg>

Before

Width:  |  Height:  |  Size: 320 B

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="512" height="512" version="1.1" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0 -540.36)"><rect y="540.36" width="512" height="512" rx="50" ry="50" fill="#fff"/><g transform="translate(.61385 9.1477)"><g><rect x="145.69" y="726.61" width="100.27" height="296.34" rx="15" ry="15" fill="#1976d2"/><rect x="263.58" y="797.95" width="100.27" height="225" rx="15" ry="15" fill="#9e9e9e"/><rect x="30.27" y="858.02" width="100.27" height="164.93" rx="15" ry="15" fill="#9e9e9e"/><rect x="380.23" y="551.48" width="100.27" height="471.47" rx="15" ry="15" fill="#64b5f6"/></g><path transform="translate(0 540.36)" d="m195.89 55.102a24.749 24.749 0 0 0-24.816 24.682 24.749 24.749 0 0 0 3.0234 11.867l-97.42 243.43a24.749 24.749 0 0 0-21.021 24.383 24.749 24.749 0 0 0 24.68 24.816 24.749 24.749 0 0 0 24.816-24.682 24.749 24.749 0 0 0-5.2422-15.287l94.438-235.97 100.25 303.25a24.749 24.749 0 0 0-5.6309 15.625 24.749 24.749 0 0 0 24.68 24.816 24.749 24.749 0 0 0 24.816-24.68 24.749 24.749 0 0 0-7.8633-18.119l101.57-228.59a24.749 24.749 0 0 0 22.949-24.609 24.749 24.749 0 0 0-24.682-24.816 24.749 24.749 0 0 0-24.816 24.68 24.749 24.749 0 0 0 4.1055 13.689l-96.789 217.83-96.938-293.25a24.749 24.749 0 0 0 4.5781-14.248 24.749 24.749 0 0 0-24.682-24.816z" fill="#2196f3" stroke="#fff" stroke-width="7"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Some files were not shown because too many files have changed in this diff Show More