From 9b5c341bb343a6139c2acf8c514e45f3a9664d76 Mon Sep 17 00:00:00 2001
From: BLCK <123077751+BLCK-B@users.noreply.github.com>
Date: Thu, 30 May 2024 09:44:31 +0200
Subject: [PATCH] details
---
.../FrontendAPI/SSEController.java | 1 -
.../Scraping/ScraperManager.java | 19 +++++++++++++++----
.../Scraping/Scrapers/Scraper.java | 13 +++++++++++++
.../Scraping/Scrapers/ScraperBeatport.java | 13 +++++++++++++
.../Scrapers/ScraperJunodownload.java | 13 +++++++++++++
.../Scraping/Scrapers/ScraperMusicbrainz.java | 13 +++++++++++++
.../Scraping/Scrapers/ScraperYoutube.java | 13 +++++++++++++
.../static/assets/index-B-0Sff6H.css | 1 +
.../{index-BVpPLp6L.js => index-CkQnxD4u.js} | 2 +-
.../static/assets/index-DQ2nizA8.css | 1 -
src/main/resources/static/index.html | 4 ++--
vue/src/components/SourceTable.vue | 2 --
12 files changed, 84 insertions(+), 11 deletions(-)
create mode 100644 src/main/resources/static/assets/index-B-0Sff6H.css
rename src/main/resources/static/assets/{index-BVpPLp6L.js => index-CkQnxD4u.js} (85%)
delete mode 100644 src/main/resources/static/assets/index-DQ2nizA8.css
diff --git a/src/main/java/com/blck/MusicReleaseTracker/FrontendAPI/SSEController.java b/src/main/java/com/blck/MusicReleaseTracker/FrontendAPI/SSEController.java
index 8d5727b..8d1b309 100644
--- a/src/main/java/com/blck/MusicReleaseTracker/FrontendAPI/SSEController.java
+++ b/src/main/java/com/blck/MusicReleaseTracker/FrontendAPI/SSEController.java
@@ -1,7 +1,6 @@
package com.blck.MusicReleaseTracker.FrontendAPI;
import com.blck.MusicReleaseTracker.Core.ErrorLogging;
-import com.blck.MusicReleaseTracker.Scraping.ScrapeProcess;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
diff --git a/src/main/java/com/blck/MusicReleaseTracker/Scraping/ScraperManager.java b/src/main/java/com/blck/MusicReleaseTracker/Scraping/ScraperManager.java
index ebcfe66..d72386e 100644
--- a/src/main/java/com/blck/MusicReleaseTracker/Scraping/ScraperManager.java
+++ b/src/main/java/com/blck/MusicReleaseTracker/Scraping/ScraperManager.java
@@ -7,6 +7,19 @@
import java.util.*;
+/* MusicReleaseTracker
+ Copyright (C) 2023 BLCK
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .*/
+
public class ScraperManager {
private final ErrorLogging log;
@@ -19,17 +32,15 @@ public class ScraperManager {
public ScraperManager(ErrorLogging log, DBqueries DB) {
this.log = log;
this.DB = DB;
- for (SourcesEnum source : SourcesEnum.values()) {
+ for (SourcesEnum source : SourcesEnum.values())
sourceTimes.put(source.toString(), 0.0);
- }
}
public ScraperManager(ErrorLogging log, DBqueries DB, int customSleepTime) {
this.log = log;
this.DB = DB;
minDelay = customSleepTime;
- for (SourcesEnum source : SourcesEnum.values()) {
+ for (SourcesEnum source : SourcesEnum.values())
sourceTimes.put(source.toString(), 0.0);
- }
}
public int loadWithScrapers() {
diff --git a/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/Scraper.java b/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/Scraper.java
index d683d5f..89c3a7d 100644
--- a/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/Scraper.java
+++ b/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/Scraper.java
@@ -15,6 +15,19 @@
import java.util.HashSet;
import java.util.Set;
+/* MusicReleaseTracker
+ Copyright (C) 2023 BLCK
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .*/
+
public class Scraper {
protected final ErrorLogging log;
diff --git a/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperBeatport.java b/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperBeatport.java
index ff74ccf..c5031b4 100644
--- a/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperBeatport.java
+++ b/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperBeatport.java
@@ -15,6 +15,19 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+/* MusicReleaseTracker
+ Copyright (C) 2023 BLCK
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .*/
+
public final class ScraperBeatport extends Scraper implements ScraperInterface {
private final String songArtist;
diff --git a/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperJunodownload.java b/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperJunodownload.java
index 8eeed8d..7bc6059 100644
--- a/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperJunodownload.java
+++ b/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperJunodownload.java
@@ -17,6 +17,19 @@
import static java.lang.String.valueOf;
+/* MusicReleaseTracker
+ Copyright (C) 2023 BLCK
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .*/
+
public final class ScraperJunodownload extends Scraper implements ScraperInterface {
private enum MonthNumbers {
diff --git a/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperMusicbrainz.java b/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperMusicbrainz.java
index f3f05ea..1a77e31 100644
--- a/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperMusicbrainz.java
+++ b/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperMusicbrainz.java
@@ -13,6 +13,19 @@
import java.net.SocketTimeoutException;
import java.util.ArrayList;
+/* MusicReleaseTracker
+ Copyright (C) 2023 BLCK
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .*/
+
public final class ScraperMusicbrainz extends Scraper implements ScraperInterface {
private final String songArtist;
diff --git a/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperYoutube.java b/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperYoutube.java
index 06e288b..9d67257 100644
--- a/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperYoutube.java
+++ b/src/main/java/com/blck/MusicReleaseTracker/Scraping/Scrapers/ScraperYoutube.java
@@ -14,6 +14,19 @@
import java.util.ArrayList;
import java.util.Arrays;
+/* MusicReleaseTracker
+ Copyright (C) 2023 BLCK
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .*/
+
public final class ScraperYoutube extends Scraper implements ScraperInterface {
private final String songArtist;
diff --git a/src/main/resources/static/assets/index-B-0Sff6H.css b/src/main/resources/static/assets/index-B-0Sff6H.css
new file mode 100644
index 0000000..9b7713a
--- /dev/null
+++ b/src/main/resources/static/assets/index-B-0Sff6H.css
@@ -0,0 +1 @@
+*[data-v-18b2502f]::-webkit-scrollbar{width:8px;background:transparent}*[data-v-18b2502f]::-webkit-scrollbar-thumb{background-color:var(--dull-color)}.listbtn[data-v-18b2502f]{width:92%;height:28px;border-radius:0;margin:0;display:flex;align-items:center;white-space:nowrap;overflow:hidden;padding-left:7px}.artistlist[data-v-18b2502f]{height:calc(100vh - 40px);overflow-y:scroll}.artistlist li[data-v-18b2502f]{list-style-type:none}.buttonspace[data-v-18b2502f]{margin-bottom:5px}.addbtn[data-v-18b2502f],.morebtn[data-v-18b2502f]{font-size:12px;width:75px;height:28px;border:2px solid var(--dull-color);border-radius:6px;background-color:transparent;color:var(--contrast-color)}.addbtn[data-v-18b2502f]{margin-left:5px}.addbtn[data-v-18b2502f]:hover,.morebtn[data-v-18b2502f]:hover{background-color:var(--accent-color);border:2px solid var(--accent-color);color:var(--accent-contrast)}.addbtn[data-v-18b2502f]:active,.morebtn[data-v-18b2502f]:active{opacity:75%}.morebtn[data-v-18b2502f]{margin-left:5px}.dropdown[data-v-18b2502f]{position:relative;display:grid;grid-template-columns:repeat(1,1fr);background-color:var(--subtle-color);padding-right:10px;padding-left:6px}.dropdown .deletebtn[data-v-18b2502f]{font-size:12px;height:25px;margin-top:3px;border:2px solid var(--dull-color);border-radius:6px;background-color:transparent;color:var(--contrast-color)}.deletebtn[data-v-18b2502f]:hover{background-color:red;border:2px solid red}.listbtn[data-v-18b2502f]:hover{background-color:var(--duller-color)}.highlighted[data-v-18b2502f]{background-color:var(--accent-color);color:var(--accent-contrast)}.highlighted[data-v-18b2502f]:hover{background-color:var(--accent-color)}[data-v-18b2502f]:disabled{opacity:.5;pointer-events:none}.wrapper[data-v-bbe78624]{min-width:500px;width:100%;display:flex;align-items:center;height:38px}.tabs[data-v-bbe78624]{display:flex;text-align:center;font-weight:700;flex-grow:1;height:38px}.image[data-v-bbe78624]{height:32px;width:32px}.settingsButton[data-v-bbe78624],.scrapeButton[data-v-bbe78624]{padding:0;margin-left:8px;margin-top:2px;height:32px;width:32px;border:none}.settingsButton[data-v-bbe78624]:hover,.scrapeButton[data-v-bbe78624]:hover{opacity:70%}.settingsButton[data-v-bbe78624]{height:32px;width:32px;background-color:var(--accent-color)}.scrapeButton[data-v-bbe78624]{background-color:var(--accent-color);margin-right:20px;border-radius:50px}.scrapeActive[data-v-bbe78624]{transition:.75s;rotate:180deg;filter:hue-rotate(120deg)}.scrapeActive[data-v-bbe78624]:hover{opacity:1}.cvtab[data-v-bbe78624]{width:80%;max-width:390px;padding:8px;border:solid 3px transparent;border-bottom:solid 3px var(--accent-color)}.stab[data-v-bbe78624]{width:20%;max-width:110px;padding:8px;border:solid 3px transparent;border-bottom:solid 3px var(--accent-color);white-space:nowrap;overflow:hidden}.tabs[data-v-bbe78624] :hover{border-bottom:solid 3px var(--dull-color)}.active[data-v-bbe78624]{transition:.15s;background-color:var(--accent-color);color:var(--accent-contrast);border-bottom:solid 3px var(--accent-color);border-radius:5px}.active[data-v-bbe78624]:hover{border-bottom:solid 3px var(--accent-color)}.scrapenotice[data-v-bbe78624]{position:absolute;z-index:50;background-color:var(--duller-color);border-radius:5px;padding-right:10px;padding-left:10px;right:14px;top:42px}.fade-enter-from[data-v-bbe78624],.fade-leave-to[data-v-bbe78624]{opacity:0}.fade-enter-active[data-v-bbe78624],.fade-leave-active[data-v-bbe78624]{transition:.15s}[data-v-bbe78624]:disabled{opacity:.5;pointer-events:none}.table-header[data-v-a94daa96]{flex-shrink:0;overflow:hidden;z-index:3;position:fixed;width:calc(100% - 170px)}.table-body[data-v-a94daa96]{flex-grow:1;overflow-y:auto;-webkit-user-select:text;user-select:text;margin-bottom:10vh}table[data-v-a94daa96]{width:100%;min-width:500px;border-collapse:collapse}th[data-v-a94daa96],td[data-v-a94daa96]{padding:4px}th[data-v-a94daa96]{background-color:var(--primary-color);border:none;position:sticky;top:0}.song[data-v-a94daa96],.tdsong[data-v-a94daa96],.artist[data-v-a94daa96],.tdartist[data-v-a94daa96]{width:50%;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date[data-v-a94daa96],.tddate[data-v-a94daa96]{width:100px;min-width:100px}.future-date[data-v-a94daa96]{opacity:40%}.emptynotice[data-v-a94daa96]{position:absolute;left:40%;top:40%;color:var(--dull-color)}.quickstart[data-v-a94daa96]{position:relative;font-size:15px;line-height:22px;left:5%;top:5%}.quickstart .title[data-v-a94daa96]{font-weight:700}.tddate[data-v-a94daa96]{display:flex;justify-content:flex-end;margin-right:30px}p[data-v-0fe96286]{line-height:1.4}.dialog[data-v-0fe96286]{width:375px;height:280px;background-color:var(--primary-color);border:2px solid var(--contrast-color);border-radius:3px;color:var(--contrast-color);padding:8px}input[data-v-0fe96286]{background-color:var(--duller-color);color:var(--contrast-color);border:none;width:345px;position:absolute;bottom:5px;left:5px;font-size:13px;height:18px}input[data-v-0fe96286]:focus{outline:none}button[data-v-0fe96286]{color:#000;border:none;position:absolute;right:5px;bottom:5px}button[data-v-0fe96286]:hover{opacity:70%}a[data-v-0fe96286]{color:var(--accent-color);font-weight:700;text-decoration:none}a[data-v-0fe96286]:hover{text-decoration:underline}h1[data-v-0fe96286]{font-size:17px;font-weight:400}.variabletext[data-v-0fe96286]{color:var(--accent-color)}.artist[data-v-0fe96286]{-webkit-user-select:text;user-select:text}.imgbutton[data-v-0fe96286],.image[data-v-0fe96286]{height:23px;width:23px;padding:0;float:right;margin-right:2px;background-color:transparent}.imgbutton[data-v-0fe96286]:hover{opacity:50%}[data-v-0fe96286]:disabled{opacity:.5;pointer-events:none}.wrapper[data-v-cb695d37]{top:25%;left:35%;width:325px;height:240px;position:absolute;z-index:3;background-color:var(--primary-color);border:2px solid var(--contrast-color);border-radius:3px;padding:8px}.diag-actions[data-v-cb695d37]{position:absolute;bottom:3px;left:5px}button[data-v-cb695d37]{border:none}input[data-v-cb695d37]{background-color:var(--duller-color);color:var(--contrast-color);width:200px;margin-right:58px;margin-left:10px;border:none}input[data-v-cb695d37]:focus{outline:none}.imgbutton[data-v-cb695d37],.image[data-v-cb695d37]{height:23px;width:23px;padding:0;float:right;margin-left:5px;margin-right:2px;background-color:transparent}.imgbutton[data-v-cb695d37]{position:relative}.imgbutton[data-v-cb695d37]:hover{opacity:50%}[data-v-cb695d37]:disabled{opacity:.3;pointer-events:none}*[data-v-d29e2d3a]{transition:.2s}.progress-container[data-v-d29e2d3a]{background-color:transparent}.progressbar[data-v-d29e2d3a]{height:5px;line-height:5px;text-align:center;background-color:var(--accent-color)}*[data-v-649f4366]{transition:.1s}.title[data-v-649f4366]{font-weight:700}.settings[data-v-649f4366]{font-family:arial,sans-serif;font-size:14px;-webkit-user-select:none;user-select:none;background-color:var(--primary-color);color:var(--contrast-color);overflow-y:scroll;overflow-x:hidden;display:grid;align-content:start;width:100%;justify-content:center;accent-color:var(--contrast-color)}@media screen and (min-width: 1050px){.settings[data-v-649f4366]{display:grid;grid-template-columns:repeat(2,0fr)}section[data-v-649f4366]{margin-right:90px}}.filters-buttons[data-v-649f4366]{margin-top:10px;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;max-height:80px}.flex-items[data-v-649f4366]{display:flex;flex-direction:column}.flex-padding[data-v-649f4366]{padding:5px}.appearancecont[data-v-649f4366]{display:flex;accent-color:var(--dull-color)}.theme-buttons[data-v-649f4366]{display:grid;grid-template-columns:repeat(2,1fr);width:30%;padding-right:20px;line-height:18px}.accent-buttons[data-v-649f4366]{display:grid;grid-template-columns:repeat(4,1fr)}.belowAppearance[data-v-649f4366]{margin-left:15px;margin-top:6px}.crossImgButton[data-v-649f4366]{position:absolute;right:55px;top:6px;padding:0;background-color:transparent;border:none;transition:0s}.crossImgButton[data-v-649f4366]:hover{opacity:60%}.image[data-v-649f4366]{height:33px}input[data-v-649f4366]{margin-right:5px}section[data-v-649f4366]{position:relative;margin-top:20px;left:40px;padding:1px 15px 10px;background-color:var(--duller-color);border-radius:5px;transition:.15s;width:345px}.self[data-v-649f4366]{justify-self:center;width:280px;background-color:transparent}.blckimg[data-v-649f4366]{height:48px;background-color:#000;border-radius:5px;padding:12px;margin-right:22px}.mrtimg[data-v-649f4366]{height:72px;border-radius:10px}.colorindicator[data-v-649f4366]{position:absolute;right:0;top:0;height:100%;width:8px;background-color:var(--accent-color);border-top-right-radius:5px;border-bottom-right-radius:5px}.dangercont[data-v-649f4366]{display:flex;justify-content:space-evenly}.danger button[data-v-649f4366]{border-radius:5px;background-color:transparent;color:var(--contrast-color);border:2px solid red;padding:4px;width:120px}.danger button[data-v-649f4366]:hover{background-color:red}.disabled[data-v-649f4366]{opacity:.3}.preview[data-v-85018fb6]{width:100%;height:100%;background-color:var(--subtle-color);font-size:15px}h1[data-v-85018fb6]{font-size:18px;color:var(--accent-color)}p[data-v-85018fb6],h1[data-v-85018fb6]{position:relative;left:6px}button[data-v-85018fb6]{margin-left:8px;border:none;border-radius:5px;width:60px}.imgbutton[data-v-85018fb6],.image[data-v-85018fb6]{margin-left:22px;height:26px;width:26px;padding:0;background-color:transparent}.imgbutton[data-v-85018fb6]:hover{opacity:50%}[data-v-85018fb6]:disabled{opacity:.5;pointer-events:none}*[data-v-e34fd722]{scrollbar-color:var(--dull-color) transparent}*[data-v-e34fd722]::-webkit-scrollbar-thumb{background-color:var(--dull-color)}*[data-v-e34fd722]::-webkit-scrollbar{width:8px;background:transparent}.app[data-v-e34fd722]{font-family:arial,sans-serif;font-size:14px;-webkit-user-select:none;user-select:none;display:flex;position:fixed;top:0;left:0;padding-left:5px;padding-top:3px;width:100%;height:100%;background-color:var(--primary-color);color:var(--contrast-color);transition:.15s}.list[data-v-e34fd722]{width:170px;min-width:170px;padding-top:5px;padding-left:2px;top:-3px;left:-5px;position:relative;background-color:var(--subtle-color)}.maincontent[data-v-e34fd722]{flex-grow:1;height:100vh}.topbar[data-v-e34fd722]{left:5px;position:relative}.dialogsurl[data-v-e34fd722]{top:25%;left:35%;position:absolute}.sourcetable[data-v-e34fd722]{position:relative;top:6px;height:100%;overflow-y:scroll;margin-right:4px}.progressbar[data-v-e34fd722]{position:absolute;bottom:3px;left:0;z-index:5;width:100%}
diff --git a/src/main/resources/static/assets/index-BVpPLp6L.js b/src/main/resources/static/assets/index-CkQnxD4u.js
similarity index 85%
rename from src/main/resources/static/assets/index-BVpPLp6L.js
rename to src/main/resources/static/assets/index-CkQnxD4u.js
index e368d90..b454536 100644
--- a/src/main/resources/static/assets/index-BVpPLp6L.js
+++ b/src/main/resources/static/assets/index-CkQnxD4u.js
@@ -23,4 +23,4 @@
* vuex v4.1.0
* (c) 2022 Evan You
* @license MIT
- */var Ef="store";function Wt(e,t){Object.keys(e).forEach(function(n){return t(e[n],n)})}function ol(e){return e!==null&&typeof e=="object"}function Cf(e){return e&&typeof e.then=="function"}function wf(e,t){return function(){return e(t)}}function il(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var s=t.indexOf(e);s>-1&&t.splice(s,1)}}function ll(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;as(e,n,[],e._modules.root,!0),Cr(e,n,t)}function Cr(e,t,n){var s=e._state,r=e._scope;e.getters={},e._makeLocalGettersCache=Object.create(null);var o=e._wrappedGetters,i={},l={},c=Nl(!0);c.run(function(){Wt(o,function(f,u){i[u]=wf(f,e),l[u]=ki(function(){return i[u]()}),Object.defineProperty(e.getters,u,{get:function(){return l[u].value},enumerable:!0})})}),e._state=zn({data:t}),e._scope=c,e.strict&&xf(e),s&&n&&e._withCommit(function(){s.data=null}),r&&r.stop()}function as(e,t,n,s,r){var o=!n.length,i=e._modules.getNamespace(n);if(s.namespaced&&(e._modulesNamespaceMap[i],e._modulesNamespaceMap[i]=s),!o&&!r){var l=wr(t,n.slice(0,-1)),c=n[n.length-1];e._withCommit(function(){l[c]=s.state})}var f=s.context=Af(e,i,n);s.forEachMutation(function(u,d){var g=i+d;Tf(e,g,u,f)}),s.forEachAction(function(u,d){var g=u.root?d:i+d,E=u.handler||u;Of(e,g,E,f)}),s.forEachGetter(function(u,d){var g=i+d;Rf(e,g,u,f)}),s.forEachChild(function(u,d){as(e,t,n.concat(d),u,r)})}function Af(e,t,n){var s=t==="",r={dispatch:s?e.dispatch:function(o,i,l){var c=$n(o,i,l),f=c.payload,u=c.options,d=c.type;return(!u||!u.root)&&(d=t+d),e.dispatch(d,f)},commit:s?e.commit:function(o,i,l){var c=$n(o,i,l),f=c.payload,u=c.options,d=c.type;(!u||!u.root)&&(d=t+d),e.commit(d,f,u)}};return Object.defineProperties(r,{getters:{get:s?function(){return e.getters}:function(){return cl(e,t)}},state:{get:function(){return wr(e.state,n)}}}),r}function cl(e,t){if(!e._makeLocalGettersCache[t]){var n={},s=t.length;Object.keys(e.getters).forEach(function(r){if(r.slice(0,s)===t){var o=r.slice(s);Object.defineProperty(n,o,{get:function(){return e.getters[r]},enumerable:!0})}}),e._makeLocalGettersCache[t]=n}return e._makeLocalGettersCache[t]}function Tf(e,t,n,s){var r=e._mutations[t]||(e._mutations[t]=[]);r.push(function(i){n.call(e,s.state,i)})}function Of(e,t,n,s){var r=e._actions[t]||(e._actions[t]=[]);r.push(function(i){var l=n.call(e,{dispatch:s.dispatch,commit:s.commit,getters:s.getters,state:s.state,rootGetters:e.getters,rootState:e.state},i);return Cf(l)||(l=Promise.resolve(l)),e._devtoolHook?l.catch(function(c){throw e._devtoolHook.emit("vuex:error",c),c}):l})}function Rf(e,t,n,s){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(o){return n(s.state,s.getters,o.state,o.getters)})}function xf(e){nn(function(){return e._state.data},function(){},{deep:!0,flush:"sync"})}function wr(e,t){return t.reduce(function(n,s){return n[s]},e)}function $n(e,t,n){return ol(e)&&e.type&&(n=t,t=e,e=e.type),{type:e,payload:t,options:n}}var Lf="vuex bindings",Po="vuex:mutations",Os="vuex:actions",Nt="vuex",If=0;function Pf(e,t){vf({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[Lf]},function(n){n.addTimelineLayer({id:Po,label:"Vuex Mutations",color:ko}),n.addTimelineLayer({id:Os,label:"Vuex Actions",color:ko}),n.addInspector({id:Nt,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree(function(s){if(s.app===e&&s.inspectorId===Nt)if(s.filter){var r=[];dl(r,t._modules.root,s.filter,""),s.rootNodes=r}else s.rootNodes=[fl(t._modules.root,"")]}),n.on.getInspectorState(function(s){if(s.app===e&&s.inspectorId===Nt){var r=s.nodeId;cl(t,r),s.state=Ff(Df(t._modules,r),r==="root"?t.getters:t._makeLocalGettersCache,r)}}),n.on.editInspectorState(function(s){if(s.app===e&&s.inspectorId===Nt){var r=s.nodeId,o=s.path;r!=="root"&&(o=r.split("/").filter(Boolean).concat(o)),t._withCommit(function(){s.set(t._state.data,o,s.state.value)})}}),t.subscribe(function(s,r){var o={};s.payload&&(o.payload=s.payload),o.state=r,n.notifyComponentUpdate(),n.sendInspectorTree(Nt),n.sendInspectorState(Nt),n.addTimelineEvent({layerId:Po,event:{time:Date.now(),title:s.type,data:o}})}),t.subscribeAction({before:function(s,r){var o={};s.payload&&(o.payload=s.payload),s._id=If++,s._time=Date.now(),o.state=r,n.addTimelineEvent({layerId:Os,event:{time:s._time,title:s.type,groupId:s._id,subtitle:"start",data:o}})},after:function(s,r){var o={},i=Date.now()-s._time;o.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},s.payload&&(o.payload=s.payload),o.state=r,n.addTimelineEvent({layerId:Os,event:{time:Date.now(),title:s.type,groupId:s._id,subtitle:"end",data:o}})}})})}var ko=8702998,kf=6710886,Nf=16777215,al={label:"namespaced",textColor:Nf,backgroundColor:kf};function ul(e){return e&&e!=="root"?e.split("/").slice(-2,-1)[0]:"Root"}function fl(e,t){return{id:t||"root",label:ul(t),tags:e.namespaced?[al]:[],children:Object.keys(e._children).map(function(n){return fl(e._children[n],t+n+"/")})}}function dl(e,t,n,s){s.includes(n)&&e.push({id:s||"root",label:s.endsWith("/")?s.slice(0,s.length-1):s||"Root",tags:t.namespaced?[al]:[]}),Object.keys(t._children).forEach(function(r){dl(e,t._children[r],n,s+r+"/")})}function Ff(e,t,n){t=n==="root"?t:t[n];var s=Object.keys(t),r={state:Object.keys(e.state).map(function(i){return{key:i,editable:!0,value:e.state[i]}})};if(s.length){var o=Uf(t);r.getters=Object.keys(o).map(function(i){return{key:i.endsWith("/")?ul(i):i,editable:!1,value:Qs(function(){return o[i]})}})}return r}function Uf(e){var t={};return Object.keys(e).forEach(function(n){var s=n.split("/");if(s.length>1){var r=t,o=s.pop();s.forEach(function(i){r[i]||(r[i]={_custom:{value:{},display:i,tooltip:"Module",abstract:!0}}),r=r[i]._custom.value}),r[o]=Qs(function(){return e[n]})}else t[n]=Qs(function(){return e[n]})}),t}function Df(e,t){var n=t.split("/").filter(function(s){return s});return n.reduce(function(s,r,o){var i=s[r];if(!i)throw new Error('Missing module "'+r+'" for path "'+t+'".');return o===n.length-1?i:i._children},t==="root"?e:e.root._children)}function Qs(e){try{return e()}catch(t){return t}}var De=function(t,n){this.runtime=n,this._children=Object.create(null),this._rawModule=t;var s=t.state;this.state=(typeof s=="function"?s():s)||{}},hl={namespaced:{configurable:!0}};hl.namespaced.get=function(){return!!this._rawModule.namespaced};De.prototype.addChild=function(t,n){this._children[t]=n};De.prototype.removeChild=function(t){delete this._children[t]};De.prototype.getChild=function(t){return this._children[t]};De.prototype.hasChild=function(t){return t in this._children};De.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)};De.prototype.forEachChild=function(t){Wt(this._children,t)};De.prototype.forEachGetter=function(t){this._rawModule.getters&&Wt(this._rawModule.getters,t)};De.prototype.forEachAction=function(t){this._rawModule.actions&&Wt(this._rawModule.actions,t)};De.prototype.forEachMutation=function(t){this._rawModule.mutations&&Wt(this._rawModule.mutations,t)};Object.defineProperties(De.prototype,hl);var Lt=function(t){this.register([],t,!1)};Lt.prototype.get=function(t){return t.reduce(function(n,s){return n.getChild(s)},this.root)};Lt.prototype.getNamespace=function(t){var n=this.root;return t.reduce(function(s,r){return n=n.getChild(r),s+(n.namespaced?r+"/":"")},"")};Lt.prototype.update=function(t){pl([],this.root,t)};Lt.prototype.register=function(t,n,s){var r=this;s===void 0&&(s=!0);var o=new De(n,s);if(t.length===0)this.root=o;else{var i=this.get(t.slice(0,-1));i.addChild(t[t.length-1],o)}n.modules&&Wt(n.modules,function(l,c){r.register(t.concat(c),l,s)})};Lt.prototype.unregister=function(t){var n=this.get(t.slice(0,-1)),s=t[t.length-1],r=n.getChild(s);r&&r.runtime&&n.removeChild(s)};Lt.prototype.isRegistered=function(t){var n=this.get(t.slice(0,-1)),s=t[t.length-1];return n?n.hasChild(s):!1};function pl(e,t,n){if(t.update(n),n.modules)for(var s in n.modules){if(!t.getChild(s))return;pl(e.concat(s),t.getChild(s),n.modules[s])}}function Bf(e){return new Ae(e)}var Ae=function(t){var n=this;t===void 0&&(t={});var s=t.plugins;s===void 0&&(s=[]);var r=t.strict;r===void 0&&(r=!1);var o=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new Lt(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=o;var i=this,l=this,c=l.dispatch,f=l.commit;this.dispatch=function(g,E){return c.call(i,g,E)},this.commit=function(g,E,A){return f.call(i,g,E,A)},this.strict=r;var u=this._modules.root.state;as(this,u,[],this._modules.root),Cr(this,u),s.forEach(function(d){return d(n)})},Ar={state:{configurable:!0}};Ae.prototype.install=function(t,n){t.provide(n||Ef,this),t.config.globalProperties.$store=this;var s=this._devtools!==void 0?this._devtools:!1;s&&Pf(t,this)};Ar.state.get=function(){return this._state.data};Ar.state.set=function(e){};Ae.prototype.commit=function(t,n,s){var r=this,o=$n(t,n,s),i=o.type,l=o.payload,c={type:i,payload:l},f=this._mutations[i];f&&(this._withCommit(function(){f.forEach(function(d){d(l)})}),this._subscribers.slice().forEach(function(u){return u(c,r.state)}))};Ae.prototype.dispatch=function(t,n){var s=this,r=$n(t,n),o=r.type,i=r.payload,l={type:o,payload:i},c=this._actions[o];if(c){try{this._actionSubscribers.slice().filter(function(u){return u.before}).forEach(function(u){return u.before(l,s.state)})}catch{}var f=c.length>1?Promise.all(c.map(function(u){return u(i)})):c[0](i);return new Promise(function(u,d){f.then(function(g){try{s._actionSubscribers.filter(function(E){return E.after}).forEach(function(E){return E.after(l,s.state)})}catch{}u(g)},function(g){try{s._actionSubscribers.filter(function(E){return E.error}).forEach(function(E){return E.error(l,s.state,g)})}catch{}d(g)})})}};Ae.prototype.subscribe=function(t,n){return il(t,this._subscribers,n)};Ae.prototype.subscribeAction=function(t,n){var s=typeof t=="function"?{before:t}:t;return il(s,this._actionSubscribers,n)};Ae.prototype.watch=function(t,n,s){var r=this;return nn(function(){return t(r.state,r.getters)},n,Object.assign({},s))};Ae.prototype.replaceState=function(t){var n=this;this._withCommit(function(){n._state.data=t})};Ae.prototype.registerModule=function(t,n,s){s===void 0&&(s={}),typeof t=="string"&&(t=[t]),this._modules.register(t,n),as(this,this.state,t,this._modules.get(t),s.preserveState),Cr(this,this.state)};Ae.prototype.unregisterModule=function(t){var n=this;typeof t=="string"&&(t=[t]),this._modules.unregister(t),this._withCommit(function(){var s=wr(n.state,t.slice(0,-1));delete s[t[t.length-1]]}),ll(this)};Ae.prototype.hasModule=function(t){return typeof t=="string"&&(t=[t]),this._modules.isRegistered(t)};Ae.prototype.hotUpdate=function(t){this._modules.update(t),ll(this,!0)};Ae.prototype._withCommit=function(t){var n=this._committing;this._committing=!0,t(),this._committing=n};Object.defineProperties(Ae.prototype,Ar);var Ze=gl(function(e,t){var n={};return ml(t).forEach(function(s){var r=s.key,o=s.val;n[r]=function(){var l=this.$store.state,c=this.$store.getters;if(e){var f=_l(this.$store,"mapState",e);if(!f)return;l=f.context.state,c=f.context.getters}return typeof o=="function"?o.call(this,l,c):l[o]},n[r].vuex=!0}),n}),Vf=gl(function(e,t){var n={};return ml(t).forEach(function(s){var r=s.key,o=s.val;n[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var f=this.$store.commit;if(e){var u=_l(this.$store,"mapMutations",e);if(!u)return;f=u.context.commit}return typeof o=="function"?o.apply(this,[f].concat(l)):f.apply(this.$store,[o].concat(l))}}),n});function ml(e){return Mf(e)?Array.isArray(e)?e.map(function(t){return{key:t,val:t}}):Object.keys(e).map(function(t){return{key:t,val:e[t]}}):[]}function Mf(e){return Array.isArray(e)||ol(e)}function gl(e){return function(t,n){return typeof t!="string"?(n=t,t=""):t.charAt(t.length-1)!=="/"&&(t+="/"),e(t,n)}}function _l(e,t,n){var s=e._modulesNamespaceMap[n];return s}const et=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},$f={data(){return{artistsArrayList:[],lastClickedItem:null,showDrop:!1}},created(){this.loadList(),U.get("/api/getLastArtist").then(e=>{e.data!==""&&(this.lastClickedItem=e.data)})},computed:{...Ze(["allowButtons","sourceTab","artist"])},watch:{"$store.state.loadListRequest"(e){e&&(this.$store.commit("SET_LOAD_REQUEST",!1),this.loadList())}},methods:{loadList(){U.get("/api/loadList").then(e=>{this.artistsArrayList=e.data}).catch(e=>{console.error(e)})},handleItemClick(e){this.lastClickedItem=e,U.post("/api/listOrTabClick",{item:e,origin:"list"}).then(t=>{this.$store.commit("SET_SELECTED_ARTIST",e),this.$store.commit("SET_TABLE_CONTENT",t.data)}).catch(t=>{console.error(t)})},clickAddArtist(){this.$store.commit("SET_ADD_VIS",!0)},clickDeleteArtist(){this.lastClickedItem!==""&&U.get("/api/clickArtistDelete").then(()=>{this.$store.commit("SET_SELECTED_ARTIST",""),this.$store.commit("SET_SOURCE_TAB","combview"),this.loadList()}).catch(e=>{console.error(e)})},showMore(){this.showDrop=!this.showDrop},deleteUrl(){U.post("/api/deleteUrl").then(()=>{this.handleItemClick(this.lastClickedItem)})}}},jf={class:"buttonspace"},Hf=["disabled"],Kf={key:0,class:"dropdown"},qf=["disabled"],Wf=["disabled"],Gf={class:"artistlist"},zf=["onMousedown"],Jf={class:"listitems"};function Yf(e,t,n,s,r,o){return x(),L(_e,null,[p("div",jf,[p("button",{onMousedown:t[0]||(t[0]=i=>o.clickAddArtist()),class:"addbtn",disabled:!e.allowButtons},"add",40,Hf),p("button",{onClick:t[1]||(t[1]=i=>o.showMore()),class:"morebtn"},"more"),r.showDrop?(x(),L("div",Kf,[p("button",{onClick:t[2]||(t[2]=i=>o.deleteUrl()),disabled:e.sourceTab==null||e.sourceTab=="combview"||e.artist==""||!e.allowButtons,class:"deletebtn"},"delete selected URL",8,qf),p("button",{onClick:t[3]||(t[3]=i=>o.clickDeleteArtist()),disabled:e.artist==""||!e.allowButtons,class:"deletebtn"},"delete artist",8,Wf)])):V("",!0)]),p("div",Gf,[(x(!0),L(_e,null,Ds(r.artistsArrayList,i=>(x(),L("li",{key:i,onMousedown:l=>o.handleItemClick(i),class:ve([{highlighted:i===r.lastClickedItem},"listbtn"])},[p("div",Jf,ze(i),1)],42,zf))),128)),(x(!0),L(_e,null,Ds(r.artistsArrayList,i=>(x(),L("li",{key:i}))),128))])],64)}const Xf=et($f,[["render",Yf],["__scopeId","data-v-18b2502f"]]),Qf="/assets/optionsblack-vjTCXWXl.png",Zf="/assets/optionsdark-ymr6Vwzk.png",ed="/assets/optionslight-B8QchSUy.png",td="/assets/refreshuniversal-3TIkIW2C.png",nd={data(){return{activeTab:"",eventSource:null,scrapeNotice:!1,scrapeLast:"-",isActive:!1}},computed:{...Ze(["sourceTab","allowButtons","primaryColor"])},created(){this.activeTab=this.sourceTab,U.post("/api/fillCombview").catch(e=>{console.error(e)}).then(()=>{this.sourceTab===""?this.setStoreTab("combview"):this.handleSourceClick(this.sourceTab)}),U.get("/api/getScrapeDate").then(e=>{this.scrapeLast=e.data})},watch:{sourceTab(e){this.activeTab=e,e&&this.handleSourceClick(e)}},methods:{setStoreTab(e){this.$store.commit("SET_SOURCE_TAB",e)},handleSourceClick(e){U.post("/api/listOrTabClick",{item:e,origin:"tab"}).then(t=>{this.$store.commit("SET_TABLE_CONTENT",t.data)}).catch(t=>{console.error(t)})},clickScrape(){this.scrapeNotice=!1,this.allowButtons?(this.$store.commit("SET_ALLOW_BUTTONS",!1),this.isActive=!0,this.eventSource=new EventSource("/progress"),this.eventSource.onmessage=t=>{const n=parseFloat(t.data);this.$store.commit("SET_PROGRESS",n)},U.post("/api/clickScrape").then(()=>{this.isActive=!1,this.$store.commit("SET_ALLOW_BUTTONS",!0),this.eventSource.close();let t=new Date().toLocaleString("en-GB",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}).replace(/\//g,".").replace(",","").replace(/(\d{2})\.(\d{2})/,"$1.$2.");this.scrapeLast=t,this.scrapeNotice=!0,this.handleSourceClick("combview"),U.post("/api/setSetting",{name:"lastScrape",value:t}).catch(n=>{console.error(n)})})):U.post("/api/cancelScrape").then(()=>{this.$store.commit("SET_ALLOW_BUTTONS",!0),this.isActive=!1})},scrapeHover(){this.scrapeNotice=!0},scrapeMouseOff(){this.scrapeNotice=!1},openSettings(){this.$store.commit("SET_SETTINGS_OPEN",!0)}}},sd=e=>(Ht("data-v-bbadd133"),e=e(),Kt(),e),rd={class:"wrapper"},od={class:"tabs"},id=["disabled"],ld={key:0,class:"image",src:Qf,alt:"Settings"},cd={key:1,class:"image",src:Zf,alt:"Settings"},ad={key:2,class:"image",src:ed,alt:"Settings"},ud=sd(()=>p("img",{class:"image",src:td,alt:"Refresh"},null,-1)),fd=[ud];function dd(e,t,n,s,r,o){return x(),L("div",rd,[p("div",od,[p("div",{onMousedown:t[0]||(t[0]=i=>o.setStoreTab("combview")),class:ve([{active:r.activeTab==="combview"},"cvtab"])},"Combined view",34),p("div",{onMousedown:t[1]||(t[1]=i=>o.setStoreTab("beatport")),class:ve([{active:r.activeTab==="beatport"},"stab"])},"BP",34),p("div",{onMousedown:t[2]||(t[2]=i=>o.setStoreTab("musicbrainz")),class:ve([{active:r.activeTab==="musicbrainz"},"stab"])},"MB",34),p("div",{onMousedown:t[3]||(t[3]=i=>o.setStoreTab("junodownload")),class:ve([{active:r.activeTab==="junodownload"},"stab"])},"JD",34),p("div",{onMousedown:t[4]||(t[4]=i=>o.setStoreTab("youtube")),class:ve([{active:r.activeTab==="youtube"},"stab"])},"YT",34)]),p("button",{onClick:t[5]||(t[5]=i=>o.openSettings()),class:"settingsButton",disabled:!e.allowButtons},[e.primaryColor==="Black"?(x(),L("img",ld)):e.primaryColor==="Dark"?(x(),L("img",cd)):e.primaryColor==="Light"?(x(),L("img",ad)):V("",!0)],8,id),p("button",{onClick:t[6]||(t[6]=i=>o.clickScrape()),onMouseover:t[7]||(t[7]=i=>o.scrapeHover()),onMouseleave:t[8]||(t[8]=i=>o.scrapeMouseOff()),class:ve(["scrapeButton",{scrapeActive:r.isActive}])},fd,34),le(gr,{name:"fade"},{default:ai(()=>[r.scrapeNotice?(x(),L("div",{key:0,class:"scrapenotice",onMouseover:t[9]||(t[9]=i=>o.scrapeMouseOff())},[p("p",null,"Last scrape: "+ze(r.scrapeLast),1)],32)):V("",!0)]),_:1})])}const hd=et(nd,[["render",dd],["__scopeId","data-v-bbadd133"]]),pd={mounted(){this.isDateInFuture},computed:{...Ze(["tableData","previewVis","artist","isoDates","sourceTab","urlExists"]),hideArtistColumn(){return this.tableData.some(e=>e.artist===null)},hideTable(){return this.tableData.some(e=>e.song!==null)}},methods:{isDateInFuture(e){return new Date(e)>new Date},formatDate(e){if(this.isoDates)return e;{const t=new Date(e),n=t.getDate(),s=t.getMonth()+1,r=t.getFullYear();return`${n}. ${s}. ${r}`}}}},_n=e=>(Ht("data-v-19adbfff"),e=e(),Kt(),e),md={key:0,class:"table-container"},gd={class:"table-header"},_d=_n(()=>p("th",{class:"song"},"song",-1)),bd={key:0,class:"artist"},yd=_n(()=>p("th",{class:"date"},"date",-1)),Sd={class:"table-body"},vd=_n(()=>p("td",null,[p("br")],-1)),Ed={class:"tdsong"},Cd={key:0,class:"tdartist"},wd={class:"tddate"},Ad={key:1,class:"emptynotice"},Td=_n(()=>p("p",null,"table empty",-1)),Od=[Td],Rd={key:2,class:"quickstart"},xd=_n(()=>p("p",null,[p("span",{class:"title"},"Quickstart guide"),pe(),p("br"),pe(' 1. click "add" to add an artist, select the artist '),p("br"),pe(" 2. click on any BP / MB / JD / YT button at the top to select a source "),p("br"),pe(" 3. find the artist on the website, copy & paste the link or ID "),p("br"),pe(" 4. to scrape, click refresh button in the top right corner "),p("br")],-1)),Ld=[xd];function Id(e,t,n,s,r,o){return x(),L(_e,null,[o.hideTable?(x(),L("div",md,[p("div",gd,[p("table",null,[p("tr",null,[_d,o.hideArtistColumn?V("",!0):(x(),L("th",bd,"artist")),yd])])]),p("div",Sd,[p("table",null,[p("tbody",null,[vd,(x(!0),L(_e,null,Ds(e.tableData,(i,l)=>(x(),L("tr",{key:l,class:ve({"future-date":o.isDateInFuture(i.date)})},[p("td",Ed,ze(i.song),1),o.hideArtistColumn?V("",!0):(x(),L("td",Cd,ze(i.artist),1)),p("td",wd,ze(o.formatDate(i.date)),1)],2))),128))])])])])):V("",!0),e.urlExists&&!o.hideTable&&!e.previewVis&&e.sourceTab!=="combview"?(x(),L("div",Ad,Od)):V("",!0),!e.urlExists&&!o.hideTable&&!e.previewVis&&e.sourceTab==="combview"?(x(),L("div",Rd,Ld)):V("",!0)],64)}const Pd=et(pd,[["render",Id],["__scopeId","data-v-19adbfff"]]),Gt="data:image/png;base64,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",zt="data:image/png;base64,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",kd={data:()=>({input:""}),computed:{...Ze(["tableData","sourceTab","allowButtons","artist","addDialogVis","primaryColor","urlExists"])},watch:{tableData(){this.determineDiagShow()}},methods:{clickURL(){const e=encodeURIComponent(this.input);this.input="",e&&U.post("/api/clickAddURL",e).then(()=>{const t=this.artist;U.post("/api/listOrTabClick",{item:t,origin:"list"}).then(n=>{this.$store.commit("SET_TABLE_CONTENT",n.data),this.$store.commit("SET_PREVIEW_VIS",!0)})}).catch(t=>{console.error(t)})},determineDiagShow(){this.tableData.length===0?U.get("/api/checkExistURL").then(e=>{this.$store.commit("SET_URL_EXISTS",e.data)}).catch(e=>{console.error(e)}):this.$store.commit("SET_URL_EXISTS",!0)}}},ae=e=>(Ht("data-v-0fe96286"),e=e(),Kt(),e),Nd={key:0},Fd={key:0,class:"dialog"},Ud=ae(()=>p("h1",null,"MusicBrainz source",-1)),Dd={class:"artist"},Bd=ae(()=>p("p",null,[p("a",{href:"https://musicbrainz.org",target:"_blank"},"https://musicbrainz.org"),pe(" > find artist > copy URL")],-1)),Vd=ae(()=>p("br",null,null,-1)),Md=ae(()=>p("p",null,"Example link:",-1)),$d=ae(()=>p("p",null,[pe("https://musicbrainz.org/artist/"),p("span",{class:"variabletext"},"id/...")],-1)),jd={key:0,class:"image",src:Gt,alt:"OK"},Hd={key:1,class:"image",src:zt,alt:"OK"},Kd={key:1,class:"dialog"},qd=ae(()=>p("h1",null,"Beatport source",-1)),Wd={class:"artist"},Gd=ae(()=>p("p",null,[p("a",{href:"https://beatport.com",target:"_blank"},"https://beatport.com"),pe(" > find artist > copy URL")],-1)),zd=ae(()=>p("br",null,null,-1)),Jd=ae(()=>p("p",null,"Example link:",-1)),Yd=ae(()=>p("p",null,[pe("https://beatport.com/artist/"),p("span",{class:"variabletext"},"artistname/id/...")],-1)),Xd={key:0,class:"image",src:Gt,alt:"OK"},Qd={key:1,class:"image",src:zt,alt:"OK"},Zd={key:2,class:"dialog"},eh=ae(()=>p("h1",null,"Junodownload source",-1)),th={class:"artist"},nh=ae(()=>p("p",null,[p("a",{href:"https://junodownload.com",target:"_blank"},"https://junodownload.com"),pe(" > find artist > copy URL")],-1)),sh=ae(()=>p("br",null,null,-1)),rh=ae(()=>p("p",null,"Example link:",-1)),oh=ae(()=>p("p",null,[pe("https://junodownload.com/artists/"),p("span",{class:"variabletext"},"artistname/...")],-1)),ih={key:0,class:"image",src:Gt,alt:"OK"},lh={key:1,class:"image",src:zt,alt:"OK"},ch={key:3,class:"dialog"},ah=ae(()=>p("h1",null,"Youtube source",-1)),uh={class:"artist"},fh=ae(()=>p("p",null,[p("a",{href:"https://youtube.com",target:"_blank"},"https://youtube.com")],-1)),dh=ae(()=>p("p",null,[pe(' Find an auto-generated channel with "Topic" in its name. '),p("br"),pe("Obtain the ID (share > copy channel ID) or copy URL. "),p("br"),pe("An ID needs to be provided, not a channel handle. ")],-1)),hh=ae(()=>p("p",null,"Example link:",-1)),ph=ae(()=>p("p",null,[pe("https://youtube.com/channel/"),p("span",{class:"variabletext"},"UCwZEU0wAwIyZb...")],-1)),mh={key:0,class:"image",src:Gt,alt:"OK"},gh={key:1,class:"image",src:zt,alt:"OK"};function _h(e,t,n,s,r,o){return!e.urlExists&&e.allowButtons&&e.artist&&!e.addDialogVis?(x(),L("div",Nd,[e.sourceTab==="musicbrainz"?(x(),L("div",Fd,[Ud,p("p",Dd,ze(e.artist),1),Bd,Vd,Md,$d,ie(p("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>e.input=i)},null,512),[[en,e.input]]),p("button",{onClick:t[1]||(t[1]=(...i)=>o.clickURL&&o.clickURL(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",jd)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Hd)):V("",!0)])])):e.sourceTab==="beatport"?(x(),L("div",Kd,[qd,p("p",Wd,ze(e.artist),1),Gd,zd,Jd,Yd,ie(p("input",{"onUpdate:modelValue":t[2]||(t[2]=i=>e.input=i)},null,512),[[en,e.input]]),p("button",{onClick:t[3]||(t[3]=(...i)=>o.clickURL&&o.clickURL(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",Xd)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Qd)):V("",!0)])])):e.sourceTab==="junodownload"?(x(),L("div",Zd,[eh,p("p",th,ze(e.artist),1),nh,sh,rh,oh,ie(p("input",{"onUpdate:modelValue":t[4]||(t[4]=i=>e.input=i)},null,512),[[en,e.input]]),p("button",{onClick:t[5]||(t[5]=(...i)=>o.clickURL&&o.clickURL(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",ih)):V("",!0),e.primaryColor==="Light"?(x(),L("img",lh)):V("",!0)])])):e.sourceTab==="youtube"?(x(),L("div",ch,[ah,p("p",uh,ze(e.artist),1),fh,dh,hh,ph,ie(p("input",{"onUpdate:modelValue":t[6]||(t[6]=i=>e.input=i)},null,512),[[en,e.input]]),p("button",{onClick:t[7]||(t[7]=(...i)=>o.clickURL&&o.clickURL(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",mh)):V("",!0),e.primaryColor==="Light"?(x(),L("img",gh)):V("",!0)])])):V("",!0)])):V("",!0)}const bh=et(kd,[["render",_h],["__scopeId","data-v-0fe96286"]]),Tr="/assets/crossdark-CYntds6r.png",Or="/assets/crosslight-CRspF710.png",yh={data:()=>({input:"",rules:[e=>!!e.trim(),e=>(e||"").length<=25]}),computed:{...Ze(["addDialogVis","primaryColor"]),isValid(){return this.rules.every(e=>e(this.input)===!0)}},methods:{clickAdd(){const e=encodeURIComponent(this.input);U.post("/api/clickArtistAdd",e).then(()=>{this.input="",this.$store.commit("SET_SELECTED_ARTIST",""),this.$store.commit("SET_ADD_VIS",!1),this.$store.commit("SET_LOAD_REQUEST",!0)}).catch(t=>{console.error(t)})},clickClose(){this.$store.commit("SET_ADD_VIS",!1)}}},Sh=e=>(Ht("data-v-cb695d37"),e=e(),Kt(),e),vh={key:0,class:"wrapper"},Eh=Sh(()=>p("div",{class:"card-text"},[p("p",{class:"text--primary"},"Type artist's name and confirm.")],-1)),Ch={class:"diag-actions"},wh={key:0,class:"image",src:Tr,alt:"X"},Ah={key:1,class:"image",src:Or,alt:"X"},Th=["disabled"],Oh={key:0,class:"image",src:Gt,alt:"OK"},Rh={key:1,class:"image",src:zt,alt:"OK"};function xh(e,t,n,s,r,o){return e.addDialogVis?(x(),L("div",vh,[Eh,p("div",Ch,[ie(p("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>e.input=i),class:ve({invalid:!o.isValid})},null,2),[[en,e.input]]),p("button",{onClick:t[1]||(t[1]=(...i)=>o.clickClose&&o.clickClose(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",wh)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Ah)):V("",!0)]),p("button",{onClick:t[2]||(t[2]=(...i)=>o.clickAdd&&o.clickAdd(...i)),class:"imgbutton",disabled:!o.isValid},[e.primaryColor!=="Light"?(x(),L("img",Oh)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Rh)):V("",!0)],8,Th)])])):V("",!0)}const Lh=et(yh,[["render",xh],["__scopeId","data-v-cb695d37"]]),Ih={computed:{...Ze(["progress"])},methods:{...Vf(["setProgress"])}},Ph={class:"progress-container"};function kh(e,t,n,s,r,o){return x(),L("div",Ph,[p("div",{class:"progressbar",style:Wn({width:`${e.progress}%`})},null,4)])}const Nh=et(Ih,[["render",kh],["__scopeId","data-v-d29e2d3a"]]),Fh="/assets/blcktext-QjjfTEs8.png",Uh="/assets/MRTlogo-BpL2l-3G.png",Dh={data(){return{theme:"",accent:"",settingsProtection:!0,dbProtection:!0,filters:{Remix:!1,VIP:!1,Instrumental:!1,Acoustic:!1,Extended:!1,Remaster:!1},theme:{Black:!1,Dark:!1,Light:!1},isoDates:!1,autoTheme:!1}},computed:{...Ze(["primaryColor","accentColor"])},created(){U.get("/api/settingsOpened").then(e=>{this.filters=e.data,this.isoDates=e.data.isoDates,this.autoTheme=e.data.autoTheme}).catch(e=>{console.error(e)}),this.theme=this.primaryColor,this.accent=this.accentColor},methods:{clickClose(){this.$store.commit("SET_SETTINGS_OPEN",!1)},setSetting(e,t){switch(e){case"theme":this.$store.commit("SET_PRIMARY_COLOR",this.theme);case"accent":this.$store.commit("SET_ACCENT_COLOR",this.accent);case"isoDates":this.$store.commit("SET_ISODATES",this.isoDates)}U.post("/api/setSetting",{name:e,value:t}).catch(n=>{console.error(n)})},resetSettings(){this.settingsProtection==!0?this.settingsProtection=!1:U.post("/api/resetSettings").then(()=>{this.clickClose()}).catch(e=>{console.error(e)})},resetDB(){this.dbProtection==!0?this.dbProtection=!1:U.post("/api/resetDB").then(()=>{this.clickClose()}).catch(e=>{console.error(e)})},resetProtection(){this.settingsProtection=!0,this.dbProtection=!0}}},ue=e=>(Ht("data-v-6b545924"),e=e(),Kt(),e),Bh={class:"settings"},Vh={key:0,class:"image",src:Tr,alt:"X"},Mh={key:1,class:"image",src:Or,alt:"X"},$h={class:"filterscont"},jh=ue(()=>p("p",null,[p("span",{class:"title"},"Exclusion filters"),p("br"),pe("Select types of songs to be hidden in Combined view.")],-1)),Hh={class:"filters-buttons"},Kh=ue(()=>p("label",null,"Remix",-1)),qh=ue(()=>p("label",null,"VIP",-1)),Wh=ue(()=>p("label",null,"Instrumental",-1)),Gh=ue(()=>p("label",null,"Acoustic",-1)),zh=ue(()=>p("label",null,"Extended",-1)),Jh=ue(()=>p("label",null,"Remaster",-1)),Yh={class:"appearance"},Xh=ue(()=>p("p",{class:"title"},"Appearance",-1)),Qh={class:"appearancecont"},Zh={class:"theme-buttons"},ep=["disabled"],tp=["disabled"],np=["disabled"],sp=ue(()=>p("div",{class:"colorindicator"},null,-1)),rp={class:"accent-buttons"},op=ue(()=>p("label",null,"Lavender",-1)),ip=ue(()=>p("label",null,"Cactus",-1)),lp=ue(()=>p("label",null,"Rose",-1)),cp=ue(()=>p("label",null,"Warm",-1)),ap=ue(()=>p("label",null,"Cloud",-1)),up=ue(()=>p("label",null,"Ocean",-1)),fp={class:"belowAppearance"},dp=ue(()=>p("label",null,"Match system theme",-1)),hp={class:"other"},pp=ue(()=>p("p",{class:"title"},"Other",-1)),mp={class:"flex-items"},gp={class:"flex-padding"},_p=ue(()=>p("label",null,"Dates in yyyy-MM-dd (ISO 8601)",-1)),bp={class:"danger"},yp=ue(()=>p("p",{class:"title"},"Danger zone",-1)),Sp={class:"dangercont"},vp=ia('',1);function Ep(e,t,n,s,r,o){return x(),L("div",Bh,[p("button",{onClick:t[0]||(t[0]=i=>o.clickClose()),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",Vh)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Mh)):V("",!0)]),p("section",$h,[jh,p("div",Hh,[p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[1]||(t[1]=i=>r.filters.Remix=i),onChange:t[2]||(t[2]=i=>o.setSetting("filters.Remix",i.target.checked))},null,544),[[ot,r.filters.Remix]]),Kh]),p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=i=>r.filters.VIP=i),onChange:t[4]||(t[4]=i=>o.setSetting("filters.VIP",i.target.checked))},null,544),[[ot,r.filters.VIP]]),qh]),p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=i=>r.filters.Instrumental=i),onChange:t[6]||(t[6]=i=>o.setSetting("filters.Instrumental",i.target.checked))},null,544),[[ot,r.filters.Instrumental]]),Wh]),p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[7]||(t[7]=i=>r.filters.Acoustic=i),onChange:t[8]||(t[8]=i=>o.setSetting("filters.Acoustic",i.target.checked))},null,544),[[ot,r.filters.Acoustic]]),Gh]),p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[9]||(t[9]=i=>r.filters.Extended=i),onChange:t[10]||(t[10]=i=>o.setSetting("filters.Extended",i.target.checked))},null,544),[[ot,r.filters.Extended]]),zh]),p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[11]||(t[11]=i=>r.filters.Remaster=i),onChange:t[12]||(t[12]=i=>o.setSetting("filters.Remaster",i.target.checked))},null,544),[[ot,r.filters.Remaster]]),Jh])])]),p("section",Yh,[Xh,p("div",Qh,[p("div",Zh,[ie(p("input",{type:"radio","onUpdate:modelValue":t[13]||(t[13]=i=>r.theme=i),value:"Black",onChange:t[14]||(t[14]=i=>o.setSetting("theme","Black")),disabled:r.autoTheme},null,40,ep),[[Ge,r.theme]]),p("label",{class:ve({disabled:r.autoTheme})},"Black",2),ie(p("input",{type:"radio","onUpdate:modelValue":t[15]||(t[15]=i=>r.theme=i),value:"Dark",onChange:t[16]||(t[16]=i=>o.setSetting("theme","Dark")),disabled:r.autoTheme},null,40,tp),[[Ge,r.theme]]),p("label",{class:ve({disabled:r.autoTheme})},"Dark",2),ie(p("input",{type:"radio","onUpdate:modelValue":t[17]||(t[17]=i=>r.theme=i),value:"Light",onChange:t[18]||(t[18]=i=>o.setSetting("theme","Light")),disabled:r.autoTheme},null,40,np),[[Ge,r.theme]]),p("label",{class:ve({disabled:r.autoTheme})},"Light",2),sp]),p("div",rp,[ie(p("input",{type:"radio","onUpdate:modelValue":t[19]||(t[19]=i=>r.accent=i),value:"Lavender",onChange:t[20]||(t[20]=i=>o.setSetting("accent","Lavender"))},null,544),[[Ge,r.accent]]),op,ie(p("input",{type:"radio","onUpdate:modelValue":t[21]||(t[21]=i=>r.accent=i),value:"Cactus",onChange:t[22]||(t[22]=i=>o.setSetting("accent","Cactus"))},null,544),[[Ge,r.accent]]),ip,ie(p("input",{type:"radio","onUpdate:modelValue":t[23]||(t[23]=i=>r.accent=i),value:"Rose",onChange:t[24]||(t[24]=i=>o.setSetting("accent","Rose"))},null,544),[[Ge,r.accent]]),lp,ie(p("input",{type:"radio","onUpdate:modelValue":t[25]||(t[25]=i=>r.accent=i),value:"Warm",onChange:t[26]||(t[26]=i=>o.setSetting("accent","Warm"))},null,544),[[Ge,r.accent]]),cp,ie(p("input",{type:"radio","onUpdate:modelValue":t[27]||(t[27]=i=>r.accent=i),value:"Cloud",onChange:t[28]||(t[28]=i=>o.setSetting("accent","Cloud"))},null,544),[[Ge,r.accent]]),ap,ie(p("input",{type:"radio","onUpdate:modelValue":t[29]||(t[29]=i=>r.accent=i),value:"Ocean",onChange:t[30]||(t[30]=i=>o.setSetting("accent","Ocean"))},null,544),[[Ge,r.accent]]),up])]),p("div",fp,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[31]||(t[31]=i=>r.autoTheme=i),onChange:t[32]||(t[32]=i=>o.setSetting("autoTheme",i.target.checked))},null,544),[[ot,r.autoTheme]]),dp])]),p("section",hp,[pp,p("div",mp,[p("div",gp,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[33]||(t[33]=i=>r.isoDates=i),onChange:t[34]||(t[34]=i=>o.setSetting("isoDates",i.target.checked))},null,544),[[ot,r.isoDates]]),_p])])]),p("section",bp,[yp,p("div",Sp,[r.settingsProtection?(x(),L("button",{key:0,onClick:t[35]||(t[35]=i=>o.resetSettings())},"Reset settings")):V("",!0),r.settingsProtection?V("",!0):(x(),L("button",{key:1,onClick:t[36]||(t[36]=i=>o.resetSettings()),onMouseleave:t[37]||(t[37]=i=>o.resetProtection())},"confirm",32)),r.dbProtection?(x(),L("button",{key:2,onClick:t[38]||(t[38]=i=>o.resetDB())},"Reset database")):V("",!0),r.dbProtection?V("",!0):(x(),L("button",{key:3,onClick:t[39]||(t[39]=i=>o.resetDB()),onMouseleave:t[40]||(t[40]=i=>o.resetProtection())},"confirm",32))])]),vp])}const Cp=et(Dh,[["render",Ep],["__scopeId","data-v-6b545924"]]),wp={computed:{...Ze(["tableData","primaryColor"]),hideTable(){return this.tableData.length==0}},methods:{clickCancel(){U.request("/api/cleanArtistSource").catch(e=>{console.error(e)}),this.$store.commit("SET_PREVIEW_VIS",!1)},clickConfirm(){U.request("/api/saveUrl").catch(e=>{console.error(e)}),this.$store.commit("SET_PREVIEW_VIS",!1)}}},Ap=e=>(Ht("data-v-85018fb6"),e=e(),Kt(),e),Tp={class:"preview"},Op=Ap(()=>p("h1",null,"preview",-1)),Rp={key:0},xp={key:1},Lp=["disabled"],Ip={key:0,class:"image",src:Gt,alt:"OK"},Pp={key:1,class:"image",src:zt,alt:"OK"},kp={key:0,class:"image",src:Tr,alt:"X"},Np={key:1,class:"image",src:Or,alt:"X"};function Fp(e,t,n,s,r,o){return x(),L("div",Tp,[Op,o.hideTable?V("",!0):(x(),L("p",Rp,"Confirm only if the table has usable information.")),o.hideTable?(x(),L("p",xp,"Incorrect link.")):V("",!0),p("button",{onClick:t[0]||(t[0]=(...i)=>o.clickConfirm&&o.clickConfirm(...i)),class:"imgbutton",disabled:o.hideTable},[e.primaryColor!=="Light"?(x(),L("img",Ip)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Pp)):V("",!0)],8,Lp),p("button",{onClick:t[1]||(t[1]=(...i)=>o.clickCancel&&o.clickCancel(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",kp)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Np)):V("",!0)])])}const Up=et(wp,[["render",Fp],["__scopeId","data-v-85018fb6"]]);U.defaults.baseURL="http://localhost:57782";const Dp={data(){return{appliedStyles:[],theme:"",accent:""}},components:{ArtistList:Xf,SourceMenu:hd,SourceTable:Pd,DialogsURL:bh,AddArtistDialog:Lh,ProgressBar:Nh,SettingsWindow:Cp,PreviewDialog:Up},created(){this.loadTheme(),this.detectTheme()},computed:{...Ze(["settingsOpen","primaryColor","accentColor","previewVis"])},watch:{primaryColor(e){this.theme=e,this.applyTheme(e,this.accent)},accentColor(e){this.accent=e,this.applyTheme(this.theme,e)}},methods:{loadTheme(){U.get("/api/getThemeConfig").then(e=>{this.$store.commit("SET_PRIMARY_COLOR",e.data.theme),this.$store.commit("SET_ACCENT_COLOR",e.data.accent)}).catch(e=>{console.error(e)})},detectTheme(){U.get("/api/settingsOpened").then(e=>{const t=window.matchMedia("(prefers-color-scheme: dark)");e.data.autoTheme==!0&&(t.matches?this.$store.commit("SET_PRIMARY_COLOR","Black"):this.$store.commit("SET_PRIMARY_COLOR","Light"))}).catch(e=>{console.error(e)})},applyTheme(e,t){this.appliedStyles.forEach(r=>{r.remove()}),this.appliedStyles=[];let n,s;e!==""&&(n=`./primary${e}.css`,s=document.createElement("link"),s.rel="stylesheet",s.href=n,document.head.appendChild(s),this.appliedStyles.push(s)),t!==""&&(n=`./secondary${t}.css`,s=document.createElement("link"),s.rel="stylesheet",s.href=n,document.head.appendChild(s),this.appliedStyles.push(s))}}},Bp={key:0,class:"app"},Vp={class:"list"},Mp={class:"maincontent"},$p={key:0,class:"topbar"},jp={class:"sourcetable"},Hp={key:1,class:"dialogsurl"},Kp={class:"progressbar"},qp={key:1,class:"app"};function Wp(e,t,n,s,r,o){const i=nt("ArtistList"),l=nt("PreviewDialog"),c=nt("SourceMenu"),f=nt("AddArtistDialog"),u=nt("SourceTable"),d=nt("DialogsURL"),g=nt("ProgressBar"),E=nt("SettingsWindow");return x(),L(_e,null,[e.settingsOpen?V("",!0):(x(),L("div",Bp,[p("div",Vp,[e.previewVis?V("",!0):(x(),Hs(i,{key:0})),e.previewVis?(x(),Hs(l,{key:1,class:"preview"})):V("",!0)]),p("div",Mp,[e.previewVis?V("",!0):(x(),L("div",$p,[le(c)])),le(f),p("div",jp,[le(u)]),e.previewVis?V("",!0):(x(),L("div",Hp,[le(d)]))]),p("div",Kp,[le(g)])])),e.settingsOpen?(x(),L("div",qp,[le(E)])):V("",!0)],64)}const Gp=et(Dp,[["render",Wp],["__scopeId","data-v-e34fd722"]]),zp={artist:"",sourceTab:"",tableData:[],addDialogVis:!1,loadListRequest:!1,allowButtons:!0,progress:0,settingsOpen:!1,primaryColor:"",accentColor:"",previewVis:!1,isoDates:!1,urlExists:!1},Jp={SET_SOURCE_TAB(e,t){e.sourceTab=t},SET_SELECTED_ARTIST(e,t){e.artist=t},SET_TABLE_CONTENT(e,t){e.tableData=t,e.addDialogVis=!1},SET_ADD_VIS(e,t){e.addDialogVis=t},SET_LOAD_REQUEST(e,t){e.loadListRequest=t},SET_ALLOW_BUTTONS(e,t){e.allowButtons=t},SET_PROGRESS(e,t){e.progress=t*100,e.progress==100&&(e.progress=0)},SET_SETTINGS_OPEN(e,t){e.settingsOpen=t},SET_PRIMARY_COLOR(e,t){e.primaryColor=t},SET_ACCENT_COLOR(e,t){e.accentColor=t},SET_PREVIEW_VIS(e,t){e.previewVis=t},SET_ISODATES(e,t){e.isoDates=t},SET_URL_EXISTS(e,t){e.urlExists=t}},Yp={},Xp={},Qp=Bf({state:zp,mutations:Jp,actions:Yp,getters:Xp}),bl=za(Gp);bl.use(Qp);bl.mount("#app");
+ */var Ef="store";function Wt(e,t){Object.keys(e).forEach(function(n){return t(e[n],n)})}function ol(e){return e!==null&&typeof e=="object"}function Cf(e){return e&&typeof e.then=="function"}function wf(e,t){return function(){return e(t)}}function il(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var s=t.indexOf(e);s>-1&&t.splice(s,1)}}function ll(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;as(e,n,[],e._modules.root,!0),Cr(e,n,t)}function Cr(e,t,n){var s=e._state,r=e._scope;e.getters={},e._makeLocalGettersCache=Object.create(null);var o=e._wrappedGetters,i={},l={},c=Nl(!0);c.run(function(){Wt(o,function(f,u){i[u]=wf(f,e),l[u]=ki(function(){return i[u]()}),Object.defineProperty(e.getters,u,{get:function(){return l[u].value},enumerable:!0})})}),e._state=zn({data:t}),e._scope=c,e.strict&&xf(e),s&&n&&e._withCommit(function(){s.data=null}),r&&r.stop()}function as(e,t,n,s,r){var o=!n.length,i=e._modules.getNamespace(n);if(s.namespaced&&(e._modulesNamespaceMap[i],e._modulesNamespaceMap[i]=s),!o&&!r){var l=wr(t,n.slice(0,-1)),c=n[n.length-1];e._withCommit(function(){l[c]=s.state})}var f=s.context=Af(e,i,n);s.forEachMutation(function(u,d){var g=i+d;Tf(e,g,u,f)}),s.forEachAction(function(u,d){var g=u.root?d:i+d,E=u.handler||u;Of(e,g,E,f)}),s.forEachGetter(function(u,d){var g=i+d;Rf(e,g,u,f)}),s.forEachChild(function(u,d){as(e,t,n.concat(d),u,r)})}function Af(e,t,n){var s=t==="",r={dispatch:s?e.dispatch:function(o,i,l){var c=$n(o,i,l),f=c.payload,u=c.options,d=c.type;return(!u||!u.root)&&(d=t+d),e.dispatch(d,f)},commit:s?e.commit:function(o,i,l){var c=$n(o,i,l),f=c.payload,u=c.options,d=c.type;(!u||!u.root)&&(d=t+d),e.commit(d,f,u)}};return Object.defineProperties(r,{getters:{get:s?function(){return e.getters}:function(){return cl(e,t)}},state:{get:function(){return wr(e.state,n)}}}),r}function cl(e,t){if(!e._makeLocalGettersCache[t]){var n={},s=t.length;Object.keys(e.getters).forEach(function(r){if(r.slice(0,s)===t){var o=r.slice(s);Object.defineProperty(n,o,{get:function(){return e.getters[r]},enumerable:!0})}}),e._makeLocalGettersCache[t]=n}return e._makeLocalGettersCache[t]}function Tf(e,t,n,s){var r=e._mutations[t]||(e._mutations[t]=[]);r.push(function(i){n.call(e,s.state,i)})}function Of(e,t,n,s){var r=e._actions[t]||(e._actions[t]=[]);r.push(function(i){var l=n.call(e,{dispatch:s.dispatch,commit:s.commit,getters:s.getters,state:s.state,rootGetters:e.getters,rootState:e.state},i);return Cf(l)||(l=Promise.resolve(l)),e._devtoolHook?l.catch(function(c){throw e._devtoolHook.emit("vuex:error",c),c}):l})}function Rf(e,t,n,s){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(o){return n(s.state,s.getters,o.state,o.getters)})}function xf(e){nn(function(){return e._state.data},function(){},{deep:!0,flush:"sync"})}function wr(e,t){return t.reduce(function(n,s){return n[s]},e)}function $n(e,t,n){return ol(e)&&e.type&&(n=t,t=e,e=e.type),{type:e,payload:t,options:n}}var Lf="vuex bindings",Po="vuex:mutations",Os="vuex:actions",Nt="vuex",If=0;function Pf(e,t){vf({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[Lf]},function(n){n.addTimelineLayer({id:Po,label:"Vuex Mutations",color:ko}),n.addTimelineLayer({id:Os,label:"Vuex Actions",color:ko}),n.addInspector({id:Nt,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree(function(s){if(s.app===e&&s.inspectorId===Nt)if(s.filter){var r=[];dl(r,t._modules.root,s.filter,""),s.rootNodes=r}else s.rootNodes=[fl(t._modules.root,"")]}),n.on.getInspectorState(function(s){if(s.app===e&&s.inspectorId===Nt){var r=s.nodeId;cl(t,r),s.state=Ff(Df(t._modules,r),r==="root"?t.getters:t._makeLocalGettersCache,r)}}),n.on.editInspectorState(function(s){if(s.app===e&&s.inspectorId===Nt){var r=s.nodeId,o=s.path;r!=="root"&&(o=r.split("/").filter(Boolean).concat(o)),t._withCommit(function(){s.set(t._state.data,o,s.state.value)})}}),t.subscribe(function(s,r){var o={};s.payload&&(o.payload=s.payload),o.state=r,n.notifyComponentUpdate(),n.sendInspectorTree(Nt),n.sendInspectorState(Nt),n.addTimelineEvent({layerId:Po,event:{time:Date.now(),title:s.type,data:o}})}),t.subscribeAction({before:function(s,r){var o={};s.payload&&(o.payload=s.payload),s._id=If++,s._time=Date.now(),o.state=r,n.addTimelineEvent({layerId:Os,event:{time:s._time,title:s.type,groupId:s._id,subtitle:"start",data:o}})},after:function(s,r){var o={},i=Date.now()-s._time;o.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},s.payload&&(o.payload=s.payload),o.state=r,n.addTimelineEvent({layerId:Os,event:{time:Date.now(),title:s.type,groupId:s._id,subtitle:"end",data:o}})}})})}var ko=8702998,kf=6710886,Nf=16777215,al={label:"namespaced",textColor:Nf,backgroundColor:kf};function ul(e){return e&&e!=="root"?e.split("/").slice(-2,-1)[0]:"Root"}function fl(e,t){return{id:t||"root",label:ul(t),tags:e.namespaced?[al]:[],children:Object.keys(e._children).map(function(n){return fl(e._children[n],t+n+"/")})}}function dl(e,t,n,s){s.includes(n)&&e.push({id:s||"root",label:s.endsWith("/")?s.slice(0,s.length-1):s||"Root",tags:t.namespaced?[al]:[]}),Object.keys(t._children).forEach(function(r){dl(e,t._children[r],n,s+r+"/")})}function Ff(e,t,n){t=n==="root"?t:t[n];var s=Object.keys(t),r={state:Object.keys(e.state).map(function(i){return{key:i,editable:!0,value:e.state[i]}})};if(s.length){var o=Uf(t);r.getters=Object.keys(o).map(function(i){return{key:i.endsWith("/")?ul(i):i,editable:!1,value:Qs(function(){return o[i]})}})}return r}function Uf(e){var t={};return Object.keys(e).forEach(function(n){var s=n.split("/");if(s.length>1){var r=t,o=s.pop();s.forEach(function(i){r[i]||(r[i]={_custom:{value:{},display:i,tooltip:"Module",abstract:!0}}),r=r[i]._custom.value}),r[o]=Qs(function(){return e[n]})}else t[n]=Qs(function(){return e[n]})}),t}function Df(e,t){var n=t.split("/").filter(function(s){return s});return n.reduce(function(s,r,o){var i=s[r];if(!i)throw new Error('Missing module "'+r+'" for path "'+t+'".');return o===n.length-1?i:i._children},t==="root"?e:e.root._children)}function Qs(e){try{return e()}catch(t){return t}}var De=function(t,n){this.runtime=n,this._children=Object.create(null),this._rawModule=t;var s=t.state;this.state=(typeof s=="function"?s():s)||{}},hl={namespaced:{configurable:!0}};hl.namespaced.get=function(){return!!this._rawModule.namespaced};De.prototype.addChild=function(t,n){this._children[t]=n};De.prototype.removeChild=function(t){delete this._children[t]};De.prototype.getChild=function(t){return this._children[t]};De.prototype.hasChild=function(t){return t in this._children};De.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)};De.prototype.forEachChild=function(t){Wt(this._children,t)};De.prototype.forEachGetter=function(t){this._rawModule.getters&&Wt(this._rawModule.getters,t)};De.prototype.forEachAction=function(t){this._rawModule.actions&&Wt(this._rawModule.actions,t)};De.prototype.forEachMutation=function(t){this._rawModule.mutations&&Wt(this._rawModule.mutations,t)};Object.defineProperties(De.prototype,hl);var Lt=function(t){this.register([],t,!1)};Lt.prototype.get=function(t){return t.reduce(function(n,s){return n.getChild(s)},this.root)};Lt.prototype.getNamespace=function(t){var n=this.root;return t.reduce(function(s,r){return n=n.getChild(r),s+(n.namespaced?r+"/":"")},"")};Lt.prototype.update=function(t){pl([],this.root,t)};Lt.prototype.register=function(t,n,s){var r=this;s===void 0&&(s=!0);var o=new De(n,s);if(t.length===0)this.root=o;else{var i=this.get(t.slice(0,-1));i.addChild(t[t.length-1],o)}n.modules&&Wt(n.modules,function(l,c){r.register(t.concat(c),l,s)})};Lt.prototype.unregister=function(t){var n=this.get(t.slice(0,-1)),s=t[t.length-1],r=n.getChild(s);r&&r.runtime&&n.removeChild(s)};Lt.prototype.isRegistered=function(t){var n=this.get(t.slice(0,-1)),s=t[t.length-1];return n?n.hasChild(s):!1};function pl(e,t,n){if(t.update(n),n.modules)for(var s in n.modules){if(!t.getChild(s))return;pl(e.concat(s),t.getChild(s),n.modules[s])}}function Bf(e){return new Ae(e)}var Ae=function(t){var n=this;t===void 0&&(t={});var s=t.plugins;s===void 0&&(s=[]);var r=t.strict;r===void 0&&(r=!1);var o=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new Lt(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=o;var i=this,l=this,c=l.dispatch,f=l.commit;this.dispatch=function(g,E){return c.call(i,g,E)},this.commit=function(g,E,A){return f.call(i,g,E,A)},this.strict=r;var u=this._modules.root.state;as(this,u,[],this._modules.root),Cr(this,u),s.forEach(function(d){return d(n)})},Ar={state:{configurable:!0}};Ae.prototype.install=function(t,n){t.provide(n||Ef,this),t.config.globalProperties.$store=this;var s=this._devtools!==void 0?this._devtools:!1;s&&Pf(t,this)};Ar.state.get=function(){return this._state.data};Ar.state.set=function(e){};Ae.prototype.commit=function(t,n,s){var r=this,o=$n(t,n,s),i=o.type,l=o.payload,c={type:i,payload:l},f=this._mutations[i];f&&(this._withCommit(function(){f.forEach(function(d){d(l)})}),this._subscribers.slice().forEach(function(u){return u(c,r.state)}))};Ae.prototype.dispatch=function(t,n){var s=this,r=$n(t,n),o=r.type,i=r.payload,l={type:o,payload:i},c=this._actions[o];if(c){try{this._actionSubscribers.slice().filter(function(u){return u.before}).forEach(function(u){return u.before(l,s.state)})}catch{}var f=c.length>1?Promise.all(c.map(function(u){return u(i)})):c[0](i);return new Promise(function(u,d){f.then(function(g){try{s._actionSubscribers.filter(function(E){return E.after}).forEach(function(E){return E.after(l,s.state)})}catch{}u(g)},function(g){try{s._actionSubscribers.filter(function(E){return E.error}).forEach(function(E){return E.error(l,s.state,g)})}catch{}d(g)})})}};Ae.prototype.subscribe=function(t,n){return il(t,this._subscribers,n)};Ae.prototype.subscribeAction=function(t,n){var s=typeof t=="function"?{before:t}:t;return il(s,this._actionSubscribers,n)};Ae.prototype.watch=function(t,n,s){var r=this;return nn(function(){return t(r.state,r.getters)},n,Object.assign({},s))};Ae.prototype.replaceState=function(t){var n=this;this._withCommit(function(){n._state.data=t})};Ae.prototype.registerModule=function(t,n,s){s===void 0&&(s={}),typeof t=="string"&&(t=[t]),this._modules.register(t,n),as(this,this.state,t,this._modules.get(t),s.preserveState),Cr(this,this.state)};Ae.prototype.unregisterModule=function(t){var n=this;typeof t=="string"&&(t=[t]),this._modules.unregister(t),this._withCommit(function(){var s=wr(n.state,t.slice(0,-1));delete s[t[t.length-1]]}),ll(this)};Ae.prototype.hasModule=function(t){return typeof t=="string"&&(t=[t]),this._modules.isRegistered(t)};Ae.prototype.hotUpdate=function(t){this._modules.update(t),ll(this,!0)};Ae.prototype._withCommit=function(t){var n=this._committing;this._committing=!0,t(),this._committing=n};Object.defineProperties(Ae.prototype,Ar);var Ze=gl(function(e,t){var n={};return ml(t).forEach(function(s){var r=s.key,o=s.val;n[r]=function(){var l=this.$store.state,c=this.$store.getters;if(e){var f=_l(this.$store,"mapState",e);if(!f)return;l=f.context.state,c=f.context.getters}return typeof o=="function"?o.call(this,l,c):l[o]},n[r].vuex=!0}),n}),Vf=gl(function(e,t){var n={};return ml(t).forEach(function(s){var r=s.key,o=s.val;n[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var f=this.$store.commit;if(e){var u=_l(this.$store,"mapMutations",e);if(!u)return;f=u.context.commit}return typeof o=="function"?o.apply(this,[f].concat(l)):f.apply(this.$store,[o].concat(l))}}),n});function ml(e){return Mf(e)?Array.isArray(e)?e.map(function(t){return{key:t,val:t}}):Object.keys(e).map(function(t){return{key:t,val:e[t]}}):[]}function Mf(e){return Array.isArray(e)||ol(e)}function gl(e){return function(t,n){return typeof t!="string"?(n=t,t=""):t.charAt(t.length-1)!=="/"&&(t+="/"),e(t,n)}}function _l(e,t,n){var s=e._modulesNamespaceMap[n];return s}const et=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},$f={data(){return{artistsArrayList:[],lastClickedItem:null,showDrop:!1}},created(){this.loadList(),U.get("/api/getLastArtist").then(e=>{e.data!==""&&(this.lastClickedItem=e.data)})},computed:{...Ze(["allowButtons","sourceTab","artist"])},watch:{"$store.state.loadListRequest"(e){e&&(this.$store.commit("SET_LOAD_REQUEST",!1),this.loadList())}},methods:{loadList(){U.get("/api/loadList").then(e=>{this.artistsArrayList=e.data}).catch(e=>{console.error(e)})},handleItemClick(e){this.lastClickedItem=e,U.post("/api/listOrTabClick",{item:e,origin:"list"}).then(t=>{this.$store.commit("SET_SELECTED_ARTIST",e),this.$store.commit("SET_TABLE_CONTENT",t.data)}).catch(t=>{console.error(t)})},clickAddArtist(){this.$store.commit("SET_ADD_VIS",!0)},clickDeleteArtist(){this.lastClickedItem!==""&&U.get("/api/clickArtistDelete").then(()=>{this.$store.commit("SET_SELECTED_ARTIST",""),this.$store.commit("SET_SOURCE_TAB","combview"),this.loadList()}).catch(e=>{console.error(e)})},showMore(){this.showDrop=!this.showDrop},deleteUrl(){U.post("/api/deleteUrl").then(()=>{this.handleItemClick(this.lastClickedItem)})}}},jf={class:"buttonspace"},Hf=["disabled"],Kf={key:0,class:"dropdown"},qf=["disabled"],Wf=["disabled"],Gf={class:"artistlist"},zf=["onMousedown"],Jf={class:"listitems"};function Yf(e,t,n,s,r,o){return x(),L(_e,null,[p("div",jf,[p("button",{onMousedown:t[0]||(t[0]=i=>o.clickAddArtist()),class:"addbtn",disabled:!e.allowButtons},"add",40,Hf),p("button",{onClick:t[1]||(t[1]=i=>o.showMore()),class:"morebtn"},"more"),r.showDrop?(x(),L("div",Kf,[p("button",{onClick:t[2]||(t[2]=i=>o.deleteUrl()),disabled:e.sourceTab==null||e.sourceTab=="combview"||e.artist==""||!e.allowButtons,class:"deletebtn"},"delete selected URL",8,qf),p("button",{onClick:t[3]||(t[3]=i=>o.clickDeleteArtist()),disabled:e.artist==""||!e.allowButtons,class:"deletebtn"},"delete artist",8,Wf)])):V("",!0)]),p("div",Gf,[(x(!0),L(_e,null,Ds(r.artistsArrayList,i=>(x(),L("li",{key:i,onMousedown:l=>o.handleItemClick(i),class:ve([{highlighted:i===r.lastClickedItem},"listbtn"])},[p("div",Jf,ze(i),1)],42,zf))),128)),(x(!0),L(_e,null,Ds(r.artistsArrayList,i=>(x(),L("li",{key:i}))),128))])],64)}const Xf=et($f,[["render",Yf],["__scopeId","data-v-18b2502f"]]),Qf="/assets/optionsblack-vjTCXWXl.png",Zf="/assets/optionsdark-ymr6Vwzk.png",ed="/assets/optionslight-B8QchSUy.png",td="/assets/refreshuniversal-3TIkIW2C.png",nd={data(){return{activeTab:"",eventSource:null,scrapeDateInfo:!1,scrapeLast:"-",isActive:!1}},computed:{...Ze(["sourceTab","allowButtons","primaryColor"])},created(){this.activeTab=this.sourceTab,U.post("/api/fillCombview").catch(e=>{console.error(e)}).then(()=>{this.sourceTab===""?this.setStoreTab("combview"):this.handleSourceClick(this.sourceTab)}),U.get("/api/getScrapeDate").then(e=>{this.scrapeLast=e.data})},watch:{sourceTab(e){this.activeTab=e,e&&this.handleSourceClick(e)}},methods:{setStoreTab(e){this.$store.commit("SET_SOURCE_TAB",e)},handleSourceClick(e){U.post("/api/listOrTabClick",{item:e,origin:"tab"}).then(t=>{this.$store.commit("SET_TABLE_CONTENT",t.data)}).catch(t=>{console.error(t)})},clickScrape(){this.scrapeDateInfo=!1,this.allowButtons?(this.$store.commit("SET_ALLOW_BUTTONS",!1),this.isActive=!0,this.eventSource=new EventSource("http://localhost:57782/progress"),this.eventSource.onmessage=t=>{const n=parseFloat(t.data);this.$store.commit("SET_PROGRESS",n)},U.post("/api/clickScrape").then(()=>{this.isActive=!1,this.$store.commit("SET_ALLOW_BUTTONS",!0),this.eventSource.close();let t=new Date().toLocaleString("en-GB",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}).replace(/\//g,".").replace(",","").replace(/(\d{2})\.(\d{2})/,"$1.$2.");this.scrapeLast=t,this.scrapeDateInfo=!0,this.handleSourceClick("combview"),U.post("/api/setSetting",{name:"lastScrape",value:t}).catch(n=>{console.error(n)})})):(this.eventSource.close,U.post("/api/cancelScrape").then(()=>{this.$store.commit("SET_ALLOW_BUTTONS",!0),this.isActive=!1}))},scrapeHover(){this.scrapeDateInfo=!0},scrapeMouseOff(){this.scrapeDateInfo=!1},openSettings(){this.$store.commit("SET_SETTINGS_OPEN",!0)}}},sd=e=>(Ht("data-v-bbe78624"),e=e(),Kt(),e),rd={class:"wrapper"},od={class:"tabs"},id=["disabled"],ld={key:0,class:"image",src:Qf,alt:"Settings"},cd={key:1,class:"image",src:Zf,alt:"Settings"},ad={key:2,class:"image",src:ed,alt:"Settings"},ud=sd(()=>p("img",{class:"image",src:td,alt:"Refresh"},null,-1)),fd=[ud];function dd(e,t,n,s,r,o){return x(),L("div",rd,[p("div",od,[p("div",{onMousedown:t[0]||(t[0]=i=>o.setStoreTab("combview")),class:ve([{active:r.activeTab==="combview"},"cvtab"])},"Combined view",34),p("div",{onMousedown:t[1]||(t[1]=i=>o.setStoreTab("beatport")),class:ve([{active:r.activeTab==="beatport"},"stab"])},"BP",34),p("div",{onMousedown:t[2]||(t[2]=i=>o.setStoreTab("musicbrainz")),class:ve([{active:r.activeTab==="musicbrainz"},"stab"])},"MB",34),p("div",{onMousedown:t[3]||(t[3]=i=>o.setStoreTab("junodownload")),class:ve([{active:r.activeTab==="junodownload"},"stab"])},"JD",34),p("div",{onMousedown:t[4]||(t[4]=i=>o.setStoreTab("youtube")),class:ve([{active:r.activeTab==="youtube"},"stab"])},"YT",34)]),p("button",{onClick:t[5]||(t[5]=i=>o.openSettings()),class:"settingsButton",disabled:!e.allowButtons},[e.primaryColor==="Black"?(x(),L("img",ld)):e.primaryColor==="Dark"?(x(),L("img",cd)):e.primaryColor==="Light"?(x(),L("img",ad)):V("",!0)],8,id),p("button",{onClick:t[6]||(t[6]=i=>o.clickScrape()),onMouseover:t[7]||(t[7]=i=>o.scrapeHover()),onMouseleave:t[8]||(t[8]=i=>o.scrapeMouseOff()),class:ve(["scrapeButton",{scrapeActive:r.isActive}])},fd,34),le(gr,{name:"fade"},{default:ai(()=>[r.scrapeDateInfo?(x(),L("div",{key:0,class:"scrapenotice",onMouseover:t[9]||(t[9]=i=>o.scrapeMouseOff())},[p("p",null,"Last scrape: "+ze(r.scrapeLast),1)],32)):V("",!0)]),_:1})])}const hd=et(nd,[["render",dd],["__scopeId","data-v-bbe78624"]]),pd={mounted(){this.isDateInFuture},computed:{...Ze(["tableData","previewVis","artist","isoDates","sourceTab","urlExists"]),hideArtistColumn(){return this.tableData.some(e=>e.artist===null)},hideTable(){return this.tableData.some(e=>e.song!==null)}},methods:{isDateInFuture(e){return new Date(e)>new Date},formatDate(e){if(this.isoDates)return e;{const t=new Date(e),n=t.getDate(),s=t.getMonth()+1,r=t.getFullYear();return`${n}. ${s}. ${r}`}}}},_n=e=>(Ht("data-v-a94daa96"),e=e(),Kt(),e),md={key:0,class:"table-container"},gd={class:"table-header"},_d=_n(()=>p("th",{class:"song"},"song",-1)),bd={key:0,class:"artist"},yd=_n(()=>p("th",{class:"date"},"date",-1)),Sd={class:"table-body"},vd=_n(()=>p("td",null,[p("br")],-1)),Ed={class:"tdsong"},Cd={key:0,class:"tdartist"},wd={class:"tddate"},Ad={key:1,class:"emptynotice"},Td=_n(()=>p("p",null,"table empty",-1)),Od=[Td],Rd={key:2,class:"quickstart"},xd=_n(()=>p("p",null,[p("span",{class:"title"},"Quickstart guide"),pe(),p("br"),pe(' 1. click "add" to add an artist, select the artist '),p("br"),pe(" 2. click on any BP / MB / JD / YT button at the top to select a source "),p("br"),pe(" 3. find the artist on the website, copy & paste the link or ID "),p("br"),pe(" 4. to scrape, click refresh button in the top right corner "),p("br")],-1)),Ld=[xd];function Id(e,t,n,s,r,o){return x(),L(_e,null,[o.hideTable?(x(),L("div",md,[p("div",gd,[p("table",null,[p("tr",null,[_d,o.hideArtistColumn?V("",!0):(x(),L("th",bd,"artist")),yd])])]),p("div",Sd,[p("table",null,[p("tbody",null,[vd,(x(!0),L(_e,null,Ds(e.tableData,(i,l)=>(x(),L("tr",{key:l,class:ve({"future-date":o.isDateInFuture(i.date)})},[p("td",Ed,ze(i.song),1),o.hideArtistColumn?V("",!0):(x(),L("td",Cd,ze(i.artist),1)),p("td",wd,ze(o.formatDate(i.date)),1)],2))),128))])])])])):V("",!0),e.urlExists&&!o.hideTable&&!e.previewVis&&e.sourceTab!=="combview"?(x(),L("div",Ad,Od)):V("",!0),!e.urlExists&&!o.hideTable&&!e.previewVis&&e.sourceTab==="combview"?(x(),L("div",Rd,Ld)):V("",!0)],64)}const Pd=et(pd,[["render",Id],["__scopeId","data-v-a94daa96"]]),Gt="data:image/png;base64,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",zt="data:image/png;base64,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",kd={data:()=>({input:""}),computed:{...Ze(["tableData","sourceTab","allowButtons","artist","addDialogVis","primaryColor","urlExists"])},watch:{tableData(){this.determineDiagShow()}},methods:{clickURL(){const e=encodeURIComponent(this.input);this.input="",e&&U.post("/api/clickAddURL",e).then(()=>{const t=this.artist;U.post("/api/listOrTabClick",{item:t,origin:"list"}).then(n=>{this.$store.commit("SET_TABLE_CONTENT",n.data),this.$store.commit("SET_PREVIEW_VIS",!0)})}).catch(t=>{console.error(t)})},determineDiagShow(){this.tableData.length===0?U.get("/api/checkExistURL").then(e=>{this.$store.commit("SET_URL_EXISTS",e.data)}).catch(e=>{console.error(e)}):this.$store.commit("SET_URL_EXISTS",!0)}}},ae=e=>(Ht("data-v-0fe96286"),e=e(),Kt(),e),Nd={key:0},Fd={key:0,class:"dialog"},Ud=ae(()=>p("h1",null,"MusicBrainz source",-1)),Dd={class:"artist"},Bd=ae(()=>p("p",null,[p("a",{href:"https://musicbrainz.org",target:"_blank"},"https://musicbrainz.org"),pe(" > find artist > copy URL")],-1)),Vd=ae(()=>p("br",null,null,-1)),Md=ae(()=>p("p",null,"Example link:",-1)),$d=ae(()=>p("p",null,[pe("https://musicbrainz.org/artist/"),p("span",{class:"variabletext"},"id/...")],-1)),jd={key:0,class:"image",src:Gt,alt:"OK"},Hd={key:1,class:"image",src:zt,alt:"OK"},Kd={key:1,class:"dialog"},qd=ae(()=>p("h1",null,"Beatport source",-1)),Wd={class:"artist"},Gd=ae(()=>p("p",null,[p("a",{href:"https://beatport.com",target:"_blank"},"https://beatport.com"),pe(" > find artist > copy URL")],-1)),zd=ae(()=>p("br",null,null,-1)),Jd=ae(()=>p("p",null,"Example link:",-1)),Yd=ae(()=>p("p",null,[pe("https://beatport.com/artist/"),p("span",{class:"variabletext"},"artistname/id/...")],-1)),Xd={key:0,class:"image",src:Gt,alt:"OK"},Qd={key:1,class:"image",src:zt,alt:"OK"},Zd={key:2,class:"dialog"},eh=ae(()=>p("h1",null,"Junodownload source",-1)),th={class:"artist"},nh=ae(()=>p("p",null,[p("a",{href:"https://junodownload.com",target:"_blank"},"https://junodownload.com"),pe(" > find artist > copy URL")],-1)),sh=ae(()=>p("br",null,null,-1)),rh=ae(()=>p("p",null,"Example link:",-1)),oh=ae(()=>p("p",null,[pe("https://junodownload.com/artists/"),p("span",{class:"variabletext"},"artistname/...")],-1)),ih={key:0,class:"image",src:Gt,alt:"OK"},lh={key:1,class:"image",src:zt,alt:"OK"},ch={key:3,class:"dialog"},ah=ae(()=>p("h1",null,"Youtube source",-1)),uh={class:"artist"},fh=ae(()=>p("p",null,[p("a",{href:"https://youtube.com",target:"_blank"},"https://youtube.com")],-1)),dh=ae(()=>p("p",null,[pe(' Find an auto-generated channel with "Topic" in its name. '),p("br"),pe("Obtain the ID (share > copy channel ID) or copy URL. "),p("br"),pe("An ID needs to be provided, not a channel handle. ")],-1)),hh=ae(()=>p("p",null,"Example link:",-1)),ph=ae(()=>p("p",null,[pe("https://youtube.com/channel/"),p("span",{class:"variabletext"},"UCwZEU0wAwIyZb...")],-1)),mh={key:0,class:"image",src:Gt,alt:"OK"},gh={key:1,class:"image",src:zt,alt:"OK"};function _h(e,t,n,s,r,o){return!e.urlExists&&e.allowButtons&&e.artist&&!e.addDialogVis?(x(),L("div",Nd,[e.sourceTab==="musicbrainz"?(x(),L("div",Fd,[Ud,p("p",Dd,ze(e.artist),1),Bd,Vd,Md,$d,ie(p("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>e.input=i)},null,512),[[en,e.input]]),p("button",{onClick:t[1]||(t[1]=(...i)=>o.clickURL&&o.clickURL(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",jd)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Hd)):V("",!0)])])):e.sourceTab==="beatport"?(x(),L("div",Kd,[qd,p("p",Wd,ze(e.artist),1),Gd,zd,Jd,Yd,ie(p("input",{"onUpdate:modelValue":t[2]||(t[2]=i=>e.input=i)},null,512),[[en,e.input]]),p("button",{onClick:t[3]||(t[3]=(...i)=>o.clickURL&&o.clickURL(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",Xd)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Qd)):V("",!0)])])):e.sourceTab==="junodownload"?(x(),L("div",Zd,[eh,p("p",th,ze(e.artist),1),nh,sh,rh,oh,ie(p("input",{"onUpdate:modelValue":t[4]||(t[4]=i=>e.input=i)},null,512),[[en,e.input]]),p("button",{onClick:t[5]||(t[5]=(...i)=>o.clickURL&&o.clickURL(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",ih)):V("",!0),e.primaryColor==="Light"?(x(),L("img",lh)):V("",!0)])])):e.sourceTab==="youtube"?(x(),L("div",ch,[ah,p("p",uh,ze(e.artist),1),fh,dh,hh,ph,ie(p("input",{"onUpdate:modelValue":t[6]||(t[6]=i=>e.input=i)},null,512),[[en,e.input]]),p("button",{onClick:t[7]||(t[7]=(...i)=>o.clickURL&&o.clickURL(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",mh)):V("",!0),e.primaryColor==="Light"?(x(),L("img",gh)):V("",!0)])])):V("",!0)])):V("",!0)}const bh=et(kd,[["render",_h],["__scopeId","data-v-0fe96286"]]),Tr="/assets/crossdark-CYntds6r.png",Or="/assets/crosslight-CRspF710.png",yh={data:()=>({input:"",rules:[e=>!!e.trim(),e=>(e||"").length<=25]}),computed:{...Ze(["addDialogVis","primaryColor"]),isValid(){return this.rules.every(e=>e(this.input)===!0)}},methods:{clickAdd(){const e=encodeURIComponent(this.input);U.post("/api/clickArtistAdd",e).then(()=>{this.input="",this.$store.commit("SET_SELECTED_ARTIST",""),this.$store.commit("SET_ADD_VIS",!1),this.$store.commit("SET_LOAD_REQUEST",!0)}).catch(t=>{console.error(t)})},clickClose(){this.$store.commit("SET_ADD_VIS",!1)}}},Sh=e=>(Ht("data-v-cb695d37"),e=e(),Kt(),e),vh={key:0,class:"wrapper"},Eh=Sh(()=>p("div",{class:"card-text"},[p("p",{class:"text--primary"},"Type artist's name and confirm.")],-1)),Ch={class:"diag-actions"},wh={key:0,class:"image",src:Tr,alt:"X"},Ah={key:1,class:"image",src:Or,alt:"X"},Th=["disabled"],Oh={key:0,class:"image",src:Gt,alt:"OK"},Rh={key:1,class:"image",src:zt,alt:"OK"};function xh(e,t,n,s,r,o){return e.addDialogVis?(x(),L("div",vh,[Eh,p("div",Ch,[ie(p("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>e.input=i),class:ve({invalid:!o.isValid})},null,2),[[en,e.input]]),p("button",{onClick:t[1]||(t[1]=(...i)=>o.clickClose&&o.clickClose(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",wh)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Ah)):V("",!0)]),p("button",{onClick:t[2]||(t[2]=(...i)=>o.clickAdd&&o.clickAdd(...i)),class:"imgbutton",disabled:!o.isValid},[e.primaryColor!=="Light"?(x(),L("img",Oh)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Rh)):V("",!0)],8,Th)])])):V("",!0)}const Lh=et(yh,[["render",xh],["__scopeId","data-v-cb695d37"]]),Ih={computed:{...Ze(["progress"])},methods:{...Vf(["setProgress"])}},Ph={class:"progress-container"};function kh(e,t,n,s,r,o){return x(),L("div",Ph,[p("div",{class:"progressbar",style:Wn({width:`${e.progress}%`})},null,4)])}const Nh=et(Ih,[["render",kh],["__scopeId","data-v-d29e2d3a"]]),Fh="/assets/blcktext-QjjfTEs8.png",Uh="/assets/MRTlogo-BpL2l-3G.png",Dh={data(){return{theme:"",accent:"",settingsProtection:!0,dbProtection:!0,filters:{Remix:!1,VIP:!1,Instrumental:!1,Acoustic:!1,Extended:!1,Remaster:!1},theme:{Black:!1,Dark:!1,Light:!1},isoDates:!1,autoTheme:!1}},computed:{...Ze(["primaryColor","accentColor"])},created(){U.get("/api/settingsOpened").then(e=>{this.filters=e.data,this.isoDates=e.data.isoDates,this.autoTheme=e.data.autoTheme}).catch(e=>{console.error(e)}),this.theme=this.primaryColor,this.accent=this.accentColor},methods:{clickClose(){this.$store.commit("SET_SETTINGS_OPEN",!1)},setSetting(e,t){switch(e){case"theme":this.$store.commit("SET_PRIMARY_COLOR",this.theme);case"accent":this.$store.commit("SET_ACCENT_COLOR",this.accent);case"isoDates":this.$store.commit("SET_ISODATES",this.isoDates)}U.post("/api/setSetting",{name:e,value:t}).catch(n=>{console.error(n)})},resetSettings(){this.settingsProtection==!0?this.settingsProtection=!1:U.post("/api/resetSettings").then(()=>{this.clickClose()}).catch(e=>{console.error(e)})},resetDB(){this.dbProtection==!0?this.dbProtection=!1:U.post("/api/resetDB").then(()=>{this.clickClose()}).catch(e=>{console.error(e)})},resetProtection(){this.settingsProtection=!0,this.dbProtection=!0}}},ue=e=>(Ht("data-v-649f4366"),e=e(),Kt(),e),Bh={class:"settings"},Vh={key:0,class:"image",src:Tr,alt:"X"},Mh={key:1,class:"image",src:Or,alt:"X"},$h={class:"filterscont"},jh=ue(()=>p("p",null,[p("span",{class:"title"},"Exclusion filters"),p("br"),pe("Select types of songs to be hidden in Combined view.")],-1)),Hh={class:"filters-buttons"},Kh=ue(()=>p("label",null,"Remix",-1)),qh=ue(()=>p("label",null,"VIP",-1)),Wh=ue(()=>p("label",null,"Instrumental",-1)),Gh=ue(()=>p("label",null,"Acoustic",-1)),zh=ue(()=>p("label",null,"Extended",-1)),Jh=ue(()=>p("label",null,"Remaster",-1)),Yh={class:"appearance"},Xh=ue(()=>p("p",{class:"title"},"Appearance",-1)),Qh={class:"appearancecont"},Zh={class:"theme-buttons"},ep=["disabled"],tp=["disabled"],np=["disabled"],sp=ue(()=>p("div",{class:"colorindicator"},null,-1)),rp={class:"accent-buttons"},op=ue(()=>p("label",null,"Lavender",-1)),ip=ue(()=>p("label",null,"Cactus",-1)),lp=ue(()=>p("label",null,"Rose",-1)),cp=ue(()=>p("label",null,"Warm",-1)),ap=ue(()=>p("label",null,"Cloud",-1)),up=ue(()=>p("label",null,"Ocean",-1)),fp={class:"belowAppearance"},dp=ue(()=>p("label",null,"Match system theme",-1)),hp={class:"other"},pp=ue(()=>p("p",{class:"title"},"Other",-1)),mp={class:"flex-items"},gp={class:"flex-padding"},_p=ue(()=>p("label",null,"Dates in yyyy-MM-dd (ISO 8601)",-1)),bp={class:"danger"},yp=ue(()=>p("p",{class:"title"},"Danger zone",-1)),Sp={class:"dangercont"},vp=ia('',1);function Ep(e,t,n,s,r,o){return x(),L("div",Bh,[p("button",{onClick:t[0]||(t[0]=i=>o.clickClose()),class:"crossImgButton"},[e.primaryColor!=="Light"?(x(),L("img",Vh)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Mh)):V("",!0)]),p("section",$h,[jh,p("div",Hh,[p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[1]||(t[1]=i=>r.filters.Remix=i),onChange:t[2]||(t[2]=i=>o.setSetting("filters.Remix",i.target.checked))},null,544),[[ot,r.filters.Remix]]),Kh]),p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=i=>r.filters.VIP=i),onChange:t[4]||(t[4]=i=>o.setSetting("filters.VIP",i.target.checked))},null,544),[[ot,r.filters.VIP]]),qh]),p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=i=>r.filters.Instrumental=i),onChange:t[6]||(t[6]=i=>o.setSetting("filters.Instrumental",i.target.checked))},null,544),[[ot,r.filters.Instrumental]]),Wh]),p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[7]||(t[7]=i=>r.filters.Acoustic=i),onChange:t[8]||(t[8]=i=>o.setSetting("filters.Acoustic",i.target.checked))},null,544),[[ot,r.filters.Acoustic]]),Gh]),p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[9]||(t[9]=i=>r.filters.Extended=i),onChange:t[10]||(t[10]=i=>o.setSetting("filters.Extended",i.target.checked))},null,544),[[ot,r.filters.Extended]]),zh]),p("div",null,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[11]||(t[11]=i=>r.filters.Remaster=i),onChange:t[12]||(t[12]=i=>o.setSetting("filters.Remaster",i.target.checked))},null,544),[[ot,r.filters.Remaster]]),Jh])])]),p("section",Yh,[Xh,p("div",Qh,[p("div",Zh,[ie(p("input",{type:"radio","onUpdate:modelValue":t[13]||(t[13]=i=>r.theme=i),value:"Black",onChange:t[14]||(t[14]=i=>o.setSetting("theme","Black")),disabled:r.autoTheme},null,40,ep),[[Ge,r.theme]]),p("label",{class:ve({disabled:r.autoTheme})},"Black",2),ie(p("input",{type:"radio","onUpdate:modelValue":t[15]||(t[15]=i=>r.theme=i),value:"Dark",onChange:t[16]||(t[16]=i=>o.setSetting("theme","Dark")),disabled:r.autoTheme},null,40,tp),[[Ge,r.theme]]),p("label",{class:ve({disabled:r.autoTheme})},"Dark",2),ie(p("input",{type:"radio","onUpdate:modelValue":t[17]||(t[17]=i=>r.theme=i),value:"Light",onChange:t[18]||(t[18]=i=>o.setSetting("theme","Light")),disabled:r.autoTheme},null,40,np),[[Ge,r.theme]]),p("label",{class:ve({disabled:r.autoTheme})},"Light",2),sp]),p("div",rp,[ie(p("input",{type:"radio","onUpdate:modelValue":t[19]||(t[19]=i=>r.accent=i),value:"Lavender",onChange:t[20]||(t[20]=i=>o.setSetting("accent","Lavender"))},null,544),[[Ge,r.accent]]),op,ie(p("input",{type:"radio","onUpdate:modelValue":t[21]||(t[21]=i=>r.accent=i),value:"Cactus",onChange:t[22]||(t[22]=i=>o.setSetting("accent","Cactus"))},null,544),[[Ge,r.accent]]),ip,ie(p("input",{type:"radio","onUpdate:modelValue":t[23]||(t[23]=i=>r.accent=i),value:"Rose",onChange:t[24]||(t[24]=i=>o.setSetting("accent","Rose"))},null,544),[[Ge,r.accent]]),lp,ie(p("input",{type:"radio","onUpdate:modelValue":t[25]||(t[25]=i=>r.accent=i),value:"Warm",onChange:t[26]||(t[26]=i=>o.setSetting("accent","Warm"))},null,544),[[Ge,r.accent]]),cp,ie(p("input",{type:"radio","onUpdate:modelValue":t[27]||(t[27]=i=>r.accent=i),value:"Cloud",onChange:t[28]||(t[28]=i=>o.setSetting("accent","Cloud"))},null,544),[[Ge,r.accent]]),ap,ie(p("input",{type:"radio","onUpdate:modelValue":t[29]||(t[29]=i=>r.accent=i),value:"Ocean",onChange:t[30]||(t[30]=i=>o.setSetting("accent","Ocean"))},null,544),[[Ge,r.accent]]),up])]),p("div",fp,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[31]||(t[31]=i=>r.autoTheme=i),onChange:t[32]||(t[32]=i=>o.setSetting("autoTheme",i.target.checked))},null,544),[[ot,r.autoTheme]]),dp])]),p("section",hp,[pp,p("div",mp,[p("div",gp,[ie(p("input",{type:"checkbox","onUpdate:modelValue":t[33]||(t[33]=i=>r.isoDates=i),onChange:t[34]||(t[34]=i=>o.setSetting("isoDates",i.target.checked))},null,544),[[ot,r.isoDates]]),_p])])]),p("section",bp,[yp,p("div",Sp,[r.settingsProtection?(x(),L("button",{key:0,onClick:t[35]||(t[35]=i=>o.resetSettings())},"Reset settings")):V("",!0),r.settingsProtection?V("",!0):(x(),L("button",{key:1,onClick:t[36]||(t[36]=i=>o.resetSettings()),onMouseleave:t[37]||(t[37]=i=>o.resetProtection())},"confirm",32)),r.dbProtection?(x(),L("button",{key:2,onClick:t[38]||(t[38]=i=>o.resetDB())},"Reset database")):V("",!0),r.dbProtection?V("",!0):(x(),L("button",{key:3,onClick:t[39]||(t[39]=i=>o.resetDB()),onMouseleave:t[40]||(t[40]=i=>o.resetProtection())},"confirm",32))])]),vp])}const Cp=et(Dh,[["render",Ep],["__scopeId","data-v-649f4366"]]),wp={computed:{...Ze(["tableData","primaryColor"]),hideTable(){return this.tableData.length==0}},methods:{clickCancel(){U.request("/api/cleanArtistSource").catch(e=>{console.error(e)}),this.$store.commit("SET_PREVIEW_VIS",!1)},clickConfirm(){U.request("/api/saveUrl").catch(e=>{console.error(e)}),this.$store.commit("SET_PREVIEW_VIS",!1)}}},Ap=e=>(Ht("data-v-85018fb6"),e=e(),Kt(),e),Tp={class:"preview"},Op=Ap(()=>p("h1",null,"preview",-1)),Rp={key:0},xp={key:1},Lp=["disabled"],Ip={key:0,class:"image",src:Gt,alt:"OK"},Pp={key:1,class:"image",src:zt,alt:"OK"},kp={key:0,class:"image",src:Tr,alt:"X"},Np={key:1,class:"image",src:Or,alt:"X"};function Fp(e,t,n,s,r,o){return x(),L("div",Tp,[Op,o.hideTable?V("",!0):(x(),L("p",Rp,"Confirm only if the table has usable information.")),o.hideTable?(x(),L("p",xp,"Incorrect link.")):V("",!0),p("button",{onClick:t[0]||(t[0]=(...i)=>o.clickConfirm&&o.clickConfirm(...i)),class:"imgbutton",disabled:o.hideTable},[e.primaryColor!=="Light"?(x(),L("img",Ip)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Pp)):V("",!0)],8,Lp),p("button",{onClick:t[1]||(t[1]=(...i)=>o.clickCancel&&o.clickCancel(...i)),class:"imgbutton"},[e.primaryColor!=="Light"?(x(),L("img",kp)):V("",!0),e.primaryColor==="Light"?(x(),L("img",Np)):V("",!0)])])}const Up=et(wp,[["render",Fp],["__scopeId","data-v-85018fb6"]]);U.defaults.baseURL="http://localhost:57782";const Dp={data(){return{appliedStyles:[],theme:"",accent:""}},components:{ArtistList:Xf,SourceMenu:hd,SourceTable:Pd,DialogsURL:bh,AddArtistDialog:Lh,ProgressBar:Nh,SettingsWindow:Cp,PreviewDialog:Up},created(){this.loadTheme(),this.detectTheme()},computed:{...Ze(["settingsOpen","primaryColor","accentColor","previewVis"])},watch:{primaryColor(e){this.theme=e,this.applyTheme(e,this.accent)},accentColor(e){this.accent=e,this.applyTheme(this.theme,e)}},methods:{loadTheme(){U.get("/api/getThemeConfig").then(e=>{this.$store.commit("SET_PRIMARY_COLOR",e.data.theme),this.$store.commit("SET_ACCENT_COLOR",e.data.accent)}).catch(e=>{console.error(e)})},detectTheme(){U.get("/api/settingsOpened").then(e=>{const t=window.matchMedia("(prefers-color-scheme: dark)");e.data.autoTheme==!0&&(t.matches?this.$store.commit("SET_PRIMARY_COLOR","Black"):this.$store.commit("SET_PRIMARY_COLOR","Light"))}).catch(e=>{console.error(e)})},applyTheme(e,t){this.appliedStyles.forEach(r=>{r.remove()}),this.appliedStyles=[];let n,s;e!==""&&(n=`./primary${e}.css`,s=document.createElement("link"),s.rel="stylesheet",s.href=n,document.head.appendChild(s),this.appliedStyles.push(s)),t!==""&&(n=`./secondary${t}.css`,s=document.createElement("link"),s.rel="stylesheet",s.href=n,document.head.appendChild(s),this.appliedStyles.push(s))}}},Bp={key:0,class:"app"},Vp={class:"list"},Mp={class:"maincontent"},$p={key:0,class:"topbar"},jp={class:"sourcetable"},Hp={key:1,class:"dialogsurl"},Kp={class:"progressbar"},qp={key:1,class:"app"};function Wp(e,t,n,s,r,o){const i=nt("ArtistList"),l=nt("PreviewDialog"),c=nt("SourceMenu"),f=nt("AddArtistDialog"),u=nt("SourceTable"),d=nt("DialogsURL"),g=nt("ProgressBar"),E=nt("SettingsWindow");return x(),L(_e,null,[e.settingsOpen?V("",!0):(x(),L("div",Bp,[p("div",Vp,[e.previewVis?V("",!0):(x(),Hs(i,{key:0})),e.previewVis?(x(),Hs(l,{key:1,class:"preview"})):V("",!0)]),p("div",Mp,[e.previewVis?V("",!0):(x(),L("div",$p,[le(c)])),le(f),p("div",jp,[le(u)]),e.previewVis?V("",!0):(x(),L("div",Hp,[le(d)]))]),p("div",Kp,[le(g)])])),e.settingsOpen?(x(),L("div",qp,[le(E)])):V("",!0)],64)}const Gp=et(Dp,[["render",Wp],["__scopeId","data-v-e34fd722"]]),zp={artist:"",sourceTab:"",tableData:[],addDialogVis:!1,loadListRequest:!1,allowButtons:!0,progress:0,settingsOpen:!1,primaryColor:"",accentColor:"",previewVis:!1,isoDates:!1,urlExists:!1},Jp={SET_SOURCE_TAB(e,t){e.sourceTab=t},SET_SELECTED_ARTIST(e,t){e.artist=t},SET_TABLE_CONTENT(e,t){e.tableData=t,e.addDialogVis=!1},SET_ADD_VIS(e,t){e.addDialogVis=t},SET_LOAD_REQUEST(e,t){e.loadListRequest=t},SET_ALLOW_BUTTONS(e,t){e.allowButtons=t},SET_PROGRESS(e,t){e.progress=t*100,e.progress==100&&(e.progress=0)},SET_SETTINGS_OPEN(e,t){e.settingsOpen=t},SET_PRIMARY_COLOR(e,t){e.primaryColor=t},SET_ACCENT_COLOR(e,t){e.accentColor=t},SET_PREVIEW_VIS(e,t){e.previewVis=t},SET_ISODATES(e,t){e.isoDates=t},SET_URL_EXISTS(e,t){e.urlExists=t}},Yp={},Xp={},Qp=Bf({state:zp,mutations:Jp,actions:Yp,getters:Xp}),bl=za(Gp);bl.use(Qp);bl.mount("#app");
diff --git a/src/main/resources/static/assets/index-DQ2nizA8.css b/src/main/resources/static/assets/index-DQ2nizA8.css
deleted file mode 100644
index 951191b..0000000
--- a/src/main/resources/static/assets/index-DQ2nizA8.css
+++ /dev/null
@@ -1 +0,0 @@
-*[data-v-18b2502f]::-webkit-scrollbar{width:8px;background:transparent}*[data-v-18b2502f]::-webkit-scrollbar-thumb{background-color:var(--dull-color)}.listbtn[data-v-18b2502f]{width:92%;height:28px;border-radius:0;margin:0;display:flex;align-items:center;white-space:nowrap;overflow:hidden;padding-left:7px}.artistlist[data-v-18b2502f]{height:calc(100vh - 40px);overflow-y:scroll}.artistlist li[data-v-18b2502f]{list-style-type:none}.buttonspace[data-v-18b2502f]{margin-bottom:5px}.addbtn[data-v-18b2502f],.morebtn[data-v-18b2502f]{font-size:12px;width:75px;height:28px;border:2px solid var(--dull-color);border-radius:6px;background-color:transparent;color:var(--contrast-color)}.addbtn[data-v-18b2502f]{margin-left:5px}.addbtn[data-v-18b2502f]:hover,.morebtn[data-v-18b2502f]:hover{background-color:var(--accent-color);border:2px solid var(--accent-color);color:var(--accent-contrast)}.addbtn[data-v-18b2502f]:active,.morebtn[data-v-18b2502f]:active{opacity:75%}.morebtn[data-v-18b2502f]{margin-left:5px}.dropdown[data-v-18b2502f]{position:relative;display:grid;grid-template-columns:repeat(1,1fr);background-color:var(--subtle-color);padding-right:10px;padding-left:6px}.dropdown .deletebtn[data-v-18b2502f]{font-size:12px;height:25px;margin-top:3px;border:2px solid var(--dull-color);border-radius:6px;background-color:transparent;color:var(--contrast-color)}.deletebtn[data-v-18b2502f]:hover{background-color:red;border:2px solid red}.listbtn[data-v-18b2502f]:hover{background-color:var(--duller-color)}.highlighted[data-v-18b2502f]{background-color:var(--accent-color);color:var(--accent-contrast)}.highlighted[data-v-18b2502f]:hover{background-color:var(--accent-color)}[data-v-18b2502f]:disabled{opacity:.5;pointer-events:none}.wrapper[data-v-bbadd133]{min-width:500px;width:100%;display:flex;align-items:center;height:38px}.tabs[data-v-bbadd133]{display:flex;text-align:center;font-weight:700;flex-grow:1;height:38px}.image[data-v-bbadd133]{height:32px;width:32px}.settingsButton[data-v-bbadd133],.scrapeButton[data-v-bbadd133]{padding:0;margin-left:8px;margin-top:2px;height:32px;width:32px;border:none}.settingsButton[data-v-bbadd133]:hover,.scrapeButton[data-v-bbadd133]:hover{opacity:70%}.settingsButton[data-v-bbadd133]{height:32px;width:32px;background-color:var(--accent-color)}.scrapeButton[data-v-bbadd133]{background-color:var(--accent-color);margin-right:20px;border-radius:50px}.scrapeActive[data-v-bbadd133]{transition:.75s;rotate:180deg;filter:hue-rotate(120deg)}.scrapeActive[data-v-bbadd133]:hover{opacity:1}.cvtab[data-v-bbadd133]{width:80%;max-width:390px;padding:8px;border:solid 3px transparent;border-bottom:solid 3px var(--accent-color)}.stab[data-v-bbadd133]{width:20%;max-width:110px;padding:8px;border:solid 3px transparent;border-bottom:solid 3px var(--accent-color);white-space:nowrap;overflow:hidden}.tabs[data-v-bbadd133] :hover{border-bottom:solid 3px var(--dull-color)}.active[data-v-bbadd133]{transition:.15s;background-color:var(--accent-color);color:var(--accent-contrast);border-bottom:solid 3px var(--accent-color);border-radius:5px}.active[data-v-bbadd133]:hover{border-bottom:solid 3px var(--accent-color)}.scrapenotice[data-v-bbadd133]{position:absolute;z-index:50;background-color:var(--duller-color);border-radius:5px;padding-right:10px;padding-left:10px;right:14px;top:42px}.fade-enter-from[data-v-bbadd133],.fade-leave-to[data-v-bbadd133]{opacity:0}.fade-enter-active[data-v-bbadd133],.fade-leave-active[data-v-bbadd133]{transition:.15s}[data-v-bbadd133]:disabled{opacity:.5;pointer-events:none}.table-header[data-v-19adbfff]{flex-shrink:0;overflow:hidden;z-index:3;position:fixed;width:calc(100% - 170px)}.table-body[data-v-19adbfff]{flex-grow:1;overflow-y:auto;-webkit-user-select:text;user-select:text;margin-bottom:10vh}table[data-v-19adbfff]{width:100%;min-width:500px;border-collapse:collapse}th[data-v-19adbfff],td[data-v-19adbfff]{padding:4px}th[data-v-19adbfff]{background-color:var(--primary-color);border:none;position:sticky;top:0}.song[data-v-19adbfff],.tdsong[data-v-19adbfff],.artist[data-v-19adbfff],.tdartist[data-v-19adbfff]{width:50%;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date[data-v-19adbfff],.tddate[data-v-19adbfff]{width:100px;min-width:100px}.future-date[data-v-19adbfff]{opacity:40%}.emptynotice[data-v-19adbfff]{position:absolute;left:40%;top:40%;color:var(--dull-color)}.quickstart[data-v-19adbfff]{position:relative;font-size:15px;line-height:22px;left:5%;top:5%}.quickstart .title[data-v-19adbfff]{font-weight:700}.tddate[data-v-19adbfff]{display:flex;justify-content:flex-end;margin-right:30px}p[data-v-0fe96286]{line-height:1.4}.dialog[data-v-0fe96286]{width:375px;height:280px;background-color:var(--primary-color);border:2px solid var(--contrast-color);border-radius:3px;color:var(--contrast-color);padding:8px}input[data-v-0fe96286]{background-color:var(--duller-color);color:var(--contrast-color);border:none;width:345px;position:absolute;bottom:5px;left:5px;font-size:13px;height:18px}input[data-v-0fe96286]:focus{outline:none}button[data-v-0fe96286]{color:#000;border:none;position:absolute;right:5px;bottom:5px}button[data-v-0fe96286]:hover{opacity:70%}a[data-v-0fe96286]{color:var(--accent-color);font-weight:700;text-decoration:none}a[data-v-0fe96286]:hover{text-decoration:underline}h1[data-v-0fe96286]{font-size:17px;font-weight:400}.variabletext[data-v-0fe96286]{color:var(--accent-color)}.artist[data-v-0fe96286]{-webkit-user-select:text;user-select:text}.imgbutton[data-v-0fe96286],.image[data-v-0fe96286]{height:23px;width:23px;padding:0;float:right;margin-right:2px;background-color:transparent}.imgbutton[data-v-0fe96286]:hover{opacity:50%}[data-v-0fe96286]:disabled{opacity:.5;pointer-events:none}.wrapper[data-v-cb695d37]{top:25%;left:35%;width:325px;height:240px;position:absolute;z-index:3;background-color:var(--primary-color);border:2px solid var(--contrast-color);border-radius:3px;padding:8px}.diag-actions[data-v-cb695d37]{position:absolute;bottom:3px;left:5px}button[data-v-cb695d37]{border:none}input[data-v-cb695d37]{background-color:var(--duller-color);color:var(--contrast-color);width:200px;margin-right:58px;margin-left:10px;border:none}input[data-v-cb695d37]:focus{outline:none}.imgbutton[data-v-cb695d37],.image[data-v-cb695d37]{height:23px;width:23px;padding:0;float:right;margin-left:5px;margin-right:2px;background-color:transparent}.imgbutton[data-v-cb695d37]{position:relative}.imgbutton[data-v-cb695d37]:hover{opacity:50%}[data-v-cb695d37]:disabled{opacity:.3;pointer-events:none}*[data-v-d29e2d3a]{transition:.2s}.progress-container[data-v-d29e2d3a]{background-color:transparent}.progressbar[data-v-d29e2d3a]{height:5px;line-height:5px;text-align:center;background-color:var(--accent-color)}*[data-v-6b545924]{transition:.1s}.title[data-v-6b545924]{font-weight:700}.settings[data-v-6b545924]{font-family:arial,sans-serif;font-size:14px;-webkit-user-select:none;user-select:none;background-color:var(--primary-color);color:var(--contrast-color);overflow-y:scroll;overflow-x:hidden;display:grid;align-content:start;width:100%;justify-content:center;accent-color:var(--contrast-color)}@media screen and (min-width: 950px){.settings[data-v-6b545924]{display:grid;grid-template-columns:repeat(2,0fr)}section[data-v-6b545924]{margin-right:90px}}.filters-buttons[data-v-6b545924]{margin-top:10px;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;max-height:80px}.flex-items[data-v-6b545924]{display:flex;flex-direction:column}.flex-padding[data-v-6b545924]{padding:5px}.appearancecont[data-v-6b545924]{display:flex;accent-color:var(--dull-color)}.theme-buttons[data-v-6b545924]{display:grid;grid-template-columns:repeat(2,1fr);width:30%;padding-right:20px;line-height:18px}.accent-buttons[data-v-6b545924]{display:grid;grid-template-columns:repeat(4,1fr)}.belowAppearance[data-v-6b545924]{margin-left:15px;margin-top:6px}.imgbutton[data-v-6b545924]{position:absolute;right:0;top:0;padding:0;margin:10px;background-color:transparent;border:none;transition:0s}.imgbutton[data-v-6b545924]:hover{opacity:60%}.image[data-v-6b545924]{height:33px}input[data-v-6b545924]{margin-right:5px}section[data-v-6b545924]{position:relative;margin-top:20px;left:40px;padding:1px 15px 10px;background-color:var(--duller-color);border-radius:5px;transition:.15s;width:345px}.self[data-v-6b545924]{justify-self:center;width:280px;background-color:transparent}.blckimg[data-v-6b545924]{height:48px;background-color:#000;border-radius:5px;padding:12px;margin-right:22px}.mrtimg[data-v-6b545924]{height:72px;border-radius:10px}.colorindicator[data-v-6b545924]{position:absolute;right:0;top:0;height:100%;width:8px;background-color:var(--accent-color);border-top-right-radius:5px;border-bottom-right-radius:5px}.dangercont[data-v-6b545924]{display:flex;justify-content:space-evenly}.danger button[data-v-6b545924]{border-radius:5px;background-color:transparent;color:var(--contrast-color);border:2px solid red;padding:4px;width:120px}.danger button[data-v-6b545924]:hover{background-color:red}.disabled[data-v-6b545924]{opacity:.3}.preview[data-v-85018fb6]{width:100%;height:100%;background-color:var(--subtle-color);font-size:15px}h1[data-v-85018fb6]{font-size:18px;color:var(--accent-color)}p[data-v-85018fb6],h1[data-v-85018fb6]{position:relative;left:6px}button[data-v-85018fb6]{margin-left:8px;border:none;border-radius:5px;width:60px}.imgbutton[data-v-85018fb6],.image[data-v-85018fb6]{margin-left:22px;height:26px;width:26px;padding:0;background-color:transparent}.imgbutton[data-v-85018fb6]:hover{opacity:50%}[data-v-85018fb6]:disabled{opacity:.5;pointer-events:none}*[data-v-e34fd722]{scrollbar-color:var(--dull-color) transparent}*[data-v-e34fd722]::-webkit-scrollbar-thumb{background-color:var(--dull-color)}*[data-v-e34fd722]::-webkit-scrollbar{width:8px;background:transparent}.app[data-v-e34fd722]{font-family:arial,sans-serif;font-size:14px;-webkit-user-select:none;user-select:none;display:flex;position:fixed;top:0;left:0;padding-left:5px;padding-top:3px;width:100%;height:100%;background-color:var(--primary-color);color:var(--contrast-color);transition:.15s}.list[data-v-e34fd722]{width:170px;min-width:170px;padding-top:5px;padding-left:2px;top:-3px;left:-5px;position:relative;background-color:var(--subtle-color)}.maincontent[data-v-e34fd722]{flex-grow:1;height:100vh}.topbar[data-v-e34fd722]{left:5px;position:relative}.dialogsurl[data-v-e34fd722]{top:25%;left:35%;position:absolute}.sourcetable[data-v-e34fd722]{position:relative;top:6px;height:100%;overflow-y:scroll;margin-right:4px}.progressbar[data-v-e34fd722]{position:absolute;bottom:3px;left:0;z-index:5;width:100%}
diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html
index 95affd6..1bb03f4 100644
--- a/src/main/resources/static/index.html
+++ b/src/main/resources/static/index.html
@@ -5,8 +5,8 @@
MusicReleaseTracker
-
-
+
+
diff --git a/vue/src/components/SourceTable.vue b/vue/src/components/SourceTable.vue
index db31388..614715e 100644
--- a/vue/src/components/SourceTable.vue
+++ b/vue/src/components/SourceTable.vue
@@ -64,12 +64,10 @@ export default {
},
},
methods: {
- // get current date
isDateInFuture(dateString) {
const date = new Date(dateString);
return date > new Date();
},
- // formatting an ISO date
formatDate(dateString) {
if (!this.isoDates) {
const date = new Date(dateString);