Newer
Older
gitbucket_jkp / src / main / twirl / gitbucket / core / main.scala.html
@reap3r119 reap3r119 on 10 Nov 2017 8 KB Use POST for /sidebar-collapse
@(title: String, repository: Option[gitbucket.core.service.RepositoryService.RepositoryInfo] = None)(body: Html)(implicit context: gitbucket.core.controller.Context)
@import gitbucket.core.plugin.PluginRegistry
@import gitbucket.core.view.helpers
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>@title</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <link rel="icon" href="@helpers.assets("/common/images/gitbucket.png")" type="image/vnd.microsoft.icon" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="@helpers.assets("/vendors/google-fonts/css/source-sans-pro.css")" rel="stylesheet">
    <link href="@helpers.assets("/vendors/bootstrap-3.3.7/css/bootstrap.min.css")" rel="stylesheet">
    <link href="@helpers.assets("/vendors/octicons-4.4.0/octicons.min.css")" rel="stylesheet">
    <link href="@helpers.assets("/vendors/bootstrap-datetimepicker-4.17.44/css/bootstrap-datetimepicker.min.css")" rel="stylesheet">
    <link href="@helpers.assets("/vendors/colorpicker/css/bootstrap-colorpicker.min.css")" rel="stylesheet">
    <link href="@helpers.assets("/vendors/google-code-prettify/prettify.css")" type="text/css" rel="stylesheet"/>
    <link href="@helpers.assets("/vendors/facebox/facebox.css")" rel="stylesheet"/>
    <link href="@helpers.assets("/vendors/AdminLTE-2.4.2/css/AdminLTE.min.css")" rel="stylesheet">
    <link href="@helpers.assets(s"/vendors/AdminLTE-2.4.2/css/skins/${context.settings.skinName}.min.css")" rel="stylesheet">
    <link href="@helpers.assets("/vendors/font-awesome-4.7.0/css/font-awesome.min.css")" rel="stylesheet">
    <link href="@helpers.assets("/vendors/jquery-ui/jquery-ui.min.css")" rel="stylesheet">
    <link href="@helpers.assets("/vendors/jquery-ui/jquery-ui.structure.min.css")" rel="stylesheet">
    <link href="@helpers.assets("/vendors/jquery-ui/jquery-ui.theme.min.css")" rel="stylesheet">
    <link href="@helpers.assets("/common/css/gitbucket.css")" rel="stylesheet">
    <script src="@helpers.assets("/vendors/jquery/jquery-3.2.1.min.js")"></script>
    <script src="@helpers.assets("/vendors/jquery-ui/jquery-ui.min.js")"></script>
    <script src="@helpers.assets("/vendors/dropzone/dropzone.min.js")"></script>
    <script src="@helpers.assets("/common/js/validation.js")"></script>
    <script src="@helpers.assets("/common/js/gitbucket.js")"></script>
    <script src="@helpers.assets("/vendors/bootstrap-3.3.7/js/bootstrap.min.js")"></script>
    <script src="@helpers.assets("/vendors/bootstrap3-typeahead/bootstrap3-typeahead.min.js")"></script>
    <script src="@helpers.assets("/vendors/bootstrap-datetimepicker-4.17.44/js/moment.min.js")"></script>
    <script src="@helpers.assets("/vendors/bootstrap-datetimepicker-4.17.44/js/bootstrap-datetimepicker.min.js")"></script>
    <script src="@helpers.assets("/vendors/colorpicker/js/bootstrap-colorpicker.min.js")"></script>
    <script src="@helpers.assets("/vendors/google-code-prettify/prettify.js")"></script>
    <script src="@helpers.assets("/vendors/elastic/jquery.elastic.source.js")"></script>
    <script src="@helpers.assets("/vendors/facebox/facebox.js")"></script>
    <script src="@helpers.assets("/vendors/jquery-hotkeys/jquery.hotkeys.js")"></script>
    <script src="@helpers.assets("/vendors/jquery-textcomplete-1.8.4/jquery.textcomplete.min.js")"></script>
    @repository.map { repository =>
      <meta name="go-import" content="@context.baseUrl.replaceFirst("^https?://", "")/@repository.owner/@repository.name git @repository.httpUrl" />
    }
    <script src="@helpers.assets("/vendors/AdminLTE-2.4.2/js/adminlte.min.js")" type="text/javascript"></script>
  </head>
  <body class="@context.settings.skinName page-load @if(body.toString.contains("menu-item-hover")){sidebar-mini} @if(context.sidebarCollapse){sidebar-collapse}">
    <div class="wrapper">
      <header class="main-header">
        <a href="@context.path/" class="logo">
          <span class="logo-mini"><img src="@helpers.assets("/common/images/gitbucket.svg")" alt="GitBucket" /></span>
          <span class="logo-lg"><img src="@helpers.assets("/common/images/gitbucket.svg")" alt="GitBucket" />
          <span class="header-title strong">GitBucket</span>
          <span class="header-version">@gitbucket.core.GitBucketCoreModule.getVersions.last.getVersion</span></span>
        </a>
        <nav class="navbar navbar-static-top" role="navigation">
          <!-- Sidebar toggle button-->
          @if(body.toString.contains("main-sidebar")){
            <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
              <span class="sr-only">Toggle navigation</span>
            </a>
          }
          <form id="search" action="@context.path/search" method="GET" class="pc navbar-form navbar-left" role="search">
            <div class="form-group">
              <input type="text" name="query" id="navbar-search-input" class="form-control" placeholder="Search repository"/>
            </div>
          </form>
          <ul class="pc nav navbar-nav">
            @if(context.loginAccount.isDefined){
              <li><a href="@context.path/dashboard/pulls">Pull requests</a></li>
              <li><a href="@context.path/dashboard/issues">Issues</a></li>
            }
            @gitbucket.core.plugin.PluginRegistry().getGlobalMenus.map { menu =>
              @menu(context).map { link =>
                <li><a href="@context.path/@link.path">@link.label</a></li>
              }
            }
          </ul>
          <div class="navbar-custom-menu">
            <ul class="nav navbar-nav">
              @if(context.loginAccount.isDefined){
                <li class="dropdown notifications-menu">
                  <a class="dropdown-toggle menu" data-toggle="dropdown" href="#">
                    <i class="octicon octicon-plus" style="color: black;"></i><span class="caret" style="color: black; vertical-align: middle;"></span>
                  </a>
                  <ul class="dropdown-menu pull-right" style="width: auto;">
                    <li>
                      <ul class="menu">
                        <li><a href="@context.path/new">New repository</a></li>
                        <li><a href="@context.path/groups/new">New group</a></li>
                      </ul>
                    </li>
                  </ul>
                </li>
                <li class="dropdown notifications-menu">
                  <a class="dropdown-toggle menu" data-toggle="dropdown" href="#" data-toggle="tooltip" data-placement="bottom" title="Signed is as @context.loginAccount.get.userName">
                    @helpers.avatar(context.loginAccount.get.userName, 16)<span class="caret" style="color: black; vertical-align: middle;"></span>
                  </a>
                  <ul class="dropdown-menu pull-right" style="width: auto;">
                    <li>
                      <ul class="menu">
                        <li><a href="@helpers.url(context.loginAccount.get.userName)">Your profile</a></li>
                        <li><a href="@helpers.url(context.loginAccount.get.userName)/_edit">Account settings</a></li>
                        @if(context.loginAccount.get.isAdmin){
                          <li><a href="@context.path/admin/users">System administration</a></li>
                        }
                        <li><a href="@context.path/signout">Sign out</a></li>
                      </ul>
                    </li>
                  </ul>
                </li>
              } else {
                <li>
                  <a href="@context.path/signin?redirect=@helpers.urlEncode(context.currentPath)" class="pull-right" id="signin">Sign in</a>
                </li>
              }
            </ul>
          </div>
        </nav>
      </header>
      @body
    </div>
    <script>
      $(function(){
        $('#search').submit(function(){
          return $.trim($(this).find('input[name=query]').val()) != '';
        });
        @if(body.toString.contains("main-sidebar")){
          $(".sidebar-toggle").on('click', function(e){
            $.post('@context.path/sidebar-collapse', { collapse: !$('body').hasClass('sidebar-collapse') });
          });
        }
      });
    </script>
    @PluginRegistry().getJavaScript(context.request.getRequestURI).map { script =>
      <script>
        @Html(script)
      </script>
    }
  </body>
</html>