aboutsummaryrefslogtreecommitdiffstats
path: root/templates/user/dashboard/dashboard.tmpl
blob: d6237b31f28d79d40ef2ddd77d141e1b36ed2e21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
{{template "base/head" .}}
<div class="dashboard feeds">
	{{template "user/dashboard/navbar" .}}
	<div class="ui container">
		{{template "base/alert" .}}
		<div class="ui mobile reversed stackable grid">
			<div class="ui container ten wide column">
				{{if .EnableHeatmap}}
					<div id="user-heatmap" style="padding-right: 40px">
						<activity-heatmap :locale="locale" :suburl="suburl" :user="heatmapUser">
							<div slot="loading">
								<div class="ui active centered inline indeterminate text loader" id="loading-heatmap">{{.i18n.Tr "user.heatmap.loading"}}</div>
							</div>
						</activity-heatmap>
						<div class="ui divider"></div>
					</div>
				{{end}}
				{{template "user/dashboard/feeds" .}}
			</div>
			<div id="app" class="six wide column">
				<repo-search
					:search-limit="searchLimit"
					:suburl="suburl"
					:uid="uid"
					:more-repos-link="'{{.ContextUser.HomeLink}}'"
					{{if not .ContextUser.IsOrganization}}
					:organizations="[
						{{range .ContextUser.Orgs}}
						{name: '{{.Name}}', num_repos: '{{.NumRepos}}'},
						{{end}}
					]"
					:is-organization="false"
					:organizations-total-count="{{.ContextUser.GetOrganizationCount}}"
					:can-create-organization="{{.SignedUser.CanCreateOrganization}}"
					{{end}}
					inline-template
					v-cloak
				>
					<div>
						<div v-if="!isOrganization" class="ui two item tabable menu">
							<a :class="{item: true, active: tab === 'repos'}" @click="changeTab('repos')">{{.i18n.Tr "repository"}}</a>
							<a :class="{item: true, active: tab === 'organizations'}" @click="changeTab('organizations')">{{.i18n.Tr "organization"}}</a>
						</div>
						<div v-show="tab === 'repos'" class="ui tab active list dashboard-repos">
							<h4 class="ui top attached header">
								{{.i18n.Tr "home.my_repos"}} <span class="ui grey label">${reposTotalCount}</span>
								<div class="ui right">
									<a class="poping up" :href="suburl + '/repo/create'" data-content="{{.i18n.Tr "new_repo"}}" data-variation="tiny inverted" data-position="left center">
										<i class="plus icon"></i>
										<span class="sr-only">{{.i18n.Tr "new_repo"}}</span>
									</a>
								</div>
							</h4>
							<div class="ui attached secondary segment repos-search">
								<div class="ui fluid icon input" :class="{loading: isLoading}">
									<input @input="searchRepos(reposFilter)" v-model="searchQuery" ref="search" placeholder="{{.i18n.Tr "home.search_repos"}}">
									<i class="search icon"></i>
								</div>
								<div class="ui secondary tiny pointing borderless menu center aligned grid repos-filter">
									<a class="item" :class="{active: reposFilter === 'all'}" @click="changeReposFilter('all')">
										{{.i18n.Tr "all"}}
										<div v-show="reposFilter === 'all'" class="ui circular mini grey label">${repoTypeCount}</div>
									</a>
									<a class="item" :class="{active: reposFilter === 'sources'}" @click="changeReposFilter('sources')">
										{{.i18n.Tr "sources"}}
										<div v-show="reposFilter === 'sources'" class="ui circular mini grey label">${repoTypeCount}</div>
									</a>
									<a class="item" :class="{active: reposFilter === 'forks'}" @click="changeReposFilter('forks')">
										{{.i18n.Tr "forks"}}
										<div v-show="reposFilter === 'forks'" class="ui circular mini grey label">${repoTypeCount}</div>
									</a>
									<a class="item" :class="{active: reposFilter === 'mirrors'}" @click="changeReposFilter('mirrors')">
										{{.i18n.Tr "mirrors"}}
										<div v-show="reposFilter === 'mirrors'" class="ui circular mini grey label">${repoTypeCount}</div>
									</a>
									<a class="item" :class="{active: reposFilter === 'collaborative'}" @click="changeReposFilter('collaborative')">
										{{.i18n.Tr "collaborative"}}
										<div v-show="reposFilter === 'collaborative'" class="ui circular mini grey label">${repoTypeCount}</div>
									</a>
								</div>
							</div>
							<div class="ui attached table segment">
								<ul class="repo-owner-name-list">
									<li v-for="repo in repos" :class="{'private': repo.private}" v-show="showRepo(repo, reposFilter)">
										<a :href="suburl + '/' + repo.full_name">
											<i :class="repoClass(repo)"></i>
											<strong class="text truncate item-name">${repo.full_name}</strong>
											<i v-if="repo.archived" class="archive icon archived-icon"></i>
											<span class="ui right text light grey">
												${repo.stars_count} <i class="octicon octicon-star rear"></i>
											</span>
										</a>
									</li>
									<li v-if="showMoreReposLink">
										<a :href="moreReposLink">{{.i18n.Tr "home.show_more_repos"}}</a>
									</li>
								</ul>
							</div>
						</div>
						<div v-if="!isOrganization" v-show="tab === 'organizations'" class="ui tab active list">
							<h4 class="ui top attached header">
								{{.i18n.Tr "home.my_orgs"}} <span class="ui grey label">${organizationsTotalCount}</span>
								<div v-if="canCreateOrganization" class="ui right">
									<a class="poping up" :href="suburl + '/org/create'" data-content="{{.i18n.Tr "new_org"}}" data-variation="tiny inverted" data-position="left center">
										<i class="plus icon"></i>
										<span class="sr-only">{{.i18n.Tr "new_org"}}</span>
									</a>
								</div>
							</h4>
							<div class="ui attached table segment">
								<ul class="repo-owner-name-list">
									<li v-for="org in organizations">
										<a :href="suburl + '/' + org.name">
											<i class="octicon octicon-organization"></i>
											<strong class="text truncate item-name">${org.name}</strong>
											<span class="ui right text light grey">
												${org.num_repos} <i class="octicon octicon-repo rear"></i>
											</span>
										</a>
									</li>
								</ul>
							</div>
						</div>
					</div>
				</repo-search>
			</div>
		</div>
	</div>
</div>
{{template "base/footer" .}}