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 @@ + + +