From 9566c9f0c766811883b7b4220594e78e100eca1d Mon Sep 17 00:00:00 2001
From: Mike L <cl.jeremy@qq.com>
Date: Sun, 14 Mar 2021 15:48:28 +0100
Subject: [PATCH] Re-enable listing of forks when logged out (#14992)

* Re-enable listing of forks when logged out

* Further improvements on repo button logic
---
 templates/repo/header.tmpl    |  4 ++--
 web_src/less/_base.less       |  1 +
 web_src/less/_repository.less | 19 +++++++++++++++----
 3 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/templates/repo/header.tmpl b/templates/repo/header.tmpl
index f9df4062747b..71963d698c71 100644
--- a/templates/repo/header.tmpl
+++ b/templates/repo/header.tmpl
@@ -83,8 +83,8 @@
 						</div>
 					</form>
 					{{if and (not .IsEmpty) ($.Permission.CanRead $.UnitTypeCode)}}
-						<div class="ui labeled button {{if not $.IsSigned}} disabled{{end}}" tabindex="0">
-							<a class="ui compact small basic button {{if or (not $.IsSigned) (not $.CanSignedUserFork)}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else if $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" {{ else }} data-content="{{$.i18n.Tr "repo.fork_guest_user" }}" rel="nofollow" href="{{AppSubUrl}}/user/login?redirect_to={{AppSubUrl}}/repo/fork/{{.ID}}" {{end}} data-position="top center" data-variation="tiny">
+						<div class="ui labeled button{{if not $.CanSignedUserFork}} poping up disabled{{end}}"{{if and (not $.CanSignedUserFork) $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" {{else if not $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_guest_user"}}"{{end}} data-position="top center" data-variation="tiny" tabindex="0">
+							<a class="ui compact small basic button"{{if $.CanSignedUserFork}} href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{end}}>
 								{{svg "octicon-repo-forked"}}{{$.i18n.Tr "repo.fork"}}
 							</a>
 							<a class="ui basic label" href="{{.Link}}/forks">
diff --git a/web_src/less/_base.less b/web_src/less/_base.less
index 8c99fa4349e5..351dbf5da013 100644
--- a/web_src/less/_base.less
+++ b/web_src/less/_base.less
@@ -1585,6 +1585,7 @@ a.ui.label:hover {
   border-left: none;
 }
 
+.ui.labeled.button.disabled > .button,
 .ui.basic.buttons .button,
 .ui.basic.button {
   color: var(--color-text-light);
diff --git a/web_src/less/_repository.less b/web_src/less/_repository.less
index 0984dd7cf3a6..5a8476322c90 100644
--- a/web_src/less/_repository.less
+++ b/web_src/less/_repository.less
@@ -2856,14 +2856,25 @@ tbody.commit-list {
   align-items: center;
 }
 
-.repo-buttons button[disabled],
 .repo-buttons button[disabled] ~ .label {
   opacity: var(--opacity-disabled);
 }
 
-.repo-buttons .ui.labeled.button > .label {
-  border-left: 0 !important;
-  margin: 0 !important;
+.repo-buttons .ui.labeled.button {
+  cursor: initial;
+
+  > .label {
+    border-left: 0 !important;
+    margin: 0 !important;
+  }
+
+  &.disabled {
+    pointer-events: inherit !important;
+
+    > .button {
+      pointer-events: none !important;
+    }
+  }
 }
 
 .tag-code {