[
  {
    "path": "README.md",
    "content": "### :point_right: This starter repo has moved to the [ionic-team/starters](https://github.com/ionic-team/starters/tree/master/ionic1/official/tabs) repo! :point_left:\n"
  },
  {
    "path": "css/style.css",
    "content": "/* Empty. Add your own CSS if you like */\n"
  },
  {
    "path": "index.html",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width\">\n    <title></title>\n\n    <link rel=\"manifest\" href=\"manifest.json\">\n\n    <!-- un-comment this code to enable service worker\n    <script>\n      if ('serviceWorker' in navigator) {\n        navigator.serviceWorker.register('service-worker.js')\n          .then(() => console.log('service worker installed'))\n          .catch(err => console.log('Error', err));\n      }\n    </script>-->\n\n    <link href=\"lib/ionic/css/ionic.css\" rel=\"stylesheet\">\n    <link href=\"css/style.css\" rel=\"stylesheet\">\n\n    <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above\n    <link href=\"css/ionic.app.css\" rel=\"stylesheet\">\n    -->\n\n    <!-- ionic/angularjs js -->\n    <script src=\"lib/ionic/js/ionic.bundle.js\"></script>\n\n    <!-- cordova script (this will be a 404 during development) -->\n    <script src=\"cordova.js\"></script>\n\n    <!-- your app's js -->\n    <script src=\"js/app.js\"></script>\n    <script src=\"js/controllers.js\"></script>\n    <script src=\"js/services.js\"></script>\n  </head>\n  <body ng-app=\"starter\">\n    <!--\n      The nav bar that will be updated as we navigate between views.\n    -->\n    <ion-nav-bar class=\"bar-stable\">\n      <ion-nav-back-button>\n      </ion-nav-back-button>\n    </ion-nav-bar>\n    <!--\n      The views will be rendered in the <ion-nav-view> directive below\n      Templates are in the /templates folder (but you could also\n      have templates inline in this html file if you'd like).\n    -->\n    <ion-nav-view></ion-nav-view>\n  </body>\n</html>\n"
  },
  {
    "path": "js/app.js",
    "content": "// Ionic Starter App\n\n// angular.module is a global place for creating, registering and retrieving Angular modules\n// 'starter' is the name of this angular module example (also set in a <body> attribute in index.html)\n// the 2nd parameter is an array of 'requires'\n// 'starter.services' is found in services.js\n// 'starter.controllers' is found in controllers.js\nangular.module('starter', ['ionic', 'starter.controllers', 'starter.services'])\n\n.run(function($ionicPlatform) {\n  $ionicPlatform.ready(function() {\n    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard\n    // for form inputs)\n    if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {\n      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);\n      cordova.plugins.Keyboard.disableScroll(true);\n\n    }\n    if (window.StatusBar) {\n      // org.apache.cordova.statusbar required\n      StatusBar.styleDefault();\n    }\n  });\n})\n\n.config(function($stateProvider, $urlRouterProvider) {\n\n  // Ionic uses AngularUI Router which uses the concept of states\n  // Learn more here: https://github.com/angular-ui/ui-router\n  // Set up the various states which the app can be in.\n  // Each state's controller can be found in controllers.js\n  $stateProvider\n\n  // setup an abstract state for the tabs directive\n    .state('tab', {\n    url: '/tab',\n    abstract: true,\n    templateUrl: 'templates/tabs.html'\n  })\n\n  // Each tab has its own nav history stack:\n\n  .state('tab.dash', {\n    url: '/dash',\n    views: {\n      'tab-dash': {\n        templateUrl: 'templates/tab-dash.html',\n        controller: 'DashCtrl'\n      }\n    }\n  })\n\n  .state('tab.chats', {\n      url: '/chats',\n      views: {\n        'tab-chats': {\n          templateUrl: 'templates/tab-chats.html',\n          controller: 'ChatsCtrl'\n        }\n      }\n    })\n    .state('tab.chat-detail', {\n      url: '/chats/:chatId',\n      views: {\n        'tab-chats': {\n          templateUrl: 'templates/chat-detail.html',\n          controller: 'ChatDetailCtrl'\n        }\n      }\n    })\n\n  .state('tab.account', {\n    url: '/account',\n    views: {\n      'tab-account': {\n        templateUrl: 'templates/tab-account.html',\n        controller: 'AccountCtrl'\n      }\n    }\n  });\n\n  // if none of the above states are matched, use this as the fallback\n  $urlRouterProvider.otherwise('/tab/dash');\n\n});\n"
  },
  {
    "path": "js/controllers.js",
    "content": "angular.module('starter.controllers', [])\n\n.controller('DashCtrl', function($scope) {})\n\n.controller('ChatsCtrl', function($scope, Chats) {\n  // With the new view caching in Ionic, Controllers are only called\n  // when they are recreated or on app start, instead of every page change.\n  // To listen for when this page is active (for example, to refresh data),\n  // listen for the $ionicView.enter event:\n  //\n  //$scope.$on('$ionicView.enter', function(e) {\n  //});\n\n  $scope.chats = Chats.all();\n  $scope.remove = function(chat) {\n    Chats.remove(chat);\n  };\n})\n\n.controller('ChatDetailCtrl', function($scope, $stateParams, Chats) {\n  $scope.chat = Chats.get($stateParams.chatId);\n})\n\n.controller('AccountCtrl', function($scope) {\n  $scope.settings = {\n    enableFriends: true\n  };\n});\n"
  },
  {
    "path": "js/services.js",
    "content": "angular.module('starter.services', [])\n\n.factory('Chats', function() {\n  // Might use a resource here that returns a JSON array\n\n  // Some fake testing data\n  var chats = [{\n    id: 0,\n    name: 'Ben Sparrow',\n    lastText: 'You on your way?',\n    face: 'img/ben.png'\n  }, {\n    id: 1,\n    name: 'Max Lynx',\n    lastText: 'Hey, it\\'s me',\n    face: 'img/max.png'\n  }, {\n    id: 2,\n    name: 'Adam Bradleyson',\n    lastText: 'I should buy a boat',\n    face: 'img/adam.jpg'\n  }, {\n    id: 3,\n    name: 'Perry Governor',\n    lastText: 'Look at my mukluks!',\n    face: 'img/perry.png'\n  }, {\n    id: 4,\n    name: 'Mike Harrington',\n    lastText: 'This is wicked good ice cream.',\n    face: 'img/mike.png'\n  }];\n\n  return {\n    all: function() {\n      return chats;\n    },\n    remove: function(chat) {\n      chats.splice(chats.indexOf(chat), 1);\n    },\n    get: function(chatId) {\n      for (var i = 0; i < chats.length; i++) {\n        if (chats[i].id === parseInt(chatId)) {\n          return chats[i];\n        }\n      }\n      return null;\n    }\n  };\n});\n"
  },
  {
    "path": "manifest.json",
    "content": "{\n  \"name\": \"My Ionic App\",\n  \"short_name\": \"My Ionic App\",\n  \"start_url\": \"index.html\",\n  \"display\": \"standalone\",\n  \"icons\": [{\n    \"src\": \"icon.png\",\n    \"sizes\": \"512x512\",\n    \"type\": \"image/png\"\n  }]\n}"
  },
  {
    "path": "service-worker.js",
    "content": "self.addEventListener('activate', function (event) {\n\n});\n\nself.addEventListener('fetch', function (event) {\n\n});\n\nself.addEventListener('push', function (event) {\n\n});"
  },
  {
    "path": "templates/chat-detail.html",
    "content": "<!--\n  This template loads for the 'tab.friend-detail' state (app.js)\n  'friend' is a $scope variable created in the FriendsCtrl controller (controllers.js)\n  The FriendsCtrl pulls data from the Friends service (service.js)\n  The Friends service returns an array of friend data\n-->\n<ion-view view-title=\"{{chat.name}}\">\n  <ion-content class=\"padding\">\n    <img ng-src=\"{{chat.face}}\" style=\"width: 64px; height: 64px\">\n    <p>\n      {{chat.lastText}}\n    </p>\n  </ion-content>\n</ion-view>\n"
  },
  {
    "path": "templates/tab-account.html",
    "content": "<ion-view view-title=\"Account\">\n  <ion-content>\n    <ion-list>\n    <ion-toggle  ng-model=\"settings.enableFriends\">\n        Enable Friends\n    </ion-toggle>\n    </ion-list>\n  </ion-content>\n</ion-view>\n"
  },
  {
    "path": "templates/tab-chats.html",
    "content": "<ion-view view-title=\"Chats\">\n  <ion-content>\n    <ion-list>\n      <ion-item class=\"item-remove-animate item-avatar item-icon-right\" ng-repeat=\"chat in chats\" type=\"item-text-wrap\" href=\"#/tab/chats/{{chat.id}}\">\n        <img ng-src=\"{{chat.face}}\">\n        <h2>{{chat.name}}</h2>\n        <p>{{chat.lastText}}</p>\n        <i class=\"icon ion-chevron-right icon-accessory\"></i>\n\n        <ion-option-button class=\"button-assertive\" ng-click=\"remove(chat)\">\n          Delete\n        </ion-option-button>\n      </ion-item>\n    </ion-list>\n  </ion-content>\n</ion-view>\n"
  },
  {
    "path": "templates/tab-dash.html",
    "content": "<ion-view view-title=\"Dashboard\">\n  <ion-content class=\"padding\">\n    <h2>Welcome to Ionic</h2>\n    <p>\n    This is the Ionic starter for tabs-based apps. For other starters and ready-made templates, check out the <a href=\"http://market.ionic.io/starters\" target=\"_blank\">Ionic Market</a>.\n    </p>\n    <p>\n      To edit the content of each tab, edit the corresponding template file in <code>www/templates/</code>. This template is <code>www/templates/tab-dash.html</code>\n    </p>\n    <p>\n    If you need help with your app, join the Ionic Community on the <a href=\"http://forum.ionicframework.com\" target=\"_blank\">Ionic Forum</a>. Make sure to <a href=\"http://twitter.com/ionicframework\" target=\"_blank\">follow us</a> on Twitter to get important updates and announcements for Ionic developers.\n    </p>\n    <p>\n      <b>Psst!</b> - Try <a href=\"http://view.ionic.io/\">Ionic View</a> to easily share and test your app with clients and co-workers.\n    </p>\n  </ion-content>\n</ion-view>\n"
  },
  {
    "path": "templates/tabs.html",
    "content": "<!--\nCreate tabs with an icon and label, using the tabs-positive style.\nEach tab's child <ion-nav-view> directive will have its own\nnavigation history that also transitions its views in and out.\n-->\n<ion-tabs class=\"tabs-icon-top tabs-color-active-positive\">\n\n  <!-- Dashboard Tab -->\n  <ion-tab title=\"Status\" icon-off=\"ion-ios-pulse\" icon-on=\"ion-ios-pulse-strong\" href=\"#/tab/dash\">\n    <ion-nav-view name=\"tab-dash\"></ion-nav-view>\n  </ion-tab>\n\n  <!-- Chats Tab -->\n  <ion-tab title=\"Chats\" icon-off=\"ion-ios-chatboxes-outline\" icon-on=\"ion-ios-chatboxes\" href=\"#/tab/chats\">\n    <ion-nav-view name=\"tab-chats\"></ion-nav-view>\n  </ion-tab>\n\n  <!-- Account Tab -->\n  <ion-tab title=\"Account\" icon-off=\"ion-ios-gear-outline\" icon-on=\"ion-ios-gear\" href=\"#/tab/account\">\n    <ion-nav-view name=\"tab-account\"></ion-nav-view>\n  </ion-tab>\n\n\n</ion-tabs>\n"
  }
]