diff --git a/src/renderer/assets/feather/heart-fill.svg b/src/renderer/assets/feather/heart-fill.svg
new file mode 100644
index 00000000..1f790aad
--- /dev/null
+++ b/src/renderer/assets/feather/heart-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/renderer/views/components/mediaitem-list-item.ejs b/src/renderer/views/components/mediaitem-list-item.ejs
index 0a1ab179..d4a96c93 100644
--- a/src/renderer/views/components/mediaitem-list-item.ejs
+++ b/src/renderer/views/components/mediaitem-list-item.ejs
@@ -67,6 +67,9 @@
+
{{ item.attributes.releaseDate ? new Date(item.attributes.releaseDate).toLocaleDateString()
: "" }}
@@ -98,7 +101,8 @@
displayDuration: true,
addClasses: {},
itemId: 0,
- isLibrary: false
+ isLibrary: false,
+ isLoved: null
}
},
props: {
@@ -121,6 +125,9 @@
} else {
this.itemId = this.item.id;
}
+ if (this.item.attributes.playParams) {
+ this.getHeartStatus();
+ }
let duration = this.item.attributes.durationInMillis ?? 0
if (duration == 0 || !this.showDuration) {
this.displayDuration = false
@@ -323,6 +330,7 @@
"hidden": false,
"disabled": true,
"action": function () {
+ self.isLoved = true
app.love(self.item)
}
},
@@ -333,6 +341,7 @@
"name": this.app.getLz('action.unlove'),
"hidden": true,
"action": function () {
+ self.isLoved = false
app.unlove(self.item)
}
},
@@ -499,6 +508,19 @@
visibilityChanged: function (isVisible, entry) {
this.isVisible = isVisible
},
+ async getHeartStatus() {
+ try {
+ await app.getRating(this.item).then(res => {
+ if (res == 1) {
+ this.isLoved = true
+ } else {
+ this.isLoved = false
+ }
+ })
+ } catch (err) {
+ console.log(err)
+ }
+ },
addToLibrary() {
let item = this.item
if (item.attributes.playParams.id) {