Allison Ziegler преди 6 години
родител
ревизия
a5faf75066
променени са 84 файла, в които са добавени 7901 реда и са изтрити 1 реда
  1. 17
    0
      zlg/.editorconfig
  2. 35
    0
      zlg/.gitignore
  3. 84
    0
      zlg/config.xml
  4. 8
    0
      zlg/ionic.config.json
  5. 6805
    0
      zlg/package-lock.json
  6. 41
    0
      zlg/package.json
  7. 8
    0
      zlg/resources/README.md
  8. BIN
      zlg/resources/android/icon/drawable-hdpi-icon.png
  9. BIN
      zlg/resources/android/icon/drawable-ldpi-icon.png
  10. BIN
      zlg/resources/android/icon/drawable-mdpi-icon.png
  11. BIN
      zlg/resources/android/icon/drawable-xhdpi-icon.png
  12. BIN
      zlg/resources/android/icon/drawable-xxhdpi-icon.png
  13. BIN
      zlg/resources/android/icon/drawable-xxxhdpi-icon.png
  14. BIN
      zlg/resources/android/splash/drawable-land-hdpi-screen.png
  15. BIN
      zlg/resources/android/splash/drawable-land-ldpi-screen.png
  16. BIN
      zlg/resources/android/splash/drawable-land-mdpi-screen.png
  17. BIN
      zlg/resources/android/splash/drawable-land-xhdpi-screen.png
  18. BIN
      zlg/resources/android/splash/drawable-land-xxhdpi-screen.png
  19. BIN
      zlg/resources/android/splash/drawable-land-xxxhdpi-screen.png
  20. BIN
      zlg/resources/android/splash/drawable-port-hdpi-screen.png
  21. BIN
      zlg/resources/android/splash/drawable-port-ldpi-screen.png
  22. BIN
      zlg/resources/android/splash/drawable-port-mdpi-screen.png
  23. BIN
      zlg/resources/android/splash/drawable-port-xhdpi-screen.png
  24. BIN
      zlg/resources/android/splash/drawable-port-xxhdpi-screen.png
  25. BIN
      zlg/resources/android/splash/drawable-port-xxxhdpi-screen.png
  26. BIN
      zlg/resources/icon.png
  27. BIN
      zlg/resources/ios/icon/icon-1024.png
  28. BIN
      zlg/resources/ios/icon/icon-40.png
  29. BIN
      zlg/resources/ios/icon/icon-40@2x.png
  30. BIN
      zlg/resources/ios/icon/icon-40@3x.png
  31. BIN
      zlg/resources/ios/icon/icon-50.png
  32. BIN
      zlg/resources/ios/icon/icon-50@2x.png
  33. BIN
      zlg/resources/ios/icon/icon-60.png
  34. BIN
      zlg/resources/ios/icon/icon-60@2x.png
  35. BIN
      zlg/resources/ios/icon/icon-60@3x.png
  36. BIN
      zlg/resources/ios/icon/icon-72.png
  37. BIN
      zlg/resources/ios/icon/icon-72@2x.png
  38. BIN
      zlg/resources/ios/icon/icon-76.png
  39. BIN
      zlg/resources/ios/icon/icon-76@2x.png
  40. BIN
      zlg/resources/ios/icon/icon-83.5@2x.png
  41. BIN
      zlg/resources/ios/icon/icon-small.png
  42. BIN
      zlg/resources/ios/icon/icon-small@2x.png
  43. BIN
      zlg/resources/ios/icon/icon-small@3x.png
  44. BIN
      zlg/resources/ios/icon/icon.png
  45. BIN
      zlg/resources/ios/icon/icon@2x.png
  46. BIN
      zlg/resources/ios/splash/Default-568h@2x~iphone.png
  47. BIN
      zlg/resources/ios/splash/Default-667h.png
  48. BIN
      zlg/resources/ios/splash/Default-736h.png
  49. BIN
      zlg/resources/ios/splash/Default-Landscape-736h.png
  50. BIN
      zlg/resources/ios/splash/Default-Landscape@2x~ipad.png
  51. BIN
      zlg/resources/ios/splash/Default-Landscape@~ipadpro.png
  52. BIN
      zlg/resources/ios/splash/Default-Landscape~ipad.png
  53. BIN
      zlg/resources/ios/splash/Default-Portrait@2x~ipad.png
  54. BIN
      zlg/resources/ios/splash/Default-Portrait@~ipadpro.png
  55. BIN
      zlg/resources/ios/splash/Default-Portrait~ipad.png
  56. BIN
      zlg/resources/ios/splash/Default@2x~iphone.png
  57. BIN
      zlg/resources/ios/splash/Default@2x~universal~anyany.png
  58. BIN
      zlg/resources/ios/splash/Default~iphone.png
  59. BIN
      zlg/resources/splash.png
  60. 22
    0
      zlg/src/app/app.component.ts
  61. 1
    0
      zlg/src/app/app.html
  62. 38
    0
      zlg/src/app/app.module.ts
  63. 517
    0
      zlg/src/app/app.scss
  64. 5
    0
      zlg/src/app/main.ts
  65. BIN
      zlg/src/assets/icon/favicon.ico
  66. BIN
      zlg/src/assets/img/0iNAJ9CJQ1qT57JTEweX_palePurpVault.png
  67. BIN
      zlg/src/assets/img/B8fU4Qi2S9SpCk0HgNEd_24042562-xray-bank-vault-door-isolated-on-white-background-high-resolution-3d-.jpg
  68. BIN
      zlg/src/assets/img/D4UZyfN9Q4ubqhq8W2HH_palePurpVault.png
  69. BIN
      zlg/src/assets/img/LCstrJnTHa2u8mw4zCZf_24042562-xray-bank-vault-door-isolated-on-white-background-high-resolution-3d-.jpg
  70. BIN
      zlg/src/assets/img/VaeiEn86RE2Rq1r2a1AJ_palePurpVault.png
  71. BIN
      zlg/src/assets/img/bPYeQXAFTB6erYxxdULq_palePurpVault.png
  72. BIN
      zlg/src/assets/img/l2IfiICQcmfviNPlefTV_24042562-xray-bank-vault-door-isolated-on-white-background-high-resolution-3d-.jpg
  73. BIN
      zlg/src/assets/imgs/logo.png
  74. 49
    0
      zlg/src/index.html
  75. 13
    0
      zlg/src/manifest.json
  76. 30
    0
      zlg/src/pages/home/home.html
  77. 3
    0
      zlg/src/pages/home/home.scss
  78. 50
    0
      zlg/src/pages/home/home.ts
  79. 17
    0
      zlg/src/providers/websocket/websocket.ts
  80. 31
    0
      zlg/src/service-worker.js
  81. 88
    0
      zlg/src/theme/variables.scss
  82. 28
    0
      zlg/tsconfig.json
  83. 11
    0
      zlg/tslint.json
  84. 0
    1
      zlg/zlg

+ 17
- 0
zlg/.editorconfig Целия файл

@@ -0,0 +1,17 @@
1
+# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs
2
+# editorconfig.org
3
+
4
+root = true
5
+
6
+[*]
7
+indent_style = space
8
+indent_size = 2
9
+
10
+# We recommend you to keep these unchanged
11
+end_of_line = lf
12
+charset = utf-8
13
+trim_trailing_whitespace = true
14
+insert_final_newline = true
15
+
16
+[*.md]
17
+trim_trailing_whitespace = false

+ 35
- 0
zlg/.gitignore Целия файл

@@ -0,0 +1,35 @@
1
+# Specifies intentionally untracked files to ignore when using Git
2
+# http://git-scm.com/docs/gitignore
3
+
4
+*~
5
+*.sw[mnpcod]
6
+*.log
7
+*.tmp
8
+*.tmp.*
9
+log.txt
10
+*.sublime-project
11
+*.sublime-workspace
12
+.vscode/
13
+npm-debug.log*
14
+
15
+.idea/
16
+.ionic/
17
+.sourcemaps/
18
+.sass-cache/
19
+.tmp/
20
+.versions/
21
+coverage/
22
+dist/
23
+node_modules/
24
+tmp/
25
+temp/
26
+platforms/
27
+plugins/
28
+plugins/android.json
29
+plugins/ios.json
30
+www/
31
+$RECYCLE.BIN/
32
+
33
+.DS_Store
34
+Thumbs.db
35
+UserInterfaceState.xcuserstate

+ 84
- 0
zlg/config.xml Целия файл

@@ -0,0 +1,84 @@
1
+<?xml version='1.0' encoding='utf-8'?>
2
+<widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
3
+    <name>zlg</name>
4
+    <description>An awesome Ionic/Cordova app.</description>
5
+    <author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
6
+    <content src="index.html" />
7
+    <access origin="*" />
8
+    <allow-intent href="http://*/*" />
9
+    <allow-intent href="https://*/*" />
10
+    <allow-intent href="tel:*" />
11
+    <allow-intent href="sms:*" />
12
+    <allow-intent href="mailto:*" />
13
+    <allow-intent href="geo:*" />
14
+    <preference name="ScrollEnabled" value="false" />
15
+    <preference name="android-minSdkVersion" value="19" />
16
+    <preference name="BackupWebStorage" value="none" />
17
+    <preference name="SplashMaintainAspectRatio" value="true" />
18
+    <preference name="FadeSplashScreenDuration" value="300" />
19
+    <preference name="SplashShowOnlyFirstTime" value="false" />
20
+    <preference name="SplashScreen" value="screen" />
21
+    <preference name="SplashScreenDelay" value="3000" />
22
+    <platform name="android">
23
+        <allow-intent href="market:*" />
24
+        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
25
+        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
26
+        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
27
+        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
28
+        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
29
+        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
30
+        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
31
+        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
32
+        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
33
+        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
34
+        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
35
+        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
36
+        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
37
+        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
38
+        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
39
+        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
40
+        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
41
+        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
42
+    </platform>
43
+    <platform name="ios">
44
+        <allow-intent href="itms:*" />
45
+        <allow-intent href="itms-apps:*" />
46
+        <icon height="57" src="resources/ios/icon/icon.png" width="57" />
47
+        <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
48
+        <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
49
+        <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
50
+        <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
51
+        <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
52
+        <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
53
+        <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
54
+        <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
55
+        <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
56
+        <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
57
+        <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
58
+        <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
59
+        <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
60
+        <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
61
+        <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
62
+        <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
63
+        <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
64
+        <icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
65
+        <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
66
+        <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
67
+        <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
68
+        <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
69
+        <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
70
+        <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
71
+        <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
72
+        <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
73
+        <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
74
+        <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
75
+        <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
76
+        <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
77
+        <splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
78
+    </platform>
79
+    <plugin name="cordova-plugin-whitelist" spec="1.3.3" />
80
+    <plugin name="cordova-plugin-device" spec="2.0.2" />
81
+    <plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
82
+    <plugin name="cordova-plugin-ionic-webview" spec="^2.0.0" />
83
+    <plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
84
+</widget>

+ 8
- 0
zlg/ionic.config.json Целия файл

@@ -0,0 +1,8 @@
1
+{
2
+  "name": "zlg",
3
+  "app_id": "",
4
+  "type": "ionic-angular",
5
+  "integrations": {
6
+    "cordova": {}
7
+  }
8
+}

+ 6805
- 0
zlg/package-lock.json
Файловите разлики са ограничени, защото са твърде много
Целия файл


+ 41
- 0
zlg/package.json Целия файл

@@ -0,0 +1,41 @@
1
+{
2
+  "name": "zlg",
3
+  "version": "0.0.1",
4
+  "author": "Ionic Framework",
5
+  "homepage": "http://ionicframework.com/",
6
+  "private": true,
7
+  "scripts": {
8
+    "start": "ionic-app-scripts serve",
9
+    "clean": "ionic-app-scripts clean",
10
+    "build": "ionic-app-scripts build",
11
+    "lint": "ionic-app-scripts lint"
12
+  },
13
+  "dependencies": {
14
+    "@angular/animations": "5.2.11",
15
+    "@angular/common": "5.2.11",
16
+    "@angular/compiler": "5.2.11",
17
+    "@angular/compiler-cli": "5.2.11",
18
+    "@angular/core": "5.2.11",
19
+    "@angular/forms": "5.2.11",
20
+    "@angular/http": "5.2.11",
21
+    "@angular/platform-browser": "5.2.11",
22
+    "@angular/platform-browser-dynamic": "5.2.11",
23
+    "@ionic-native/core": "~4.10.0",
24
+    "@ionic-native/splash-screen": "~4.10.0",
25
+    "@ionic-native/status-bar": "~4.10.0",
26
+    "@ionic/storage": "2.1.3",
27
+    "ionic-angular": "3.9.2",
28
+    "ionicons": "3.0.0",
29
+    "ng-socket-io": "^0.2.4",
30
+    "rxjs": "5.5.11",
31
+    "sockjs-client": "^1.1.5",
32
+    "stompjs": "^2.3.3",
33
+    "sw-toolbox": "3.6.0",
34
+    "zone.js": "0.8.26"
35
+  },
36
+  "devDependencies": {
37
+    "@ionic/app-scripts": "3.1.11",
38
+    "typescript": "~2.6.2"
39
+  },
40
+  "description": "An Ionic project"
41
+}

+ 8
- 0
zlg/resources/README.md Целия файл

@@ -0,0 +1,8 @@
1
+These are Cordova resources. You can replace icon.png and splash.png and run
2
+`ionic cordova resources` to generate custom icons and splash screens for your
3
+app. See `ionic cordova resources --help` for details.
4
+
5
+Cordova reference documentation:
6
+
7
+- Icons: https://cordova.apache.org/docs/en/latest/config_ref/images.html
8
+- Splash Screens: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/

BIN
zlg/resources/android/icon/drawable-hdpi-icon.png Целия файл


BIN
zlg/resources/android/icon/drawable-ldpi-icon.png Целия файл


BIN
zlg/resources/android/icon/drawable-mdpi-icon.png Целия файл


BIN
zlg/resources/android/icon/drawable-xhdpi-icon.png Целия файл


BIN
zlg/resources/android/icon/drawable-xxhdpi-icon.png Целия файл


BIN
zlg/resources/android/icon/drawable-xxxhdpi-icon.png Целия файл


BIN
zlg/resources/android/splash/drawable-land-hdpi-screen.png Целия файл


BIN
zlg/resources/android/splash/drawable-land-ldpi-screen.png Целия файл


BIN
zlg/resources/android/splash/drawable-land-mdpi-screen.png Целия файл


BIN
zlg/resources/android/splash/drawable-land-xhdpi-screen.png Целия файл


BIN
zlg/resources/android/splash/drawable-land-xxhdpi-screen.png Целия файл


BIN
zlg/resources/android/splash/drawable-land-xxxhdpi-screen.png Целия файл


BIN
zlg/resources/android/splash/drawable-port-hdpi-screen.png Целия файл


BIN
zlg/resources/android/splash/drawable-port-ldpi-screen.png Целия файл


BIN
zlg/resources/android/splash/drawable-port-mdpi-screen.png Целия файл


BIN
zlg/resources/android/splash/drawable-port-xhdpi-screen.png Целия файл


BIN
zlg/resources/android/splash/drawable-port-xxhdpi-screen.png Целия файл


BIN
zlg/resources/android/splash/drawable-port-xxxhdpi-screen.png Целия файл


BIN
zlg/resources/icon.png Целия файл


BIN
zlg/resources/ios/icon/icon-1024.png Целия файл


BIN
zlg/resources/ios/icon/icon-40.png Целия файл


BIN
zlg/resources/ios/icon/icon-40@2x.png Целия файл


BIN
zlg/resources/ios/icon/icon-40@3x.png Целия файл


BIN
zlg/resources/ios/icon/icon-50.png Целия файл


BIN
zlg/resources/ios/icon/icon-50@2x.png Целия файл


BIN
zlg/resources/ios/icon/icon-60.png Целия файл


BIN
zlg/resources/ios/icon/icon-60@2x.png Целия файл


BIN
zlg/resources/ios/icon/icon-60@3x.png Целия файл


BIN
zlg/resources/ios/icon/icon-72.png Целия файл


BIN
zlg/resources/ios/icon/icon-72@2x.png Целия файл


BIN
zlg/resources/ios/icon/icon-76.png Целия файл


BIN
zlg/resources/ios/icon/icon-76@2x.png Целия файл


BIN
zlg/resources/ios/icon/icon-83.5@2x.png Целия файл


BIN
zlg/resources/ios/icon/icon-small.png Целия файл


BIN
zlg/resources/ios/icon/icon-small@2x.png Целия файл


BIN
zlg/resources/ios/icon/icon-small@3x.png Целия файл


BIN
zlg/resources/ios/icon/icon.png Целия файл


BIN
zlg/resources/ios/icon/icon@2x.png Целия файл


BIN
zlg/resources/ios/splash/Default-568h@2x~iphone.png Целия файл


BIN
zlg/resources/ios/splash/Default-667h.png Целия файл


BIN
zlg/resources/ios/splash/Default-736h.png Целия файл


BIN
zlg/resources/ios/splash/Default-Landscape-736h.png Целия файл


BIN
zlg/resources/ios/splash/Default-Landscape@2x~ipad.png Целия файл


BIN
zlg/resources/ios/splash/Default-Landscape@~ipadpro.png Целия файл


BIN
zlg/resources/ios/splash/Default-Landscape~ipad.png Целия файл


BIN
zlg/resources/ios/splash/Default-Portrait@2x~ipad.png Целия файл


BIN
zlg/resources/ios/splash/Default-Portrait@~ipadpro.png Целия файл


BIN
zlg/resources/ios/splash/Default-Portrait~ipad.png Целия файл


BIN
zlg/resources/ios/splash/Default@2x~iphone.png Целия файл


BIN
zlg/resources/ios/splash/Default@2x~universal~anyany.png Целия файл


BIN
zlg/resources/ios/splash/Default~iphone.png Целия файл


BIN
zlg/resources/splash.png Целия файл


+ 22
- 0
zlg/src/app/app.component.ts Целия файл

@@ -0,0 +1,22 @@
1
+import { Component } from '@angular/core';
2
+import { Platform } from 'ionic-angular';
3
+import { StatusBar } from '@ionic-native/status-bar';
4
+import { SplashScreen } from '@ionic-native/splash-screen';
5
+
6
+import { HomePage } from '../pages/home/home';
7
+@Component({
8
+  templateUrl: 'app.html'
9
+})
10
+export class MyApp {
11
+  rootPage:any = HomePage;
12
+
13
+  constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
14
+    platform.ready().then(() => {
15
+      // Okay, so the platform is ready and our plugins are available.
16
+      // Here you can do any higher level native things you might need.
17
+      statusBar.styleDefault();
18
+      splashScreen.hide();
19
+    });
20
+  }
21
+}
22
+

+ 1
- 0
zlg/src/app/app.html Целия файл

@@ -0,0 +1 @@
1
+<ion-nav [root]="rootPage"></ion-nav>

+ 38
- 0
zlg/src/app/app.module.ts Целия файл

@@ -0,0 +1,38 @@
1
+import { BrowserModule } from '@angular/platform-browser';
2
+import { ErrorHandler, NgModule } from '@angular/core';
3
+import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
4
+import { SplashScreen } from '@ionic-native/splash-screen';
5
+import { StatusBar } from '@ionic-native/status-bar';
6
+
7
+import { SocketIoModule, SocketIoConfig } from 'ng-socket-io';
8
+const config: SocketIoConfig = { url: 'http://localhost:8080/vault-socket', options: {} };
9
+
10
+
11
+
12
+import { MyApp } from './app.component';
13
+import { HomePage } from '../pages/home/home';
14
+import { WebsocketProvider } from '../providers/websocket/websocket';
15
+
16
+@NgModule({
17
+  declarations: [
18
+    MyApp,
19
+    HomePage
20
+  ],
21
+  imports: [
22
+    BrowserModule,
23
+    IonicModule.forRoot(MyApp),
24
+    SocketIoModule.forRoot(config)
25
+  ],
26
+  bootstrap: [IonicApp],
27
+  entryComponents: [
28
+    MyApp,
29
+    HomePage
30
+  ],
31
+  providers: [
32
+    StatusBar,
33
+    SplashScreen,
34
+    {provide: ErrorHandler, useClass: IonicErrorHandler},
35
+    WebsocketProvider
36
+  ]
37
+})
38
+export class AppModule {}

+ 517
- 0
zlg/src/app/app.scss Целия файл

@@ -0,0 +1,517 @@
1
+// http://ionicframework.com/docs/theming/
2
+
3
+
4
+// App Global Sass
5
+// --------------------------------------------------
6
+// Put style rules here that you want to apply globally. These
7
+// styles are for the entire app and not just one component.
8
+// Additionally, this file can be also used as an entry point
9
+// to import other Sass files to be included in the output CSS.
10
+//
11
+// Shared Sass variables, which can be used to adjust Ionic's
12
+// default Sass variables, belong in "theme/variables.scss".
13
+//
14
+// To declare rules for a specific mode, create a child rule
15
+// for the .md, .ios, or .wp mode classes. The mode class is
16
+// automatically applied to the <body> element in the app.
17
+
18
+@import url("https://fonts.googleapis.com/css?family=Codystar");
19
+@import url("https://fonts.googleapis.com/css?family=Raleway+Dots");
20
+@font-face {
21
+  font-family: "Ionicons";
22
+  src: url("../lib/ionic/fonts/ionicons.eot?v=2.0.1");
23
+  src: url("../lib/ionic/fonts/ionicons.eot?v=2.0.1#iefix") format("embedded-opentype"), url("../lib/ionic/fonts/ionicons.ttf?v=2.0.1") format("truetype"), url("../lib/ionic/fonts/ionicons.woff?v=2.0.1") format("woff"), url("../lib/ionic/fonts/ionicons.woff") format("woff"), url("../lib/ionic/fonts/ionicons.svg?v=2.0.1#Ionicons") format("svg");
24
+  font-weight: normal;
25
+  font-style: normal; }
26
+
27
+
28
+/**
29
+ * Buttons
30
+ * --------------------------------------------------
31
+ */
32
+ .button {
33
+    border-color: transparent;
34
+    background-color: #f8f8f8;
35
+    color: #444;
36
+    position: relative;
37
+    display: inline-block;
38
+    margin: 0;
39
+    padding: 0 12px;
40
+    min-width: 52px;
41
+    min-height: 47px;
42
+    border-width: 1px;
43
+    border-style: solid;
44
+    border-radius: 4px;
45
+    vertical-align: top;
46
+    text-align: center;
47
+    text-overflow: ellipsis;
48
+    font-size: 16px;
49
+    line-height: 42px;
50
+    cursor: pointer; }
51
+    .button:hover {
52
+      color: #444;
53
+      text-decoration: none; }
54
+    .button.active, .button.activated {
55
+      border-color: #a2a2a2;
56
+      background-color: #e5e5e5; }
57
+    .button:after {
58
+      position: absolute;
59
+      top: -6px;
60
+      right: -6px;
61
+      bottom: -6px;
62
+      left: -6px;
63
+      content: ' '; }
64
+    .button .icon {
65
+      vertical-align: top;
66
+      pointer-events: none; }
67
+    .button .icon:before, .button.icon:before, .button.icon-left:before, .button.icon-right:before {
68
+      display: inline-block;
69
+      padding: 0 0 1px 0;
70
+      vertical-align: inherit;
71
+      font-size: 24px;
72
+      line-height: 41px;
73
+      pointer-events: none; }
74
+    .button.icon-left:before {
75
+      float: left;
76
+      padding-right: .2em;
77
+      padding-left: 0; }
78
+    .button.icon-right:before {
79
+      float: right;
80
+      padding-right: 0;
81
+      padding-left: .2em; }
82
+    .button.button-block, .button.button-full {
83
+      margin-top: 10px;
84
+      margin-bottom: 10px; }
85
+    .button.button-light {
86
+      border-color: transparent;
87
+      background-color: #fff;
88
+      color: #444; }
89
+      .button.button-light:hover {
90
+        color: #444;
91
+        text-decoration: none; }
92
+      .button.button-light.active, .button.button-light.activated {
93
+        border-color: #a2a2a2;
94
+        background-color: #fafafa; }
95
+      .button.button-light.button-clear {
96
+        border-color: transparent;
97
+        background: none;
98
+        box-shadow: none;
99
+        color: #ddd; }
100
+      .button.button-light.button-icon {
101
+        border-color: transparent;
102
+        background: none; }
103
+      .button.button-light.button-outline {
104
+        border-color: #ddd;
105
+        background: transparent;
106
+        color: #ddd; }
107
+        .button.button-light.button-outline.active, .button.button-light.button-outline.activated {
108
+          background-color: #ddd;
109
+          box-shadow: none;
110
+          color: #fff; }
111
+    .button.button-stable {
112
+      border-color: transparent;
113
+      background-color: #f8f8f8;
114
+      color: #444; }
115
+      .button.button-stable:hover {
116
+        color: #444;
117
+        text-decoration: none; }
118
+      .button.button-stable.active, .button.button-stable.activated {
119
+        border-color: #a2a2a2;
120
+        background-color: #e5e5e5; }
121
+      .button.button-stable.button-clear {
122
+        border-color: transparent;
123
+        background: none;
124
+        box-shadow: none;
125
+        color: #b2b2b2; }
126
+      .button.button-stable.button-icon {
127
+        border-color: transparent;
128
+        background: none; }
129
+      .button.button-stable.button-outline {
130
+        border-color: #b2b2b2;
131
+        background: transparent;
132
+        color: #b2b2b2; }
133
+        .button.button-stable.button-outline.active, .button.button-stable.button-outline.activated {
134
+          background-color: #b2b2b2;
135
+          box-shadow: none;
136
+          color: #fff; }
137
+    .button.button-positive {
138
+      border-color: transparent;
139
+      background-color: #387ef5;
140
+      color: #fff; }
141
+      .button.button-positive:hover {
142
+        color: #fff;
143
+        text-decoration: none; }
144
+      .button.button-positive.active, .button.button-positive.activated {
145
+        border-color: #a2a2a2;
146
+        background-color: #0c60ee; }
147
+      .button.button-positive.button-clear {
148
+        border-color: transparent;
149
+        background: none;
150
+        box-shadow: none;
151
+        color: #387ef5; }
152
+      .button.button-positive.button-icon {
153
+        border-color: transparent;
154
+        background: none; }
155
+      .button.button-positive.button-outline {
156
+        border-color: #387ef5;
157
+        background: transparent;
158
+        color: #387ef5; }
159
+        .button.button-positive.button-outline.active, .button.button-positive.button-outline.activated {
160
+          background-color: #387ef5;
161
+          box-shadow: none;
162
+          color: #fff; }
163
+    .button.button-calm {
164
+      border-color: transparent;
165
+      background-color: #11c1f3;
166
+      color: #fff; }
167
+      .button.button-calm:hover {
168
+        color: #fff;
169
+        text-decoration: none; }
170
+      .button.button-calm.active, .button.button-calm.activated {
171
+        border-color: #a2a2a2;
172
+        background-color: #0a9dc7; }
173
+      .button.button-calm.button-clear {
174
+        border-color: transparent;
175
+        background: none;
176
+        box-shadow: none;
177
+        color: #11c1f3; }
178
+      .button.button-calm.button-icon {
179
+        border-color: transparent;
180
+        background: none; }
181
+      .button.button-calm.button-outline {
182
+        border-color: #11c1f3;
183
+        background: transparent;
184
+        color: #11c1f3; }
185
+        .button.button-calm.button-outline.active, .button.button-calm.button-outline.activated {
186
+          background-color: #11c1f3;
187
+          box-shadow: none;
188
+          color: #fff; }
189
+    .button.button-assertive {
190
+      border-color: transparent;
191
+      background-color: #ef473a;
192
+      color: #fff; }
193
+      .button.button-assertive:hover {
194
+        color: #fff;
195
+        text-decoration: none; }
196
+      .button.button-assertive.active, .button.button-assertive.activated {
197
+        border-color: #a2a2a2;
198
+        background-color: #e42112; }
199
+      .button.button-assertive.button-clear {
200
+        border-color: transparent;
201
+        background: none;
202
+        box-shadow: none;
203
+        color: #ef473a; }
204
+      .button.button-assertive.button-icon {
205
+        border-color: transparent;
206
+        background: none; }
207
+      .button.button-assertive.button-outline {
208
+        border-color: #ef473a;
209
+        background: transparent;
210
+        color: #ef473a; }
211
+        .button.button-assertive.button-outline.active, .button.button-assertive.button-outline.activated {
212
+          background-color: #ef473a;
213
+          box-shadow: none;
214
+          color: #fff; }
215
+    .button.button-balanced {
216
+      border-color: transparent;
217
+      background-color: #33cd5f;
218
+      color: #fff; }
219
+      .button.button-balanced:hover {
220
+        color: #fff;
221
+        text-decoration: none; }
222
+      .button.button-balanced.active, .button.button-balanced.activated {
223
+        border-color: #a2a2a2;
224
+        background-color: #28a54c; }
225
+      .button.button-balanced.button-clear {
226
+        border-color: transparent;
227
+        background: none;
228
+        box-shadow: none;
229
+        color: #33cd5f; }
230
+      .button.button-balanced.button-icon {
231
+        border-color: transparent;
232
+        background: none; }
233
+      .button.button-balanced.button-outline {
234
+        border-color: #33cd5f;
235
+        background: transparent;
236
+        color: #33cd5f; }
237
+        .button.button-balanced.button-outline.active, .button.button-balanced.button-outline.activated {
238
+          background-color: #33cd5f;
239
+          box-shadow: none;
240
+          color: #fff; }
241
+    .button.button-energized {
242
+      border-color: transparent;
243
+      background-color: #ffc900;
244
+      color: #fff; }
245
+      .button.button-energized:hover {
246
+        color: #fff;
247
+        text-decoration: none; }
248
+      .button.button-energized.active, .button.button-energized.activated {
249
+        border-color: #a2a2a2;
250
+        background-color: #e6b500; }
251
+      .button.button-energized.button-clear {
252
+        border-color: transparent;
253
+        background: none;
254
+        box-shadow: none;
255
+        color: #ffc900; }
256
+      .button.button-energized.button-icon {
257
+        border-color: transparent;
258
+        background: none; }
259
+      .button.button-energized.button-outline {
260
+        border-color: #ffc900;
261
+        background: transparent;
262
+        color: #ffc900; }
263
+        .button.button-energized.button-outline.active, .button.button-energized.button-outline.activated {
264
+          background-color: #ffc900;
265
+          box-shadow: none;
266
+          color: #fff; }
267
+    .button.button-royal {
268
+      border-color: transparent;
269
+      background-color: #886aea;
270
+      color: #fff; }
271
+      .button.button-royal:hover {
272
+        color: #fff;
273
+        text-decoration: none; }
274
+      .button.button-royal.active, .button.button-royal.activated {
275
+        border-color: #a2a2a2;
276
+        background-color: #6b46e5; }
277
+      .button.button-royal.button-clear {
278
+        border-color: transparent;
279
+        background: none;
280
+        box-shadow: none;
281
+        color: #886aea; }
282
+      .button.button-royal.button-icon {
283
+        border-color: transparent;
284
+        background: none; }
285
+      .button.button-royal.button-outline {
286
+        border-color: #886aea;
287
+        background: transparent;
288
+        color: #886aea; }
289
+        .button.button-royal.button-outline.active, .button.button-royal.button-outline.activated {
290
+          background-color: #886aea;
291
+          box-shadow: none;
292
+          color: #fff; }
293
+    .button.button-dark {
294
+      border-color: transparent;
295
+      background-color: #444;
296
+      color: #fff; }
297
+      .button.button-dark:hover {
298
+        color: #fff;
299
+        text-decoration: none; }
300
+      .button.button-dark.active, .button.button-dark.activated {
301
+        border-color: #a2a2a2;
302
+        background-color: #262626; }
303
+      .button.button-dark.button-clear {
304
+        border-color: transparent;
305
+        background: none;
306
+        box-shadow: none;
307
+        color: #444; }
308
+      .button.button-dark.button-icon {
309
+        border-color: transparent;
310
+        background: none; }
311
+      .button.button-dark.button-outline {
312
+        border-color: #444;
313
+        background: transparent;
314
+        color: #444; }
315
+        .button.button-dark.button-outline.active, .button.button-dark.button-outline.activated {
316
+          background-color: #444;
317
+          box-shadow: none;
318
+          color: #fff; }
319
+  
320
+  .button-small {
321
+    padding: 2px 4px 1px;
322
+    min-width: 28px;
323
+    min-height: 30px;
324
+    font-size: 12px;
325
+    line-height: 26px; }
326
+    .button-small .icon:before, .button-small.icon:before, .button-small.icon-left:before, .button-small.icon-right:before {
327
+      font-size: 16px;
328
+      line-height: 19px;
329
+      margin-top: 3px; }
330
+  .text-small {
331
+    padding: 2px 4px 1px;
332
+    min-width: 28px;
333
+    min-height: px;
334
+    font-size: 12px;
335
+    line-height: 26px;
336
+  }
337
+  .button-large {
338
+    padding: 0 16px;
339
+    min-width: 68px;
340
+    min-height: 59px;
341
+    font-size: 20px;
342
+    line-height: 53px; }
343
+    .button-large .icon:before, .button-large.icon:before, .button-large.icon-left:before, .button-large.icon-right:before {
344
+      padding-bottom: 2px;
345
+      font-size: 32px;
346
+      line-height: 51px; }
347
+  
348
+  .button-icon {
349
+    -webkit-transition: opacity 0.1s;
350
+    transition: opacity 0.1s;
351
+    padding: 0 6px;
352
+    min-width: initial;
353
+    border-color: transparent;
354
+    background: none; }
355
+    .button-icon.button.active, .button-icon.button.activated {
356
+      border-color: transparent;
357
+      background: none;
358
+      box-shadow: none;
359
+      opacity: 0.3; }
360
+    .button-icon .icon:before, .button-icon.icon:before {
361
+      font-size: 32px; }
362
+  
363
+  .button-clear {
364
+    -webkit-transition: opacity 0.1s;
365
+    transition: opacity 0.1s;
366
+    padding: 0 6px;
367
+    max-height: 42px;
368
+    border-color: transparent;
369
+    background: none;
370
+    box-shadow: none; }
371
+    .button-clear.button-clear {
372
+      border-color: transparent;
373
+      background: none;
374
+      box-shadow: none;
375
+      color: transparent; }
376
+    .button-clear.button-icon {
377
+      border-color: transparent;
378
+      background: none; }
379
+    .button-clear.active, .button-clear.activated {
380
+      opacity: 0.3; }
381
+  
382
+  .button-outline {
383
+    -webkit-transition: opacity 0.1s;
384
+    transition: opacity 0.1s;
385
+    background: none;
386
+    box-shadow: none; }
387
+    .button-outline.button-outline {
388
+      border-color: transparent;
389
+      background: transparent;
390
+      color: transparent; }
391
+      .button-outline.button-outline.active, .button-outline.button-outline.activated {
392
+        background-color: transparent;
393
+        box-shadow: none;
394
+        color: #fff; }
395
+  
396
+  .padding > .button.button-block:first-child {
397
+    margin-top: 0; }
398
+  
399
+  .button-block {
400
+    display: block;
401
+    clear: both; }
402
+    .button-block:after {
403
+      clear: both; }
404
+  
405
+  .button-full,
406
+  .button-full > .button {
407
+    display: block;
408
+    margin-right: 0;
409
+    margin-left: 0;
410
+    border-right-width: 0;
411
+    border-left-width: 0;
412
+    border-radius: 0; }
413
+  
414
+  button.button-block,
415
+  button.button-full,
416
+  .button-full > button.button,
417
+  input.button.button-block {
418
+    width: 100%; }
419
+  
420
+  a.button {
421
+    text-decoration: none; }
422
+    a.button .icon:before, a.button.icon:before, a.button.icon-left:before, a.button.icon-right:before {
423
+      margin-top: 2px; }
424
+  
425
+  .button.disabled,
426
+  .button[disabled] {
427
+    opacity: .4;
428
+    cursor: default !important;
429
+    pointer-events: none; }
430
+  
431
+  /**
432
+   * Button Bar
433
+   * --------------------------------------------------
434
+   */
435
+  .button-bar {
436
+    display: -webkit-box;
437
+    display: -webkit-flex;
438
+    display: -moz-box;
439
+    display: -moz-flex;
440
+    display: -ms-flexbox;
441
+    display: flex;
442
+    -webkit-box-flex: 1;
443
+    -webkit-flex: 1;
444
+    -moz-box-flex: 1;
445
+    -moz-flex: 1;
446
+    -ms-flex: 1;
447
+    flex: 1;
448
+    width: 100%; }
449
+    .button-bar.button-bar-inline {
450
+      display: block;
451
+      width: auto;
452
+      *zoom: 1; }
453
+      .button-bar.button-bar-inline:before, .button-bar.button-bar-inline:after {
454
+        display: table;
455
+        content: "";
456
+        line-height: 0; }
457
+      .button-bar.button-bar-inline:after {
458
+        clear: both; }
459
+      .button-bar.button-bar-inline > .button {
460
+        width: auto;
461
+        display: inline-block;
462
+        float: left; }
463
+    .button-bar.bar-light > .button {
464
+      border-color: #ddd; }
465
+    .button-bar.bar-stable > .button {
466
+      border-color: #b2b2b2; }
467
+    .button-bar.bar-positive > .button {
468
+      border-color: #0c60ee; }
469
+    .button-bar.bar-calm > .button {
470
+      border-color: #0a9dc7; }
471
+    .button-bar.bar-assertive > .button {
472
+      border-color: #e42112; }
473
+    .button-bar.bar-balanced > .button {
474
+      border-color: #28a54c; }
475
+    .button-bar.bar-energized > .button {
476
+      border-color: #e6b500; }
477
+    .button-bar.bar-royal > .button {
478
+      border-color: #6b46e5; }
479
+    .button-bar.bar-dark > .button {
480
+      border-color: #111; }
481
+  
482
+  .button-bar > .button {
483
+    -webkit-box-flex: 1;
484
+    -webkit-flex: 1;
485
+    -moz-box-flex: 1;
486
+    -moz-flex: 1;
487
+    -ms-flex: 1;
488
+    flex: 1;
489
+    display: block;
490
+    overflow: hidden;
491
+    padding: 0 16px;
492
+    width: 0;
493
+    border-width: 1px 0px 1px 1px;
494
+    border-radius: 0;
495
+    text-align: center;
496
+    text-overflow: ellipsis;
497
+    white-space: nowrap; }
498
+    .button-bar > .button:before,
499
+    .button-bar > .button .icon:before {
500
+      line-height: 44px; }
501
+    .button-bar > .button:first-child {
502
+      border-radius: 4px 0px 0px 4px; }
503
+    .button-bar > .button:last-child {
504
+      border-right-width: 1px;
505
+      border-radius: 0px 4px 4px 0px; }
506
+    .button-bar > .button:only-child {
507
+      border-radius: 4px; }
508
+  
509
+  .button-bar > .button-small:before,
510
+  .button-bar > .button-small .icon:before {
511
+    line-height: 28px; }
512
+
513
+    .codystar {
514
+        font-family: 'codystar'; }
515
+      
516
+      .raleway {
517
+        font-family: 'raleway+dots'; }

+ 5
- 0
zlg/src/app/main.ts Целия файл

@@ -0,0 +1,5 @@
1
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2
+
3
+import { AppModule } from './app.module';
4
+
5
+platformBrowserDynamic().bootstrapModule(AppModule);

BIN
zlg/src/assets/icon/favicon.ico Целия файл


BIN
zlg/src/assets/img/0iNAJ9CJQ1qT57JTEweX_palePurpVault.png Целия файл


BIN
zlg/src/assets/img/B8fU4Qi2S9SpCk0HgNEd_24042562-xray-bank-vault-door-isolated-on-white-background-high-resolution-3d-.jpg Целия файл


BIN
zlg/src/assets/img/D4UZyfN9Q4ubqhq8W2HH_palePurpVault.png Целия файл


BIN
zlg/src/assets/img/LCstrJnTHa2u8mw4zCZf_24042562-xray-bank-vault-door-isolated-on-white-background-high-resolution-3d-.jpg Целия файл


BIN
zlg/src/assets/img/VaeiEn86RE2Rq1r2a1AJ_palePurpVault.png Целия файл


BIN
zlg/src/assets/img/bPYeQXAFTB6erYxxdULq_palePurpVault.png Целия файл


BIN
zlg/src/assets/img/l2IfiICQcmfviNPlefTV_24042562-xray-bank-vault-door-isolated-on-white-background-high-resolution-3d-.jpg Целия файл


BIN
zlg/src/assets/imgs/logo.png Целия файл


+ 49
- 0
zlg/src/index.html Целия файл

@@ -0,0 +1,49 @@
1
+<!DOCTYPE html>
2
+<html lang="en" dir="ltr">
3
+<head>
4
+  <meta charset="UTF-8">
5
+  <title>Ionic App</title>
6
+  <meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
7
+  <meta name="format-detection" content="telephone=no">
8
+  <meta name="msapplication-tap-highlight" content="no">
9
+
10
+  <link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
11
+  <link rel="manifest" href="manifest.json">
12
+  <meta name="theme-color" content="#4e8ef7">
13
+
14
+  <!-- add to homescreen for ios -->
15
+  <meta name="apple-mobile-web-app-capable" content="yes">
16
+  <meta name="apple-mobile-web-app-status-bar-style" content="black">
17
+
18
+  <!-- cordova.js required for cordova apps (remove if not needed) -->
19
+  <script src="cordova.js"></script>
20
+
21
+  <!-- un-comment this code to enable service worker
22
+  <script>
23
+    if ('serviceWorker' in navigator) {
24
+      navigator.serviceWorker.register('service-worker.js')
25
+        .then(() => console.log('service worker installed'))
26
+        .catch(err => console.error('Error', err));
27
+    }
28
+  </script>-->
29
+
30
+  <link href="build/main.css" rel="stylesheet">
31
+
32
+</head>
33
+<body>
34
+
35
+  <!-- Ionic's root component and where the app will load -->
36
+  <ion-app></ion-app>
37
+
38
+  <!-- The polyfills js is generated during the build process -->
39
+  <script src="build/polyfills.js"></script>
40
+
41
+  <!-- The vendor js is generated during the build process
42
+       It contains all of the dependencies in node_modules -->
43
+  <script src="build/vendor.js"></script>
44
+
45
+  <!-- The main bundle js is generated during the build process -->
46
+  <script src="build/main.js"></script>
47
+
48
+</body>
49
+</html>

+ 13
- 0
zlg/src/manifest.json Целия файл

@@ -0,0 +1,13 @@
1
+{
2
+  "name": "Ionic",
3
+  "short_name": "Ionic",
4
+  "start_url": "index.html",
5
+  "display": "standalone",
6
+  "icons": [{
7
+    "src": "assets/imgs/logo.png",
8
+    "sizes": "512x512",
9
+    "type": "image/png"
10
+  }],
11
+  "background_color": "#4e8ef7",
12
+  "theme_color": "#4e8ef7"
13
+}

+ 30
- 0
zlg/src/pages/home/home.html Целия файл

@@ -0,0 +1,30 @@
1
+<ion-header>
2
+  <ion-navbar>
3
+    <button ion-button menuToggle>
4
+      <ion-icon name="menu"></ion-icon>
5
+    </button>
6
+    <ion-title>The Vault</ion-title>
7
+  </ion-navbar>
8
+</ion-header>
9
+
10
+<ion-buttons side="right" class="has-header">
11
+  <button class="button icon ion-android-settings"></button>
12
+</ion-buttons>
13
+<ion-content padding="true" style="background: url(../assets/img/0iNAJ9CJQ1qT57JTEweX_palePurpVault.png) no-repeat center;background-size:cover;" class="has-header">
14
+  <div id="myVault-markdown9" class="show-list-numbers-and-dots"> 
15
+    
16
+    <p  class="codystar" style="color:#FFFFFF;font-size:020px;" >
17
+      <strong>Begin a new post...</strong>
18
+    </p>
19
+    <ion-textarea [(ngModel)]="postInput" style="color:#FFFFFF;background-color:black;opacity:.5;"rows="5"></ion-textarea>
20
+    
21
+    <button (click)="sendPost()" id="myVault-button18" style="font-weight:600;font-size:20px;" class="codystar button button-royal button-block button-small">Post</button>
22
+  </div>
23
+  
24
+  
25
+  <div id="myVault-markdown4" class="show-list-numbers-and-dots" >
26
+      <ul style="color:#FFFFFF;list-style-type: none" *ngFor="let p of posts">
27
+        <li><strong>{{ p.userName }}: </strong> {{ p.message }}</li>
28
+      </ul>
29
+  </div>
30
+</ion-content>

+ 3
- 0
zlg/src/pages/home/home.scss Целия файл

@@ -0,0 +1,3 @@
1
+page-home {
2
+
3
+}

+ 50
- 0
zlg/src/pages/home/home.ts Целия файл

@@ -0,0 +1,50 @@
1
+import { Component, OnInit} from '@angular/core';
2
+import Stomp from 'stompjs';
3
+import SockJS from 'sockjs-client';
4
+
5
+// import { Socket } from 'ng-socket-io';
6
+
7
+
8
+import { NavController } from 'ionic-angular';
9
+
10
+@Component({
11
+  selector: 'page-home',
12
+  templateUrl: 'home.html'
13
+})
14
+export class HomePage implements OnInit{
15
+
16
+  constructor(public navCtrl: NavController) {
17
+
18
+  }
19
+
20
+  private stompClient ;
21
+  posts = [];
22
+  userId = 1;
23
+  userPostUrl = "/app/posts";
24
+  postInput = "";
25
+
26
+  ngOnInit() {
27
+    this.connect();  
28
+  }
29
+  connect() {
30
+    const socket = new SockJS('https://fast-headland-39537.herokuapp.com/vault-socket');
31
+    this.stompClient = Stomp.over(socket);
32
+
33
+    const _this = this; //i hope i am not expected to understand this
34
+    this.stompClient.connect({}, function (frame) {
35
+      console.log('Connected: ' + frame);
36
+      _this.stompClient.subscribe('/topic/posts', (post) => {
37
+        _this.posts.push(JSON.parse(post.body));
38
+     });
39
+    });
40
+  }
41
+
42
+  sendPost() {
43
+    this.stompClient.send(this.userPostUrl, {}, JSON.stringify({'id': '','message': this.postInput, 'userId': this.userId}))
44
+  }
45
+
46
+  //  showPost(message, userName) {
47
+  //   //("#messages").append("<tr><td>" + userName + ": " + message + "</td></tr>");
48
+  // }
49
+
50
+}

+ 17
- 0
zlg/src/providers/websocket/websocket.ts Целия файл

@@ -0,0 +1,17 @@
1
+import { Injectable } from '@angular/core';
2
+import SockJS from 'sockjs-client';
3
+
4
+/*
5
+  Generated class for the WebsocketProvider provider.
6
+
7
+  See https://angular.io/guide/dependency-injection for more info on providers
8
+  and Angular DI.
9
+*/
10
+@Injectable()
11
+export class WebsocketProvider {
12
+
13
+  constructor() {
14
+  }
15
+  
16
+
17
+}

+ 31
- 0
zlg/src/service-worker.js Целия файл

@@ -0,0 +1,31 @@
1
+/**
2
+ * Check out https://googlechromelabs.github.io/sw-toolbox/ for
3
+ * more info on how to use sw-toolbox to custom configure your service worker.
4
+ */
5
+
6
+
7
+'use strict';
8
+importScripts('./build/sw-toolbox.js');
9
+
10
+self.toolbox.options.cache = {
11
+  name: 'ionic-cache'
12
+};
13
+
14
+// pre-cache our key assets
15
+self.toolbox.precache(
16
+  [
17
+    './build/main.js',
18
+    './build/vendor.js',
19
+    './build/main.css',
20
+    './build/polyfills.js',
21
+    'index.html',
22
+    'manifest.json'
23
+  ]
24
+);
25
+
26
+// dynamically cache any other local assets
27
+self.toolbox.router.any('/*', self.toolbox.fastest);
28
+
29
+// for any other requests go to the network, cache,
30
+// and then only use that cached resource if your user goes offline
31
+self.toolbox.router.default = self.toolbox.networkFirst;

+ 88
- 0
zlg/src/theme/variables.scss Целия файл

@@ -0,0 +1,88 @@
1
+// Ionic Variables and Theming. For more info, please see:
2
+// http://ionicframework.com/docs/theming/
3
+
4
+// Font path is used to include ionicons,
5
+// roboto, and noto sans fonts
6
+$font-path: "../assets/fonts";
7
+
8
+
9
+// The app direction is used to include
10
+// rtl styles in your app. For more info, please see:
11
+// http://ionicframework.com/docs/theming/rtl-support/
12
+$app-direction: ltr;
13
+
14
+
15
+@import "ionic.globals";
16
+
17
+
18
+// Shared Variables
19
+// --------------------------------------------------
20
+// To customize the look and feel of this app, you can override
21
+// the Sass variables found in Ionic's source scss files.
22
+// To view all the possible Ionic variables, see:
23
+// http://ionicframework.com/docs/theming/overriding-ionic-variables/
24
+
25
+
26
+
27
+
28
+// Named Color Variables
29
+// --------------------------------------------------
30
+// Named colors makes it easy to reuse colors on various components.
31
+// It's highly recommended to change the default colors
32
+// to match your app's branding. Ionic uses a Sass map of
33
+// colors so you can add, rename and remove colors as needed.
34
+// The "primary" color is the only required color in the map.
35
+
36
+$colors: (
37
+  primary:    #488aff,
38
+  secondary:  #32db64,
39
+  danger:     #f53d3d,
40
+  light:      #f4f4f4,
41
+  dark:       #222
42
+);
43
+
44
+
45
+// App iOS Variables
46
+// --------------------------------------------------
47
+// iOS only Sass variables can go here
48
+
49
+
50
+
51
+
52
+// App Material Design Variables
53
+// --------------------------------------------------
54
+// Material Design only Sass variables can go here
55
+
56
+
57
+
58
+
59
+// App Windows Variables
60
+// --------------------------------------------------
61
+// Windows only Sass variables can go here
62
+
63
+
64
+
65
+
66
+// App Theme
67
+// --------------------------------------------------
68
+// Ionic apps can have different themes applied, which can
69
+// then be future customized. This import comes last
70
+// so that the above variables are used and Ionic's
71
+// default are overridden.
72
+
73
+@import "ionic.theme.default";
74
+
75
+
76
+// Ionicons
77
+// --------------------------------------------------
78
+// The premium icon font for Ionic. For more info, please see:
79
+// http://ionicframework.com/docs/ionicons/
80
+
81
+@import "ionic.ionicons";
82
+
83
+
84
+// Fonts
85
+// --------------------------------------------------
86
+
87
+@import "roboto";
88
+@import "noto-sans";

+ 28
- 0
zlg/tsconfig.json Целия файл

@@ -0,0 +1,28 @@
1
+{
2
+  "compilerOptions": {
3
+    "allowSyntheticDefaultImports": true,
4
+    "declaration": false,
5
+    "emitDecoratorMetadata": true,
6
+    "experimentalDecorators": true,
7
+    "lib": [
8
+      "dom",
9
+      "es2015"
10
+    ],
11
+    "module": "es2015",
12
+    "moduleResolution": "node",
13
+    "sourceMap": true,
14
+    "target": "es5"
15
+  },
16
+  "include": [
17
+    "src/**/*.ts"
18
+  ],
19
+  "exclude": [
20
+    "node_modules",
21
+    "src/**/*.spec.ts",
22
+    "src/**/__tests__/*.ts"
23
+  ],
24
+  "compileOnSave": false,
25
+  "atom": {
26
+    "rewriteTsconfig": false
27
+  }
28
+}

+ 11
- 0
zlg/tslint.json Целия файл

@@ -0,0 +1,11 @@
1
+{
2
+  "rules": {
3
+    "no-duplicate-variable": true,
4
+    "no-unused-variable": [
5
+      true
6
+    ]
7
+  },
8
+  "rulesDirectory": [
9
+    "node_modules/tslint-eslint-rules/dist/rules"
10
+  ]
11
+}

+ 0
- 1
zlg/zlg

@@ -1 +0,0 @@
1
-Subproject commit 029efb069d0910ac22cbf4e85e22afe09c7f57e5