JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css">
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
<script src="http://builds.emberjs.com.s3.amazonaws.com/handlebars-1.0.0-rc.3.js"></script>
<script src="http://builds.emberjs.com.s3.amazonaws.com/ember-latest.js"></script>
<script type="text/x-handlebars" id="navbar">

    <div class="navbar">
        <div class="navbar-inner">
            <div class="container">
                <div class="brand">{{#linkTo "index"}}MyApp{{/linkTo}}</div>
                <ul class="nav pull-right">

					{{#if isAuthenticated}}

                        <li><a {{action logout}} href="#">Logout</a></li>
					{{else}}
                        <li><a {{action login}} href="#">Login</a></li>
					{{/if}}
                </ul>

            </div>
        </div>
    </div>
</script>
<script type="text/x-handlebars">

	{{render navbar}}
			{{authState}}
	{{#if isAuthenticated}}
		{{outlet}}
	{{else}}
		{{render login}}
	{{/if}}
</script>

<script type="text/x-handlebars" id="index">
    <div class="container-fluid">
        <div class="offset5 well pull-left span4">
               welcome, now you can do stuff
        </div>
    </div>
</script>
    <script type="text/x-handlebars" id="login">
    <div class="container-fluid">
        <div class="well span6" id="loginModal">

            <div class="modal-body">

                <div id="myTabContent" class="tab-content">
                    <div class="tab-pane active in" id="login">
                        <form class="form-horizontal" action='' method="POST">
                            <fieldset>
                                <div id="legend">
                                    <legend class="">Login</legend>
                                </div>
                                <div class="control-group">
                                    <!-- Username -->
                                   ...

JavaScript

App = Ember.Application.create();
App.LoginController = Em.Controller.extend({

    username:null,

    authStateBinding: Ember.Binding.oneWay('App.LoginStateManager.currentState.name'),
    authState: null,
    isAuthenticated: function () {
        return (this.get('authState') == 'isAuthenticated');
    }.property('authState'),
    login:function(){
//        this.transitionToRoute("forms");

        var credentials = {username:this.get("username"), password:this.get("password")};
        App.LoginStateManager.send("login", credentials);
    }
});


App.ApplicationController = Em.Controller.extend({

    authStateBinding: Ember.Binding.oneWay('App.LoginStateManager.currentState.name'),
    authState: null,

    isAuthenticated: function () {
        return (this.get('authState') == 'isAuthenticated');
    }.property('authState')
});


App.NavbarController = Ember.ArrayController.extend({
    authStateBinding: Ember.Binding.oneWay('App.LoginStateManager.currentState.name'),
    authState: null,
    isAuthenticated: function () {
        return (this.get('authState') == 'isAuthenticated');
    }.property('authState'),
    login: function () {
        var credentials = {}; //todo: get acutal credentials
        console.log("login");
        App.LoginStateManager.send("login", credentials);
    },
    logout: function () {
        App.LoginStateManager.send("logout");
    }
});


App.LoginStateManager = Ember.StateManager.create({
    initialState: "isNotAuthenticated",
    isAuthenticated: Ember.State.create({
        enter: function () {
            console.log("enter " + this.name);
        },
        logout: function (manager, context) {
            //todo: logout
            manager.transitionTo('isNotAuthenticated');
        }
    }),
    isNotAuthenticated: Ember.State.create({
        enter: function () {
            console.log("enter " + this.name);
        },
        login: function (manager, credentials) {
            //todo: login
           ...