AngularJS UI-router stateprovider issue

Im currently using Ionic and was playing with a app with tabs. (I.e has a bottom bar with icons).

Right now I want to remove it but ended messing up the routing. The devtools does not show any errors. I cannot transit from login page to main "posts" page. On login, clicking the login button does do anything. I have edited the state.go('') in the controllers accordingly.

Ill show before and after the changes. Would it make sense to remove views :{} totally? I find it complicates things and I do not use nested views. Not sure if modal page requires views. Appreciate some help/ advice on how to get around the error.

Before

    .state('tab', {
      url: '/tab',
      abstract: true,
      templateUrl: 'templates/tabs.html'
    })
   // --------Authenticate states ----------------
   .state('auth', {
      url: '/auth',
      templateUrl: 'templates/auth.html',
      controller: 'StartCtrl'
    })
    .state('register', {
      url: '/register',
      templateUrl: 'templates/register.html',
      controller: 'AuthCtrl',
    })
    .state('login', {
      url: '/login',
      templateUrl: 'templates/login.html',
      controller: 'AuthCtrl',
    })

    // ---------- Main states ---------------------

    .state('tab.posts', {
      url: '/posts',
      views: {
        'tab-posts': {
          templateUrl: 'templates/tab-posts.html',
          controller: 'PostsCtrl'
        }
      }
    })
    .state('tab.newpost', {
      url: '/newpost',
      views: {
        'tab-posts': {
          templateUrl: 'templates/tab-newpost.html',
          controller: 'NavCtrl'
        }
      }
    })
    .state('tab.posts.view', {
      url: '/posts/:postId',           
      views: {
        'tab-posts@tab': {
          templateUrl: 'templates/tab-showpost.html',
          controller: 'PostViewCtrl'
        }
      }
    })
    .state('tab.profile', {
      url: '/users/:userId',  
      views: {
        'tab-posts': {
          templateUrl: 'templates/tab-profile.html',
          controller: 'ProfileCtrl',
        }
      }
    })

After

.state('/', {
  url: '/',
  abstract: true,
  templateUrl: 'templates/tab-posts.html'
})
// --------Authenticate states ----------------
.state('auth', {
  url: '/auth',
  templateUrl: 'templates/auth.html',
  controller: 'StartCtrl'
})

.state('register', {
  url: '/register',
  templateUrl: 'templates/register.html',
  controller: 'AuthCtrl',
  resolve: {
    user: function(Auth){
      return Auth.resolveUser();
    }
  }
})
.state('login', {
  url: '/login',
  templateUrl: 'templates/login.html',
  controller: 'AuthCtrl',
  resolve: {
    user: function(Auth){
      return Auth.resolveUser();
    }
  }
})

//----------- Main states--------------------

.state('posts', {
  url: '/posts',
  views: {
    'posts': {
      templateUrl: 'templates/tab-posts.html',
      controller: 'PostsCtrl'
    }
  }
})
.state('newpost', {
  url: '/newpost',
  views: {
    'posts': {  
      templateUrl: 'templates/tab-newpost.html',
      controller: 'NavCtrl'
    }
  }
})
.state('posts.view', {
  url: '/posts/:postId',
  views: {
    'posts@': {
      templateUrl: 'templates/tab-showpost.html',
      controller: 'PostViewCtrl'
    }
  }
})
.state('profile', {
  url: '/users/:userId',   
  views: {
    'posts': {
      templateUrl: 'templates/tab-profile.html',
      controller: 'ProfileCtrl',
    }
  }
});

Updated for Levi

    app.factory('Auth', function($firebase, $firebaseAuth, FIREBASE_URL, $rootScope) {

      var ref = new Firebase(FIREBASE_URL);
      var auth = $firebaseAuth(ref);            

      var Auth = {
        register: function (user) {
          return auth.$createUser(user.email, user.password);
        },
        login: function (user) {
          return auth.$authWithPassword(user);  
        },
        logout: function() {                     
          auth.$unauth();
        },
        resolveUser: function() {
          return auth.$waitForAuth();          
        },
        signedIn: function() {
          return !!Auth.user.provider;
        },
        createProfile: function (user) {
          var profile = {
            username: user.username,     
            md5_hash: user.md5_hash
          };
          var profileRef = $firebase(ref.child('profile'));
          return profileRef.$set(user.uid, profile);
        },
        user: {}
      };

  auth.$onAuth(function (user){
    if(user) {
      angular.copy(user, Auth.user);
      Auth.user.profile = $firebase(ref.child('profile').child(Auth.user.uid)).$asObject();
      console.log(Auth.user);
    } else {
      console.log('logged out');

      if (Auth.user && Auth.user.profile) {
        Auth.user.profile.$destroy();
      }
      angular.copy({}, Auth.user);
    }
  });

  return Auth;
});


Image for error trace Image for error when resolveUser is deleted from Login in app.js

Remove you resolver from your login state.

.state('login', {
  url: '/login',
  templateUrl: 'templates/login.html',
  controller: 'AuthCtrl',
})

If a someone want to go to login, you can't force him to be logged in.