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
  1. @(title: String, repository: Option[gitbucket.core.service.RepositoryService.RepositoryInfo] = None)(body: Html)(implicit context: gitbucket.core.controller.Context)
  2. @import gitbucket.core.plugin.PluginRegistry
  3. @import gitbucket.core.view.helpers
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="utf-8">
  8. <title>@title</title>
  9. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  10. <link rel="icon" href="@helpers.assets("/common/images/gitbucket.png")" type="image/vnd.microsoft.icon" />
  11. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  12. <link href="@helpers.assets("/vendors/google-fonts/css/source-sans-pro.css")" rel="stylesheet">
  13. <link href="@helpers.assets("/vendors/bootstrap-3.3.7/css/bootstrap.min.css")" rel="stylesheet">
  14. <link href="@helpers.assets("/vendors/octicons-4.4.0/octicons.min.css")" rel="stylesheet">
  15. <link href="@helpers.assets("/vendors/bootstrap-datetimepicker-4.17.44/css/bootstrap-datetimepicker.min.css")" rel="stylesheet">
  16. <link href="@helpers.assets("/vendors/colorpicker/css/bootstrap-colorpicker.min.css")" rel="stylesheet">
  17. <link href="@helpers.assets("/vendors/google-code-prettify/prettify.css")" type="text/css" rel="stylesheet"/>
  18. <link href="@helpers.assets("/vendors/facebox/facebox.css")" rel="stylesheet"/>
  19. <link href="@helpers.assets("/vendors/AdminLTE-2.4.2/css/AdminLTE.min.css")" rel="stylesheet">
  20. <link href="@helpers.assets(s"/vendors/AdminLTE-2.4.2/css/skins/${context.settings.skinName}.min.css")" rel="stylesheet">
  21. <link href="@helpers.assets("/vendors/font-awesome-4.7.0/css/font-awesome.min.css")" rel="stylesheet">
  22. <link href="@helpers.assets("/vendors/jquery-ui/jquery-ui.min.css")" rel="stylesheet">
  23. <link href="@helpers.assets("/vendors/jquery-ui/jquery-ui.structure.min.css")" rel="stylesheet">
  24. <link href="@helpers.assets("/vendors/jquery-ui/jquery-ui.theme.min.css")" rel="stylesheet">
  25. <link href="@helpers.assets("/common/css/gitbucket.css")" rel="stylesheet">
  26. <script src="@helpers.assets("/vendors/jquery/jquery-3.2.1.min.js")"></script>
  27. <script src="@helpers.assets("/vendors/jquery-ui/jquery-ui.min.js")"></script>
  28. <script src="@helpers.assets("/vendors/dropzone/dropzone.min.js")"></script>
  29. <script src="@helpers.assets("/common/js/validation.js")"></script>
  30. <script src="@helpers.assets("/common/js/gitbucket.js")"></script>
  31. <script src="@helpers.assets("/vendors/bootstrap-3.3.7/js/bootstrap.min.js")"></script>
  32. <script src="@helpers.assets("/vendors/bootstrap3-typeahead/bootstrap3-typeahead.min.js")"></script>
  33. <script src="@helpers.assets("/vendors/bootstrap-datetimepicker-4.17.44/js/moment.min.js")"></script>
  34. <script src="@helpers.assets("/vendors/bootstrap-datetimepicker-4.17.44/js/bootstrap-datetimepicker.min.js")"></script>
  35. <script src="@helpers.assets("/vendors/colorpicker/js/bootstrap-colorpicker.min.js")"></script>
  36. <script src="@helpers.assets("/vendors/google-code-prettify/prettify.js")"></script>
  37. <script src="@helpers.assets("/vendors/elastic/jquery.elastic.source.js")"></script>
  38. <script src="@helpers.assets("/vendors/facebox/facebox.js")"></script>
  39. <script src="@helpers.assets("/vendors/jquery-hotkeys/jquery.hotkeys.js")"></script>
  40. <script src="@helpers.assets("/vendors/jquery-textcomplete-1.8.4/jquery.textcomplete.min.js")"></script>
  41. @repository.map { repository =>
  42. <meta name="go-import" content="@context.baseUrl.replaceFirst("^https?://", "")/@repository.owner/@repository.name git @repository.httpUrl" />
  43. }
  44. <script src="@helpers.assets("/vendors/AdminLTE-2.4.2/js/adminlte.min.js")" type="text/javascript"></script>
  45. </head>
  46. <body class="@context.settings.skinName page-load @if(body.toString.contains("menu-item-hover")){sidebar-mini} @if(context.sidebarCollapse){sidebar-collapse}">
  47. <div class="wrapper">
  48. <header class="main-header">
  49. <a href="@context.path/" class="logo">
  50. <span class="logo-mini"><img src="@helpers.assets("/common/images/gitbucket.svg")" alt="GitBucket" /></span>
  51. <span class="logo-lg"><img src="@helpers.assets("/common/images/gitbucket.svg")" alt="GitBucket" />
  52. <span class="header-title strong">GitBucket</span>
  53. <span class="header-version">@gitbucket.core.GitBucketCoreModule.getVersions.last.getVersion</span></span>
  54. </a>
  55. <nav class="navbar navbar-static-top" role="navigation">
  56. <!-- Sidebar toggle button-->
  57. @if(body.toString.contains("main-sidebar")){
  58. <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
  59. <span class="sr-only">Toggle navigation</span>
  60. </a>
  61. }
  62. <form id="search" action="@context.path/search" method="GET" class="pc navbar-form navbar-left" role="search">
  63. <div class="form-group">
  64. <input type="text" name="query" id="navbar-search-input" class="form-control" placeholder="Search repository"/>
  65. </div>
  66. </form>
  67. <ul class="pc nav navbar-nav">
  68. @if(context.loginAccount.isDefined){
  69. <li><a href="@context.path/dashboard/pulls">Pull requests</a></li>
  70. <li><a href="@context.path/dashboard/issues">Issues</a></li>
  71. }
  72. @gitbucket.core.plugin.PluginRegistry().getGlobalMenus.map { menu =>
  73. @menu(context).map { link =>
  74. <li><a href="@context.path/@link.path">@link.label</a></li>
  75. }
  76. }
  77. </ul>
  78. <div class="navbar-custom-menu">
  79. <ul class="nav navbar-nav">
  80. @if(context.loginAccount.isDefined){
  81. <li class="dropdown notifications-menu">
  82. <a class="dropdown-toggle menu" data-toggle="dropdown" href="#">
  83. <i class="octicon octicon-plus" style="color: black;"></i><span class="caret" style="color: black; vertical-align: middle;"></span>
  84. </a>
  85. <ul class="dropdown-menu pull-right" style="width: auto;">
  86. <li>
  87. <ul class="menu">
  88. <li><a href="@context.path/new">New repository</a></li>
  89. <li><a href="@context.path/groups/new">New group</a></li>
  90. </ul>
  91. </li>
  92. </ul>
  93. </li>
  94. <li class="dropdown notifications-menu">
  95. <a class="dropdown-toggle menu" data-toggle="dropdown" href="#" data-toggle="tooltip" data-placement="bottom" title="Signed is as @context.loginAccount.get.userName">
  96. @helpers.avatar(context.loginAccount.get.userName, 16)<span class="caret" style="color: black; vertical-align: middle;"></span>
  97. </a>
  98. <ul class="dropdown-menu pull-right" style="width: auto;">
  99. <li>
  100. <ul class="menu">
  101. <li><a href="@helpers.url(context.loginAccount.get.userName)">Your profile</a></li>
  102. <li><a href="@helpers.url(context.loginAccount.get.userName)/_edit">Account settings</a></li>
  103. @if(context.loginAccount.get.isAdmin){
  104. <li><a href="@context.path/admin/users">System administration</a></li>
  105. }
  106. <li><a href="@context.path/signout">Sign out</a></li>
  107. </ul>
  108. </li>
  109. </ul>
  110. </li>
  111. } else {
  112. <li>
  113. <a href="@context.path/signin?redirect=@helpers.urlEncode(context.currentPath)" class="pull-right" id="signin">Sign in</a>
  114. </li>
  115. }
  116. </ul>
  117. </div>
  118. </nav>
  119. </header>
  120. @body
  121. </div>
  122. <script>
  123. $(function(){
  124. $('#search').submit(function(){
  125. return $.trim($(this).find('input[name=query]').val()) != '';
  126. });
  127. @if(body.toString.contains("main-sidebar")){
  128. $(".sidebar-toggle").on('click', function(e){
  129. $.post('@context.path/sidebar-collapse', { collapse: !$('body').hasClass('sidebar-collapse') });
  130. });
  131. }
  132. });
  133. </script>
  134. @PluginRegistry().getJavaScript(context.request.getRequestURI).map { script =>
  135. <script>
  136. @Html(script)
  137. </script>
  138. }
  139. </body>
  140. </html>