Browse Source

Barebones app with basic note viewing support

Skylar Ittner 1 month ago
commit
a4d6334cd9
53 changed files with 1994 additions and 0 deletions
  1. 5
    0
      .gitignore
  2. 2
    0
      .npmignore
  3. 52
    0
      config.xml
  4. BIN
      logo.png
  5. 293
    0
      nbproject/build.xml
  6. 3
    0
      nbproject/configs/android.properties
  7. 3
    0
      nbproject/configs/android_1.properties
  8. 5
    0
      nbproject/configs/ios.properties
  9. 5
    0
      nbproject/configs/ios_1.properties
  10. 9
    0
      nbproject/license-mpl.txt
  11. 31
    0
      nbproject/plugins.properties
  12. 3
    0
      nbproject/private/private.properties
  13. 7
    0
      nbproject/private/private.xml
  14. 13
    0
      nbproject/project.properties
  15. 9
    0
      nbproject/project.xml
  16. 32
    0
      package.json
  17. 18
    0
      res/android/drawable/ic_launcher_foreground.xml
  18. 5
    0
      res/android/mipmap-anydpi-v26/ic_launcher.xml
  19. 5
    0
      res/android/mipmap-anydpi-v26/ic_launcher_round.xml
  20. BIN
      res/android/mipmap-hdpi/ic_launcher.png
  21. BIN
      res/android/mipmap-hdpi/ic_launcher_round.png
  22. BIN
      res/android/mipmap-mdpi/ic_launcher.png
  23. BIN
      res/android/mipmap-mdpi/ic_launcher_round.png
  24. BIN
      res/android/mipmap-mdpi/icon.png
  25. BIN
      res/android/mipmap-xhdpi/ic_launcher.png
  26. BIN
      res/android/mipmap-xhdpi/ic_launcher_round.png
  27. BIN
      res/android/mipmap-xxhdpi/ic_launcher.png
  28. BIN
      res/android/mipmap-xxhdpi/ic_launcher_round.png
  29. BIN
      res/android/mipmap-xxxhdpi/ic_launcher.png
  30. BIN
      res/android/mipmap-xxxhdpi/ic_launcher_round.png
  31. 4
    0
      res/android/values/ic_launcher_background.xml
  32. 6
    0
      res/android/values/strings.xml
  33. 30
    0
      www/css/notecards.css
  34. BIN
      www/fonts/MaterialIcons-Regular.woff
  35. BIN
      www/fonts/MaterialIcons-Regular.woff2
  36. BIN
      www/fonts/Material_Icons.eot
  37. 51
    0
      www/fonts/Material_Icons.svg
  38. BIN
      www/fonts/Material_Icons.ttf
  39. BIN
      www/fonts/Material_Icons.woff
  40. BIN
      www/fonts/Material_Icons.woff2
  41. 39
    0
      www/fonts/material.css
  42. 35
    0
      www/index.html
  43. 100
    0
      www/js/Notes.class.js
  44. 129
    0
      www/js/home.js
  45. 61
    0
      www/js/main.js
  46. 8
    0
      www/js/notes.js
  47. 32
    0
      www/js/platform.js
  48. 14
    0
      www/package.json
  49. 53
    0
      www/pages/home.html
  50. 24
    0
      www/routes.js
  51. 50
    0
      www/yarn.lock
  52. 851
    0
      yarn.lock
  53. 7
    0
      yarninstall.sh

+ 5
- 0
.gitignore View File

@@ -0,0 +1,5 @@
1
+/www/node_modules
2
+/node_modules
3
+/hooks
4
+/platforms
5
+/plugins

+ 2
- 0
.npmignore View File

@@ -0,0 +1,2 @@
1
+# OS X
2
+.DS_Store

+ 52
- 0
config.xml View File

@@ -0,0 +1,52 @@
1
+<?xml version='1.0' encoding='utf-8'?>
2
+<widget id="com.netsyms.NotePostApp" version="1.0.0" 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">
3
+    <name>NotePost</name>
4
+    <description>
5
+        A cross-platform client app for NotePost.
6
+    </description>
7
+    <author email="opensource@netsyms.com" href="https://netsyms.com">
8
+        Netsyms Technologies
9
+    </author>
10
+    <content src="index.html" />
11
+    <icon src="logo.png" />
12
+    <plugin name="cordova-plugin-whitelist" spec="1" />
13
+    <access origin="*" />
14
+    <allow-intent href="http://*/*" />
15
+    <allow-intent href="https://*/*" />
16
+    <allow-intent href="tel:*" />
17
+    <allow-intent href="sms:*" />
18
+    <allow-intent href="mailto:*" />
19
+    <allow-intent href="geo:*" />
20
+    <platform name="android">
21
+        <preference name="android-targetSdkVersion" value="27" />
22
+        <allow-intent href="market:*" />
23
+        <preference name="HeaderColor" value="#F44336" />
24
+        <preference name="StatusBarBackgroundColor" value="#D32F2F" />
25
+        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
26
+            <application android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" />
27
+        </edit-config>
28
+        <resource-file src="res/android/values/ic_launcher_background.xml" target="app/src/main/res/values/ic_launcher_background.xml" />
29
+        <resource-file src="res/android/drawable/ic_launcher_foreground.xml" target="app/src/main/res/drawable/ic_launcher_foreground.xml" />
30
+        <resource-file src="res/android/mipmap-anydpi-v26/ic_launcher.xml" target="app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml" />
31
+        <resource-file src="res/android/mipmap-anydpi-v26/ic_launcher_round.xml" target="app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml" />
32
+        <resource-file src="res/android/mipmap-hdpi/ic_launcher.png" target="app/src/main/res/mipmap-hdpi/ic_launcher.png" />
33
+        <resource-file src="res/android/mipmap-hdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-hdpi/ic_launcher_round.png" />
34
+        <resource-file src="res/android/mipmap-mdpi/ic_launcher.png" target="app/src/main/res/mipmap-mdpi/ic_launcher.png" />
35
+        <resource-file src="res/android/mipmap-mdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-mdpi/ic_launcher_round.png" />
36
+        <resource-file src="res/android/mipmap-xhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xhdpi/ic_launcher.png" />
37
+        <resource-file src="res/android/mipmap-xhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xhdpi/ic_launcher_round.png" />
38
+        <resource-file src="res/android/mipmap-xxhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xxhdpi/ic_launcher.png" />
39
+        <resource-file src="res/android/mipmap-xxhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png" />
40
+        <resource-file src="res/android/mipmap-xxxhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" />
41
+        <resource-file src="res/android/mipmap-xxxhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png" />
42
+    </platform>
43
+    <platform name="ios">
44
+        <allow-intent href="itms:*" />
45
+        <allow-intent href="itms-apps:*" />
46
+    </platform>
47
+    <plugin name="cordova-plugin-statusbar" spec="^2.4.2" />
48
+    <plugin name="cordova-plugin-headercolor" spec="^1.0.0" />
49
+    <plugin name="cordova-plugin-app-version" spec="^0.1.9" />
50
+    <engine name="browser" spec="^5.0.4" />
51
+    <engine name="android" spec="^7.1.4" />
52
+</widget>

BIN
logo.png View File


+ 293
- 0
nbproject/build.xml View File

@@ -0,0 +1,293 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!--
3
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
4
+
5
+Copyright 1997-2012 Oracle and/or its affiliates. All rights reserved.
6
+
7
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
8
+Other names may be trademarks of their respective owners.
9
+
10
+
11
+The contents of this file are subject to the terms of either the GNU
12
+General Public License Version 2 only ("GPL") or the Common
13
+Development and Distribution License("CDDL") (collectively, the
14
+"License"). You may not use this file except in compliance with the
15
+License. You can obtain a copy of the License at
16
+http://www.netbeans.org/cddl-gplv2.html
17
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
18
+specific language governing permissions and limitations under the
19
+License.  When distributing the software, include this License Header
20
+Notice in each file and include the License file at
21
+nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
22
+particular file as subject to the "Classpath" exception as provided
23
+by Oracle in the GPL Version 2 section of the License file that
24
+accompanied this code. If applicable, add the following below the
25
+License Header, with the fields enclosed by brackets [] replaced by
26
+your own identifying information:
27
+"Portions Copyrighted [year] [name of copyright owner]"
28
+
29
+Contributor(s):
30
+
31
+The Original Software is NetBeans. The Initial Developer of the Original
32
+Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
33
+Microsystems, Inc. All Rights Reserved.
34
+
35
+If you wish your version of this file to be governed by only the CDDL
36
+or only the GPL Version 2, indicate your decision by adding
37
+"[Contributor] elects to include this software in this distribution
38
+under the [CDDL or GPL Version 2] license." If you do not indicate a
39
+single choice of license, a recipient has the option to distribute
40
+your version of this file under either the CDDL, the GPL Version 2 or
41
+to extend the choice of license to its licensees as provided above.
42
+However, if you add GPL Version 2 code and therefore, elected the GPL
43
+Version 2 license, then the option applies only if the new code is
44
+made subject to such option by the copyright holder.
45
+-->
46
+<!--
47
+    Generated file; DO NOT EDIT.
48
+-->
49
+<project name="NotePostApp" basedir="..">
50
+    <property file="nbproject/configs/${config}.properties" />
51
+
52
+    <scriptdef name="checkVersion" language="javascript">
53
+        <attribute name="first" />
54
+        <attribute name="property" />
55
+     <![CDATA[
56
+       var first = attributes.get("first");
57
+       if (first >= "3.0.0") {
58
+         project.setProperty(attributes.get("property"), true);
59
+       }
60
+     ]]>
61
+    </scriptdef>
62
+    
63
+    <scriptdef name="forDevice" language="javascript">
64
+     <![CDATA[
65
+       var dev = project.getProperty("device");
66
+       if (dev == "device") {
67
+         project.setProperty("build.for.device", true);
68
+       }
69
+     ]]>
70
+    </scriptdef>
71
+
72
+    <target name="check-cordova-project">
73
+        <condition property="cordova.project">
74
+            <or>
75
+                <available file=".cordova"/>
76
+                <available file="hooks"/>
77
+            </or>
78
+        </condition>
79
+    </target>
80
+    
81
+    <target name="upgrade-to-cordova-project" depends="check-cordova-project,check-cordova-version" unless="cordova.project">
82
+        <echo level="info" message="${cordova.command} -d create ${java.io.tmpdir}/nb_temp_project com.coolappz.${project.name} ${project.name}" />
83
+        <delete dir="${java.io.tmpdir}/nb_temp_project"/>
84
+        <exec executable="${cordova.command}" resolveexecutable="true" searchpath="true" failonerror="true" >
85
+            <env key="${cordova.path.key}" path="${cordova.path.value}:${android.sdk.home}/tools:${android.sdk.home}/platform-tools:${jdk.home}/bin:${ant.home}/bin:${jdk.home}/bin"/>
86
+            <env key="JAVA_HOME" path="${jdk.home}"/>
87
+            <arg value="-d"/>
88
+            <arg value="create"/>   
89
+            <arg value="${java.io.tmpdir}/nb_temp_project"/>   
90
+            <arg value="com.coolappz.${project.name}"/>
91
+            <arg value="${project.name}" />
92
+        </exec>
93
+        <copy todir="." overwrite="true" failonerror="false">
94
+            <fileset dir="${java.io.tmpdir}/nb_temp_project"/>
95
+        </copy>
96
+        <delete dir="${java.io.tmpdir}/nb_temp_project"/>
97
+        <delete dir="www"/>
98
+        <copy todir="www" failonerror="false" quiet="true" >
99
+            <fileset dir="${site.root}"/>
100
+        </copy>
101
+    </target>
102
+
103
+    <target name="create-hello-world" depends="check-cordova-version">
104
+        <echo level="info" message="${cordova.command} -d create www_nb_temp com.coolappz.${project.name} ${project.name}" />
105
+        <exec executable="${cordova.command}" resolveexecutable="true" searchpath="true" failonerror="true">
106
+            <env key="${cordova.path.key}" path="${cordova.path.value}:${android.sdk.home}/tools:${android.sdk.home}/platform-tools:${jdk.home}/bin:${ant.home}/bin:${jdk.home}/bin"/>
107
+            <env key="JAVA_HOME" path="${jdk.home}"/>
108
+            <arg value="-d"/>
109
+            <arg value="create"/>   
110
+            <arg value="www_nb_temp"/>   
111
+            <arg value="com.coolappz.${project.name}"/>
112
+            <arg value="${project.name}" />
113
+        </exec>
114
+        <delete dir="www"/>
115
+        <mkdir dir="www"/>
116
+        <move file="www_nb_temp/www" tofile="www"/>
117
+        <delete dir="www_nb_temp"/>
118
+        <delete file="www/config.xml"/>
119
+    </target>
120
+    
121
+    <taskdef 
122
+        classname="org.netbeans.modules.cordova.updatetask.ReadConfigTask" 
123
+        classpath="${update.task.jar}"
124
+        name="readconfig"/>
125
+
126
+    <taskdef 
127
+        classname="org.netbeans.modules.cordova.updatetask.PluginTask" 
128
+        classpath="${update.task.jar}"
129
+        name="plugintask"/>
130
+    
131
+        
132
+    <target name="check-cordova-version">
133
+        <property environment="env"/>        
134
+        <checkVersion first="${cordova.version}" property="cordova.ver.3"/>
135
+        <fail message="Cordova version 3 or greater required." unless="cordova.ver.3"/>
136
+        <readconfig/>
137
+        <forDevice/>
138
+    </target>
139
+    
140
+    <target name="check-android-template">
141
+        <available file="platforms/android" property="android.generated.exists"/>
142
+    </target>
143
+
144
+    <target name="check-ios-template">
145
+        <available file="platforms/ios" property="ios.generated.exists"/>
146
+    </target>
147
+    
148
+    <target name="create-android" depends="check-android-template,check-cordova-version,upgrade-to-cordova-project" unless="android.generated.exists">
149
+        <echo level="info" message="${cordova.command} -d platform add android"/>
150
+        <exec executable="${cordova.command}" resolveexecutable="true" searchpath="true" failonerror="true">
151
+            <env key="${cordova.path.key}" path="${cordova.path.value}:${android.sdk.home}/tools:${android.sdk.home}/platform-tools:${jdk.home}/bin:${ant.home}/bin:${jdk.home}/bin"/>
152
+            <env key="JAVA_HOME" path="${jdk.home}"/>
153
+            <arg value="-d"/>
154
+            <arg value="platform"/>   
155
+            <arg value="add"/>   
156
+            <arg value="android"/>
157
+        </exec>
158
+    </target>
159
+    
160
+    <target name="create-ios" depends="check-ios-template,check-cordova-version,upgrade-to-cordova-project" unless="ios.generated.exists">
161
+        <echo level="info" message="${cordova.command} -d platform add ios"/>
162
+        <exec executable="${cordova.command}" resolveexecutable="true" searchpath="true" dir="." failonerror="true">
163
+            <env key="${cordova.path.key}" path="${cordova.path.value}:${android.sdk.home}/tools:${android.sdk.home}/platform-tools:${jdk.home}/bin:${ant.home}/bin:${jdk.home}/bin"/>
164
+            <env key="JAVA_HOME" path="${jdk.home}"/>
165
+            <arg value="-d"/>
166
+            <arg value="platform"/>   
167
+            <arg value="add"/>   
168
+            <arg value="ios"/>
169
+        </exec>
170
+    </target>
171
+
172
+    <target name="rebuild-ios" depends="clean-ios,build-ios"/>
173
+
174
+    <target name="build-ios" depends="create-ios,update-plugins,update-ios,build-ios-xcodebuild,build-ios-ipa"/>
175
+
176
+    <target name="build-ios-xcodebuild">
177
+        <property name="path" location="platforms/ios/build"/>
178
+        <exec executable="xcodebuild" dir="platforms/ios" failonerror="true">
179
+            <arg value="-project"/>
180
+            <arg value="${project.name}.xcodeproj"/>
181
+            <arg value="ARCHS=${ios.build.arch}"/>   
182
+            <arg value="-target"/>
183
+            <arg value="${project.name}"/>
184
+            <arg value="-configuration"/> 
185
+            <arg value="Release"/>
186
+            <arg value="-sdk"/>   
187
+            <arg value="${ios.build.sdk}" />
188
+            <arg value="build"/>
189
+            <arg value="CONFIGURATION_BUILD_DIR=${path}"/>
190
+        </exec>
191
+    </target>
192
+    
193
+    <target name="build-ios-ipa" if="build.for.device">
194
+        <exec executable="xcrun" dir="platforms/ios/build" failonerror="true">
195
+            <env key="CODESIGN_ALLOCATE" value="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate" />
196
+            <arg value="-sdk"/>
197
+            <arg value="${ios.build.sdk}" />            
198
+            <arg value="PackageApplication"/>
199
+            <arg value="-v"/>
200
+            <arg value="${project.name}.app"/>
201
+            <arg value="-o"/>
202
+            <arg value="${basedir}/platforms/ios/build/${project.name}.ipa"/>
203
+            <arg value="--sign"/>
204
+            <arg value="${ios.certificate.name}"/>
205
+            <arg value="--embed"/>
206
+            <arg value="${ios.provisioning.profile}"/>
207
+        </exec>
208
+        <available file="${basedir}/platforms/ios/build/${project.name}.ipa" property="ipa.found"/>
209
+        <fail unless="ipa.found" message="PackageApplication failed."/>
210
+    </target>
211
+         
212
+
213
+    <target name="sim-ios" depends="build-ios,ios-run-device,ios-run-simulator">
214
+    </target>
215
+    
216
+    <target name="ios-run-device" if="build.for.device">
217
+        <echo>
218
+            Install "${basedir}/platforms/ios/build/${project.name}.ipa" through iTunes and run it. 
219
+        </echo> 
220
+        <exec executable="open" failonerror="true">
221
+            <arg value="${basedir}/platforms/ios/build/${project.name}.ipa"/>
222
+        </exec>
223
+    </target>
224
+
225
+    <target name="ios-run-simulator" unless="build.for.device">
226
+        <exec executable="killall" dir="platforms/ios/build">
227
+            <arg value="launchd_sim"/>
228
+        </exec>
229
+        <exec executable="${ios.sim.exec}" dir="platforms/ios/build">
230
+            <arg line="launch ${project.name}.app ${ios.device.args} --exit"/>
231
+        </exec> 
232
+    </target>
233
+    
234
+    <target name="update-plugins">
235
+        <plugintask/>
236
+    </target>    
237
+    
238
+    <target name="update-android">
239
+        <echo level="info" message="${cordova.command} prepare android"/>
240
+
241
+        <exec executable="${cordova.command}" resolveexecutable="true" searchpath="true" failonerror="true">
242
+            <env key="${cordova.path.key}" path="${cordova.path.value}:${android.sdk.home}/tools:${android.sdk.home}/platform-tools:${jdk.home}/bin:${ant.home}/bin:${jdk.home}/bin"/>
243
+            <env key="JAVA_HOME" path="${jdk.home}"/>
244
+            <arg value="prepare"/>
245
+            <arg value="android"/>
246
+        </exec>
247
+    </target>    
248
+        
249
+                           
250
+    <target name="update-ios">
251
+        <echo level="info" message="${cordova.command} prepare ios"/>
252
+        <exec executable="${cordova.command}" resolveexecutable="true" searchpath="true" failonerror="true">
253
+            <env key="${cordova.path.key}" path="${cordova.path.value}:${android.sdk.home}/tools:${android.sdk.home}/platform-tools:${jdk.home}/bin:${ant.home}/bin:${jdk.home}/bin"/>
254
+            <env key="JAVA_HOME" path="${jdk.home}"/>
255
+            <arg value="prepare"/>
256
+            <arg value="ios"/>
257
+        </exec>
258
+    </target>    
259
+    
260
+    <target name="rebuild-android" depends="clean-android,build-android"/>      
261
+    
262
+    <target name="build-android" depends="create-android,update-plugins">
263
+        <echo level="info" message="${cordova.command} -d build android"/>
264
+        <exec executable="${cordova.command}" resolveexecutable="true" searchpath="true" failonerror="true">
265
+            <env key="${cordova.path.key}" path="${cordova.path.value}:${android.sdk.home}/tools:${android.sdk.home}/platform-tools:${jdk.home}/bin:${ant.home}/bin:${jdk.home}/bin"/>
266
+            <env key="JAVA_HOME" path="${jdk.home}"/>
267
+            <arg value="-d"/>   
268
+            <arg value="build"/>   
269
+            <arg value="android"/>   
270
+        </exec>
271
+    </target>    
272
+    
273
+    <target name="sim-android" depends="create-android,update-plugins">
274
+        <echo level="info" message="${cordova.command} -d ${android.target.device.arg} android"/>
275
+        <exec executable="${cordova.command}" resolveexecutable="true" searchpath="true" failonerror="true">
276
+            <env key="${cordova.path.key}" path="${cordova.path.value}:${android.sdk.home}/tools:${android.sdk.home}/platform-tools:${jdk.home}/bin:${ant.home}/bin:${jdk.home}/bin"/>
277
+            <env key="JAVA_HOME" path="${jdk.home}"/>
278
+            <arg value="-d"/>
279
+            <arg value="${android.target.device.arg}"/>
280
+            <arg value="android"/>   
281
+        </exec>
282
+    </target>
283
+    
284
+    <target name="clean-android" depends="check-android-template" if="android.generated.exists">
285
+        <exec executable="./gradlew" dir="platforms/android">
286
+            <arg value="clean" />
287
+        </exec>
288
+    </target>
289
+    
290
+    <target name="clean-ios" depends="check-ios-template" if="ios.generated.exists">
291
+        <exec executable="platforms/ios/cordova/clean" />
292
+    </target>
293
+</project>

+ 3
- 0
nbproject/configs/android.properties View File

@@ -0,0 +1,3 @@
1
+device=emulator
2
+display.name=Android Emulator
3
+type=android

+ 3
- 0
nbproject/configs/android_1.properties View File

@@ -0,0 +1,3 @@
1
+device=device
2
+display.name=Android Device
3
+type=android

+ 5
- 0
nbproject/configs/ios.properties View File

@@ -0,0 +1,5 @@
1
+device=emulator
2
+display.name=iPhone Simulator
3
+ios.build.arch=i386
4
+ios.build.sdk=iphonesimulator6.0
5
+type=ios

+ 5
- 0
nbproject/configs/ios_1.properties View File

@@ -0,0 +1,5 @@
1
+device=device
2
+display.name=iPhone Device
3
+ios.build.arch=armv6 armv7
4
+ios.build.sdk=iphoneos6.0
5
+type=ios

+ 9
- 0
nbproject/license-mpl.txt View File

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

+ 31
- 0
nbproject/plugins.properties View File

@@ -0,0 +1,31 @@
1
+# This is a list of plugins installed in your project
2
+# You can delete or add new plugins
3
+#
4
+# Format is following:
5
+# id.of.plugin=url_of_repository
6
+#
7
+# Corresponding "id.of.plugin" can be found in the plugin's plugin.xml file:
8
+# <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" id="foo.bar.plugin" version="0.0.1">
9
+#
10
+# This list contains all core cordova plugins.
11
+#
12
+# For more information about plugins see http://cordova.apache.org/blog/releases/2013/07/23/cordova-3.html
13
+#
14
+
15
+cordova-plugin-device=https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
16
+cordova-plugin-network-information=https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git
17
+cordova-plugin-battery-status=https://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status.git
18
+cordova-plugin-device-motion=https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-motion.git
19
+cordova-plugin-device-orientation=https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-orientation.git
20
+cordova-plugin-geolocation=https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git
21
+cordova-plugin-camera=https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git
22
+cordova-plugin-media-capture=https://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git
23
+cordova-plugin-media=https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git
24
+cordova-plugin-file=https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git
25
+cordova-plugin-file-transfer=https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git
26
+cordova-plugin-dialogs=https://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs.git
27
+cordova-plugin-vibration=https://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration.git
28
+cordova-plugin-contacts=https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git
29
+cordova-plugin-globalization=https://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization.git
30
+cordova-plugin-splashscreen=https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git
31
+cordova-plugin-console=https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git

+ 3
- 0
nbproject/private/private.properties View File

@@ -0,0 +1,3 @@
1
+auxiliary.org-netbeans-modules-javascript-nodejs.debug_2e_port=9292
2
+auxiliary.org-netbeans-modules-javascript-nodejs.node_2e_path=
3
+browser=android_1

+ 7
- 0
nbproject/private/private.xml View File

@@ -0,0 +1,7 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
3
+    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
4
+    <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
5
+        <group/>
6
+    </open-files>
7
+</project-private>

+ 13
- 0
nbproject/project.properties View File

@@ -0,0 +1,13 @@
1
+auxiliary.org-netbeans-modules-cordova.cordova_5f_build_5f_script_5f_version=52
2
+auxiliary.org-netbeans-modules-cordova.phonegap=true
3
+auxiliary.org-netbeans-modules-javascript-nodejs.enabled=false
4
+auxiliary.org-netbeans-modules-javascript-nodejs.node_2e_default=true
5
+auxiliary.org-netbeans-modules-javascript-nodejs.sync_2e_enabled=true
6
+file.reference.NotePostApp-test=test
7
+file.reference.NotePostApp-www=www
8
+files.encoding=UTF-8
9
+project.license=mpl
10
+project.licensePath=./nbproject/license-mpl.txt
11
+project.organization=Netsyms Technologies
12
+site.root.folder=${file.reference.NotePostApp-www}
13
+test.folder=${file.reference.NotePostApp-test}

+ 9
- 0
nbproject/project.xml View File

@@ -0,0 +1,9 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project xmlns="http://www.netbeans.org/ns/project/1">
3
+    <type>org.netbeans.modules.web.clientproject</type>
4
+    <configuration>
5
+        <data xmlns="http://www.netbeans.org/ns/clientside-project/1">
6
+            <name>NotePostApp</name>
7
+        </data>
8
+    </configuration>
9
+</project>

+ 32
- 0
package.json View File

@@ -0,0 +1,32 @@
1
+{
2
+  "name": "com.netsyms.NotePostApp",
3
+  "displayName": "NotePost",
4
+  "version": "1.0.0",
5
+  "description": "A cross-platform client app for NotePost.",
6
+  "main": "index.js",
7
+  "scripts": {
8
+    "test": "echo \"Error: no test specified\" && exit 1"
9
+  },
10
+  "author": "Netsyms Technologies",
11
+  "license": "MPL-2.0",
12
+  "dependencies": {
13
+    "cordova-android": "^7.1.4",
14
+    "cordova-browser": "^5.0.4",
15
+    "cordova-plugin-app-version": "^0.1.9",
16
+    "cordova-plugin-headercolor": "^1.0.0",
17
+    "cordova-plugin-statusbar": "^2.4.2",
18
+    "cordova-plugin-whitelist": "^1.3.3"
19
+  },
20
+  "cordova": {
21
+    "plugins": {
22
+      "cordova-plugin-whitelist": {},
23
+      "cordova-plugin-statusbar": {},
24
+      "cordova-plugin-headercolor": {},
25
+      "cordova-plugin-app-version": {}
26
+    },
27
+    "platforms": [
28
+      "browser",
29
+      "android"
30
+    ]
31
+  }
32
+}

+ 18
- 0
res/android/drawable/ic_launcher_foreground.xml View File

@@ -0,0 +1,18 @@
1
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+        android:width="108dp"
3
+        android:height="108dp"
4
+        android:viewportWidth="259.59045"
5
+        android:viewportHeight="259.59045">
6
+    <group android:translateX="62.06023"
7
+            android:translateY="62.06023">
8
+      <path
9
+          android:pathData="m18.318,18.164c-2.15,0 -3.88,1.731 -3.88,3.881l0,50.447c0,2.15 1.731,3.88 3.88,3.88l10.017,0l0,-15.841c0,-2.15 1.731,-3.88 3.881,-3.88l27.879,0l0.035,-2.406l0,-24.979c0,-2.15 1.731,-3.88 3.881,-3.88l8.635,0l0,-3.341c0,-2.15 -1.731,-3.881 -3.88,-3.881z"
10
+          android:fillColor="#e57373"/>
11
+      <path
12
+          android:pathData="m66.7,27.826c-2.15,0 -3.881,1.731 -3.881,3.88l0,24.979l25.468,0c2.15,0 3.88,1.731 3.88,3.88l0,25.468l24.979,0c2.15,0 3.88,-1.731 3.88,-3.88l0,-50.447c0,-2.15 -1.731,-3.88 -3.88,-3.88z"
13
+          android:fillColor="#81c784"/>
14
+      <path
15
+          android:pathData="M34.907,59.092L85.353,59.092A3.881,3.881 0,0 1,89.234 62.972L89.234,113.419A3.881,3.881 0,0 1,85.353 117.299L34.907,117.299A3.881,3.881 0,0 1,31.026 113.419L31.026,62.972A3.881,3.881 0,0 1,34.907 59.092z"
16
+          android:fillColor="#ffee58"/>
17
+    </group>
18
+</vector>

+ 5
- 0
res/android/mipmap-anydpi-v26/ic_launcher.xml View File

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

+ 5
- 0
res/android/mipmap-anydpi-v26/ic_launcher_round.xml View File

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

BIN
res/android/mipmap-hdpi/ic_launcher.png View File


BIN
res/android/mipmap-hdpi/ic_launcher_round.png View File


BIN
res/android/mipmap-mdpi/ic_launcher.png View File


BIN
res/android/mipmap-mdpi/ic_launcher_round.png View File


BIN
res/android/mipmap-mdpi/icon.png View File


BIN
res/android/mipmap-xhdpi/ic_launcher.png View File


BIN
res/android/mipmap-xhdpi/ic_launcher_round.png View File


BIN
res/android/mipmap-xxhdpi/ic_launcher.png View File


BIN
res/android/mipmap-xxhdpi/ic_launcher_round.png View File


BIN
res/android/mipmap-xxxhdpi/ic_launcher.png View File


BIN
res/android/mipmap-xxxhdpi/ic_launcher_round.png View File


+ 4
- 0
res/android/values/ic_launcher_background.xml View File

@@ -0,0 +1,4 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<resources>
3
+    <color name="ic_launcher_background">#FFFFFF</color>
4
+</resources>

+ 6
- 0
res/android/values/strings.xml View File

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

+ 30
- 0
www/css/notecards.css View File

@@ -0,0 +1,30 @@
1
+/*
2
+This Source Code Form is subject to the terms of the Mozilla Public
3
+License, v. 2.0. If a copy of the MPL was not distributed with this
4
+file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+*/
6
+
7
+.notecards-row {
8
+    justify-content: left;
9
+}
10
+
11
+.notecard ul, .notecard ol {
12
+    padding-left: 1em;
13
+}
14
+
15
+.notecard li > ul, .notecard li > ol {
16
+    padding-left: 1em;
17
+}
18
+
19
+.notecard .menubtn {
20
+    position: absolute;
21
+    top: 0;
22
+    right: 0;
23
+    padding: 1em;
24
+    cursor: pointer;
25
+    z-index: 99999;
26
+}
27
+
28
+.popover .list .list-button {
29
+    color: inherit;
30
+}

BIN
www/fonts/MaterialIcons-Regular.woff View File


BIN
www/fonts/MaterialIcons-Regular.woff2 View File


BIN
www/fonts/Material_Icons.eot View File


+ 51
- 0
www/fonts/Material_Icons.svg View File

@@ -0,0 +1,51 @@
1
+<?xml version="1.0" standalone="no"?>
2
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+<svg xmlns="http://www.w3.org/2000/svg">
4
+<defs >
5
+<font id="MaterialIcons" horiz-adv-x="512" ><font-face
6
+    font-family="Material Icons"
7
+    units-per-em="512"
8
+    panose-1="2 0 5 3 0 0 0 0 0 0"
9
+    ascent="512"
10
+    descent="0"
11
+    alphabetic="0" />
12
+<glyph unicode="0" d="" />
13
+<glyph unicode="1" d="" />
14
+<glyph unicode="2" d="" />
15
+<glyph unicode="3" d="" />
16
+<glyph unicode="4" d="" />
17
+<glyph unicode="5" d="" />
18
+<glyph unicode="6" d="" />
19
+<glyph unicode="7" d="" />
20
+<glyph unicode="8" d="" />
21
+<glyph unicode="9" d="" />
22
+<glyph unicode="_" d="" />
23
+<glyph unicode="a" d="" />
24
+<glyph unicode="b" d="" />
25
+<glyph unicode="c" d="" />
26
+<glyph unicode="d" d="" />
27
+<glyph unicode="e" d="" />
28
+<glyph unicode="f" d="" />
29
+<glyph unicode="g" d="" />
30
+<glyph unicode="h" d="" />
31
+<glyph unicode="i" d="" />
32
+<glyph unicode="j" d="" />
33
+<glyph unicode="k" d="" />
34
+<glyph unicode="l" d="" />
35
+<glyph unicode="m" d="" />
36
+<glyph unicode="n" d="" />
37
+<glyph unicode="o" d="" />
38
+<glyph unicode="p" d="" />
39
+<glyph unicode="q" d="" />
40
+<glyph unicode="r" d="" />
41
+<glyph unicode="s" d="" />
42
+<glyph unicode="t" d="" />
43
+<glyph unicode="u" d="" />
44
+<glyph unicode="v" d="" />
45
+<glyph unicode="w" d="" />
46
+<glyph unicode="x" d="" />
47
+<glyph unicode="y" d="" />
48
+<glyph unicode="z" d="" />
49
+</font>
50
+</defs>
51
+</svg>

BIN
www/fonts/Material_Icons.ttf View File


BIN
www/fonts/Material_Icons.woff View File


BIN
www/fonts/Material_Icons.woff2 View File


+ 39
- 0
www/fonts/material.css View File

@@ -0,0 +1,39 @@
1
+@font-face {
2
+    font-family: 'Material Icons';
3
+    font-style: normal;
4
+    font-weight: normal;
5
+    src:
6
+        /* from https://fonts.gstatic.com/s/materialicons/v41/flUhRq6tzZclQEJ-Vdg-IuiaDsNY.eot */
7
+        url('Material_Icons.eot?#iefix') format('embedded-opentype'),
8
+        /* from https://fonts.gstatic.com/s/materialicons/v41/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.woff */
9
+        url('Material_Icons.woff') format('woff'),
10
+        /* from https://fonts.gstatic.com/s/materialicons/v41/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2 */
11
+        url('Material_Icons.woff2') format('woff2'),
12
+        /* from https://fonts.gstatic.com/l/font?kit=flUhRq6tzZclQEJ-Vdg-IuiaDsNb&skey=4fbfe4498ec2960a&v=v41#MaterialIcons */
13
+        url('Material_Icons.svg#MaterialIcons') format('svg'),
14
+        /* from https://fonts.gstatic.com/s/materialicons/v41/flUhRq6tzZclQEJ-Vdg-IuiaDsNZ.ttf */
15
+        url('Material_Icons.ttf') format('truetype');
16
+}
17
+
18
+
19
+.material-icons {
20
+    font-family: 'Material Icons';
21
+    font-weight: normal;
22
+    font-style: normal;
23
+    font-size: 24px;  /* Preferred icon size */
24
+    display: inline-block;
25
+    line-height: 1;
26
+    text-transform: none;
27
+    letter-spacing: normal;
28
+    word-wrap: normal;
29
+    white-space: nowrap;
30
+    direction: ltr;
31
+
32
+    /* Support for all WebKit browsers. */
33
+    -webkit-font-smoothing: antialiased;
34
+    /* Support for Safari and Chrome. */
35
+    text-rendering: optimizeLegibility;
36
+
37
+    /* Support for Firefox. */
38
+    -moz-osx-font-smoothing: grayscale;
39
+}

+ 35
- 0
www/index.html View File

@@ -0,0 +1,35 @@
1
+<!DOCTYPE html>
2
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
3
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
4
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
5
+<meta charset="utf-8">
6
+<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui, viewport-fit=cover">
7
+<meta name="apple-mobile-web-app-capable" content="yes">
8
+<meta name="theme-color" content="#F44336">
9
+<link rel="stylesheet" href="node_modules/framework7/css/framework7.min.css">
10
+<link rel="stylesheet" href="fonts/material.css">
11
+<link rel="stylesheet" href="css/notecards.css">
12
+<link rel="stylesheet" href="node_modules/@fortawesome/fontawesome-free/css/all.min.css">
13
+
14
+<title>NotePost</title>
15
+
16
+<div id="app" class="color-theme-red">
17
+
18
+    <!-- <div class="statusbar"></div> -->
19
+
20
+    <div class="view view-main"></div>
21
+
22
+</div>
23
+
24
+<script src="cordova.js"></script>
25
+
26
+<script src="node_modules/jquery/dist/jquery.min.js"></script>
27
+<script src="node_modules/framework7/js/framework7.min.js"></script>
28
+<script src="node_modules/marked/marked.min.js"></script>
29
+
30
+<script src="js/Notes.class.js"></script>
31
+<script src="js/home.js"></script>
32
+
33
+<script src="routes.js"></script>
34
+<script src="js/platform.js"></script>
35
+<script src="js/main.js"></script>

+ 100
- 0
www/js/Notes.class.js View File

@@ -0,0 +1,100 @@
1
+/*
2
+ * This Source Code Form is subject to the terms of the Mozilla Public
3
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
4
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+ */
6
+
7
+
8
+function Notes() {
9
+    this.notes = [];
10
+
11
+}
12
+
13
+Notes.prototype.get = function (id) {
14
+    for (var i = 0; i < this.notes.length; i++) {
15
+        if (this.notes[i].id == id) {
16
+            return this.notes[i];
17
+        }
18
+    }
19
+}
20
+
21
+Notes.prototype.getAll = function () {
22
+    return this.notes;
23
+}
24
+
25
+Notes.prototype.set = function (note) {
26
+    for (var i = 0; i < this.notes.length; i++) {
27
+        if (this.notes[i].id == note.id) {
28
+            this.notes[i] = note;
29
+            return;
30
+        }
31
+    }
32
+    this.notes.push(note);
33
+}
34
+
35
+Notes.prototype.add = function (note, callback) {
36
+    this.notes.push(note);
37
+    if (typeof callback == 'function') {
38
+        callback();
39
+    }
40
+}
41
+
42
+Notes.prototype.fix = function (note) {
43
+    console.log("Fixing note " + note.id);
44
+    // Set background color
45
+    if (typeof note.color !== 'string') {
46
+        note.color = "FFF59D";
47
+    }
48
+    // Set text color based on background
49
+    if (typeof note.textcolor !== 'string') {
50
+        var r = parseInt(note.color.substring(0, 2), 16);
51
+        var g = parseInt(note.color.substring(2, 4), 16);
52
+        var b = parseInt(note.color.substring(4, 6), 16);
53
+        console.log(r);
54
+        console.log(g);
55
+        console.log(b);
56
+
57
+        var contrast = Math.sqrt(
58
+                r * r * 0.241 +
59
+                g * g * 0.691 +
60
+                b * b * 0.068
61
+                );
62
+
63
+        if (contrast > 130) {
64
+            note.textcolor = "000000";
65
+        } else {
66
+            note.textcolor = "FFFFFF";
67
+        }
68
+    }
69
+    // Render Markdown to HTML
70
+    if (typeof note.html !== 'string') {
71
+        note.html = marked(note.content);
72
+    }
73
+    // Save
74
+    this.set(note);
75
+}
76
+
77
+Notes.prototype.fixAll = function () {
78
+    for (var i = 0; i < this.notes.length; i++) {
79
+        this.fix(this.notes[i]);
80
+    }
81
+}
82
+
83
+Notes.prototype.load = function (callback) {
84
+    if (localStorage.getItem("notes") !== null) {
85
+        data = JSON.parse(localStorage.getItem("notes"));
86
+        if (data.length > 0) {
87
+            this.notes = data;
88
+        }
89
+    }
90
+    if (typeof callback == 'function') {
91
+        callback();
92
+    }
93
+}
94
+
95
+Notes.prototype.save = function (callback) {
96
+    localStorage.setItem("notes", JSON.stringify(this.notes));
97
+    if (typeof callback == 'function') {
98
+        callback();
99
+    }
100
+}

+ 129
- 0
www/js/home.js View File

@@ -0,0 +1,129 @@
1
+/*
2
+ * This Source Code Form is subject to the terms of the Mozilla Public
3
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
4
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+ */
6
+
7
+
8
+function loadHomePage(reload) {
9
+    if (typeof reload == 'undefined') {
10
+        reload = false;
11
+    }
12
+    notes.load(function () {
13
+        notes.fixAll();
14
+        var notecards = notes.getAll();
15
+
16
+        router.navigate("/home", {
17
+            context: {
18
+                notecards: notecards,
19
+                homeloaded: true
20
+            },
21
+            reloadCurrent: true
22
+        });
23
+    });
24
+}
25
+
26
+
27
+$(".view-main").on("ptr:refresh", ".ptr-content", function () {
28
+    loadHomePage(true);
29
+});
30
+
31
+function editNote(id) {
32
+    console.log("Editing " + id);
33
+}
34
+
35
+function favoriteNote(id) {
36
+
37
+}
38
+
39
+function makeList(id) {
40
+
41
+}
42
+
43
+function deleteNote(id) {
44
+
45
+}
46
+
47
+$("#app").on("click", ".edit-note-btn", function () {
48
+    editNote($(this).data("note"));
49
+});
50
+
51
+$("#app").on("click", ".favorite-note-btn", function () {
52
+    favoriteNote($(this).data("note"));
53
+});
54
+
55
+$("#app").on("click", ".listify-note-btn", function () {
56
+    makeList($(this).data("note"));
57
+});
58
+
59
+$("#app").on("click", ".delete-note-btn", function () {
60
+    deleteNote($(this).data("note"));
61
+});
62
+
63
+function openNoteActionMenu(notecard) {
64
+    var noteid = notecard.data("id");
65
+    if (window.innerWidth < 768) {
66
+        var actionsheet = app.actions.create({
67
+            buttons: [
68
+                {
69
+                    text: "Edit",
70
+                    bold: true,
71
+                    icon: '<i class="fas fa-edit fa-fw"></i>',
72
+                    onClick: function () {
73
+                        editNote(noteid);
74
+                    }
75
+                },
76
+                {
77
+                    text: "Favorite",
78
+                    icon: '<i class="fas fa-star fa-fw"></i>',
79
+                    onClick: function () {
80
+                        favoriteNote(noteid);
81
+                    }
82
+                },
83
+                {
84
+                    text: "Make a List",
85
+                    icon: '<i class="fas fa-tasks fa-fw"></i>',
86
+                    onClick: function () {
87
+                        makeList(noteid);
88
+                    }
89
+                },
90
+                {
91
+                    text: "Delete",
92
+                    icon: '<i class="fas fa-trash fa-fw"></i>',
93
+                    onClick: function () {
94
+                        deleteNote(noteid);
95
+                    }
96
+                }
97
+            ]
98
+        });
99
+
100
+        actionsheet.open();
101
+        return false;
102
+    } else {
103
+        var contextPopover = app.popover.create({
104
+            targetEl: notecard.children(".menubtn"),
105
+            content: '<div class="popover">' +
106
+                    '<div class="popover-inner">' +
107
+                    '<div class="list">' +
108
+                    '<ul>' +
109
+                    '<li><a class="list-button item-link edit-note-btn" data-note="' + noteid + '"><i class="fas fa-edit fa-fw"></i> Edit</a></li>' +
110
+                    '<li><a class="list-button item-link favorite-note-btn" data-note="' + noteid + '"><i class="fas fa-star fa-fw"></i> Favorite</a></li>' +
111
+                    '<li><a class="list-button item-link listify-note-btn" data-note="' + noteid + '"><i class="fas fa-tasks fa-fw"></i> Make a List</a></li>' +
112
+                    '<li><a class="list-button item-link delete-note-btn" data-note="' + noteid + '"><i class="fas fa-trash fa-fw"></i> Delete</a></li>' +
113
+                    '</ul>' +
114
+                    '</div>' +
115
+                    '</div>' +
116
+                    '</div>'
117
+        });
118
+        contextPopover.open();
119
+    }
120
+    return false;
121
+}
122
+
123
+$(".view-main").on("click", ".notecard .menubtn", function () {
124
+    return openNoteActionMenu($(this).parent());
125
+});
126
+
127
+$(".view-main").on("contextmenu", ".notecard", function () {
128
+    return openNoteActionMenu($(this));
129
+});

+ 61
- 0
www/js/main.js View File

@@ -0,0 +1,61 @@
1
+/* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
+
5
+var $$ = Dom7;
6
+
7
+var app = new Framework7({
8
+    root: "#app",
9
+    name: "NotePost",
10
+    id: "com.netsyms.NotePostApp",
11
+    routes: routes
12
+});
13
+
14
+var mainView = app.views.create('.view-main', {
15
+    url: "/"
16
+});
17
+
18
+var router = mainView.router;
19
+
20
+var notes = new Notes();
21
+
22
+/**
23
+ * Thanks to https://stackoverflow.com/a/13542669
24
+ * @param {type} color
25
+ * @param {type} percent
26
+ * @returns {String}
27
+ */
28
+function shadeColor2(color, percent) {
29
+    var f = parseInt(color.slice(1), 16), t = percent < 0 ? 0 : 255, p = percent < 0 ? percent * -1 : percent, R = f >> 16, G = f >> 8 & 0x00FF, B = f & 0x0000FF;
30
+    return "#" + (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1);
31
+}
32
+
33
+function restartApplication() {
34
+    navigator.splashscreen.show();
35
+    // We're doing the timeout so we don't run afoul of server-side rate limiting
36
+    setTimeout(function () {
37
+        window.location = "index.html";
38
+    }, 3000);
39
+}
40
+
41
+router.on("pageInit", function (pagedata) {
42
+    pagedata.$el.find('script').each(function (el) {
43
+        if ($$(this).attr('src')) {
44
+            var s = document.createElement('script');
45
+            s.src = $$(this).attr('src');
46
+            $$('head').append(s);
47
+        } else {
48
+            eval($$(this).text());
49
+        }
50
+    });
51
+    switch (pagedata.name) {
52
+        case "settings":
53
+            updateSettingsData();
54
+            break;
55
+    }
56
+});
57
+
58
+// Run platform-specific setup code for Cordova or NW.js
59
+initPlatform();
60
+
61
+loadHomePage(false);

+ 8
- 0
www/js/notes.js View File

@@ -0,0 +1,8 @@
1
+/*
2
+ * This Source Code Form is subject to the terms of the Mozilla Public
3
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
4
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+ */
6
+
7
+
8
+var notes = new Notes();

+ 32
- 0
www/js/platform.js View File

@@ -0,0 +1,32 @@
1
+/*
2
+ * This Source Code Form is subject to the terms of the Mozilla Public
3
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
4
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+ */
6
+
7
+
8
+function initCordova() {
9
+    // Handle back button to close things
10
+    document.addEventListener("backbutton", function (event) {
11
+
12
+    }, false);
13
+
14
+    document.addEventListener("deviceready", function () {
15
+        if (cordova.platformId == 'android') {
16
+            StatusBar.backgroundColorByHexString("#D32F2F");
17
+            StatusBar.styleLightContent();
18
+        }
19
+    }, false);
20
+}
21
+
22
+function initNW() {
23
+
24
+}
25
+
26
+function initPlatform() {
27
+    if (typeof cordova !== 'undefined') {
28
+        initCordova();
29
+    } else if (typeof nw !== 'undefined') {
30
+        initNW();
31
+    }
32
+}

+ 14
- 0
www/package.json View File

@@ -0,0 +1,14 @@
1
+{
2
+  "name": "com.netsyms.NotePostApp",
3
+  "displayName": "NotePost",
4
+  "version": "1.0.0",
5
+  "description": "A cross-platform client app for NotePost.",
6
+  "author": "Netsyms Technologies",
7
+  "license": "MPL-2.0",
8
+  "dependencies": {
9
+    "@fortawesome/fontawesome-free": "^5.6.3",
10
+    "framework7": "^3.6.5",
11
+    "jquery": "^3.3.1",
12
+    "marked": "^0.6.0"
13
+  }
14
+}

+ 53
- 0
www/pages/home.html View File

@@ -0,0 +1,53 @@
1
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
2
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
3
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
4
+<div class="page" data-name="home">
5
+
6
+    <div class="navbar">
7
+        <div class="navbar-inner">
8
+            <div class="title">NotePost</div>
9
+
10
+            <div class="right">
11
+                <a href="/settings" class="link icon-only">
12
+                    <i class="fas fa-cog"></i>
13
+                </a>
14
+            </div>
15
+        </div>
16
+    </div>
17
+
18
+    <div class="page-content ptr-content">
19
+
20
+        <div class="ptr-preloader">
21
+            <div class="preloader"></div>
22
+            <div class="ptr-arrow"></div>
23
+        </div>
24
+
25
+        <div class="row notecards-row">
26
+            {{#each notecards}}
27
+            <div class="col-100 tablet-33 desktop-33">
28
+                <div class="card notecard" id="notecard-{{id}}" data-id="{{id}}" data-bg="{{color}}" data-fg="{{textcolor}}" style="background-color: #{{color}}; color: #{{textcolor}};">
29
+                    <div class="menubtn">
30
+                        <i class="material-icons">more_vert</i>
31
+                    </div>
32
+                    <div class="card-content card-content-padding">{{html}}</div>
33
+                </div>
34
+            </div>
35
+            {{/each}}
36
+        </div>
37
+
38
+    </div>
39
+
40
+    <div class="fab fab-right-bottom">
41
+        <a href="/editnote">
42
+            <i class="material-icons">add</i>
43
+        </a>
44
+    </div>
45
+
46
+    <!-- Reload the home page if it doesn't have valid context  -->
47
+    {{#unless homeloaded}}
48
+    <script>
49
+        loadHomePage(true);
50
+    </script>
51
+    {{/unless}}
52
+
53
+</div>

+ 24
- 0
www/routes.js View File

@@ -0,0 +1,24 @@
1
+/*
2
+ * This Source Code Form is subject to the terms of the Mozilla Public
3
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
4
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+ */
6
+
7
+
8
+var routes = [
9
+    {
10
+        path: '/home',
11
+        templateUrl: './pages/home.html',
12
+        name: 'home'
13
+    },
14
+    {
15
+        path: '/credits',
16
+        url: './pages/credits.html',
17
+        name: 'credits'
18
+    },
19
+    {
20
+        path: '/loaderror',
21
+        url: './pages/loaderror.html',
22
+        name: 'loaderror'
23
+    },
24
+];

+ 50
- 0
www/yarn.lock View File

@@ -0,0 +1,50 @@
1
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+# yarn lockfile v1
3
+
4
+
5
+"@fortawesome/fontawesome-free@^5.6.3":
6
+  version "5.6.3"
7
+  resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.6.3.tgz#61c122c420d7a91613f393d6a06e5a4c6ae6abf3"
8
+  integrity sha512-s5PLdI9NYgjBvfrv6rhirPHlAHWx+Sfo/IjsAeiXYfmemC/GSjwsyz1wLnGPazbLPXWfk62ks980o9AmsxYUEQ==
9
+
10
+dom7@^2.1.2:
11
+  version "2.1.2"
12
+  resolved "https://registry.yarnpkg.com/dom7/-/dom7-2.1.2.tgz#a914070c0abe8465384997a9c4f34475f67f75bd"
13
+  integrity sha512-cGwWtpu7KY3JnbREGqG4EGC/u+1hyLfWVMqrqRjmwiO8d5i4B+0imLZAQ/cJbiXnjbs0pdIUzcUyeI9BbnyKNg==
14
+  dependencies:
15
+    ssr-window "^1.0.1"
16
+
17
+framework7@^3.6.5:
18
+  version "3.6.5"
19
+  resolved "https://registry.yarnpkg.com/framework7/-/framework7-3.6.5.tgz#dbd3c044ad36df73a9ed57cde5467e3c7c0d137e"
20
+  integrity sha512-bKIeIepeumIZM75rFhuk6DSr9yqi+05EPbpkyKHZLFOdNFfhbEW1wr0PYpjVrMuuxO3iK9frhiUx982QhlhPqA==
21
+  dependencies:
22
+    dom7 "^2.1.2"
23
+    path-to-regexp "^2.4.0"
24
+    ssr-window "^1.0.1"
25
+    template7 "^1.4.0"
26
+
27
+jquery@^3.3.1:
28
+  version "3.3.1"
29
+  resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca"
30
+  integrity sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==
31
+
32
+marked@^0.6.0:
33
+  version "0.6.0"
34
+  resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.0.tgz#a18d01cfdcf8d15c3c455b71c8329e5e0f01faa1"
35
+  integrity sha512-HduzIW2xApSXKXJSpCipSxKyvMbwRRa/TwMbepmlZziKdH8548WSoDP4SxzulEKjlo8BE39l+2fwJZuRKOln6g==
36
+
37
+path-to-regexp@^2.4.0:
38
+  version "2.4.0"
39
+  resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.4.0.tgz#35ce7f333d5616f1c1e1bfe266c3aba2e5b2e704"
40
+  integrity sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==
41
+
42
+ssr-window@^1.0.1:
43
+  version "1.0.1"
44
+  resolved "https://registry.yarnpkg.com/ssr-window/-/ssr-window-1.0.1.tgz#30752a6a4666e7767f0b7e6aa6fc2fdbd0d9b369"
45
+  integrity sha512-dgFqB+f00LJTEgb6UXhx0h+SrG50LJvti2yMKMqAgzfUmUXZrLSv2fjULF7AWGwK25EXu8+smLR3jYsJQChPsg==
46
+
47
+template7@^1.4.0:
48
+  version "1.4.0"
49
+  resolved "https://registry.yarnpkg.com/template7/-/template7-1.4.0.tgz#d400af49ea56fc08cc835a20e6167a26b288fb1b"
50
+  integrity sha512-NMJWbKIoowHixUYIHq+DLvcBM47t/oZ/xfvBbYuMusjjS6BUjC02+gLWctntJuTTiEqILfefBNCXbfp/EMt/zQ==

+ 851
- 0
yarn.lock View File

@@ -0,0 +1,851 @@
1
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+# yarn lockfile v1
3
+
4
+
5
+abbrev@*, abbrev@1:
6
+  version "1.1.1"
7
+  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
8
+  integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
9
+
10
+accepts@*, accepts@~1.3.4, accepts@~1.3.5:
11
+  version "1.3.5"
12
+  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2"
13
+  integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I=
14
+  dependencies:
15
+    mime-types "~2.1.18"
16
+    negotiator "0.6.1"
17
+
18
+android-versions@1.4.0:
19
+  version "1.4.0"
20
+  resolved "https://registry.yarnpkg.com/android-versions/-/android-versions-1.4.0.tgz#807ea2941d7e5780e6dd61c5d9b7b6f3c0706e09"
21
+  integrity sha512-GnomfYsBq+nZh3c3UH/4r9Jt6FuTxdhUJbeHIdYOH5xBhQ8I0ZzC2/RM5IFFIjrzuNWSHb8JWP1lPK0/a26jrg==
22
+  dependencies:
23
+    semver "^5.4.1"
24
+
25
+ansi-regex@2.1.1, ansi-regex@^2.0.0:
26
+  version "2.1.1"
27
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
28
+  integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
29
+
30
+ansi-styles@2.2.1, ansi-styles@^2.2.1:
31
+  version "2.2.1"
32
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
33
+  integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
34
+
35
+ansi@*, ansi@^0.3.1:
36
+  version "0.3.1"
37
+  resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21"
38
+  integrity sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=
39
+
40
+array-flatten@1.1.1:
41
+  version "1.1.1"
42
+  resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
43
+  integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
44
+
45
+balanced-match@*, balanced-match@^1.0.0:
46
+  version "1.0.0"
47
+  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
48
+  integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
49
+
50
+base64-js@1.2.0:
51
+  version "1.2.0"
52
+  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
53
+  integrity sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=
54
+
55
+big-integer@*, big-integer@^1.6.7:
56
+  version "1.6.40"
57
+  resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.40.tgz#02e4cd4d6e266c4d9ece2469c05cb6439149fc78"
58
+  integrity sha512-CjhtJp0BViLzP1ZkEnoywjgtFQXS2pomKjAJtIISTCnuHILkLcAXLdFLG/nxsHc4s9kJfc+82Xpg8WNyhfACzQ==
59
+
60
+big-integer@1.6.32:
61
+  version "1.6.32"
62
+  resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.32.tgz#5867458b25ecd5bcb36b627c30bb501a13c07e89"
63
+  integrity sha512-ljKJdR3wk9thHfLj4DtrNiOSTxvGFaMjWrG4pW75juXC4j7+XuKJVFdg4kgFMYp85PVkO05dFMj2dk2xVsH4xw==
64
+
65
+body-parser@1.18.2:
66
+  version "1.18.2"
67
+  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454"
68
+  integrity sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=
69
+  dependencies:
70
+    bytes "3.0.0"
71
+    content-type "~1.0.4"
72
+    debug "2.6.9"
73
+    depd "~1.1.1"
74
+    http-errors "~1.6.2"
75
+    iconv-lite "0.4.19"
76
+    on-finished "~2.3.0"
77
+    qs "6.5.1"
78
+    raw-body "2.3.2"
79
+    type-is "~1.6.15"
80
+
81
+body-parser@1.18.3:
82
+  version "1.18.3"
83
+  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4"
84
+  integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=
85
+  dependencies:
86
+    bytes "3.0.0"
87
+    content-type "~1.0.4"
88
+    debug "2.6.9"
89
+    depd "~1.1.2"
90
+    http-errors "~1.6.3"
91
+    iconv-lite "0.4.23"
92
+    on-finished "~2.3.0"
93
+    qs "6.5.2"
94
+    raw-body "2.3.3"
95
+    type-is "~1.6.16"
96
+
97
+bplist-parser@*, bplist-parser@^0.1.0:
98
+  version "0.1.1"
99
+  resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.1.1.tgz#d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6"
100
+  integrity sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=
101
+  dependencies:
102
+    big-integer "^1.6.7"
103
+
104
+brace-expansion@*, brace-expansion@^1.1.7:
105
+  version "1.1.11"
106
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
107
+  integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
108
+  dependencies:
109
+    balanced-match "^1.0.0"
110
+    concat-map "0.0.1"
111
+
112
+bytes@*, bytes@3.0.0:
113
+  version "3.0.0"
114
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
115
+  integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
116
+
117
+chalk@1.1.3, chalk@^1.1.1:
118
+  version "1.1.3"
119
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
120
+  integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
121
+  dependencies:
122
+    ansi-styles "^2.2.1"
123
+    escape-string-regexp "^1.0.2"
124
+    has-ansi "^2.0.0"
125
+    strip-ansi "^3.0.0"
126
+    supports-color "^2.0.0"
127
+
128
+compressible@*, compressible@~2.0.13, compressible@~2.0.14:
129
+  version "2.0.15"
130
+  resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.15.tgz#857a9ab0a7e5a07d8d837ed43fe2defff64fe212"
131
+  integrity sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==
132
+  dependencies:
133
+    mime-db ">= 1.36.0 < 2"
134
+
135
+compression@1.7.2:
136
+  version "1.7.2"
137
+  resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69"
138
+  integrity sha1-qv+81qr4VLROuygDU9WtFlH1mmk=
139
+  dependencies:
140
+    accepts "~1.3.4"
141
+    bytes "3.0.0"
142
+    compressible "~2.0.13"
143
+    debug "2.6.9"
144
+    on-headers "~1.0.1"
145
+    safe-buffer "5.1.1"
146
+    vary "~1.1.2"
147
+
148
+compression@^1.6.0:
149
+  version "1.7.3"
150
+  resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db"
151
+  integrity sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==
152
+  dependencies:
153
+    accepts "~1.3.5"
154
+    bytes "3.0.0"
155
+    compressible "~2.0.14"
156
+    debug "2.6.9"
157
+    on-headers "~1.0.1"
158
+    safe-buffer "5.1.2"
159
+    vary "~1.1.2"
160
+
161
+concat-map@*, concat-map@0.0.1:
162
+  version "0.0.1"
163
+  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
164
+  integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
165
+
166
+content-disposition@*:
167
+  version "0.5.3"
168
+  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
169
+  integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
170
+  dependencies:
171
+    safe-buffer "5.1.2"
172
+
173
+content-disposition@0.5.2:
174
+  version "0.5.2"
175
+  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
176
+  integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ=
177
+
178
+content-type@*, content-type@~1.0.4:
179
+  version "1.0.4"
180
+  resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
181
+  integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
182
+
183
+cookie-signature@1.0.6:
184
+  version "1.0.6"
185
+  resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
186
+  integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
187
+
188
+cookie@*, cookie@0.3.1:
189
+  version "0.3.1"
190
+  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
191
+  integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
192
+
193
+cordova-android@^7.1.4:
194
+  version "7.1.4"
195
+  resolved "https://registry.yarnpkg.com/cordova-android/-/cordova-android-7.1.4.tgz#25261ad66cc64f42a30b70be005901fa30e2430e"
196
+  integrity sha512-Rtvu002I83uzfVyCsE6p2krFKVHt9TSAqZUATes+zH+o9cdxYGrLHY+PKCQo4SLCdSMdrkIHCDnQPTYTp/d7+g==
197
+  dependencies:
198
+    android-versions "1.4.0"
199
+    base64-js "1.2.0"
200
+    big-integer "1.6.32"
201
+    cordova-common "2.2.5"
202
+    elementtree "0.1.6"
203
+    glob "5.0.15"
204
+    nopt "3.0.1"
205
+    path-is-absolute "1.0.1"
206
+    plist "2.1.0"
207
+    properties-parser "0.2.3"
208
+    q "1.4.1"
209
+    sax "0.3.5"
210
+    semver "5.5.0"
211
+    shelljs "0.5.3"
212
+    xmlbuilder "8.2.2"
213
+
214
+cordova-browser@^5.0.4:
215
+  version "5.0.4"
216
+  resolved "https://registry.yarnpkg.com/cordova-browser/-/cordova-browser-5.0.4.tgz#a89d1f37a89c66c83af6ad90e8d62e57dec0ce60"
217
+  integrity sha512-EDuG+9NGsaYpNSY6wF0kR34m1m38V+nRglGXxQ609fgMYrMHEYR2lg38nDr1Os4qeF0LJz8UQ7nq7Y+idg6Aig==
218
+  dependencies:
219
+    ansi-regex "2.1.1"
220
+    ansi-styles "2.2.1"
221
+    array-flatten "1.1.1"
222
+    base64-js "1.2.0"
223
+    body-parser "1.18.2"
224
+    chalk "1.1.3"
225
+    compression "1.7.2"
226
+    cookie-signature "1.0.6"
227
+    cordova-common "2.2.5"
228
+    cordova-serve "2.0.1"
229
+    debug "2.6.9"
230
+    elementtree "0.1.6"
231
+    glob "5.0.15"
232
+    has-ansi "2.0.0"
233
+    http-errors "1.6.3"
234
+    iconv-lite "0.4.19"
235
+    ipaddr.js "1.6.0"
236
+    mime "1.4.1"
237
+    mime-db "1.33.0"
238
+    mime-types "2.1.18"
239
+    ms "2.0.0"
240
+    nopt "3.0.6"
241
+    path-to-regexp "0.1.7"
242
+    plist "2.1.0"
243
+    proxy-addr "2.0.3"
244
+    qs "6.5.1"
245
+    raw-body "2.3.2"
246
+    safe-buffer "5.1.1"
247
+    sax "0.3.5"
248
+    shelljs "0.5.3"
249
+    statuses "1.4.0"
250
+    strip-ansi "3.0.1"
251
+    supports-color "2.0.0"
252
+    xmlbuilder "8.2.2"
253
+
254
+cordova-common@2.2.5:
255
+  version "2.2.5"
256
+  resolved "https://registry.yarnpkg.com/cordova-common/-/cordova-common-2.2.5.tgz#f93cef2ad494cfcbf56c46e3d612aaa9cb5fcc32"
257
+  integrity sha1-+TzvKtSUz8v1bEbj1hKqqctfzDI=
258
+  dependencies:
259
+    ansi "^0.3.1"
260
+    bplist-parser "^0.1.0"
261
+    cordova-registry-mapper "^1.1.8"
262
+    elementtree "0.1.6"
263
+    glob "^5.0.13"
264
+    minimatch "^3.0.0"
265
+    plist "^2.1.0"
266
+    q "^1.4.1"
267
+    shelljs "^0.5.3"
268
+    underscore "^1.8.3"
269
+    unorm "^1.3.3"
270
+
271
+cordova-plugin-app-version@^0.1.9:
272
+  version "0.1.9"
273
+  resolved "https://registry.yarnpkg.com/cordova-plugin-app-version/-/cordova-plugin-app-version-0.1.9.tgz#9db0607863337a710489302e5f50a904f1449bdb"
274
+  integrity sha1-nbBgeGMzenEEiTAuX1CpBPFEm9s=
275
+
276
+cordova-plugin-headercolor@^1.0.0:
277
+  version "1.0.0"
278
+  resolved "https://registry.yarnpkg.com/cordova-plugin-headercolor/-/cordova-plugin-headercolor-1.0.0.tgz#020acd943787ee039d67f679e8d9ea6d38920316"
279
+  integrity sha1-AgrNlDeH7gOdZ/Z56NnqbTiSAxY=
280
+
281
+cordova-plugin-statusbar@^2.4.2:
282
+  version "2.4.2"
283
+  resolved "https://registry.yarnpkg.com/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.4.2.tgz#fc1fbdc0d8d7033a7e8e1f1f7ff167ac9bd4faf6"
284
+  integrity sha1-/B+9wNjXAzp+jh8ff/FnrJvU+vY=
285
+
286
+cordova-plugin-whitelist@^1.3.3:
287
+  version "1.3.3"
288
+  resolved "https://registry.yarnpkg.com/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.3.tgz#b5e85ecdbbfe5aeded40a1bf4ee2372e67d96fb4"
289
+  integrity sha1-tehezbv+Wu3tQKG/TuI3LmfZb7Q=
290
+
291
+cordova-registry-mapper@*, cordova-registry-mapper@^1.1.8:
292
+  version "1.1.15"
293
+  resolved "https://registry.yarnpkg.com/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz#e244b9185b8175473bff6079324905115f83dc7c"
294
+  integrity sha1-4kS5GFuBdUc7/2B5MkkFEV+D3Hw=
295
+
296
+cordova-serve@2.0.1:
297
+  version "2.0.1"
298
+  resolved "https://registry.yarnpkg.com/cordova-serve/-/cordova-serve-2.0.1.tgz#79e384b9da0d45fb3bd6ea46bd69120dbfda3971"
299
+  integrity sha512-3Xl1D5eyiQlY5ow6Kn/say0us2TqSw/zgQmyTLxbewTngQZ1CIqxmqD7EFGoCNBrB4HsdPmpiSpFCitybKQN9g==
300
+  dependencies:
301
+    chalk "^1.1.1"
302
+    compression "^1.6.0"
303
+    express "^4.13.3"
304
+    opn "^5.3.0"
305
+    shelljs "^0.5.3"
306
+
307
+debug@2.6.9:
308
+  version "2.6.9"
309
+  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
310
+  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
311
+  dependencies:
312
+    ms "2.0.0"
313
+
314
+depd@*:
315
+  version "2.0.0"
316
+  resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
317
+  integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
318
+
319
+depd@1.1.1:
320
+  version "1.1.1"
321
+  resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
322
+  integrity sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=
323
+
324
+depd@~1.1.1, depd@~1.1.2:
325
+  version "1.1.2"
326
+  resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
327
+  integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
328
+
329
+destroy@*, destroy@~1.0.4:
330
+  version "1.0.4"
331
+  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
332
+  integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
333
+
334
+ee-first@*, ee-first@1.1.1:
335
+  version "1.1.1"
336
+  resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
337
+  integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
338
+
339
+elementtree@0.1.6:
340
+  version "0.1.6"
341
+  resolved "https://registry.yarnpkg.com/elementtree/-/elementtree-0.1.6.tgz#2ac4c46ea30516c8c4cbdb5e3ac7418e592de20c"
342
+  integrity sha1-KsTEbqMFFsjEy9teOsdBjlkt4gw=
343
+  dependencies:
344
+    sax "0.3.5"
345
+
346
+encodeurl@*, encodeurl@~1.0.2:
347
+  version "1.0.2"
348
+  resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
349
+  integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
350
+
351
+escape-html@*, escape-html@~1.0.3:
352
+  version "1.0.3"
353
+  resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
354
+  integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
355
+
356
+escape-string-regexp@*, escape-string-regexp@^1.0.2:
357
+  version "1.0.5"
358
+  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
359
+  integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
360
+
361
+etag@*, etag@~1.8.1:
362
+  version "1.8.1"
363
+  resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
364
+  integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
365
+
366
+express@*, express@^4.13.3:
367
+  version "4.16.4"
368
+  resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e"
369
+  integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==
370
+  dependencies:
371
+    accepts "~1.3.5"
372
+    array-flatten "1.1.1"
373
+    body-parser "1.18.3"
374
+    content-disposition "0.5.2"
375
+    content-type "~1.0.4"
376
+    cookie "0.3.1"
377
+    cookie-signature "1.0.6"
378
+    debug "2.6.9"
379
+    depd "~1.1.2"
380
+    encodeurl "~1.0.2"
381
+    escape-html "~1.0.3"
382
+    etag "~1.8.1"
383
+    finalhandler "1.1.1"
384
+    fresh "0.5.2"
385
+    merge-descriptors "1.0.1"
386
+    methods "~1.1.2"
387
+    on-finished "~2.3.0"
388
+    parseurl "~1.3.2"
389
+    path-to-regexp "0.1.7"
390
+    proxy-addr "~2.0.4"
391
+    qs "6.5.2"
392
+    range-parser "~1.2.0"
393
+    safe-buffer "5.1.2"
394
+    send "0.16.2"
395
+    serve-static "1.13.2"
396
+    setprototypeof "1.1.0"
397
+    statuses "~1.4.0"
398
+    type-is "~1.6.16"
399
+    utils-merge "1.0.1"
400
+    vary "~1.1.2"
401
+
402
+finalhandler@*, finalhandler@1.1.1:
403
+  version "1.1.1"
404
+  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105"
405
+  integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==
406
+  dependencies:
407
+    debug "2.6.9"
408
+    encodeurl "~1.0.2"
409
+    escape-html "~1.0.3"
410
+    on-finished "~2.3.0"
411
+    parseurl "~1.3.2"
412
+    statuses "~1.4.0"
413
+    unpipe "~1.0.0"
414
+
415
+forwarded@*, forwarded@~0.1.2:
416
+  version "0.1.2"
417
+  resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
418
+  integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
419
+
420
+fresh@*, fresh@0.5.2:
421
+  version "0.5.2"
422
+  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
423
+  integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
424
+
425
+glob@5.0.15, glob@^5.0.13:
426
+  version "5.0.15"
427
+  resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
428
+  integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=
429
+  dependencies:
430
+    inflight "^1.0.4"
431
+    inherits "2"
432
+    minimatch "2 || 3"
433
+    once "^1.3.0"
434
+    path-is-absolute "^1.0.0"
435
+
436
+has-ansi@2.0.0, has-ansi@^2.0.0:
437
+  version "2.0.0"
438
+  resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
439
+  integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
440
+  dependencies:
441
+    ansi-regex "^2.0.0"
442
+
443
+http-errors@1.6.2:
444
+  version "1.6.2"
445
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736"
446
+  integrity sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=
447
+  dependencies:
448
+    depd "1.1.1"
449
+    inherits "2.0.3"
450
+    setprototypeof "1.0.3"
451
+    statuses ">= 1.3.1 < 2"
452
+
453
+http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3:
454
+  version "1.6.3"
455
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
456
+  integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=
457
+  dependencies:
458
+    depd "~1.1.2"
459
+    inherits "2.0.3"
460
+    setprototypeof "1.1.0"
461
+    statuses ">= 1.4.0 < 2"
462
+
463
+iconv-lite@0.4.19:
464
+  version "0.4.19"
465
+  resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
466
+  integrity sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==
467
+
468
+iconv-lite@0.4.23:
469
+  version "0.4.23"
470
+  resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
471
+  integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==
472
+  dependencies:
473
+    safer-buffer ">= 2.1.2 < 3"
474
+
475
+inflight@*, inflight@^1.0.4:
476
+  version "1.0.6"
477
+  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
478
+  integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
479
+  dependencies:
480
+    once "^1.3.0"
481
+    wrappy "1"
482
+
483
+inherits@*, inherits@2, inherits@2.0.3:
484
+  version "2.0.3"
485
+  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
486
+  integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
487
+
488
+ipaddr.js@1.6.0:
489
+  version "1.6.0"
490
+  resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b"
491
+  integrity sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=
492
+
493
+ipaddr.js@1.8.0:
494
+  version "1.8.0"
495
+  resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e"
496
+  integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4=
497
+
498
+is-wsl@*, is-wsl@^1.1.0:
499
+  version "1.1.0"
500
+  resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
501
+  integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
502
+
503
+media-typer@*:
504
+  version "1.0.1"
505
+  resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.0.1.tgz#e39d677e19a011c52d2681f430d1adafb299dd41"
506
+  integrity sha512-v42gdPIuqYCoDVH5OiaKsVrv6aJqdMWJzl8KCyDs/KeDyBveYp3Wxq4UWJfsWjkSZUNC0xlLfDlLCPa1h/oo+g==
507
+
508
+media-typer@0.3.0:
509
+  version "0.3.0"
510
+  resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
511
+  integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
512
+
513
+merge-descriptors@*, merge-descriptors@1.0.1:
514
+  version "1.0.1"
515
+  resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
516
+  integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
517
+
518
+methods@*, methods@~1.1.2:
519
+  version "1.1.2"
520
+  resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
521
+  integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
522
+
523
+mime-db@1.33.0, mime-db@~1.33.0:
524
+  version "1.33.0"
525
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
526
+  integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==
527
+
528
+"mime-db@>= 1.36.0 < 2", mime-db@~1.37.0:
529
+  version "1.37.0"
530
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8"
531
+  integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==
532
+
533
+mime-types@2.1.18:
534
+  version "2.1.18"
535
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
536
+  integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==
537
+  dependencies:
538
+    mime-db "~1.33.0"
539
+
540
+mime-types@~2.1.18:
541
+  version "2.1.21"
542
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96"
543
+  integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==
544
+  dependencies:
545
+    mime-db "~1.37.0"
546
+
547
+mime@1.4.1:
548
+  version "1.4.1"
549
+  resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
550
+  integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==
551
+
552
+minimatch@*, "minimatch@2 || 3", minimatch@^3.0.0:
553
+  version "3.0.4"
554
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
555
+  integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
556
+  dependencies:
557
+    brace-expansion "^1.1.7"
558
+
559
+ms@2.0.0:
560
+  version "2.0.0"
561
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
562
+  integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
563
+
564
+negotiator@*, negotiator@0.6.1:
565
+  version "0.6.1"
566
+  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
567
+  integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=
568
+
569
+nopt@3.0.1:
570
+  version "3.0.1"
571
+  resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.1.tgz#bce5c42446a3291f47622a370abbf158fbbacbfd"
572
+  integrity sha1-vOXEJEajKR9HYio3CrvxWPu6y/0=
573
+  dependencies:
574
+    abbrev "1"
575
+
576
+nopt@3.0.6:
577
+  version "3.0.6"
578
+  resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
579
+  integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
580
+  dependencies:
581
+    abbrev "1"
582
+
583
+on-finished@*, on-finished@~2.3.0:
584
+  version "2.3.0"
585
+  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
586
+  integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
587
+  dependencies:
588
+    ee-first "1.1.1"
589
+
590
+on-headers@*, on-headers@~1.0.1:
591
+  version "1.0.1"
592
+  resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
593
+  integrity sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=
594
+
595
+once@*, once@^1.3.0:
596
+  version "1.4.0"
597
+  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
598
+  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
599
+  dependencies:
600
+    wrappy "1"
601
+
602
+opn@*, opn@^5.3.0:
603
+  version "5.4.0"
604
+  resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035"
605
+  integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==
606
+  dependencies:
607
+    is-wsl "^1.1.0"
608
+
609
+parseurl@*, parseurl@~1.3.2:
610
+  version "1.3.2"
611
+  resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
612
+  integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=
613
+
614
+path-is-absolute@*:
615
+  version "2.0.0"
616
+  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-2.0.0.tgz#cba416f4f3be5d068afe2083d9b3b3707414533d"
617
+  integrity sha512-ajROpjq1SLxJZsgSVCcVIt+ZebVH+PwJtPnVESjfg6JKwJGwAgHRC3zIcjvI0LnecjIHCJhtfNZ/Y/RregqyXg==
618
+
619
+path-is-absolute@1.0.1, path-is-absolute@^1.0.0:
620
+  version "1.0.1"
621
+  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
622
+  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
623
+
624
+path-to-regexp@0.1.7:
625
+  version "0.1.7"
626
+  resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
627
+  integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
628
+
629
+plist@2.1.0, plist@^2.1.0:
630
+  version "2.1.0"
631
+  resolved "https://registry.yarnpkg.com/plist/-/plist-2.1.0.tgz#57ccdb7a0821df21831217a3cad54e3e146a1025"
632
+  integrity sha1-V8zbeggh3yGDEhejytVOPhRqECU=
633
+  dependencies:
634
+    base64-js "1.2.0"
635
+    xmlbuilder "8.2.2"
636
+    xmldom "0.1.x"
637
+
638
+properties-parser@0.2.3:
639
+  version "0.2.3"
640
+  resolved "https://registry.yarnpkg.com/properties-parser/-/properties-parser-0.2.3.tgz#f7591255f707abbff227c7b56b637dbb0373a10f"
641
+  integrity sha1-91kSVfcHq7/yJ8e1a2N9uwNzoQ8=
642
+
643
+proxy-addr@2.0.3:
644
+  version "2.0.3"
645
+  resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341"
646
+  integrity sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==
647
+  dependencies:
648
+    forwarded "~0.1.2"
649
+    ipaddr.js "1.6.0"
650
+
651
+proxy-addr@~2.0.4:
652
+  version "2.0.4"
653
+  resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93"
654
+  integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==
655
+  dependencies:
656
+    forwarded "~0.1.2"
657
+    ipaddr.js "1.8.0"
658
+
659
+q@*, q@^1.4.1:
660
+  version "1.5.1"
661
+  resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
662
+  integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
663
+
664
+q@1.4.1:
665
+  version "1.4.1"
666
+  resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
667
+  integrity sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=
668
+
669
+qs@6.5.1:
670
+  version "6.5.1"
671
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
672
+  integrity sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==
673
+
674
+qs@6.5.2:
675
+  version "6.5.2"
676
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
677
+  integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
678
+
679
+range-parser@*, range-parser@~1.2.0:
680
+  version "1.2.0"
681
+  resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
682
+  integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=
683
+
684
+raw-body@2.3.2:
685
+  version "2.3.2"
686
+  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89"
687
+  integrity sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=
688
+  dependencies:
689
+    bytes "3.0.0"
690
+    http-errors "1.6.2"
691
+    iconv-lite "0.4.19"
692
+    unpipe "1.0.0"
693
+
694
+raw-body@2.3.3:
695
+  version "2.3.3"
696
+  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3"
697
+  integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==
698
+  dependencies:
699
+    bytes "3.0.0"
700
+    http-errors "1.6.3"
701
+    iconv-lite "0.4.23"
702
+    unpipe "1.0.0"
703
+
704
+safe-buffer@5.1.1:
705
+  version "5.1.1"
706
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
707
+  integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==
708
+
709
+safe-buffer@5.1.2:
710
+  version "5.1.2"
711
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
712
+  integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
713
+
714
+"safer-buffer@>= 2.1.2 < 3":
715
+  version "2.1.2"
716
+  resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
717
+  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
718
+
719
+sax@0.3.5:
720
+  version "0.3.5"
721
+  resolved "https://registry.yarnpkg.com/sax/-/sax-0.3.5.tgz#88fcfc1f73c0c8bbd5b7c776b6d3f3501eed073d"
722
+  integrity sha1-iPz8H3PAyLvVt8d2ttPzUB7tBz0=
723
+
724
+semver@5.5.0:
725
+  version "5.5.0"
726
+  resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
727
+  integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==
728
+
729
+semver@^5.4.1:
730
+  version "5.6.0"
731
+  resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
732
+  integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
733
+
734
+send@*, send@0.16.2:
735
+  version "0.16.2"
736
+  resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
737
+  integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==
738
+  dependencies:
739
+    debug "2.6.9"
740
+    depd "~1.1.2"
741
+    destroy "~1.0.4"
742
+    encodeurl "~1.0.2"
743
+    escape-html "~1.0.3"
744
+    etag "~1.8.1"
745
+    fresh "0.5.2"
746
+    http-errors "~1.6.2"
747
+    mime "1.4.1"
748
+    ms "2.0.0"
749
+    on-finished "~2.3.0"
750
+    range-parser "~1.2.0"
751
+    statuses "~1.4.0"
752
+
753
+serve-static@*, serve-static@1.13.2:
754
+  version "1.13.2"
755
+  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1"
756
+  integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==
757
+  dependencies:
758
+    encodeurl "~1.0.2"
759
+    escape-html "~1.0.3"
760
+    parseurl "~1.3.2"
761
+    send "0.16.2"
762
+
763
+setprototypeof@*:
764
+  version "1.1.1"
765
+  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
766
+  integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
767
+
768
+setprototypeof@1.0.3:
769
+  version "1.0.3"
770
+  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
771
+  integrity sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=
772
+
773
+setprototypeof@1.1.0:
774
+  version "1.1.0"
775
+  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
776
+  integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
777
+
778
+shelljs@0.5.3, shelljs@^0.5.3:
779
+  version "0.5.3"
780
+  resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.5.3.tgz#c54982b996c76ef0c1e6b59fbdc5825f5b713113"
781
+  integrity sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=
782
+
783
+statuses@1.4.0, statuses@~1.4.0:
784
+  version "1.4.0"
785
+  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
786
+  integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==
787
+
788
+"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2":
789
+  version "1.5.0"
790
+  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
791
+  integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
792
+
793
+strip-ansi@3.0.1, strip-ansi@^3.0.0:
794
+  version "3.0.1"
795
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
796
+  integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
797
+  dependencies:
798
+    ansi-regex "^2.0.0"
799
+
800
+supports-color@2.0.0, supports-color@^2.0.0:
801
+  version "2.0.0"
802
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
803
+  integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
804
+
805
+type-is@*, type-is@~1.6.15, type-is@~1.6.16:
806
+  version "1.6.16"
807
+  resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194"
808
+  integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==
809
+  dependencies:
810
+    media-typer "0.3.0"
811
+    mime-types "~2.1.18"
812
+
813
+underscore@*, underscore@^1.8.3:
814
+  version "1.9.1"
815
+  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961"
816
+  integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==
817
+
818
+unorm@*, unorm@^1.3.3:
819
+  version "1.4.1"
820
+  resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.4.1.tgz#364200d5f13646ca8bcd44490271335614792300"
821
+  integrity sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA=
822
+
823
+unpipe@*, unpipe@1.0.0, unpipe@~1.0.0:
824
+  version "1.0.0"
825
+  resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
826
+  integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
827
+
828
+utils-merge@*, utils-merge@1.0.1:
829
+  version "1.0.1"
830
+  resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
831
+  integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
832
+
833
+vary@*, vary@~1.1.2:
834
+  version "1.1.2"
835
+  resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
836
+  integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
837
+
838
+wrappy@*, wrappy@1:
839
+  version "1.0.2"
840
+  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
841
+  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
842
+
843
+xmlbuilder@8.2.2:
844
+  version "8.2.2"
845
+  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773"
846
+  integrity sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=
847
+
848
+xmldom@*, xmldom@0.1.x:
849
+  version "0.1.27"
850
+  resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9"
851
+  integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk=

+ 7
- 0
yarninstall.sh View File

@@ -0,0 +1,7 @@
1
+#!/bin/sh
2
+
3
+yarn install
4
+
5
+# Install frontend dependencies with Yarn, in www folder
6
+cd www
7
+yarn install

Loading…
Cancel
Save