commit 30518e56d4c38a8f0b969203cee48220440fb571 Author: Mike Fitzpatrick Date: Thu Feb 15 20:40:34 2018 -0500 Initial commit diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..51873bc --- /dev/null +++ b/.editorconfig @@ -0,0 +1,17 @@ +# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs +# editorconfig.org + +root = true + +[*] +indent_style = space +indent_size = 2 + +# We recommend you to keep these unchanged +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..faf0575 --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +# Specifies intentionally untracked files to ignore when using Git +# http://git-scm.com/docs/gitignore + +*~ +*.sw[mnpcod] +*.log +*.tmp +*.tmp.* +log.txt +*.sublime-project +*.sublime-workspace +.vscode/ +npm-debug.log* + +.idea/ +.sourcemaps/ +.sass-cache/ +.tmp/ +.versions/ +coverage/ +dist/ +node_modules/ +tmp/ +temp/ +hooks/ +platforms/ +plugins/ +plugins/android.json +plugins/ios.json +www/ +$RECYCLE.BIN/ + +.DS_Store +Thumbs.db +UserInterfaceState.xcuserstate diff --git a/ionic.config.json b/ionic.config.json new file mode 100644 index 0000000..0403e3a --- /dev/null +++ b/ionic.config.json @@ -0,0 +1,6 @@ +{ + "name": "grindd", + "app_id": "", + "type": "ionic-angular", + "integrations": {} +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..8446127 --- /dev/null +++ b/package.json @@ -0,0 +1,38 @@ +{ + "name": "grindd", + "version": "0.0.1", + "author": "Ionic Framework", + "homepage": "http://ionicframework.com/", + "private": true, + "scripts": { + "clean": "ionic-app-scripts clean", + "build": "ionic-app-scripts build", + "lint": "ionic-app-scripts lint", + "ionic:build": "ionic-app-scripts build", + "ionic:serve": "ionic-app-scripts serve" + }, + "dependencies": { + "@angular/common": "5.0.3", + "@angular/compiler": "5.0.3", + "@angular/compiler-cli": "5.0.3", + "@angular/core": "5.0.3", + "@angular/forms": "5.0.3", + "@angular/http": "5.0.3", + "@angular/platform-browser": "5.0.3", + "@angular/platform-browser-dynamic": "5.0.3", + "@ionic-native/core": "4.4.0", + "@ionic-native/splash-screen": "4.4.0", + "@ionic-native/status-bar": "4.4.0", + "@ionic/storage": "2.1.3", + "ionic-angular": "3.9.2", + "ionicons": "3.0.0", + "rxjs": "5.5.2", + "sw-toolbox": "3.6.0", + "zone.js": "0.8.18" + }, + "devDependencies": { + "@ionic/app-scripts": "3.1.8", + "typescript": "2.4.2" + }, + "description": "An Ionic project" +} diff --git a/src/app/app.component.ts b/src/app/app.component.ts new file mode 100644 index 0000000..a28e8d2 --- /dev/null +++ b/src/app/app.component.ts @@ -0,0 +1,22 @@ +import { Component } from '@angular/core'; +import { Platform } from 'ionic-angular'; +import { StatusBar } from '@ionic-native/status-bar'; +import { SplashScreen } from '@ionic-native/splash-screen'; + +import { TabsPage } from '../pages/tabs/tabs'; + +@Component({ + templateUrl: 'app.html' +}) +export class MyApp { + rootPage:any = TabsPage; + + constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) { + platform.ready().then(() => { + // Okay, so the platform is ready and our plugins are available. + // Here you can do any higher level native things you might need. + statusBar.styleDefault(); + splashScreen.hide(); + }); + } +} diff --git a/src/app/app.html b/src/app/app.html new file mode 100644 index 0000000..7b88c96 --- /dev/null +++ b/src/app/app.html @@ -0,0 +1 @@ + diff --git a/src/app/app.module.ts b/src/app/app.module.ts new file mode 100644 index 0000000..e2c9d8d --- /dev/null +++ b/src/app/app.module.ts @@ -0,0 +1,40 @@ +import { NgModule, ErrorHandler } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; +import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular'; +import { MyApp } from './app.component'; + +import { AboutPage } from '../pages/about/about'; +import { ContactPage } from '../pages/contact/contact'; +import { HomePage } from '../pages/home/home'; +import { TabsPage } from '../pages/tabs/tabs'; + +import { StatusBar } from '@ionic-native/status-bar'; +import { SplashScreen } from '@ionic-native/splash-screen'; + +@NgModule({ + declarations: [ + MyApp, + AboutPage, + ContactPage, + HomePage, + TabsPage + ], + imports: [ + BrowserModule, + IonicModule.forRoot(MyApp) + ], + bootstrap: [IonicApp], + entryComponents: [ + MyApp, + AboutPage, + ContactPage, + HomePage, + TabsPage + ], + providers: [ + StatusBar, + SplashScreen, + {provide: ErrorHandler, useClass: IonicErrorHandler} + ] +}) +export class AppModule {} diff --git a/src/app/app.scss b/src/app/app.scss new file mode 100644 index 0000000..1392a6e --- /dev/null +++ b/src/app/app.scss @@ -0,0 +1,16 @@ +// http://ionicframework.com/docs/theming/ + + +// App Global Sass +// -------------------------------------------------- +// Put style rules here that you want to apply globally. These +// styles are for the entire app and not just one component. +// Additionally, this file can be also used as an entry point +// to import other Sass files to be included in the output CSS. +// +// Shared Sass variables, which can be used to adjust Ionic's +// default Sass variables, belong in "theme/variables.scss". +// +// To declare rules for a specific mode, create a child rule +// for the .md, .ios, or .wp mode classes. The mode class is +// automatically applied to the element in the app. diff --git a/src/app/main.ts b/src/app/main.ts new file mode 100644 index 0000000..6af7a5b --- /dev/null +++ b/src/app/main.ts @@ -0,0 +1,5 @@ +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app.module'; + +platformBrowserDynamic().bootstrapModule(AppModule); diff --git a/src/assets/icon/favicon.ico b/src/assets/icon/favicon.ico new file mode 100644 index 0000000..d76fa29 Binary files /dev/null and b/src/assets/icon/favicon.ico differ diff --git a/src/assets/imgs/logo.png b/src/assets/imgs/logo.png new file mode 100644 index 0000000..80f631d Binary files /dev/null and b/src/assets/imgs/logo.png differ diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..e254871 --- /dev/null +++ b/src/index.html @@ -0,0 +1,49 @@ + + + + + Ionic App + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/manifest.json b/src/manifest.json new file mode 100644 index 0000000..f6456bb --- /dev/null +++ b/src/manifest.json @@ -0,0 +1,13 @@ +{ + "name": "Ionic", + "short_name": "Ionic", + "start_url": "index.html", + "display": "standalone", + "icons": [{ + "src": "assets/imgs/logo.png", + "sizes": "512x512", + "type": "image/png" + }], + "background_color": "#4e8ef7", + "theme_color": "#4e8ef7" +} \ No newline at end of file diff --git a/src/pages/about/about.html b/src/pages/about/about.html new file mode 100644 index 0000000..2763c93 --- /dev/null +++ b/src/pages/about/about.html @@ -0,0 +1,11 @@ + + + + About + + + + + + + diff --git a/src/pages/about/about.scss b/src/pages/about/about.scss new file mode 100644 index 0000000..639956d --- /dev/null +++ b/src/pages/about/about.scss @@ -0,0 +1,3 @@ +page-about { + +} diff --git a/src/pages/about/about.ts b/src/pages/about/about.ts new file mode 100644 index 0000000..a7ee80a --- /dev/null +++ b/src/pages/about/about.ts @@ -0,0 +1,14 @@ +import { Component } from '@angular/core'; +import { NavController } from 'ionic-angular'; + +@Component({ + selector: 'page-about', + templateUrl: 'about.html' +}) +export class AboutPage { + + constructor(public navCtrl: NavController) { + + } + +} diff --git a/src/pages/contact/contact.html b/src/pages/contact/contact.html new file mode 100644 index 0000000..9fd7a43 --- /dev/null +++ b/src/pages/contact/contact.html @@ -0,0 +1,17 @@ + + + + Contact + + + + + + + Follow us on Twitter + + + @ionicframework + + + diff --git a/src/pages/contact/contact.scss b/src/pages/contact/contact.scss new file mode 100644 index 0000000..13d4440 --- /dev/null +++ b/src/pages/contact/contact.scss @@ -0,0 +1,3 @@ +page-contact { + +} diff --git a/src/pages/contact/contact.ts b/src/pages/contact/contact.ts new file mode 100644 index 0000000..3ccadc9 --- /dev/null +++ b/src/pages/contact/contact.ts @@ -0,0 +1,14 @@ +import { Component } from '@angular/core'; +import { NavController } from 'ionic-angular'; + +@Component({ + selector: 'page-contact', + templateUrl: 'contact.html' +}) +export class ContactPage { + + constructor(public navCtrl: NavController) { + + } + +} diff --git a/src/pages/home/home.html b/src/pages/home/home.html new file mode 100644 index 0000000..485991e --- /dev/null +++ b/src/pages/home/home.html @@ -0,0 +1,17 @@ + + + Home + + + + +

Welcome to Ionic!

+

+ This starter project comes with simple tabs-based layout for apps + that are going to primarily use a Tabbed UI. +

+

+ Take a look at the src/pages/ directory to add or change tabs, + update any existing page or create new pages. +

+
diff --git a/src/pages/home/home.scss b/src/pages/home/home.scss new file mode 100644 index 0000000..d4cc8fc --- /dev/null +++ b/src/pages/home/home.scss @@ -0,0 +1,3 @@ +page-home { + +} diff --git a/src/pages/home/home.ts b/src/pages/home/home.ts new file mode 100644 index 0000000..1d510dd --- /dev/null +++ b/src/pages/home/home.ts @@ -0,0 +1,14 @@ +import { Component } from '@angular/core'; +import { NavController } from 'ionic-angular'; + +@Component({ + selector: 'page-home', + templateUrl: 'home.html' +}) +export class HomePage { + + constructor(public navCtrl: NavController) { + + } + +} diff --git a/src/pages/tabs/tabs.html b/src/pages/tabs/tabs.html new file mode 100644 index 0000000..fa3921a --- /dev/null +++ b/src/pages/tabs/tabs.html @@ -0,0 +1,5 @@ + + + + + diff --git a/src/pages/tabs/tabs.ts b/src/pages/tabs/tabs.ts new file mode 100644 index 0000000..f80301b --- /dev/null +++ b/src/pages/tabs/tabs.ts @@ -0,0 +1,19 @@ +import { Component } from '@angular/core'; + +import { AboutPage } from '../about/about'; +import { ContactPage } from '../contact/contact'; +import { HomePage } from '../home/home'; + +@Component({ + templateUrl: 'tabs.html' +}) +export class TabsPage { + + tab1Root = HomePage; + tab2Root = AboutPage; + tab3Root = ContactPage; + + constructor() { + + } +} diff --git a/src/service-worker.js b/src/service-worker.js new file mode 100644 index 0000000..ffbbb06 --- /dev/null +++ b/src/service-worker.js @@ -0,0 +1,31 @@ +/** + * Check out https://googlechromelabs.github.io/sw-toolbox/ for + * more info on how to use sw-toolbox to custom configure your service worker. + */ + + +'use strict'; +importScripts('./build/sw-toolbox.js'); + +self.toolbox.options.cache = { + name: 'ionic-cache' +}; + +// pre-cache our key assets +self.toolbox.precache( + [ + './build/main.js', + './build/vendor.js', + './build/main.css', + './build/polyfills.js', + 'index.html', + 'manifest.json' + ] +); + +// dynamically cache any other local assets +self.toolbox.router.any('/*', self.toolbox.fastest); + +// for any other requests go to the network, cache, +// and then only use that cached resource if your user goes offline +self.toolbox.router.default = self.toolbox.networkFirst; diff --git a/src/theme/variables.scss b/src/theme/variables.scss new file mode 100644 index 0000000..18276a4 --- /dev/null +++ b/src/theme/variables.scss @@ -0,0 +1,88 @@ +// Ionic Variables and Theming. For more info, please see: +// http://ionicframework.com/docs/theming/ + +// Font path is used to include ionicons, +// roboto, and noto sans fonts +$font-path: "../assets/fonts"; + + +// The app direction is used to include +// rtl styles in your app. For more info, please see: +// http://ionicframework.com/docs/theming/rtl-support/ +$app-direction: ltr; + + +@import "ionic.globals"; + + +// Shared Variables +// -------------------------------------------------- +// To customize the look and feel of this app, you can override +// the Sass variables found in Ionic's source scss files. +// To view all the possible Ionic variables, see: +// http://ionicframework.com/docs/theming/overriding-ionic-variables/ + + + + +// Named Color Variables +// -------------------------------------------------- +// Named colors makes it easy to reuse colors on various components. +// It's highly recommended to change the default colors +// to match your app's branding. Ionic uses a Sass map of +// colors so you can add, rename and remove colors as needed. +// The "primary" color is the only required color in the map. + +$colors: ( + primary: #488aff, + secondary: #32db64, + danger: #f53d3d, + light: #f4f4f4, + dark: #222 +); + + +// App iOS Variables +// -------------------------------------------------- +// iOS only Sass variables can go here + + + + +// App Material Design Variables +// -------------------------------------------------- +// Material Design only Sass variables can go here + + + + +// App Windows Variables +// -------------------------------------------------- +// Windows only Sass variables can go here + + + + +// App Theme +// -------------------------------------------------- +// Ionic apps can have different themes applied, which can +// then be future customized. This import comes last +// so that the above variables are used and Ionic's +// default are overridden. + +@import "ionic.theme.default"; + + +// Ionicons +// -------------------------------------------------- +// The premium icon font for Ionic. For more info, please see: +// http://ionicframework.com/docs/ionicons/ + +@import "ionic.ionicons"; + + +// Fonts +// -------------------------------------------------- + +@import "roboto"; +@import "noto-sans"; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..5d53142 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "declaration": false, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "lib": [ + "dom", + "es2015" + ], + "module": "es2015", + "moduleResolution": "node", + "sourceMap": true, + "target": "es5" + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "node_modules", + "src/**/*.spec.ts", + "src/**/__tests__/*.ts" + ], + "compileOnSave": false, + "atom": { + "rewriteTsconfig": false + } +} diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..dd8e8d8 --- /dev/null +++ b/tslint.json @@ -0,0 +1,11 @@ +{ + "rules": { + "no-duplicate-variable": true, + "no-unused-variable": [ + true + ] + }, + "rulesDirectory": [ + "node_modules/tslint-eslint-rules/dist/rules" + ] +}