FrankYan93/nanotwitter

View on GitHub
views/layout.erb

Summary

Maintainability
Test Coverage
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.3.1/js/tether.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootbox.js/4.4.0/bootbox.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.4/js/bootstrap.min.js" integrity="sha384-VjEeINv9OSwtWFLAtmc4JCtEJXXBub00gtSnszmspDLCtC0I4z4nqz7rEFbIZLLU" crossorigin="anonymous"></script>

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-86583808-1', 'auto');
  ga('send', 'pageview');

</script>

<% if session[:user_id] %>
<% cui=session[:user_id] %>
<% else %>
<% cui=-1 %>
<% end %>

<nav class="navbar navbar-default" role="navigation">
    <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
            </button>
            <a class="navbar-brand" href="/">nanoTwitter</a>
        </div>
        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li class="active">
                    <a href="/">Home</a>
                </li>
                <li>
                    <a href="/showProfile">Profile</a>
                </li>
                <li>
                    <a href="/notification">Notification</a>
                </li>
            </ul>
            <form class="navbar-form navbar-left" role="search"  action="/searchTweet" method="GET" >
                <div class="form-group">
                    <input type="text" name="word" class="form-control" placeholder="SearchTweet">
                </div>
                <button type="submit" class="btn btn-default">Go</button>
            </form>

            <form class="navbar-form navbar-left" role="search" action="/searchUser" method="GET" >
                <div class="form-group">
                    <input type="text" name="word" class="form-control" placeholder="SearchUser">
                </div>
                <button type="submit" class="btn btn-default">Go</button>
            </form>

            <ul class="nav navbar-nav navbar-right" id="nonlogin">
                <li>
                    <a href='/signin/?'>Log In</a>
                </li>
                <li>
                    <a href='/signup'>Sign Up</a>
                </li>
            </ul>
            <ul class="nav navbar-nav navbar-right" id="login">

                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><%= session[:username] %>
                        <span class="caret"></span>
                    </a>
                    <ul class="dropdown-menu">
                        <li>
                            <a href="#">Hello!</a>
                        </li>
                        <li role="separator" class="divider"></li>
                        <li class="dropdown-header">Nav header</li>
                        <li>
                            <a href='/signout'>Log Out</a>
                        </li>
                    </ul>
                </li>
            </ul>
            <script type="text/javascript">
                var logoutStatus = (-1 === <%= cui %>);
                if (logoutStatus) {
                    $("#login").hide();
                } else {
                    $("#nonlogin").hide();
                }
            </script>
            <ul class="nav navbar-nav navbar-right" id="tweet">
                <script type="text/javascript">
                    $('#tweet').on('click', function () {
                        bootbox.prompt("Write a tweet now!", function (result) {
                            var current_user_id = <%= cui %> - 0;
                            if (current_user_id !== -1) {
                                if (result !== null) {
                                    var putTweet = new XMLHttpRequest();
                                    putTweet.open("PUT", '/api/v1/users/' + current_user_id + '/tweets/' + result, true);
                                    putTweet.send();
                                }
                            } else {
                              $("#login-first").show();                               }
                        })
                    });
                </script>
                <li>
                    <a href="#">Tweet</a>
                </li>
            </ul>
        </div>
        <!-- /.navbar-collapse -->
    </div>
    <!-- /.container-fluid -->
</nav>
<br>
<div class="alert alert-warning" role="alert" id="login-first">
  <script type="text/javascript">
    $("#login-first").hide();
  </script>
    <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
    <strong>Warning!</strong>
     You are not logged in. Please log in and enjoy nanoTwitter!
</div>

<%= yield %>