From fb5e36bc6f0e51297a18bc27f1d25047743e92ce Mon Sep 17 00:00:00 2001
From: Beowulf <beowulf@beocode.eu>
Date: Sun, 28 Apr 2024 22:40:51 +0200
Subject: [PATCH] Fixes that the settings button moves in the overflow menu and
 the add more button is on the right

This fix moves the settings button back to the right and the add more
button back to the left.
---
 templates/repo/header.tmpl                  |  2 +-
 tests/e2e/right-settings-button.test.e2e.js | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/templates/repo/header.tmpl b/templates/repo/header.tmpl
index cf8ee7d772..bce0e79bca 100644
--- a/templates/repo/header.tmpl
+++ b/templates/repo/header.tmpl
@@ -177,7 +177,7 @@
 					{{$highlightSettings := true}}
 					{{if and .SignedUser.EnableRepoUnitHints (not (.Repository.AllUnitsEnabled ctx))}}
 						{{$highlightSettings = false}}
-						<a id="settings-btn" class="{{if .PageIsRepoSettingsUnits}}active {{end}}right item" href="{{.RepoLink}}/settings/units">
+						<a class="{{if .PageIsRepoSettingsUnits}}active {{end}}item" href="{{.RepoLink}}/settings/units">
 							{{svg "octicon-diff-added"}} {{ctx.Locale.Tr "repo.settings.units.add_more"}}
 						</a>
 					{{end}}
diff --git a/tests/e2e/right-settings-button.test.e2e.js b/tests/e2e/right-settings-button.test.e2e.js
index 7f457dec4a..698aa03192 100644
--- a/tests/e2e/right-settings-button.test.e2e.js
+++ b/tests/e2e/right-settings-button.test.e2e.js
@@ -22,6 +22,20 @@ test.describe('desktop viewport', () => {
     await expect(page.locator('.overflow-menu-button')).toHaveCount(0);
   });
 
+  test('Settings button on right of repo header also when add more button is shown', async ({browser}, workerInfo) => {
+    await login_user(browser, workerInfo, 'user12');
+    const context = await load_logged_in_context(browser, workerInfo, 'user12');
+    const page = await context.newPage();
+
+    await page.goto('/user12/repo10');
+
+    const settingsBtn = page.locator('.overflow-menu-items>#settings-btn');
+    await expect(settingsBtn).toBeVisible();
+    await expect(settingsBtn).toHaveClass(/right/);
+
+    await expect(page.locator('.overflow-menu-button')).toHaveCount(0);
+  });
+
   test('Settings button on right of org header', async ({browser}, workerInfo) => {
     const context = await load_logged_in_context(browser, workerInfo, 'user2');
     const page = await context.newPage();