Add internal-repo octicon for public repos of private org (#11529)
* Show multiple octicons on repo list * fix mixed spaces/tabs * Internal repo octicon * show internal icon in dashboard repolist * swagger * fix icon for normal repo on repo page * don't expose owner visibility directly; provide internal in repo api * fix icons for forks and mirrors Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
parent
f761a37a0f
commit
5acba4609a
7 changed files with 17 additions and 1 deletions
|
@ -405,6 +405,7 @@ func (repo *Repository) innerAPIFormat(e Engine, mode AccessMode, isParent bool)
|
|||
AllowRebaseMerge: allowRebaseMerge,
|
||||
AllowSquash: allowSquash,
|
||||
AvatarURL: repo.avatarLink(e),
|
||||
Internal: !repo.IsPrivate && repo.Owner.Visibility == api.VisibleTypePrivate,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -88,6 +88,7 @@ type Repository struct {
|
|||
AllowRebaseMerge bool `json:"allow_rebase_explicit"`
|
||||
AllowSquash bool `json:"allow_squash_merge"`
|
||||
AvatarURL string `json:"avatar_url"`
|
||||
Internal bool `json:"internal"`
|
||||
}
|
||||
|
||||
// CreateRepoOption options when creating repository
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
</a>
|
||||
{{if .IsPrivate}}
|
||||
<span class="middle text gold">{{svg "octicon-lock" 16}}</span>
|
||||
{{else if and (not .IsMirror) (not .IsFork) (.Owner.Visibility.IsPrivate) }}
|
||||
<span class="text gold">{{svg "octicon-internal-repo" 16}}</span>
|
||||
{{else if .IsFork}}
|
||||
<span class="middle">{{svg "octicon-repo-forked" 16}}</span>
|
||||
{{else if .IsMirror}}
|
||||
|
|
|
@ -14,6 +14,12 @@
|
|||
{{else}}
|
||||
{{if .IsPrivate}}
|
||||
{{svg "octicon-lock" 32}}
|
||||
{{else if and (not .IsMirror) (not .IsFork) (.Owner)}}
|
||||
{{if .Owner.Visibility.IsPrivate}}
|
||||
{{svg "octicon-internal-repo" 32}}
|
||||
{{else}}
|
||||
{{svg "octicon-repo" 32}}
|
||||
{{end}}
|
||||
{{else if .IsMirror}}
|
||||
{{svg "octicon-repo-clone" 32}}
|
||||
{{else if .IsFork}}
|
||||
|
|
|
@ -14056,6 +14056,10 @@
|
|||
"type": "boolean",
|
||||
"x-go-name": "IgnoreWhitespaceConflicts"
|
||||
},
|
||||
"internal": {
|
||||
"type": "boolean",
|
||||
"x-go-name": "Internal"
|
||||
},
|
||||
"internal_tracker": {
|
||||
"$ref": "#/definitions/InternalTracker"
|
||||
},
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
</div>
|
||||
<div class="ui attached table segment">
|
||||
<ul class="repo-owner-name-list">
|
||||
<li v-for="repo in repos" :class="{'private': repo.private}">
|
||||
<li v-for="repo in repos" :class="{'private': repo.private || repo.internal}">
|
||||
<a :href="suburl + '/' + repo.full_name">
|
||||
<svg :class="'svg ' + repoClass(repo)" width="16" height="16" aria-hidden="true"><use :xlink:href="'#' + repoClass(repo)" /></svg>
|
||||
<strong class="text truncate item-name">${repo.full_name}</strong>
|
||||
|
|
|
@ -2962,6 +2962,8 @@ function initVueComponents() {
|
|||
return `octicon-repo-template${repo.private ? '-private' : ''}`;
|
||||
} if (repo.private) {
|
||||
return 'octicon-lock';
|
||||
} if (repo.internal) {
|
||||
return 'octicon-internal-repo';
|
||||
}
|
||||
return 'octicon-repo';
|
||||
}
|
||||
|
|
Reference in a new issue