diff --git a/src/components/shared/SongItem.vue b/src/components/shared/SongItem.vue
index bb10b63f..ceaf64a6 100644
--- a/src/components/shared/SongItem.vue
+++ b/src/components/shared/SongItem.vue
@@ -53,9 +53,18 @@
{{ formatSeconds(props.song.length) }}
-
-
-
+
+ {
+ showContextMenu(e);
+ options_button_clicked = true;
+ }
+ "
+ >
+
@@ -77,6 +86,7 @@ const contextStore = useContextStore();
const context_on = ref(false);
const imguri = paths.images.thumb;
+const options_button_clicked = ref(false);
const showContextMenu = (e: Event) => {
e.preventDefault();
@@ -90,6 +100,7 @@ const showContextMenu = (e: Event) => {
contextStore.$subscribe((mutation, state) => {
if (!state.visible) {
context_on.value = false;
+ options_button_clicked.value = false;
}
});
};
@@ -114,7 +125,7 @@ function emitUpdate(track: Track) {
.songlist-item {
display: grid;
align-items: center;
- grid-template-columns: 1.5rem 1.5fr 1fr 1.5fr 0.25fr;
+ grid-template-columns: 1.5rem 1.5fr 1fr 1.5fr 0.25fr 2.5rem;
height: 3.75rem;
text-align: left;
gap: $small;
@@ -122,11 +133,11 @@ function emitUpdate(track: Track) {
-moz-user-select: none;
@include tablet-landscape {
- grid-template-columns: 1.5rem 1.5fr 1fr 1.5fr;
+ grid-template-columns: 1.5rem 1.5fr 1fr 1.5fr 2.5rem;
}
@include tablet-portrait {
- grid-template-columns: 1.5rem 1.5fr 1fr;
+ grid-template-columns: 1.5rem 1.5fr 1fr 2.5rem;
}
&:hover {
@@ -139,7 +150,7 @@ function emitUpdate(track: Track) {
.song-duration {
@include tablet-landscape {
- display: none;
+ display: none !important;
}
}
@@ -183,11 +194,18 @@ function emitUpdate(track: Track) {
.song-duration {
font-size: 0.9rem;
width: 5rem !important;
+
+ text-align: right;
+ }
+
+ .options-icon {
+ opacity: 0;
display: flex;
align-items: center;
- gap: $smaller;
- opacity: 1;
- transition: all 0.2s ease-in;
+ justify-content: center;
+ aspect-ratio: 1;
+ width: 2rem;
+ margin-right: 1rem;
svg {
transition: all 0.2s ease-in;
@@ -199,20 +217,16 @@ function emitUpdate(track: Track) {
}
}
- .options-icon {
- opacity: 0;
- display: flex;
- align-items: center;
- justify-content: center;
- width: 2rem;
- aspect-ratio: 1;
-
- &:hover {
- background-color: $gray5;
- }
+ &:hover {
+ background-color: $gray5;
}
}
+ .options_button_clicked {
+ background-color: $gray5;
+ opacity: 1;
+ }
+
.flex {
position: relative;
padding-left: 4rem;