File name
        Commit message
        Commit date
    File name
        Commit message
        Commit date
    File name
        Commit message
        Commit date
    File name
        Commit message
        Commit date
    File name
        Commit message
        Commit date
    @**
* Yona, 21c Project Hosting SW
*
* Copyright Yona & Yobi Authors & NAVER Corp.
* https://yona.io
**@
@(title: String)(theme:String)(content: Html)
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>@title</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta http-equiv="cache-control" content="no-cache">
        <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.ico")">
        <link href='https://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'>
        <link href='https://fonts.googleapis.com/css?family=Indie+Flower' rel='stylesheet' type='text/css'>
        <link href='https://fonts.googleapis.com/css?family=Muli' rel='stylesheet' type='text/css'>
        <link rel="stylesheet" type="text/css" media="all" href="@routes.Assets.at("bootstrap/css/bootstrap.css")">
        <link rel="stylesheet" type="text/css" media="all" href="@routes.Assets.at("stylesheets/yobicon/style.css")">
        <link rel="stylesheet" type="text/css" media="all" href="@routes.Assets.at("javascripts/lib/select2/select2.css")"/>
        <link rel="stylesheet" type="text/css" media="all" href="@routes.Assets.at("javascripts/lib/pikaday/pikaday.css")" />
        <link rel="stylesheet" type="text/css" media="all" href="@routes.Assets.at("stylesheets/yobi.css")">
        <link rel="stylesheet" type="text/css" media="all" href="@routes.Assets.at("stylesheets/usermenu.css")">
        <link rel='stylesheet' href="@routes.Assets.at("javascripts/lib/nprogress/nprogress.css")"/>
        <script type="text/javascript" src="@routes.Assets.at("javascripts/lib/nprogress/nprogress.js")"></script>
        <script type="text/javascript">
                NProgress.configure({ minimum: 0.6 });
        </script>
        <script type="text/javascript" src="@routes.Assets.at("javascripts/lib/jquery/jquery-1.9.0.js")"></script>
        <script type="text/javascript" src="@routes.Assets.at("javascripts/lib/jquery/jquery.browser.js")"></script>
        <script type="text/javascript" src="@routes.Assets.at("javascripts/lib/jquery/jquery.pjax.js")"></script>
        <script type="text/javascript" src="@routes.Assets.at("javascripts/common/yobi.Common.js")"></script>
        <script type="text/javascript" src="@routes.Assets.at("javascripts/lib/vendor.js")"></script>
        <script type="text/javascript" src="@routes.Assets.at("javascripts/service/yona.Migration.js")"></script>
    </head>
    <body class="@theme">
        @if(UserApp.isSiteAdminLoggedInSession){
            <div class="admin-logged-in-affix" data-spy="affix" data-offset-top="30">@Messages("user.siteAdminLoggedInAffix") <span class="small-font">@Messages("user.siteAdminLoggedInAffix.maxim")</span></div>
        }
        @partial_update_notification()
        @common.navbar(utils.MenuType.SITE_HOME, null, null)
        @content
        @common.scripts()
        <script type="text/javascript">
                $(function() {
                    NProgress.configure({minimum: 0.7});
                    /* Set side navigation */
                    // Also, see index.scala.html for home page menu sliding actions !!
                    var $sidebar = $("#mySidenav");
                    var viewSize = $(window).width();
                    $("#main").on("click", function(event){
                        if( $sidebar.width() !== 0 && $(event.target).parents("#mySidenav").length == 0) {
                            closeSidebar($sidebar);
                        }
                    });
                    $("#sidebar-open-btn").on("click", function (event) {
                        event.stopPropagation();
                        if( $sidebar.width() !== 0){
                            closeSidebar($sidebar);
                        } else {
                            openSidebar($sidebar);
                            updateStar();
                        }
                    });
                    function closeSidebar($sidebar) {
                        $sidebar.width("0").css("border", "none");
                        $(".main-stream").removeClass("span8").addClass("span12");
                    }
                    function openSidebar($sidebar){
                        $sidebar.width("420px").css("border", "1px solid #ccc");
                        $(".main-stream").removeClass("span12").addClass("span8");
                        if (viewSize > 720) {
                            $(".search-input").focus();
                        }
                    }
                    // used for new project list ui
                    $(".right-menu").on('click', ".myProjectList, a[href='#recentlyVisited'], a[href='#createdByMe'], a[href='#watching'], a[href='#joinmember']", function() {
                        updateStar();
                        setTimeout(function focusToProjectSearchInput() {
                            var $projectSearch = $('.project-search');
                            var $orgSearch = $('.org-search');
                            if (viewSize > 720) {
                                $projectSearch.focus();
                            }
                            if(!$projectSearch.val()){
                                $projectSearch.val($orgSearch.val());
                            }
                            $orgSearch.val("");
                        }, 200);
                    });
                    $('.myOrganizationList').on('click', function focusToOrgSearchInput(){
                        setTimeout(function () {
                            var $projectSearch = $('.project-search');
                            var $orgSearch = $('.org-search');
                            if (viewSize > 720) {
                                $orgSearch.focus();
                            }
                            $orgSearch.val($projectSearch.val());
                            $projectSearch.val("");
                        }, 200);
                    });
                    // search by keyword
                    $(".search-input").on("keyup", function() {
                        var value = $(this).val().toLowerCase().trim();
                        $(".user-li").each(function() {
                            $(this).toggle($(this).text().toLowerCase().indexOf(value) !== -1);
                        });
                    }).on("keydown.moveCursorFromInputform", function(e) {
                        switch (e.keyCode) {
                            case 27:   // ESC
                                closeSidebar($sidebar);
                                break;
                            default:
                                break;
                        }
                    });
                    $(".project-list > .star-project").on("click", function toggleProjectFavorite(e) {
                        e.stopPropagation();
                        var that = $(this);
                        $.post("@api.routes.UserApi.toggleFoveriteProject("")" + that.data("projectId"))
                                .done(function (data) {
                                    if(data.favored){
                                        that.find('i').addClass("starred");
                                    } else {
                                        that.find('i').removeClass("starred");
                                    }
                                })
                                .fail(function (data) {
                                    $yobi.alert("Update failed: " + JSON.parse(data.responseText).reason);
                                });
                    });
                    $(".org-list > .star-org").on("click", function toggleOrgFavorite(e) {
                        e.stopPropagation();
                        var that = $(this);
                        $.post("@api.routes.UserApi.toggleFoveriteOrganization("")" + that.data("organizationId"))
                                .done(function (data) {
                                    if(data.favored){
                                        that.find('i').addClass("starred");
                                    } else {
                                        that.find('i').removeClass("starred");
                                    }
                                })
                                .fail(function (data) {
                                    $yobi.alert("Update failed: " + JSON.parse(data.responseText).reason);
                                });
                    });
                    // This method intended to sync sub tab list of projects
                    function updateStar(){
                        $.get("@api.routes.UserApi.getFoveriteProjects()")
                                .done(function(data){
                                    $(".star-project").each(function () {
                                        var $this = $(this);
                                        if (data.projectIds.includes($this.data("projectId"))) {
                                            $this.find("i").addClass("starred");
                                        } else {
                                            $this.find("i").removeClass("starred");
                                        }
                                    });
                                });
                    }
                });
        </script>
    </body>
</html>