mirror of https://github.com/FreeTubeApp/FreeTube
* Update export data default filename to use today's date in local timezone instead of UTC (#3236)
This commit is contained in:
parent
f575d3ca32
commit
5713e66822
|
@ -9,11 +9,12 @@ import { MAIN_PROFILE_ID } from '../../../constants'
|
||||||
import { calculateColorLuminance, getRandomColor } from '../../helpers/colors'
|
import { calculateColorLuminance, getRandomColor } from '../../helpers/colors'
|
||||||
import {
|
import {
|
||||||
copyToClipboard,
|
copyToClipboard,
|
||||||
|
getTodayDateStrLocalTimezone,
|
||||||
readFileFromDialog,
|
readFileFromDialog,
|
||||||
showOpenDialog,
|
showOpenDialog,
|
||||||
showSaveDialog,
|
showSaveDialog,
|
||||||
showToast,
|
showToast,
|
||||||
writeFileFromDialog
|
writeFileFromDialog,
|
||||||
} from '../../helpers/utils'
|
} from '../../helpers/utils'
|
||||||
import { invidiousAPICall } from '../../helpers/api/invidious'
|
import { invidiousAPICall } from '../../helpers/api/invidious'
|
||||||
import { getLocalChannel } from '../../helpers/api/local'
|
import { getLocalChannel } from '../../helpers/api/local'
|
||||||
|
@ -509,8 +510,8 @@ export default defineComponent({
|
||||||
const subscriptionsDb = this.profileList.map((profile) => {
|
const subscriptionsDb = this.profileList.map((profile) => {
|
||||||
return JSON.stringify(profile)
|
return JSON.stringify(profile)
|
||||||
}).join('\n') + '\n'// a trailing line is expected
|
}).join('\n') + '\n'// a trailing line is expected
|
||||||
const date = new Date().toISOString().split('T')[0]
|
const dateStr = getTodayDateStrLocalTimezone()
|
||||||
const exportFileName = 'freetube-subscriptions-' + date + '.db'
|
const exportFileName = 'freetube-subscriptions-' + dateStr + '.db'
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
defaultPath: exportFileName,
|
defaultPath: exportFileName,
|
||||||
|
@ -526,8 +527,8 @@ export default defineComponent({
|
||||||
},
|
},
|
||||||
|
|
||||||
exportYouTubeSubscriptions: async function () {
|
exportYouTubeSubscriptions: async function () {
|
||||||
const date = new Date().toISOString().split('T')[0]
|
const dateStr = getTodayDateStrLocalTimezone()
|
||||||
const exportFileName = 'youtube-subscriptions-' + date + '.json'
|
const exportFileName = 'youtube-subscriptions-' + dateStr + '.json'
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
defaultPath: exportFileName,
|
defaultPath: exportFileName,
|
||||||
|
@ -579,8 +580,8 @@ export default defineComponent({
|
||||||
},
|
},
|
||||||
|
|
||||||
exportOpmlYouTubeSubscriptions: async function () {
|
exportOpmlYouTubeSubscriptions: async function () {
|
||||||
const date = new Date().toISOString().split('T')[0]
|
const dateStr = getTodayDateStrLocalTimezone()
|
||||||
const exportFileName = 'youtube-subscriptions-' + date + '.opml'
|
const exportFileName = 'youtube-subscriptions-' + dateStr + '.opml'
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
defaultPath: exportFileName,
|
defaultPath: exportFileName,
|
||||||
|
@ -612,8 +613,8 @@ export default defineComponent({
|
||||||
},
|
},
|
||||||
|
|
||||||
exportCsvYouTubeSubscriptions: async function () {
|
exportCsvYouTubeSubscriptions: async function () {
|
||||||
const date = new Date().toISOString().split('T')[0]
|
const dateStr = getTodayDateStrLocalTimezone()
|
||||||
const exportFileName = 'youtube-subscriptions-' + date + '.csv'
|
const exportFileName = 'youtube-subscriptions-' + dateStr + '.csv'
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
defaultPath: exportFileName,
|
defaultPath: exportFileName,
|
||||||
|
@ -639,8 +640,8 @@ export default defineComponent({
|
||||||
},
|
},
|
||||||
|
|
||||||
exportNewPipeSubscriptions: async function () {
|
exportNewPipeSubscriptions: async function () {
|
||||||
const date = new Date().toISOString().split('T')[0]
|
const dateStr = getTodayDateStrLocalTimezone()
|
||||||
const exportFileName = 'newpipe-subscriptions-' + date + '.json'
|
const exportFileName = 'newpipe-subscriptions-' + dateStr + '.json'
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
defaultPath: exportFileName,
|
defaultPath: exportFileName,
|
||||||
|
@ -744,8 +745,8 @@ export default defineComponent({
|
||||||
const historyDb = this.historyCache.map((historyEntry) => {
|
const historyDb = this.historyCache.map((historyEntry) => {
|
||||||
return JSON.stringify(historyEntry)
|
return JSON.stringify(historyEntry)
|
||||||
}).join('\n') + '\n'
|
}).join('\n') + '\n'
|
||||||
const date = new Date().toISOString().split('T')[0]
|
const dateStr = getTodayDateStrLocalTimezone()
|
||||||
const exportFileName = 'freetube-history-' + date + '.db'
|
const exportFileName = 'freetube-history-' + dateStr + '.db'
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
defaultPath: exportFileName,
|
defaultPath: exportFileName,
|
||||||
|
@ -875,8 +876,8 @@ export default defineComponent({
|
||||||
},
|
},
|
||||||
|
|
||||||
exportPlaylists: async function () {
|
exportPlaylists: async function () {
|
||||||
const date = new Date().toISOString().split('T')[0]
|
const dateStr = getTodayDateStrLocalTimezone()
|
||||||
const exportFileName = 'freetube-playlists-' + date + '.db'
|
const exportFileName = 'freetube-playlists-' + dateStr + '.db'
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
defaultPath: exportFileName,
|
defaultPath: exportFileName,
|
||||||
|
|
|
@ -619,3 +619,14 @@ export function toDistractionFreeTitle(title, minUpperCase = 3) {
|
||||||
export function formatNumber(number, options = undefined) {
|
export function formatNumber(number, options = undefined) {
|
||||||
return Intl.NumberFormat([i18n.locale.replace('_', '-'), 'en'], options).format(number)
|
return Intl.NumberFormat([i18n.locale.replace('_', '-'), 'en'], options).format(number)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getTodayDateStrLocalTimezone() {
|
||||||
|
const timeNow = new Date()
|
||||||
|
// `Date#getTimezoneOffset` returns the difference, in minutes
|
||||||
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset
|
||||||
|
const timeNowStr = new Date(timeNow.getTime() - (timeNow.getTimezoneOffset() * 60000)).toISOString()
|
||||||
|
// `Date#toISOString` returns string with `T` as date/time separator (ISO 8601 format)
|
||||||
|
// e.g. 2011-10-05T14:48:00.000Z
|
||||||
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
||||||
|
return timeNowStr.split('T')[0]
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue