You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

dashboard.tmpl 5.5 kB

10 years ago
10 years ago
10 years ago
10 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. {{template "base/head" .}}
  2. <div class="dashboard feeds">
  3. {{template "user/dashboard/navbar" .}}
  4. <div class="ui container">
  5. {{template "base/alert" .}}
  6. <div class="ui grid">
  7. <div class="ten wide column">
  8. {{template "user/dashboard/feeds" .}}
  9. </div>
  10. <div id="dashboard-repo-search" class="six wide column">
  11. <div class="ui {{if not .ContextUser.IsOrganization}}three{{else}}two{{end}} item stackable tabable menu">
  12. <a :class="{item: true, active: tab === 'repos'}" @click="changeTab('repos')">{{.i18n.Tr "repository"}}</a>
  13. {{if not .ContextUser.IsOrganization}}
  14. <a :class="{item: true, active: tab === 'orgs'}" @click="changeTab('orgs')">{{.i18n.Tr "organization"}}</a>
  15. {{end}}
  16. <a :class="{item: true, active: tab === 'mirrors'}" @click="changeTab('mirrors')">{{.i18n.Tr "mirror"}}</a>
  17. </div>
  18. <div v-if="tab === 'repos'" class="ui tab active list">
  19. <div class="ui fluid input">
  20. <input @keyUp="searchKeyUp" v-model="searchQuery" id="search_repo" placeholder="{{.i18n.Tr "home.search_repos"}}">
  21. </div>
  22. <h4 class="ui top attached header">
  23. {{.i18n.Tr "home.my_repos"}} <span class="ui grey label">{{.ContextUser.NumRepos}}</span>
  24. <div class="ui right">
  25. <a class="poping up" href="{{AppSubUrl}}/repo/create" data-content="{{.i18n.Tr "new_repo"}}" data-variation="tiny inverted" data-position="left center">
  26. <i class="plus icon"></i>
  27. <span class="sr-only">{{.i18n.Tr "new_repo"}}</span>
  28. </a>
  29. </div>
  30. </h4>
  31. <div class="ui attached table segment">
  32. <ul class="repo-owner-name-list">
  33. <li v-for="repo in repos" :class="{'private': repo.private}">
  34. <a :href="'{{AppSubUrl}}/' + repo.full_name">
  35. <i :class="repoClass(repo)"></i>
  36. <strong class="text truncate item-name"><% repo.full_name %></strong>
  37. <span class="ui right text light grey">
  38. <% repo.stars_count %> <i class="octicon octicon-star rear"></i>
  39. </span>
  40. </a>
  41. </li>
  42. {{if gt .ContextUser.NumRepos .MaxShowRepoNum}}
  43. <li>
  44. <a href="{{.ContextUser.HomeLink}}">{{.i18n.Tr "home.show_more_repos"}}</a>
  45. </li>
  46. {{end}}
  47. </ul>
  48. </div>
  49. {{if not .ContextUser.IsOrganization}}
  50. <h4 class="ui top attached header">
  51. {{.i18n.Tr "home.collaborative_repos"}}
  52. </h4>
  53. <div class="ui attached table segment">
  54. <ul id="collaborative-repo-list">
  55. {{range .CollaborativeRepos}}
  56. <li {{if .IsPrivate}}class="private"{{end}}>
  57. <a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">
  58. <i class="octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
  59. <span class="text truncate owner-and-repo">
  60. <span class="text truncate owner-name">{{.Owner.Name}}</span> / <strong>{{.Name}}</strong>
  61. </span>
  62. <span class="ui right text light grey">
  63. {{.NumStars}} <i class="octicon octicon-star rear"></i>
  64. </span>
  65. </a>
  66. </li>
  67. {{end}}
  68. </ul>
  69. </div>
  70. {{end}}
  71. </div>
  72. {{if not .ContextUser.IsOrganization}}
  73. <div v-if="tab === 'orgs'" class="ui tab active list">
  74. <h4 class="ui top attached header">
  75. {{.i18n.Tr "home.my_orgs"}} <span class="ui grey label">{{.ContextUser.GetOrganizationCount}}</span>
  76. <div class="ui right">
  77. {{if .SignedUser.CanCreateOrganization}}
  78. <a class="poping up" href="{{AppSubUrl}}/org/create" data-content="{{.i18n.Tr "new_org"}}" data-variation="tiny inverted" data-position="left center">
  79. <i class="plus icon"></i>
  80. <span class="sr-only">{{.i18n.Tr "new_org"}}</span>
  81. </a>
  82. {{end}}
  83. </div>
  84. </h4>
  85. <div class="ui attached table segment">
  86. <ul class="repo-owner-name-list">
  87. {{range .ContextUser.Orgs}}
  88. <li>
  89. <a href="{{AppSubUrl}}/{{.Name}}">
  90. <i class="octicon octicon-organization"></i>
  91. <strong class="text truncate item-name">{{.Name}}</strong>
  92. <span class="ui right text light grey">
  93. {{.NumRepos}} <i class="octicon octicon-repo rear"></i>
  94. </span>
  95. </a>
  96. </li>
  97. {{end}}
  98. </ul>
  99. </div>
  100. </div>
  101. {{end}}
  102. <div v-if="tab === 'mirrors'" class="ui tab active list">
  103. <h4 class="ui top attached header">
  104. {{.i18n.Tr "home.my_mirrors"}} <span class="ui grey label">{{.MirrorCount}}</span>
  105. <div class="ui right">
  106. <a class="poping up" href="{{AppSubUrl}}/repo/migrate?mirror=1" data-content="{{.i18n.Tr "new_mirror"}}" data-variation="tiny inverted" data-position="left center">
  107. <i class="plus icon"></i>
  108. <span class="sr-only">{{.i18n.Tr "new_mirror"}}</span>
  109. </a>
  110. </div>
  111. </h4>
  112. <div class="ui attached table segment">
  113. <ul class="repo-owner-name-list">
  114. {{range .Mirrors}}
  115. <li {{if .IsPrivate}}class="private"{{end}}>
  116. <a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
  117. <i class="octicon octicon-repo-clone"></i>
  118. <strong class="text truncate item-name">{{.Name}}</strong>
  119. <span class="ui right text light grey">
  120. {{.Interval}}H <i class="octicon octicon-sync rear"></i>
  121. </span>
  122. </a>
  123. </li>
  124. {{end}}
  125. </ul>
  126. </div>
  127. </div>
  128. </div>
  129. </div>
  130. </div>
  131. </div>
  132. {{template "base/footer" .}}