Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: hover only applies on devices that support it #10698

Merged
merged 10 commits into from
Aug 30, 2024
1 change: 1 addition & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
## Next

* Fix Organizer sorting behavior for notes, tags, and wishlist notes so that empty values sort along with other values.
* Hover state only applies on supported devices

## 8.34.1 <span class="changelog-date">(2024-08-27)</span>

Expand Down
30 changes: 30 additions & 0 deletions src/app/_variables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -136,3 +136,33 @@ $tempContainerZindex: 1000;
@function dim-rgb-values-to-rgba($values, $alpha: 1) {
@return #{'rgba(' + $values + ', ' + $alpha + ')'};
}

@mixin interactive($hover: false, $focus: false, $focusWithin: false, $active: false) {
// Declares hover rules only if a device can hover over elements. This avoids issues on mobile
// browsers where tapping an element triggers and persists its hover state.
@if $hover == true {
@media (any-hover: hover) {
&:hover {
@content;
}
}
}

@if $focus == true {
&:focus-visible {
@content;
}
}

@if $focusWithin == true {
&:focus-within {
@content;
}
}

@if $active == true {
&:active {
@content;
}
}
}
3 changes: 1 addition & 2 deletions src/app/accounts/MenuAccounts.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
> div {
padding: 10px 2rem 10px 1rem;

&:hover,
&:focus {
@include interactive($hover: true, $focus: true) {
color: var(--theme-text-invert);
background-color: var(--theme-accent-primary);
}
Expand Down
4 changes: 2 additions & 2 deletions src/app/accounts/SelectAccount.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
&:active {
outline: none;
}
&:hover,
&:focus {

@include interactive($hover: true, $focus: true) {
border-color: var(--theme-accent-primary);
color: var(--theme-accent-primary);
background-color: rgba(255, 255, 255, 0.1);
Expand Down
3 changes: 1 addition & 2 deletions src/app/character-tile/CharacterTileButton.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@

// Display an outline when hovering characters
@media (hover: hover) {
&:hover,
&:active {
@include interactive($hover: true, $active: true) {
@include selected-highlight;
}
}
Expand Down
7 changes: 5 additions & 2 deletions src/app/compare/Compare.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,11 @@
img {
margin: 0;
}
&:hover img {
filter: drop-shadow(0 0 1px black);

@include interactive($hover: true) {
img {
filter: drop-shadow(0 0 1px black);
}
}
}
}
Expand Down
3 changes: 2 additions & 1 deletion src/app/compare/CompareItem.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,8 @@
background-image: url('images/close.png');
background-position: center;
background-repeat: no-repeat;
&:hover {

@include interactive($hover: true) {
background-color: var(--theme-accent-primary);
}
}
2 changes: 1 addition & 1 deletion src/app/destiny1/activities/activities.scss
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
background-blend-mode: multiply;
background: #666;

&:hover {
@include interactive($hover: true) {
background: #aaa;
}
}
Expand Down
25 changes: 18 additions & 7 deletions src/app/destiny1/loadout-builder/loadout-builder.scss
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ $and-color: #814bcf;
vertical-align: middle;
width: var(--item-size);
height: var(--item-size);
&:hover {

@include interactive($hover: true) {
opacity: 1;
transition: 1s;
}
Expand Down Expand Up @@ -97,9 +98,11 @@ $and-color: #814bcf;
margin-bottom: 20px;
}

.expand-configs:hover {
color: var(--theme-accent-primary);
cursor: pointer;
.expand-configs {
@include interactive($hover: true) {
color: var(--theme-accent-primary);
cursor: pointer;
}
}

.loadout-builder-item {
Expand Down Expand Up @@ -216,7 +219,8 @@ $and-color: #814bcf;
border: 1px solid rgba(0, 0, 0, 0.1);
box-sizing: border-box;
cursor: pointer;
&:hover {

@include interactive($hover: true) {
background-color: rgba(160, 160, 160, 0.8);
border: 1px solid rgba(32, 32, 32, 0);
color: rgba(245, 245, 245, 1);
Expand Down Expand Up @@ -370,14 +374,21 @@ $and-color: #814bcf;
padding-left: 3px;
padding-right: 3px;
cursor: pointer;

@include interactive($hover: true) {
background-color: $or-color;
}
}

& .perk:hover,
& .active-perk-or {
background-color: $or-color;
}

&.shift-held .perk:hover,
&.shift-held .perk {
@include interactive($hover: true) {
background-color: $and-color;
}
}
& .active-perk-and {
background-color: $and-color;
}
Expand Down
3 changes: 1 addition & 2 deletions src/app/destiny1/loadout-drawer/LoadoutDrawerOptions.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,7 @@
height: 32px;
}

&:hover,
&:focus {
@include interactive($hover: true, $focus: true) {
background: black;
outline: none;
border-bottom: 1px solid var(--theme-accent-primary);
Expand Down
3 changes: 1 addition & 2 deletions src/app/dim-ui/CheckButton.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
}

// Don't do hover
&:hover,
&:active {
@include interactive($hover: true, $active: true) {
background-color: rgba(255, 255, 255, 0.2) !important;
color: var(--theme-text) !important;
}
Expand Down
10 changes: 6 additions & 4 deletions src/app/dim-ui/ClosableContainer.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
right: 2px;
background-image: url('images/close.png');
background-color: rgba(100, 100, 100, 0.8);
&:hover,
&:focus-visible {

@include interactive($hover: true, $focus: true) {
background-color: var(--theme-accent-primary);
outline: none;
}
Expand All @@ -27,7 +27,9 @@
display: none;
}

&:hover .close {
display: inline-block;
@include interactive($hover: true) {
.close {
display: inline-block;
}
}
}
6 changes: 2 additions & 4 deletions src/app/dim-ui/CollapsibleTitle.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@
letter-spacing: 2px;
font-size: 14px;

&:hover,
&:focus-visible {
@include interactive($hover: true, $focus: true) {
color: var(--theme-accent-primary);

@include phone-portrait {
Expand All @@ -56,8 +55,7 @@
}
}

&:hover,
&:focus-within {
@include interactive($hover: true, $focusWithin: true) {
background-color: rgba(0, 0, 0, 0.4);
}

Expand Down
6 changes: 4 additions & 2 deletions src/app/dim-ui/ConfirmButton.m.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
@use '../variables.scss' as *;

.confirmButton {
overflow: hidden;
max-width: 100%;
Expand Down Expand Up @@ -26,12 +28,12 @@
}
color: var(--theme-text) !important;

&:hover {
@include interactive($hover: true) {
background-color: #af7d27 !important;
}

&[class~='danger'] {
&:hover {
@include interactive($hover: true) {
background-color: #a22 !important;
}
}
Expand Down
5 changes: 2 additions & 3 deletions src/app/dim-ui/Dropdown.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,8 @@
padding: 4px 8px;
color: #999;
transition: all 150ms ease-out;
&:active,
&:hover,
&:focus-visible {

@include interactive($hover: true, $active: true, $focus: true) {
color: white;
}
}
Expand Down
11 changes: 8 additions & 3 deletions src/app/dim-ui/ExpandableTextBlock.m.scss
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
@use '../variables.scss' as *;

.textBlockWrapper {
position: relative;
overflow: hidden;
&:hover {

@include interactive($hover: true) {
cursor: pointer;
}
&::after {
Expand All @@ -10,8 +13,10 @@
inset: 0;
box-shadow: inset 0 -31px 20px -20px black;
}
&.open:hover {
cursor: default;
&.open {
@include interactive($hover: true) {
cursor: default;
}
}
&.open::after {
display: none;
Expand Down
6 changes: 2 additions & 4 deletions src/app/dim-ui/FilterPills.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,8 @@
background-color: rgb(255, 255, 255, 0.2);
}

@media (hover: hover) {
&:hover {
border-color: rgba(255, 255, 255, 0.3);
}
@include interactive($hover: true) {
border-color: rgba(255, 255, 255, 0.3);
}

:global(.app-icon) {
Expand Down
3 changes: 1 addition & 2 deletions src/app/dim-ui/PageWithMenu.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,7 @@
font-size: 16px;
}

&:hover,
&:focus-visible {
@include interactive($hover: true, $focus: true) {
color: var(--theme-accent-primary);

:global(.app-icon) {
Expand Down
5 changes: 4 additions & 1 deletion src/app/dim-ui/SetFilterButton.m.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
@use '../variables.scss' as *;

.setFilterButton {
display: inline-block;
cursor: pointer;
Expand All @@ -6,7 +8,8 @@
padding: 0 6px;
border-radius: 4px;
text-align: center;
&:hover {

@include interactive($hover: true) {
background-color: #68a0b7;
color: #222;
}
Expand Down
5 changes: 2 additions & 3 deletions src/app/dim-ui/Sheet.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,8 @@ $control-color: rgba(255, 255, 255, 0.5);
width: 24px;
font-size: 24px;
}
&:active,
&:hover,
&:focus-visible {

@include interactive($hover: true, $active: true, $focus: true) {
color: var(--theme-accent-primary);
}
}
Expand Down
3 changes: 2 additions & 1 deletion src/app/dim-ui/TileGrid.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
gap: 8px;
box-sizing: border-box;
position: relative;
&:hover {

@include interactive($hover: true) {
background-color: rgba(255, 255, 255, 0.1);
}
&:focus-visible {
Expand Down
5 changes: 3 additions & 2 deletions src/app/dim-ui/destiny-symbols/SymbolsPicker.m.scss
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@
span {
font-size: 18px;
}
&:hover {

@include interactive($hover: true) {
color: black;
background-color: var(--theme-accent-primary);
}
Expand Down Expand Up @@ -71,7 +72,7 @@

padding: 2px;

&:hover {
@include interactive($hover: true) {
color: var(--theme-text-invert);
background-color: var(--theme-accent-primary);
}
Expand Down
Loading
Loading