diff --git a/package-lock.json b/package-lock.json
index d884fa01..18c99bf2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "freetube",
- "version": "0.8.0",
+ "version": "0.9.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -20568,9 +20568,9 @@
}
},
"yt-channel-info": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/yt-channel-info/-/yt-channel-info-1.1.3.tgz",
- "integrity": "sha512-qQ286btTvqBPL2VFHJa0WpKiHp62Jil5cwskGj8fSVeKjynr4QHDL24OmcZxQlqfP2WiB4Cz9DeK3JkN1KsVTw==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/yt-channel-info/-/yt-channel-info-1.1.4.tgz",
+ "integrity": "sha512-FQfttLEWMlVH4qXEkSxPQBkcg6RUquXeckoJtpJP8uMhv2HSRMQ6qND1kf/kQf6eThd8UaYTvXrsgWnIAOG44w==",
"requires": {
"axios": "^0.19.2",
"querystring": "^0.2.0"
diff --git a/package.json b/package.json
index 80b2b4b7..2af2a0e6 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,7 @@
"xml2json": "^0.12.0",
"youtube-chat": "^1.1.0",
"youtube-suggest": "^1.1.0",
- "yt-channel-info": "^1.1.3",
+ "yt-channel-info": "^1.1.4",
"yt-comment-scraper": "^1.3.4",
"yt-dash-manifest-generator": "^1.1.0",
"yt-trending-scraper": "^1.0.3",
diff --git a/src/renderer/components/data-settings/data-settings.js b/src/renderer/components/data-settings/data-settings.js
index a1e4f934..77621158 100644
--- a/src/renderer/components/data-settings/data-settings.js
+++ b/src/renderer/components/data-settings/data-settings.js
@@ -110,12 +110,10 @@ export default Vue.extend({
textDecode.pop()
textDecode = textDecode.map(data => JSON.parse(data))
- let importingOldFormat = false
const firstEntry = textDecode[0]
if (firstEntry.channelId && firstEntry.channelName && firstEntry.channelThumbnail && firstEntry._id && firstEntry.profile) {
// Old FreeTube subscriptions format detected, so convert it to the new one:
textDecode = await this.convertOldFreeTubeFormatToNew(textDecode)
- importingOldFormat = true
}
const primaryProfile = JSON.parse(JSON.stringify(this.profileList[0]))
diff --git a/src/renderer/components/ft-list-video/ft-list-video.js b/src/renderer/components/ft-list-video/ft-list-video.js
index 6b0ca6ac..77387cd5 100644
--- a/src/renderer/components/ft-list-video/ft-list-video.js
+++ b/src/renderer/components/ft-list-video/ft-list-video.js
@@ -41,6 +41,7 @@ export default Vue.extend({
publishedText: '',
isLive: false,
isFavorited: false,
+ isUpcoming: false,
hideViews: false,
optionsValues: [
'history',
@@ -254,18 +255,25 @@ export default Vue.extend({
this.duration = this.calculateVideoDuration(this.data.lengthSeconds)
this.description = this.data.description
this.isLive = this.data.liveNow
+ this.isUpcoming = this.data.isUpcoming || this.data.premiere
this.viewCount = this.data.viewCount
+ if (typeof (this.data.premiereTimestamp) !== 'undefined') {
+ this.publishedText = new Date(this.data.premiereTimestamp * 1000).toLocaleString()
+ } else {
+ this.publishedText = this.data.publishedText
+ }
+
if (typeof (this.data.publishedText) !== 'undefined' && this.data.publishedText !== null && !this.isLive) {
// produces a string according to the template in the locales string
this.toLocalePublicationString({
- publishText: this.data.publishedText,
+ publishText: this.publishedText,
templateString: this.$t('Video.Publicationtemplate'),
timeStrings: this.$t('Video.Published'),
liveStreamString: this.$t('Video.Watching'),
upcomingString: this.$t('Video.Published.Upcoming'),
isLive: this.isLive,
- isUpcoming: this.data.isUpcoming,
+ isUpcoming: this.isUpcoming,
isRSS: this.data.isRSS
}).then((data) => {
this.uploadedTime = data
diff --git a/src/renderer/components/ft-list-video/ft-list-video.vue b/src/renderer/components/ft-list-video/ft-list-video.vue
index a7de2114..fa8588a0 100644
--- a/src/renderer/components/ft-list-video/ft-list-video.vue
+++ b/src/renderer/components/ft-list-video/ft-list-video.vue
@@ -78,7 +78,7 @@
>
{{ channelName }}
-
+
• {{ parsedViewCount }}
{{ $t("Video.View").toLowerCase() }}
{{ $t("Video.Views").toLowerCase() }}
diff --git a/src/renderer/store/modules/utils.js b/src/renderer/store/modules/utils.js
index 82e740c8..6d03816d 100644
--- a/src/renderer/store/modules/utils.js
+++ b/src/renderer/store/modules/utils.js
@@ -278,7 +278,7 @@ const actions = {
return '0' + payload.liveStreamString
} else if (payload.isUpcoming || payload.publishText === null) {
// the check for null is currently just an inferring of knowledge, because there is no other possibility left
- return payload.upcomingString
+ return `${payload.upcomingString}: ${payload.publishText}`
} else if (payload.isRSS) {
return payload.publishText
}
diff --git a/static/locales/en-US.yaml b/static/locales/en-US.yaml
index 286a7449..cdcce669 100644
--- a/static/locales/en-US.yaml
+++ b/static/locales/en-US.yaml
@@ -445,7 +445,7 @@ Video:
Year: Year
Years: Years
Ago: Ago
- Upcoming: Premieres soon
+ Upcoming: Premieres on
Published on: Published on
# $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: $ % ago