diff --git a/src/renderer/style.less b/src/renderer/style.less
index 1723b143..c86604c2 100644
--- a/src/renderer/style.less
+++ b/src/renderer/style.less
@@ -2703,6 +2703,13 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
overflow-x: overlay;
height: 210px;
}
+
+ &.hmedia-scroller-card {
+ height: 370px;
+ .mediaitem-card {
+ margin: 12px;
+ }
+ }
}
/* mediaitem-list-item */
@@ -3255,6 +3262,64 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
width: 128px;
}
}
+
+ &.mediaitem-card {
+ background: #ccc;
+ background: var(--spcolor);
+ height: 298px;
+ width: 230px;
+ max-width: 250px;
+ max-height: 500px;
+ overflow: hidden;
+ position: relative;
+ border-radius: calc(var(--mediaItemRadius) * 2);
+ box-shadow: var(--mediaItemShadow-ShadowSubtle);
+
+ .artwork {
+ width: 230px;
+ height: 230px;
+ overflow: hidden;
+ border-radius: 0px;
+ margin: 0;
+ .mediaitem-artwork {
+ border-radius: 0px;
+
+ &::after {
+ box-shadow: unset;
+ }
+ }
+ }
+
+ .title {
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 0.8em;
+ font-weight: 500;
+ }
+
+ .subtitle {
+ height: 100%;
+ justify-content: center;
+ align-items: center;
+ font-size: 0.7em;
+ width: 90%;
+ display: flex;
+ }
+
+ &::after {
+ box-shadow: var(--mediaItemShadow);
+ content: "";
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ pointer-events: none;
+ border-radius: inherit;
+ }
+ }
}
/* mediaitem-square */
diff --git a/src/renderer/views/components/mediaitem-scroller-horizontal-sp.ejs b/src/renderer/views/components/mediaitem-scroller-horizontal-sp.ejs
index d29bdc46..e4394c42 100644
--- a/src/renderer/views/components/mediaitem-scroller-horizontal-sp.ejs
+++ b/src/renderer/views/components/mediaitem-scroller-horizontal-sp.ejs
@@ -1,8 +1,8 @@
diff --git a/src/renderer/views/components/mediaitem-square.ejs b/src/renderer/views/components/mediaitem-square.ejs
index 8bdcd644..e1196d37 100644
--- a/src/renderer/views/components/mediaitem-square.ejs
+++ b/src/renderer/views/components/mediaitem-square.ejs
@@ -1,7 +1,9 @@
@@ -70,11 +72,54 @@
await this.getBadges()
},
methods: {
+ getBgColor() {
+ let color = `#${(this.item.attributes.artwork.bgColor != null) ? (this.item.attributes.artwork.bgColor) : `333333`}`
+ let c = color.substring(1); // strip #
+ var rgb = parseInt(c, 16); // convert rrggbb to decimal
+ var r = (rgb >> 16) & 0xff; // extract red
+ var g = (rgb >> 8) & 0xff; // extract green
+ var b = (rgb >> 0) & 0xff; // extract blue
+
+ var luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709
+
+ console.log(color)
+ console.log(luma)
+ if (luma > 140) {
+ return "#aaaaaa"
+ }else{
+ return color
+ }
+
+
+ },
+ getSubtitle() {
+ if(this.kind == 'card') {
+ try {
+ if (typeof this.item.attributes.artistNames != "undefined") {
+ return this.item.attributes.artistNames
+ } else if (typeof this.item.attributes.editorialNotes != "undefined") {
+ return this.item.attributes.editorialNotes.short
+ } else if (typeof this.item.attributes.artistName != "undefined") {
+ return this.item.attributes.artistName
+ } else {
+ return ''
+ }
+ }catch(e) {
+ return ''
+ }
+ }else {
+ if (typeof this.item.attributes.artistName != "undefined") {
+ return this.item.attributes.artistName
+ } else {
+ return ''
+ }
+ }
+ },
async getBadges() {
let self = this
- if(this.badges[this.item.attributes.playParams.id ?? this.item.id]) {
+ if (this.badges[this.item.attributes.playParams.id ?? this.item.id]) {
let friends = this.badges[this.item.attributes.playParams.id ?? this.item.id]
- if(friends) {
+ if (friends) {
friends.forEach(function (friend) {
self.app.mk.api.socialProfile(friend).then(data => {
self.itemBadges.push(data)
@@ -141,6 +186,9 @@
default:
return []
break;
+ case "card":
+ return ["mediaitem-card"]
+ break;
case "385": // editorial
return ["mediaitem-brick"]
break;
@@ -311,12 +359,12 @@
})
}
let rating = await app.getRating(self.item)
- if(rating == 0) {
+ if (rating == 0) {
menus.normal.items.find(x => x.id == 'love').disabled = false
menus.normal.items.find(x => x.id == 'dislike').disabled = false
- }else if(rating == 1) {
+ } else if (rating == 1) {
menus.normal.items.find(x => x.id == 'unlove').disabled = false
- }else if(rating == -1) {
+ } else if (rating == -1) {
menus.normal.items.find(x => x.id == 'undo_dislike').disabled = false
}
@@ -332,9 +380,9 @@
},
},
beforeDestroy: function () {
- this.item = null;
- this.kind = null;
- this.size = null;
+ // this.item = null;
+ // this.kind = null;
+ // this.size = null;
}
});
\ No newline at end of file