Browse Source

Initial commit

Shivam Patel 6 years ago
commit
ae4a5810b6

+ 17
- 0
.editorconfig View File

@@ -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 View File

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

+ 6
- 0
ionic.config.json View File

@@ -0,0 +1,6 @@
1
+{
2
+  "name": "wyds",
3
+  "app_id": "86c9d776",
4
+  "type": "ionic-angular",
5
+  "integrations": {}
6
+}

+ 6509
- 0
package-lock.json
File diff suppressed because it is too large
View File


+ 40
- 0
package.json View File

@@ -0,0 +1,40 @@
1
+{
2
+  "name": "wyds",
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/animations": "5.2.11",
16
+    "@angular/common": "5.2.11",
17
+    "@angular/compiler": "5.2.11",
18
+    "@angular/compiler-cli": "5.2.11",
19
+    "@angular/core": "5.2.11",
20
+    "@angular/forms": "5.2.11",
21
+    "@angular/http": "5.2.11",
22
+    "@angular/platform-browser": "5.2.11",
23
+    "@angular/platform-browser-dynamic": "5.2.11",
24
+    "@ionic-native/core": "4.9.1",
25
+    "@ionic-native/splash-screen": "4.9.1",
26
+    "@ionic-native/status-bar": "4.9.1",
27
+    "@ionic/pro": "1.0.20",
28
+    "@ionic/storage": "2.1.3",
29
+    "ionic-angular": "3.9.2",
30
+    "ionicons": "3.0.0",
31
+    "rxjs": "5.5.11",
32
+    "sw-toolbox": "3.6.0",
33
+    "zone.js": "0.8.26"
34
+  },
35
+  "devDependencies": {
36
+    "@ionic/app-scripts": "3.1.10",
37
+    "typescript": "~2.6.2"
38
+  },
39
+  "description": "An Ionic project"
40
+}

+ 44
- 0
src/app/app.component.ts View File

@@ -0,0 +1,44 @@
1
+import { Component, ViewChild } from '@angular/core';
2
+import { Nav, 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
+import { ListPage } from '../pages/list/list';
8
+
9
+@Component({
10
+  templateUrl: 'app.html'
11
+})
12
+export class MyApp {
13
+  @ViewChild(Nav) nav: Nav;
14
+
15
+  rootPage: any = HomePage;
16
+
17
+  pages: Array<{title: string, component: any}>;
18
+
19
+  constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen) {
20
+    this.initializeApp();
21
+
22
+    // used for an example of ngFor and navigation
23
+    this.pages = [
24
+      { title: 'Home', component: HomePage },
25
+      { title: 'List', component: ListPage }
26
+    ];
27
+
28
+  }
29
+
30
+  initializeApp() {
31
+    this.platform.ready().then(() => {
32
+      // Okay, so the platform is ready and our plugins are available.
33
+      // Here you can do any higher level native things you might need.
34
+      this.statusBar.styleDefault();
35
+      this.splashScreen.hide();
36
+    });
37
+  }
38
+
39
+  openPage(page) {
40
+    // Reset the content nav to have just this page
41
+    // we wouldn't want the back button to show in this scenario
42
+    this.nav.setRoot(page.component);
43
+  }
44
+}

+ 19
- 0
src/app/app.html View File

@@ -0,0 +1,19 @@
1
+<ion-menu [content]="content">
2
+  <ion-header>
3
+    <ion-toolbar>
4
+      <ion-title>Menu</ion-title>
5
+    </ion-toolbar>
6
+  </ion-header>
7
+
8
+  <ion-content>
9
+    <ion-list>
10
+      <button menuClose ion-item *ngFor="let p of pages" (click)="openPage(p)">
11
+        {{p.title}}
12
+      </button>
13
+    </ion-list>
14
+  </ion-content>
15
+
16
+</ion-menu>
17
+
18
+<!-- Disable swipe-to-go-back because it's poor UX to combine STGB with side menus -->
19
+<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>

+ 34
- 0
src/app/app.module.ts View File

@@ -0,0 +1,34 @@
1
+import { BrowserModule } from '@angular/platform-browser';
2
+import { ErrorHandler, NgModule } from '@angular/core';
3
+import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
4
+
5
+import { MyApp } from './app.component';
6
+import { HomePage } from '../pages/home/home';
7
+import { ListPage } from '../pages/list/list';
8
+
9
+import { StatusBar } from '@ionic-native/status-bar';
10
+import { SplashScreen } from '@ionic-native/splash-screen';
11
+
12
+@NgModule({
13
+  declarations: [
14
+    MyApp,
15
+    HomePage,
16
+    ListPage
17
+  ],
18
+  imports: [
19
+    BrowserModule,
20
+    IonicModule.forRoot(MyApp),
21
+  ],
22
+  bootstrap: [IonicApp],
23
+  entryComponents: [
24
+    MyApp,
25
+    HomePage,
26
+    ListPage
27
+  ],
28
+  providers: [
29
+    StatusBar,
30
+    SplashScreen,
31
+    {provide: ErrorHandler, useClass: IonicErrorHandler}
32
+  ]
33
+})
34
+export class AppModule {}

+ 16
- 0
src/app/app.scss View File

@@ -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 View File

@@ -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 View File


BIN
src/assets/imgs/logo.png View File


+ 49
- 0
src/index.html View File

@@ -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 View File

@@ -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/home/home.html View File

@@ -0,0 +1,18 @@
1
+<ion-header>
2
+  <ion-navbar>
3
+    <button ion-button menuToggle>
4
+      <ion-icon name="menu"></ion-icon>
5
+    </button>
6
+    <ion-title>Home</ion-title>
7
+  </ion-navbar>
8
+</ion-header>
9
+
10
+<ion-content padding>
11
+  <h3>Ionic Menu Starter</h3>
12
+
13
+  <p>
14
+    If you get lost, the <a href="http://ionicframework.com/docs/v2">docs</a> will show you the way.
15
+  </p>
16
+
17
+  <button ion-button secondary menuToggle>Toggle Menu</button>
18
+</ion-content>

+ 3
- 0
src/pages/home/home.scss View File

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

+ 14
- 0
src/pages/home/home.ts View File

@@ -0,0 +1,14 @@
1
+import { Component } from '@angular/core';
2
+import { NavController } from 'ionic-angular';
3
+
4
+@Component({
5
+  selector: 'page-home',
6
+  templateUrl: 'home.html'
7
+})
8
+export class HomePage {
9
+
10
+  constructor(public navCtrl: NavController) {
11
+
12
+  }
13
+
14
+}

+ 23
- 0
src/pages/list/list.html View File

@@ -0,0 +1,23 @@
1
+<ion-header>
2
+  <ion-navbar>
3
+    <button ion-button menuToggle>
4
+      <ion-icon name="menu"></ion-icon>
5
+    </button>
6
+    <ion-title>List</ion-title>
7
+  </ion-navbar>
8
+</ion-header>
9
+
10
+<ion-content>
11
+  <ion-list>
12
+    <button ion-item *ngFor="let item of items" (click)="itemTapped($event, item)">
13
+      <ion-icon [name]="item.icon" item-start></ion-icon>
14
+      {{item.title}}
15
+      <div class="item-note" item-end>
16
+        {{item.note}}
17
+      </div>
18
+    </button>
19
+  </ion-list>
20
+  <div *ngIf="selectedItem" padding>
21
+    You navigated here from <b>{{selectedItem.title}}</b>
22
+  </div>
23
+</ion-content>

+ 3
- 0
src/pages/list/list.scss View File

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

+ 37
- 0
src/pages/list/list.ts View File

@@ -0,0 +1,37 @@
1
+import { Component } from '@angular/core';
2
+import { NavController, NavParams } from 'ionic-angular';
3
+
4
+@Component({
5
+  selector: 'page-list',
6
+  templateUrl: 'list.html'
7
+})
8
+export class ListPage {
9
+  selectedItem: any;
10
+  icons: string[];
11
+  items: Array<{title: string, note: string, icon: string}>;
12
+
13
+  constructor(public navCtrl: NavController, public navParams: NavParams) {
14
+    // If we navigated to this page, we will have an item available as a nav param
15
+    this.selectedItem = navParams.get('item');
16
+
17
+    // Let's populate this page with some filler content for funzies
18
+    this.icons = ['flask', 'wifi', 'beer', 'football', 'basketball', 'paper-plane',
19
+    'american-football', 'boat', 'bluetooth', 'build'];
20
+
21
+    this.items = [];
22
+    for (let i = 1; i < 11; i++) {
23
+      this.items.push({
24
+        title: 'Item ' + i,
25
+        note: 'This is item #' + i,
26
+        icon: this.icons[Math.floor(Math.random() * this.icons.length)]
27
+      });
28
+    }
29
+  }
30
+
31
+  itemTapped(event, item) {
32
+    // That's right, we're pushing to ourselves!
33
+    this.navCtrl.push(ListPage, {
34
+      item: item
35
+    });
36
+  }
37
+}

+ 31
- 0
src/service-worker.js View File

@@ -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
src/theme/variables.scss View File

@@ -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 View File

@@ -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 View File

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