From 5bc98f5187c87460c768674f40e0e0f38ae6d6d7 Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Thu, 23 Dec 2021 02:53:46 -0800 Subject: [PATCH] starting electron store, improvements to add to playlist --- src/main/cider-base.js | 77 +++++++++++++++++++ src/renderer/style.less | 59 +++++++++++--- .../views/components/add-to-playlist.ejs | 24 +++--- src/renderer/views/main.ejs | 14 +--- src/renderer/views/svg/playlist.svg | 1 + 5 files changed, 145 insertions(+), 30 deletions(-) create mode 100644 src/renderer/views/svg/playlist.svg diff --git a/src/main/cider-base.js b/src/main/cider-base.js index fbddc674..6305a402 100644 --- a/src/main/cider-base.js +++ b/src/main/cider-base.js @@ -5,6 +5,83 @@ const express = require("express"); const path = require("path"); const windowStateKeeper = require("electron-window-state"); const os = require('os'); +const Store = require("electron-store"); +const store = new Store(); + +const schema = { + "general": { + "close_behavior": { + type: "number", + default: 0 + }, + "startup_behavior": { + type: "number", + default: 0 + }, + "discord_rpc": { + type: "number", + default: 1 + }, + }, + "behavior": { + "hw_acceleration": { + type: "number", + default: 0 // 0 = default, 1 = webgpu, 2 = gpu disabled + } + }, + "audio": { + "quality": { + type: "string", + default: "extreme", + }, + "seamless_audio": { + type: "boolean", + default: true, + } + }, + "visual": { + "theme": { + type: "string", + default: "" + }, + "scrollbars": { + type: "number", + default: 0 + }, + "refresh_rate": { + type: "number", + default: 0 + }, + "animated_artwork": { + type: "number", + default: 0 // 0 = always, 1 = limited, 2 = never + } + }, + "lyrics": { + "enable_mxm": { + type: "boolean", + default: false + }, + "mxm_language": { + type: "string", + default: "en" + } + }, + "lastfm": { + "enabled": { + type: "boolean", + default: false + }, + "scrobble_after": { + type: "number", + default: 30 + }, + "auth_token": { + type: "string", + default: "" + } + } +} // Analytics for debugging. const ElectronSentry = require("@sentry/electron"); diff --git a/src/renderer/style.less b/src/renderer/style.less index 594099f4..5d76e456 100644 --- a/src/renderer/style.less +++ b/src/renderer/style.less @@ -1528,7 +1528,7 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { left: 0; width: 100%; height: 100%; - background: rgba(0, 0, 0, 0.5); + background: rgba(0, 0, 0, 0.3); z-index: 9999; .modal-window { background: #333; @@ -1536,11 +1536,24 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { box-shadow: var(--mediaItemShadow-Shadow); display:flex; flex-flow: column; - max-height: 500px; max-width: 360px; background: #121212; width: 100%; + position: relative; + + &:after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + box-shadow: var(--mediaItemShadow); + z-index: 1; + border-radius: inherit; + } .modal-header { width:100%; @@ -1562,9 +1575,10 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { .modal-window { max-height: 600px; max-width: 400px; - background: #121212; + background: rgb(18 18 18 / 90%); overflow: hidden; - + backdrop-filter: blur(16px) saturate(180%); + .modal-header { padding: 16px; position:relative; @@ -1601,19 +1615,34 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { .playlist-item { appearance: none; border: 0px; - border-bottom: 1px solid rgba(255, 255, 255, 0.15); text-align: left; width: 100%; margin: 0; - display: block; - background: rgba(200, 200, 200, 0.02); + display: flex; + background: rgba(32, 32, 32, 0.46); color: #eee; font-family: inherit; font-size: 0.98em; - padding: 12px 12px; + padding: 6px 12px; + align-items: center; + flex-flow: row; + + .icon { + pointer-events: none; + width: 32px; + height: 32px; + display: flex; + justify-content: center; + align-items: center; + margin-right: 6px; + } + + .name { + + } &:hover { - background: rgb(200 200 200 / 4%); + background: var(--selected); } &:active { @@ -2759,6 +2788,18 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { /* Cider */ /* Transitions */ + +.modal-enter-active, +.modal-leave-active { + transition: opacity .1s var(--appleEase), transform .1s var(--appleEase); +} + +.modal-enter, +.modal-leave-to { + opacity: 0; + transform: scale(1.10); +} + .wpfade-enter-active, .wpfade-leave-active { transition: opacity .1s var(--appleEase); diff --git a/src/renderer/views/components/add-to-playlist.ejs b/src/renderer/views/components/add-to-playlist.ejs index c35f7c7c..a252f367 100644 --- a/src/renderer/views/components/add-to-playlist.ejs +++ b/src/renderer/views/components/add-to-playlist.ejs @@ -1,11 +1,19 @@ - <%- include('pages/browse') %> diff --git a/src/renderer/views/svg/playlist.svg b/src/renderer/views/svg/playlist.svg new file mode 100644 index 00000000..f254d9f1 --- /dev/null +++ b/src/renderer/views/svg/playlist.svg @@ -0,0 +1 @@ + \ No newline at end of file