From d83793d538d850c3799f85cdf41dea08c1a4463f Mon Sep 17 00:00:00 2001
From: booploops <49113086+booploops@users.noreply.github.com>
Date: Wed, 25 May 2022 06:03:28 -0700
Subject: [PATCH] support for groupings
---
src/main/base/browserwindow.ts | 6 ++
src/renderer/less/elements.less | 35 ++++++++++
src/renderer/main/events.js | 5 +-
src/renderer/main/vueapp.js | 4 ++
src/renderer/views/pages/browse.ejs | 95 ++++++++++++++------------
src/renderer/views/pages/groupings.ejs | 76 +++++++++++++++++++++
6 files changed, 177 insertions(+), 44 deletions(-)
create mode 100644 src/renderer/views/pages/groupings.ejs
diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts
index 8649ce97..87aaea9b 100644
--- a/src/main/base/browserwindow.ts
+++ b/src/main/base/browserwindow.ts
@@ -56,6 +56,7 @@ export class BrowserWindow {
"pages/library-albums",
"pages/library-artists",
"pages/browse",
+ "pages/groupings",
"pages/settings",
"pages/installed-themes",
"pages/listen_now",
@@ -188,6 +189,11 @@ export class BrowserWindow {
component: ``,
condition: `page == 'browse'`,
onEnter: ``
+ },{
+ page: "groupings",
+ component: ``,
+ condition: `page == 'groupings'`,
+ onEnter: ``
}, {
page: "listen_now",
component: ``,
diff --git a/src/renderer/less/elements.less b/src/renderer/less/elements.less
index 048f2694..3bf3f584 100644
--- a/src/renderer/less/elements.less
+++ b/src/renderer/less/elements.less
@@ -2048,4 +2048,39 @@ input[type=checkbox][switch]:checked:active::before {
z-index : 0;
pointer-events: none;
}
+}
+
+.grouping-container {
+ display: flex;
+ flex-flow: wrap;
+ gap: 16px;
+ .grouping-btn {
+ padding: 16px;
+ appearance: none;
+ border: 0px;
+ border-radius: 10px;
+ background: var(--color1);
+ color: var(--keyColor);
+ width: 100%;
+ text-align: left;
+ font-family: inherit;
+ cursor: pointer;
+ flex: 1 0 21%;
+ position: relative;
+
+ &:after {
+ content: "";
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ font-family: "codicon";
+ display: flex;
+ align-items: center;
+ width: 28px;
+ font-weight: bold;
+ font-size: 1.2em;
+ pointer-events: none;
+ }
+ }
}
\ No newline at end of file
diff --git a/src/renderer/main/events.js b/src/renderer/main/events.js
index f2140460..24fe826b 100644
--- a/src/renderer/main/events.js
+++ b/src/renderer/main/events.js
@@ -4,7 +4,10 @@ const Events = {
// add event listener for when window.location.hash changes
window.addEventListener("hashchange", function () {
- app.appRoute(window.location.hash)
+ app.page = "blank"
+ setTimeout(()=>{
+ app.appRoute(window.location.hash)
+ }, 100)
});
window.addEventListener("mouseup", (e) => {
diff --git a/src/renderer/main/vueapp.js b/src/renderer/main/vueapp.js
index c31d6198..a5d9c6e0 100644
--- a/src/renderer/main/vueapp.js
+++ b/src/renderer/main/vueapp.js
@@ -484,6 +484,10 @@ const app = new Vue({
}, 100)
})
},
+ goToGrouping(url = "https://music.apple.com/WebObjects/MZStore.woa/wa/viewGrouping?cc=us&id=34") {
+ const id = url.split("id=")[1];
+ window.location.hash = `#groupings/${id}`
+ },
navigateForward() {
history.forward()
},
diff --git a/src/renderer/views/pages/browse.ejs b/src/renderer/views/pages/browse.ejs
index f49ecc9e..4d0539b9 100644
--- a/src/renderer/views/pages/browse.ejs
+++ b/src/renderer/views/pages/browse.ejs
@@ -1,49 +1,58 @@
\ No newline at end of file
+ Vue.component("cider-browse", {
+ template: "#cider-browse",
+ props: ["data"],
+ data: function () {
+ return {
+ app: this.$root,
+ };
+ },
+ mounted() {
+ this.$root.getBrowsePage();
+ },
+ methods: {
+ }
+ });
+
diff --git a/src/renderer/views/pages/groupings.ejs b/src/renderer/views/pages/groupings.ejs
new file mode 100644
index 00000000..7cc5ffcc
--- /dev/null
+++ b/src/renderer/views/pages/groupings.ejs
@@ -0,0 +1,76 @@
+
+
+