]> source.dussan.org Git - gitea.git/commitdiff
Use mask-based fade-out effect for `.new-menu` (#27181)
authorsilverwind <me@silverwind.io>
Mon, 25 Sep 2023 01:03:00 +0000 (03:03 +0200)
committerGitHub <noreply@github.com>
Mon, 25 Sep 2023 01:03:00 +0000 (01:03 +0000)
The `.new-menu` was using a pseudo-element based fade-out effect.
Replace this with a more modern mask-based effect which in this case
required a child element to avoid fading out the background as well, so
I applied it to child `new-menu-inner` which was present on all these
menus except explore where I added it.

There is no visual difference except that the items on the explore page
have no `gap` between them any longer, making it consistent with other
menus. Before and after:

<img width="221" alt="Screenshot 2023-09-21 at 21 13 19"
src="https://github.com/go-gitea/gitea/assets/115237/b4a38ce2-cee1-4c54-84a5-e1d0bfd79e29">
<img width="222" alt="Screenshot 2023-09-21 at 21 32 36"
src="https://github.com/go-gitea/gitea/assets/115237/bb6b1335-d935-4ad4-bb85-3b0fc3027c2b">

Also, this cleans up the related CSS vars:

- `--color-header-wrapper-transparent` is removed, no longer needed
- `--color-header-wrapper` is defined in base theme as well, was
previously unset and therefor transparent.

[no whitespace
diff](https://github.com/go-gitea/gitea/pull/27181/files?diff=unified&w=1)
[demo of mask fade](https://jsfiddle.net/silverwind/tsfadb3u/)

templates/explore/navbar.tmpl
web_src/css/base.css
web_src/css/themes/theme-arc-green.css

index 3a556812f9b52f1a184c9e150fd879bb77e79aa8..9dbb0320b236ae19b9743da3f18a13569056ea69 100644 (file)
@@ -1,18 +1,20 @@
 <div class="ui secondary pointing tabular top attached borderless menu new-menu navbar">
-       <a class="{{if .PageIsExploreRepositories}}active {{end}}item" href="{{AppSubUrl}}/explore/repos">
-               {{svg "octicon-repo"}} {{.locale.Tr "explore.repos"}}
-       </a>
-       {{if not .UsersIsDisabled}}
-               <a class="{{if .PageIsExploreUsers}}active {{end}}item" href="{{AppSubUrl}}/explore/users">
-                       {{svg "octicon-person"}} {{.locale.Tr "explore.users"}}
+       <div class="new-menu-inner">
+               <a class="{{if .PageIsExploreRepositories}}active {{end}}item" href="{{AppSubUrl}}/explore/repos">
+                       {{svg "octicon-repo"}} {{.locale.Tr "explore.repos"}}
                </a>
-       {{end}}
-       <a class="{{if .PageIsExploreOrganizations}}active {{end}}item" href="{{AppSubUrl}}/explore/organizations">
-               {{svg "octicon-organization"}} {{.locale.Tr "explore.organizations"}}
-       </a>
-       {{if and (not $.UnitTypeCode.UnitGlobalDisabled) .IsRepoIndexerEnabled}}
-       <a class="{{if .PageIsExploreCode}}active {{end}}item" href="{{AppSubUrl}}/explore/code">
-               {{svg "octicon-code"}} {{.locale.Tr "explore.code"}}
-       </a>
-       {{end}}
+               {{if not .UsersIsDisabled}}
+                       <a class="{{if .PageIsExploreUsers}}active {{end}}item" href="{{AppSubUrl}}/explore/users">
+                               {{svg "octicon-person"}} {{.locale.Tr "explore.users"}}
+                       </a>
+               {{end}}
+               <a class="{{if .PageIsExploreOrganizations}}active {{end}}item" href="{{AppSubUrl}}/explore/organizations">
+                       {{svg "octicon-organization"}} {{.locale.Tr "explore.organizations"}}
+               </a>
+               {{if and (not $.UnitTypeCode.UnitGlobalDisabled) .IsRepoIndexerEnabled}}
+               <a class="{{if .PageIsExploreCode}}active {{end}}item" href="{{AppSubUrl}}/explore/code">
+                       {{svg "octicon-code"}} {{.locale.Tr "explore.code"}}
+               </a>
+               {{end}}
+       </div>
 </div>
index 6b33ec4111ec3bdd1e391216114e6ad91ff85b5e..5efb0bfae541a88af4e56fa74b47af708294a14b 100644 (file)
   --color-input-toggle-background: #dedede;
   --color-input-border: var(--color-secondary);
   --color-input-border-hover: var(--color-secondary-dark-1);
+  --color-header-wrapper: transparent;
   --color-light: #00000006;
   --color-light-mimic-enabled: rgba(0, 0, 0, calc(6 / 255 * 222 / 255 / var(--opacity-disabled)));
   --color-light-border: #0000001d;
@@ -1542,22 +1543,9 @@ img.ui.avatar,
   margin-left: auto;
   margin-right: auto;
   overflow-x: auto;
-}
-
-.ui.menu.new-menu::after {
-  position: absolute;
-  display: block;
-  background: linear-gradient(to right, var(--color-header-wrapper-transparent), var(--color-header-wrapper) 100%);
-  content: "";
-  right: 0;
-  height: 39px;
-  width: 60px;
-  visibility: visible;
-  pointer-events: none;
-}
-
-.ui.menu.new-menu.shadow-body::after {
-  background: linear-gradient(to right, transparent, var(--color-body) 100%);
+  width: 100%;
+  mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 60px), transparent 100%);
+  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 60px), transparent 100%);
 }
 
 .ui.menu.new-menu .item {
index ce0989a5f6952b49f5951e26318b3c855c5333ab..96d9f5821c389ae802ab96be95831021c1e4c895 100644 (file)
   --color-input-border: var(--color-secondary);
   --color-input-border-hover: var(--color-secondary-dark-1);
   --color-header-wrapper: #202430;
-  --color-header-wrapper-transparent: #20243000;
   --color-light: #00000028;
   --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));
   --color-light-border: #ffffff28;