Kaynağa Gözat

first commit

Jorge Baquero 7 yıl önce
işleme
7c93d689a1
89 değiştirilmiş dosya ile 8256 ekleme ve 0 silme
  1. 17 0
      .editorconfig
  2. 35 0
      .gitignore
  3. 0 0
      README.md
  4. 91 0
      config.xml
  5. 8 0
      ionic.config.json
  6. 7261 0
      package-lock.json
  7. 63 0
      package.json
  8. 8 0
      resources/README.md
  9. BIN
      resources/android/icon/drawable-hdpi-icon.png
  10. BIN
      resources/android/icon/drawable-ldpi-icon.png
  11. BIN
      resources/android/icon/drawable-mdpi-icon.png
  12. BIN
      resources/android/icon/drawable-xhdpi-icon.png
  13. BIN
      resources/android/icon/drawable-xxhdpi-icon.png
  14. BIN
      resources/android/icon/drawable-xxxhdpi-icon.png
  15. BIN
      resources/android/splash/drawable-land-hdpi-screen.png
  16. BIN
      resources/android/splash/drawable-land-ldpi-screen.png
  17. BIN
      resources/android/splash/drawable-land-mdpi-screen.png
  18. BIN
      resources/android/splash/drawable-land-xhdpi-screen.png
  19. BIN
      resources/android/splash/drawable-land-xxhdpi-screen.png
  20. BIN
      resources/android/splash/drawable-land-xxxhdpi-screen.png
  21. BIN
      resources/android/splash/drawable-port-hdpi-screen.png
  22. BIN
      resources/android/splash/drawable-port-ldpi-screen.png
  23. BIN
      resources/android/splash/drawable-port-mdpi-screen.png
  24. BIN
      resources/android/splash/drawable-port-xhdpi-screen.png
  25. BIN
      resources/android/splash/drawable-port-xxhdpi-screen.png
  26. BIN
      resources/android/splash/drawable-port-xxxhdpi-screen.png
  27. BIN
      resources/icon.png
  28. BIN
      resources/ios/icon/icon-1024.png
  29. BIN
      resources/ios/icon/icon-40.png
  30. BIN
      resources/ios/icon/icon-40@2x.png
  31. BIN
      resources/ios/icon/icon-40@3x.png
  32. BIN
      resources/ios/icon/icon-50.png
  33. BIN
      resources/ios/icon/icon-50@2x.png
  34. BIN
      resources/ios/icon/icon-60.png
  35. BIN
      resources/ios/icon/icon-60@2x.png
  36. BIN
      resources/ios/icon/icon-60@3x.png
  37. BIN
      resources/ios/icon/icon-72.png
  38. BIN
      resources/ios/icon/icon-72@2x.png
  39. BIN
      resources/ios/icon/icon-76.png
  40. BIN
      resources/ios/icon/icon-76@2x.png
  41. BIN
      resources/ios/icon/icon-83.5@2x.png
  42. BIN
      resources/ios/icon/icon-small.png
  43. BIN
      resources/ios/icon/icon-small@2x.png
  44. BIN
      resources/ios/icon/icon-small@3x.png
  45. BIN
      resources/ios/icon/icon.png
  46. BIN
      resources/ios/icon/icon@2x.png
  47. BIN
      resources/ios/splash/Default-568h@2x~iphone.png
  48. BIN
      resources/ios/splash/Default-667h.png
  49. BIN
      resources/ios/splash/Default-736h.png
  50. BIN
      resources/ios/splash/Default-Landscape-736h.png
  51. BIN
      resources/ios/splash/Default-Landscape@2x~ipad.png
  52. BIN
      resources/ios/splash/Default-Landscape@~ipadpro.png
  53. BIN
      resources/ios/splash/Default-Landscape~ipad.png
  54. BIN
      resources/ios/splash/Default-Portrait@2x~ipad.png
  55. BIN
      resources/ios/splash/Default-Portrait@~ipadpro.png
  56. BIN
      resources/ios/splash/Default-Portrait~ipad.png
  57. BIN
      resources/ios/splash/Default@2x~iphone.png
  58. BIN
      resources/ios/splash/Default@2x~universal~anyany.png
  59. BIN
      resources/ios/splash/Default~iphone.png
  60. BIN
      resources/splash.png
  61. 22 0
      src/app/app.component.ts
  62. 1 0
      src/app/app.html
  63. 47 0
      src/app/app.module.ts
  64. 16 0
      src/app/app.scss
  65. 5 0
      src/app/main.ts
  66. BIN
      src/assets/icon/favicon.ico
  67. BIN
      src/assets/imgs/logo.png
  68. 49 0
      src/index.html
  69. 13 0
      src/manifest.json
  70. 18 0
      src/pages/configuration/configuration.html
  71. 13 0
      src/pages/configuration/configuration.module.ts
  72. 3 0
      src/pages/configuration/configuration.scss
  73. 25 0
      src/pages/configuration/configuration.ts
  74. 14 0
      src/pages/devices/devices.html
  75. 13 0
      src/pages/devices/devices.module.ts
  76. 3 0
      src/pages/devices/devices.scss
  77. 36 0
      src/pages/devices/devices.ts
  78. 25 0
      src/pages/home/home.html
  79. 3 0
      src/pages/home/home.scss
  80. 46 0
      src/pages/home/home.ts
  81. 37 0
      src/pages/main/main.html
  82. 6 0
      src/pages/main/main.scss
  83. 145 0
      src/pages/main/main.ts
  84. 29 0
      src/providers/vespot-service/vespot-service.ts
  85. 31 0
      src/service-worker.js
  86. 46 0
      src/services/share/share.ts
  87. 88 0
      src/theme/variables.scss
  88. 28 0
      tsconfig.json
  89. 11 0
      tslint.json

+ 17 - 0
.editorconfig Dosyayı Görüntüle

@@ -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
.gitignore Dosyayı Görüntüle

@@ -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
+.sourcemaps/
17
+.sass-cache/
18
+.tmp/
19
+.versions/
20
+coverage/
21
+dist/
22
+node_modules/
23
+tmp/
24
+temp/
25
+hooks/
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

+ 0 - 0
README.md Dosyayı Görüntüle


+ 91 - 0
config.xml Dosyayı Görüntüle

@@ -0,0 +1,91 @@
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>smartalarm</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="16" />
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.1" />
81
+    <plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
82
+    <plugin name="cordova-plugin-ionic-webview" spec="^1.1.16" />
83
+    <plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
84
+    <engine name="android" spec="~7.0.0" />
85
+    <plugin name="cordova-plugin-googlemaps" spec="^2.2.5">
86
+        <variable name="API_KEY_FOR_ANDROID" value="AIzaSyBFA53YiCYfP25i360xJ32gDDusW7zHrBk" />
87
+        <variable name="PLAY_SERVICES_VERSION" value="11.8.0" />
88
+        <variable name="ANDROID_SUPPORT_V4_VERSION" value="24.1.0" />
89
+    </plugin>
90
+    <allow-navigation href="http://192.168.0.7:8100" />
91
+</widget>

+ 8 - 0
ionic.config.json Dosyayı Görüntüle

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

Dosya farkı çok büyük olduğundan ihmal edildi
+ 7261 - 0
package-lock.json


+ 63 - 0
package.json Dosyayı Görüntüle

@@ -0,0 +1,63 @@
1
+{
2
+  "name": "smartalarm",
3
+  "version": "0.0.1",
4
+  "author": "Ionic Framework",
5
+  "homepage": "http://ionicframework.com/",
6
+  "private": true,
7
+  "scripts": {
8
+    "clean": "ionic-app-scripts clean",
9
+    "build": "ionic-app-scripts build",
10
+    "lint": "ionic-app-scripts lint",
11
+    "ionic:build": "ionic-app-scripts build",
12
+    "ionic:serve": "ionic-app-scripts serve"
13
+  },
14
+  "dependencies": {
15
+    "@angular/common": "5.0.3",
16
+    "@angular/compiler": "5.0.3",
17
+    "@angular/compiler-cli": "5.0.3",
18
+    "@angular/core": "5.0.3",
19
+    "@angular/forms": "5.0.3",
20
+    "@angular/http": "5.0.3",
21
+    "@angular/platform-browser": "5.0.3",
22
+    "@angular/platform-browser-dynamic": "5.0.3",
23
+    "@ionic-native/core": "4.4.0",
24
+    "@ionic-native/google-maps": "^4.5.3",
25
+    "@ionic-native/splash-screen": "4.4.0",
26
+    "@ionic-native/status-bar": "4.4.0",
27
+    "@ionic/storage": "2.1.3",
28
+    "cordova-android": "7.0.0",
29
+    "cordova-plugin-device": "^2.0.1",
30
+    "cordova-plugin-googlemaps": "^2.2.5",
31
+    "cordova-plugin-ionic-keyboard": "^2.0.5",
32
+    "cordova-plugin-ionic-webview": "^1.1.16",
33
+    "cordova-plugin-splashscreen": "^5.0.2",
34
+    "cordova-plugin-whitelist": "^1.3.3",
35
+    "ionic-angular": "3.9.2",
36
+    "ionicons": "3.0.0",
37
+    "rxjs": "5.5.2",
38
+    "sw-toolbox": "3.6.0",
39
+    "zone.js": "0.8.18"
40
+  },
41
+  "devDependencies": {
42
+    "@ionic/app-scripts": "3.1.8",
43
+    "typescript": "2.4.2"
44
+  },
45
+  "description": "An Ionic project",
46
+  "cordova": {
47
+    "plugins": {
48
+      "cordova-plugin-whitelist": {},
49
+      "cordova-plugin-device": {},
50
+      "cordova-plugin-splashscreen": {},
51
+      "cordova-plugin-ionic-webview": {},
52
+      "cordova-plugin-ionic-keyboard": {},
53
+      "cordova-plugin-googlemaps": {
54
+        "API_KEY_FOR_ANDROID": "AIzaSyBFA53YiCYfP25i360xJ32gDDusW7zHrBk",
55
+        "PLAY_SERVICES_VERSION": "11.8.0",
56
+        "ANDROID_SUPPORT_V4_VERSION": "24.1.0"
57
+      }
58
+    },
59
+    "platforms": [
60
+      "android"
61
+    ]
62
+  }
63
+}

+ 8 - 0
resources/README.md Dosyayı Görüntüle

@@ -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
resources/android/icon/drawable-hdpi-icon.png Dosyayı Görüntüle


BIN
resources/android/icon/drawable-ldpi-icon.png Dosyayı Görüntüle


BIN
resources/android/icon/drawable-mdpi-icon.png Dosyayı Görüntüle


BIN
resources/android/icon/drawable-xhdpi-icon.png Dosyayı Görüntüle


BIN
resources/android/icon/drawable-xxhdpi-icon.png Dosyayı Görüntüle


BIN
resources/android/icon/drawable-xxxhdpi-icon.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-land-hdpi-screen.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-land-ldpi-screen.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-land-mdpi-screen.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-land-xhdpi-screen.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-land-xxhdpi-screen.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-land-xxxhdpi-screen.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-port-hdpi-screen.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-port-ldpi-screen.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-port-mdpi-screen.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-port-xhdpi-screen.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-port-xxhdpi-screen.png Dosyayı Görüntüle


BIN
resources/android/splash/drawable-port-xxxhdpi-screen.png Dosyayı Görüntüle


BIN
resources/icon.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-1024.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-40.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-40@2x.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-40@3x.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-50.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-50@2x.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-60.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-60@2x.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-60@3x.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-72.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-72@2x.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-76.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-76@2x.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-83.5@2x.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-small.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-small@2x.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon-small@3x.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon.png Dosyayı Görüntüle


BIN
resources/ios/icon/icon@2x.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default-568h@2x~iphone.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default-667h.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default-736h.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default-Landscape-736h.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default-Landscape@2x~ipad.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default-Landscape@~ipadpro.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default-Landscape~ipad.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default-Portrait@2x~ipad.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default-Portrait@~ipadpro.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default-Portrait~ipad.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default@2x~iphone.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default@2x~universal~anyany.png Dosyayı Görüntüle


BIN
resources/ios/splash/Default~iphone.png Dosyayı Görüntüle


BIN
resources/splash.png Dosyayı Görüntüle


+ 22 - 0
src/app/app.component.ts Dosyayı Görüntüle

@@ -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
src/app/app.html Dosyayı Görüntüle

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

+ 47 - 0
src/app/app.module.ts Dosyayı Görüntüle

@@ -0,0 +1,47 @@
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
+import { HttpClientModule } from '@angular/common/http';
7
+import { GoogleMaps } from '@ionic-native/google-maps';
8
+
9
+import { MyApp } from './app.component';
10
+import { HomePage } from '../pages/home/home';
11
+import { Main } from '../pages/main/main';
12
+import { DevicesPage } from '../pages/devices/devices';
13
+import { ConfigurationPage } from '../pages/configuration/configuration';
14
+import { VespotServiceProvider } from '../providers/vespot-service/vespot-service';
15
+import { ShareService } from '../services/share/share';
16
+
17
+@NgModule({
18
+  declarations: [
19
+    MyApp,
20
+    HomePage,
21
+    Main,
22
+    DevicesPage,
23
+    ConfigurationPage
24
+  ],
25
+  imports: [
26
+    BrowserModule,
27
+    HttpClientModule,
28
+    IonicModule.forRoot(MyApp)
29
+  ],
30
+  bootstrap: [IonicApp],
31
+  entryComponents: [
32
+    MyApp,
33
+    HomePage,
34
+    Main,
35
+    DevicesPage,
36
+    ConfigurationPage
37
+  ],
38
+  providers: [
39
+    StatusBar,
40
+    SplashScreen,
41
+    GoogleMaps,
42
+    {provide: ErrorHandler, useClass: IonicErrorHandler},
43
+    VespotServiceProvider,
44
+    ShareService
45
+  ]
46
+})
47
+export class AppModule {}

+ 16 - 0
src/app/app.scss Dosyayı Görüntüle

@@ -0,0 +1,16 @@
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.

+ 5 - 0
src/app/main.ts Dosyayı Görüntüle

@@ -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
src/assets/icon/favicon.ico Dosyayı Görüntüle


BIN
src/assets/imgs/logo.png Dosyayı Görüntüle


+ 49 - 0
src/index.html Dosyayı Görüntüle

@@ -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
src/manifest.json Dosyayı Görüntüle

@@ -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
+}

+ 18 - 0
src/pages/configuration/configuration.html Dosyayı Görüntüle

@@ -0,0 +1,18 @@
1
+<!--
2
+  Generated template for the ConfigurationPage page.
3
+
4
+  See http://ionicframework.com/docs/components/#navigation for more info on
5
+  Ionic pages and navigation.
6
+-->
7
+<ion-header>
8
+
9
+  <ion-navbar>
10
+    <ion-title>Configuración</ion-title>
11
+  </ion-navbar>
12
+
13
+</ion-header>
14
+
15
+
16
+<ion-content padding>
17
+Lista de configuraciones
18
+</ion-content>

+ 13 - 0
src/pages/configuration/configuration.module.ts Dosyayı Görüntüle

@@ -0,0 +1,13 @@
1
+import { NgModule } from '@angular/core';
2
+import { IonicPageModule } from 'ionic-angular';
3
+import { ConfigurationPage } from './configuration';
4
+
5
+@NgModule({
6
+  declarations: [
7
+    ConfigurationPage,
8
+  ],
9
+  imports: [
10
+    IonicPageModule.forChild(ConfigurationPage),
11
+  ],
12
+})
13
+export class ConfigurationPageModule {}

+ 3 - 0
src/pages/configuration/configuration.scss Dosyayı Görüntüle

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

+ 25 - 0
src/pages/configuration/configuration.ts Dosyayı Görüntüle

@@ -0,0 +1,25 @@
1
+import { Component } from '@angular/core';
2
+import { IonicPage, NavController, NavParams } from 'ionic-angular';
3
+
4
+/**
5
+ * Generated class for the ConfigurationPage page.
6
+ *
7
+ * See https://ionicframework.com/docs/components/#navigation for more info on
8
+ * Ionic pages and navigation.
9
+ */
10
+
11
+@IonicPage()
12
+@Component({
13
+  selector: 'page-configuration',
14
+  templateUrl: 'configuration.html',
15
+})
16
+export class ConfigurationPage {
17
+
18
+  constructor(public navCtrl: NavController, public navParams: NavParams) {
19
+  }
20
+
21
+  ionViewDidLoad() {
22
+    console.log('ionViewDidLoad ConfigurationPage');
23
+  }
24
+
25
+}

+ 14 - 0
src/pages/devices/devices.html Dosyayı Görüntüle

@@ -0,0 +1,14 @@
1
+<ion-header>
2
+  <ion-navbar>
3
+    <ion-title>Selecciona tu dispositivo por defecto</ion-title>
4
+  </ion-navbar>
5
+</ion-header>
6
+
7
+<ion-content padding>
8
+  <ion-list radio-group>
9
+  <ion-item *ngFor="let device of devices" >
10
+    <ion-label>{{device.name}}</ion-label>
11
+    <ion-radio (click)="selectRadio(device)"></ion-radio>
12
+  </ion-item>
13
+</ion-list>
14
+</ion-content>

+ 13 - 0
src/pages/devices/devices.module.ts Dosyayı Görüntüle

@@ -0,0 +1,13 @@
1
+import { NgModule } from '@angular/core';
2
+import { IonicPageModule } from 'ionic-angular';
3
+import { DevicesPage } from './devices';
4
+
5
+@NgModule({
6
+  declarations: [
7
+    DevicesPage,
8
+  ],
9
+  imports: [
10
+    IonicPageModule.forChild(DevicesPage),
11
+  ],
12
+})
13
+export class DevicesPageModule {}

+ 3 - 0
src/pages/devices/devices.scss Dosyayı Görüntüle

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

+ 36 - 0
src/pages/devices/devices.ts Dosyayı Görüntüle

@@ -0,0 +1,36 @@
1
+import { Component } from '@angular/core';
2
+import { IonicPage, NavController} from 'ionic-angular';
3
+
4
+import { ShareService } from '../../services/share/share';
5
+
6
+
7
+/**
8
+ * Generated class for the DevicesPage page.
9
+ *
10
+ * See https://ionicframework.com/docs/components/#navigation for more info on
11
+ * Ionic pages and navigation.
12
+ */
13
+
14
+@IonicPage()
15
+@Component({
16
+  selector: 'page-devices',
17
+  templateUrl: 'devices.html',
18
+})
19
+export class DevicesPage {
20
+
21
+  private devices;
22
+  constructor(public navCtrl: NavController, public shareService: ShareService) {
23
+    this.devices = this.shareService.getDevices();
24
+    //alert(this.devices.length);
25
+  }
26
+
27
+  ionViewDidLoad() {
28
+    console.log('ionViewDidLoad DevicesPage');
29
+  }
30
+
31
+  selectRadio(device) {
32
+    this.shareService.setRootDevice(device);
33
+    this.navCtrl.pop();
34
+  }
35
+
36
+}

+ 25 - 0
src/pages/home/home.html Dosyayı Görüntüle

@@ -0,0 +1,25 @@
1
+<ion-header>
2
+  <ion-navbar>
3
+    <ion-title>
4
+      SMART ALARM
5
+    </ion-title>
6
+  </ion-navbar>
7
+</ion-header>
8
+
9
+<ion-content padding>
10
+	<ion-list>
11
+
12
+  <ion-item>
13
+    <ion-label floating>Usuario</ion-label>
14
+    <ion-input type="text" [(ngModel)]="user" value="baquerojorge@gmail.com"></ion-input>
15
+  </ion-item>
16
+
17
+  <ion-item>
18
+    <ion-label floating>Contraseña</ion-label>
19
+    <ion-input type="password" [(ngModel)]="password" value="hiphop2008"></ion-input>
20
+  </ion-item>
21
+<div padding>
22
+  <button ion-button full (click)="login()">Ingresar</button>
23
+</div>
24
+</ion-list>
25
+</ion-content>

+ 3 - 0
src/pages/home/home.scss Dosyayı Görüntüle

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

+ 46 - 0
src/pages/home/home.ts Dosyayı Görüntüle

@@ -0,0 +1,46 @@
1
+import { Component } from '@angular/core';
2
+import { NavController } from 'ionic-angular';
3
+import { Main } from '../main/main'
4
+import { AlertController } from 'ionic-angular';
5
+import { VespotServiceProvider } from '../../providers/vespot-service/vespot-service';
6
+import { ShareService } from '../../services/share/share';
7
+
8
+@Component({
9
+  selector: 'page-home',
10
+  templateUrl: 'home.html'
11
+})
12
+export class HomePage {
13
+
14
+  user:any;
15
+  password:any;
16
+
17
+  constructor(public navCtrl: NavController,
18
+		public alertCtrl: AlertController,
19
+		public vespotService: VespotServiceProvider,
20
+    public shareService: ShareService) {
21
+
22
+  }
23
+
24
+  login() {
25
+	let auth = this.user + ':' + this.password;
26
+
27
+  this.vespotService.getDevices(auth)
28
+	.subscribe(
29
+      (data) => { // Success
30
+        this.shareService.setDevices(data);
31
+        this.shareService.setAuthToken(auth);
32
+        this.navCtrl.setRoot(Main);
33
+      },
34
+      (error) =>{
35
+        let alert = this.alertCtrl.create({
36
+      title: 'Advertencia',
37
+      subTitle: 'Usuario y Contraseña Incorrectos',
38
+      buttons: ['OK']
39
+    });
40
+    alert.present();
41
+      }
42
+    );
43
+
44
+  }
45
+
46
+}

+ 37 - 0
src/pages/main/main.html Dosyayı Görüntüle

@@ -0,0 +1,37 @@
1
+<ion-menu [content]="vespotMenu" menuType="push">
2
+  <ion-header>
3
+    <ion-toolbar>
4
+      <ion-title>Menu</ion-title>
5
+    </ion-toolbar>
6
+  </ion-header>
7
+    <ion-content>
8
+        <ion-list>
9
+             <button ion-item menuClose (click)="openDevicesPage()">
10
+		Dispositivos
11
+            </button>
12
+            <button ion-item menuClose (click)="openConfigurationPage()">
13
+                Configuración
14
+            </button>
15
+            <button ion-item menuClose (click)="closeSession()">
16
+                Cerrar Sesión
17
+            </button>
18
+        </ion-list>
19
+    </ion-content>
20
+</ion-menu>
21
+
22
+<ion-header>
23
+  <ion-navbar>
24
+    <ion-buttons>
25
+      <button ion-button menuToggle="left">
26
+      <ion-icon name="menu"></ion-icon>
27
+      <ion-title>SMART ALARM</ion-title>
28
+    </button>
29
+    </ion-buttons>
30
+
31
+    <ion-nav #vespotMenu ></ion-nav>
32
+  </ion-navbar>
33
+</ion-header>
34
+
35
+<ion-content>
36
+  <div id="map_canvas"></div>
37
+</ion-content>

+ 6 - 0
src/pages/main/main.scss Dosyayı Görüntüle

@@ -0,0 +1,6 @@
1
+page-home {
2
+  #map_canvas{
3
+    height: 100%;
4
+    width: 100%;
5
+  }
6
+}

+ 145 - 0
src/pages/main/main.ts Dosyayı Görüntüle

@@ -0,0 +1,145 @@
1
+import { Component } from '@angular/core';
2
+import { NavController } from 'ionic-angular';
3
+import { AlertController } from 'ionic-angular';
4
+
5
+import { HomePage } from '../home/home'
6
+import { DevicesPage } from '../devices/devices'
7
+import { ConfigurationPage } from '../configuration/configuration'
8
+import { ShareService } from '../../services/share/share';
9
+import { VespotServiceProvider } from '../../providers/vespot-service/vespot-service';
10
+
11
+import {
12
+  GoogleMaps,
13
+  GoogleMap,
14
+  GoogleMapsEvent,
15
+  GoogleMapOptions,
16
+  CameraPosition,
17
+  MarkerOptions,
18
+  Marker
19
+} from '@ionic-native/google-maps';
20
+
21
+@Component({
22
+  selector: 'page-home',
23
+  templateUrl: 'main.html'
24
+})
25
+export class Main {
26
+
27
+  private devicesPage;
28
+  private configurationPage;
29
+  devices: any;
30
+  rootDevice: any;
31
+  public rootPosition: any;
32
+  map: GoogleMap;
33
+
34
+  constructor(private navCtrl: NavController,
35
+  public shareService: ShareService,
36
+  private googleMaps: GoogleMaps,
37
+  private vespotService: VespotServiceProvider,
38
+  public alertCtrl: AlertController) {
39
+      this.devicesPage = DevicesPage;
40
+      this.configurationPage = ConfigurationPage;
41
+      this.devices = this.shareService.getDevices();
42
+      this.rootDevice = this.shareService.getRootDevice();
43
+      this.rootPosition = {};
44
+  }
45
+
46
+  ionViewWillEnter() {
47
+    if(typeof this.shareService.getRootDevice() == "undefined") {
48
+      this.navCtrl.push(DevicesPage);
49
+    } else {
50
+      this.getRootDevicePosition();
51
+    }
52
+  }
53
+
54
+  getRootDevicePosition() {
55
+    let auth = this.shareService.getAuthToken();
56
+    this.vespotService.getDeviceById(auth, this.shareService.getRootDevice().id)
57
+  	.subscribe(
58
+        (data) => { // Success
59
+          this.vespotService.getPositionById(auth, data[0].positionId)
60
+        	.subscribe(
61
+              (dataPos) => { // Success
62
+                this.rootPosition = dataPos[0];
63
+                this.loadMap();
64
+              },
65
+              (errorPos) =>{
66
+                let alert = this.alertCtrl.create({
67
+              title: 'Error servicio',
68
+              subTitle: errorPos,
69
+              buttons: ['OK']
70
+            });
71
+            alert.present();
72
+              }
73
+            );
74
+        },
75
+        (error) =>{
76
+          /*let alert = this.alertCtrl.create({
77
+        title: 'Advertencia',
78
+        subTitle: 'Error al acceder al servicio',
79
+        buttons: ['OK']
80
+      });
81
+      alert.present();*/
82
+        }
83
+      );
84
+  }
85
+
86
+
87
+  openDevicesPage() {
88
+    this.navCtrl.push(DevicesPage);
89
+  }
90
+
91
+  openConfigurationPage() {}
92
+
93
+  closeSession() {
94
+	   this.navCtrl.setRoot(HomePage);
95
+  }
96
+
97
+  /**
98
+  GOOGLE MAPS
99
+  **/
100
+  loadMap(){
101
+
102
+    let mapOptions: GoogleMapOptions = {
103
+      camera: {
104
+        target: {
105
+          lat: 43.0741904, // default location
106
+          lng: -89.3809802 // default location
107
+        },
108
+        zoom: 18,
109
+        tilt: 30
110
+      }
111
+    };
112
+
113
+    this.map = this.googleMaps.create('map_canvas', mapOptions);
114
+
115
+    // Wait the MAP_READY before using any methods.
116
+    this.map.one(GoogleMapsEvent.MAP_READY)
117
+    .then(() => {
118
+      // Now you can use all methods safely.
119
+      this.getPosition();
120
+    })
121
+    .catch(error =>{
122
+      console.log(error);
123
+    });
124
+
125
+  }
126
+
127
+  getPosition(): void{
128
+    this.map.moveCamera({
129
+      target: {
130
+        lat: this.rootPosition.latitude, // default location
131
+        lng: this.rootPosition.longitude // default location
132
+      }
133
+    });
134
+    this.map.addMarker({
135
+      title: this.shareService.getRootDevice().name,
136
+      icon: 'blue',
137
+      animation: 'DROP',
138
+      position: {
139
+        lat: this.rootPosition.latitude, // default location
140
+        lng: this.rootPosition.longitude // default location
141
+      }
142
+    });
143
+  }
144
+
145
+}

+ 29 - 0
src/providers/vespot-service/vespot-service.ts Dosyayı Görüntüle

@@ -0,0 +1,29 @@
1
+import { HttpClient } from '@angular/common/http';
2
+import { HttpHeaders } from '@angular/common/http';
3
+import { Injectable } from '@angular/core';
4
+
5
+/*
6
+  Generated class for the VespotServiceProvider provider.
7
+
8
+  See https://angular.io/guide/dependency-injection for more info on providers
9
+  and Angular DI.
10
+*/
11
+@Injectable()
12
+export class VespotServiceProvider {
13
+
14
+  constructor(public http: HttpClient) {
15
+  }
16
+
17
+  getDevices(auth) {
18
+    return this.http.get('http://api.vespot.com/devices', {headers: new HttpHeaders().set('Authorization', 'Basic ' + btoa(auth))});
19
+  }
20
+
21
+  getDeviceById(auth, deviceId) {
22
+    return this.http.get('http://api.vespot.com/devices?id=' + deviceId, {headers: new HttpHeaders().set('Authorization', 'Basic ' + btoa(auth))});
23
+  }
24
+
25
+  getPositionById(auth, positionId) {
26
+    return this.http.get('http://api.vespot.com/positions?positionId=' + positionId, {headers: new HttpHeaders().set('Authorization', 'Basic ' + btoa(auth))});
27
+  }
28
+
29
+}

+ 31 - 0
src/service-worker.js Dosyayı Görüntüle

@@ -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;

+ 46 - 0
src/services/share/share.ts Dosyayı Görüntüle

@@ -0,0 +1,46 @@
1
+import { Injectable } from '@angular/core';
2
+
3
+/*
4
+  Generated class for the ShareProvider provider.
5
+
6
+  See https://angular.io/guide/dependency-injection for more info on providers
7
+  and Angular DI.
8
+*/
9
+@Injectable()
10
+export class ShareService {
11
+
12
+  devices: any;
13
+  authToken: string;
14
+  rootDevice: any;
15
+
16
+  constructor() {
17
+    this.devices = {};
18
+    this.authToken = '';
19
+    this.rootDevice = undefined;
20
+  }
21
+
22
+  setDevices(devices) {
23
+    this.devices = devices;
24
+  }
25
+
26
+  getDevices() {
27
+    return this.devices;
28
+  }
29
+
30
+  setAuthToken(authToken) {
31
+    this.authToken = authToken;
32
+  }
33
+
34
+  getAuthToken() {
35
+    return this.authToken;
36
+  }
37
+
38
+  setRootDevice(rootDevice) {
39
+    this.rootDevice = rootDevice;
40
+  }
41
+
42
+  getRootDevice() {
43
+    return this.rootDevice;
44
+  }
45
+
46
+}

+ 88 - 0
src/theme/variables.scss Dosyayı Görüntüle

@@ -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
tsconfig.json Dosyayı Görüntüle

@@ -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
tslint.json Dosyayı Görüntüle

@@ -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
+}