From 8d2b7646079234e66fd05eac681c6574355de218 Mon Sep 17 00:00:00 2001
From: silverwind <me@silverwind.io>
Date: Wed, 27 Mar 2024 21:05:49 +0100
Subject: [PATCH] Fix download buttons on branches page (#30147)

Fixes https://github.com/go-gitea/gitea/issues/30143, regression from
https://github.com/go-gitea/gitea/pull/29920.

We have `.button` on the repo page, but on the branch page it's a
`.btn`. Eventually we should find a solution to have a single button
class but until then this solution should be acceptable.

(cherry picked from commit c85619b82d19a928cb219eba3f38473928b29b0c)
---
 web_src/css/modules/animations.css | 1 +
 web_src/js/features/repo-common.js | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/web_src/css/modules/animations.css b/web_src/css/modules/animations.css
index 5bfc090773..788a4ed6ed 100644
--- a/web_src/css/modules/animations.css
+++ b/web_src/css/modules/animations.css
@@ -13,6 +13,7 @@
   opacity: 0.3;
 }
 
+.btn.is-loading > *,
 .button.is-loading > * {
   opacity: 0;
 }
diff --git a/web_src/js/features/repo-common.js b/web_src/js/features/repo-common.js
index 2c5746c738..b750addb07 100644
--- a/web_src/js/features/repo-common.js
+++ b/web_src/js/features/repo-common.js
@@ -3,7 +3,7 @@ import {hideElem, showElem} from '../utils/dom.js';
 import {POST} from '../modules/fetch.js';
 
 async function getArchive($target, url, first) {
-  const dropdownBtn = $target[0].closest('.ui.dropdown.button');
+  const dropdownBtn = $target[0].closest('.ui.dropdown.button') ?? $target[0].closest('.ui.dropdown.btn');
 
   try {
     dropdownBtn.classList.add('is-loading');