diff --git a/src/i18n/README.md b/src/i18n/README.md index 182e730b..cf5f1de4 100644 --- a/src/i18n/README.md +++ b/src/i18n/README.md @@ -515,3 +515,9 @@ Update 21/06/2022 20:39 UTC Update 23/06/2022 04:00 UTC * `settings.option.connectivity.lastfmScrobble.filterTypes`: Added to `en_US` + + +Update 03/07/2022 20:00 UTC + +* `term.plugins`: Added to `en_US` +* `settings.header.visual.styles`: Added to `en_US` \ No newline at end of file diff --git a/src/i18n/en_US.json b/src/i18n/en_US.json index f2ef03fd..eea44749 100644 --- a/src/i18n/en_US.json +++ b/src/i18n/en_US.json @@ -184,8 +184,9 @@ "term.top": "Top", "term.version": "Version", "term.noVideos": "No videos found.", - "term.plugin": "Plug-in", - "term.pluginMenu": "Plug-in Menu", + "term.plugins": "Plugins", + "term.plugin": "Plugin", + "term.pluginMenu": "Plugins Menu", "term.pluginMenu.none": "No interactive plugins", "term.replay": "Replay", "term.uniqueAlbums": "Unique Albums", @@ -489,6 +490,7 @@ "settings.prompt.visual.theme.github.URL": "Enter the URL of the theme you want to install", "settings.prompt.visual.theme.uninstallTheme": "Are you sure you want to uninstall {{ theme }}?", "settings.option.visual.theme.checkForUpdates": "Check for updates", + "settings.header.visual.styles": "Styles", "settings.option.visual.theme.manageStyles": "Manage Styles", "settings.option.visual.theme.uninstall": "Uninstall", "settings.option.visual.theme.viewInfo": "View Info", diff --git a/src/i18n/source/en_US.json b/src/i18n/source/en_US.json index 256b937d..e5ff2481 100644 --- a/src/i18n/source/en_US.json +++ b/src/i18n/source/en_US.json @@ -180,8 +180,9 @@ "term.top": "Top", "term.version": "Version", "term.noVideos": "No videos found.", - "term.plugin": "Plug-in", - "term.pluginMenu": "Plug-in Menu", + "term.plugins": "Plugins", + "term.plugin": "Plugin", + "term.pluginMenu": "Plugins Menu", "term.pluginMenu.none": "No interactive plugins", "term.replay": "Replay", "term.uniqueAlbums": "Unique Albums", @@ -472,6 +473,7 @@ "settings.prompt.visual.theme.github.URL": "Enter the URL of the theme you want to install", "settings.prompt.visual.theme.uninstallTheme": "Are you sure you want to uninstall {{ theme }}?", "settings.option.visual.theme.checkForUpdates": "Check for updates", + "settings.header.visual.styles": "Styles", "settings.option.visual.theme.manageStyles": "Manage Styles", "settings.option.visual.theme.uninstall": "Uninstall", "settings.option.visual.theme.viewInfo": "View Info", diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index da39d7eb..9474189a 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -64,7 +64,7 @@ export class BrowserWindow { "pages/groupings", "pages/charts", "pages/settings", - "pages/installed-themes", + //"pages/installed-themes", "pages/listen_now", "pages/radio", "pages/home", @@ -80,13 +80,12 @@ export class BrowserWindow { "pages/about", "pages/library-videos", "pages/remote-pair", - "pages/themes-github", - "pages/plugins-github", + //"pages/themes-github", + //"pages/plugins-github", "pages/replay", "pages/audiolabs", "pages/zoo", "pages/plugin-renderer", - "pages/keybinds", "pages/oobe", "components/app-content", "components/sidebar", @@ -126,6 +125,10 @@ export class BrowserWindow { "components/hello-world", "components/inline-collection-list", "components/settings-window", + "components/settings-keybinds", + "components/settings-themes", + "components/settings-themes-github", + "components/settings-plugins-github", ], appRoutes: [ { @@ -275,6 +278,10 @@ export class BrowserWindow { page: "replay", component: ``, condition: `$root.page == 'replay'` + }, { + page: "keydinds", + component: ``, + condition: `$root.page == 'keybinds-settings'` } ] }, diff --git a/src/renderer/assets/feather/plugins.svg b/src/renderer/assets/feather/plugins.svg new file mode 100644 index 00000000..76eff3b0 --- /dev/null +++ b/src/renderer/assets/feather/plugins.svg @@ -0,0 +1,48 @@ + + + + + + + + + + diff --git a/src/renderer/assets/feather/style.svg b/src/renderer/assets/feather/style.svg new file mode 100644 index 00000000..e6eae9e2 --- /dev/null +++ b/src/renderer/assets/feather/style.svg @@ -0,0 +1,41 @@ + + + + + + diff --git a/src/renderer/less/pages.less b/src/renderer/less/pages.less index d9bb93d8..32e0a739 100644 --- a/src/renderer/less/pages.less +++ b/src/renderer/less/pages.less @@ -23,8 +23,7 @@ .github-themes-page { display: flex; flex-direction: column; - padding: 0px; - height: calc(100% - var(--navigationBarHeight)); + height: 100%; .github-avatar { height: 42px; @@ -51,10 +50,12 @@ } .repos-list { - height: 100%; - overflow-y: overlay; + height: 85%; width: 320px; font-size: 14px; + position: absolute; + overflow: auto; + padding-bottom: 16px; > .list-group { margin: 0px; @@ -74,11 +75,14 @@ } .github-preview { - height: 100%; + height: 85%; flex: 1; - background: var(--color2); padding: 16px 32px; - overflow-y: overlay; + overflow: auto; + position: fixed; + width: calc(100% - 574px); + margin-left: 320px; + padding-bottom: 16px; } .gh-content { @@ -90,6 +94,173 @@ .gh-header { padding: 16px; + + .header-text { + position: initial !important; + justify-content: left !important; + } + } + + .installed-themes-page { + .style-editor-container { + height: 100%; + flex: 1; + background: var(--color2); + padding: 0px; + overflow-y: overlay; + + .list-group-item { + border-radius: 0px; + } + } + } +} + +//Styles Page +.installed-themes-page { + + .themeContextMenu { + background: transparent; + color: var(--keyColor); + border: 0px; + } + + .list-group-item { + &.addon { + background: rgb(86 86 86 / 20%); + } + + &.applied { + background: var(--keyColor-disabled); + pointer-events: none; + } + } + + .repo-header { + font-size: 16px; + position: sticky; + top: 0; + left: 0; + right: 0; + width: 100%; + height: 50px; + z-index: 1; + background: rgba(36, 36, 36, 0.5); + display: flex; + justify-content: center; + align-items: center; + backdrop-filter: var(--glassFilter); + overflow: hidden; + border-bottom: 1px solid rgb(0 0 0 / 18%); + border-top: 1px solid rgb(135 135 135 / 18%); + } + + .gh-header { + z-index: 5; + + .header-text { + position: initial !important; + justify-content: left !important; + } + } + + .gh-content { + display: contents; + flex-direction: column; + padding: 0px; + + .repos-list { + width: 320px; + position: fixed; + overflow: auto; + height: 90%; + font-size: 14px; + margin: 0 auto; + white-space: nowrap; + + > .list-group { + margin: 0px; + padding-bottom: 16px; + } + + .list-group-item { + padding: 12px 6px; + + &:hover { + filter: brightness(1.2); + } + + &:active { + filter: brightness(0.8); + } + } + } + + .style-editor-container { + height: 90%; + flex: 1; + padding: 0px; + margin-left: 320px; + position: fixed; + overflow: auto; + width: calc(100% - 574px); + + .stylestack-editor { + padding-bottom: 16px; + } + + .list-group-item { + border-radius: 0px; + } + } + } + + .stylestack-editor { + width: 100%; + + .btn, + .btn-group { + width: 100%; + } + + .themeLabel { + display: flex; + align-items: center; + } + + .handle { + height: 100%; + display: flex; + justify-content: center; + align-items: center; + } + + .list-group-item { + + &:hover { + cursor: grab; + } + + &:active { + cursor: grabbing; + } + } + + .removeItem { + border: 0px; + background: transparent; + height: 32px; + font-weight: bold; + color: var(--textColor); + cursor: pointer; + } + + .stylesDropdown { + > .dropdown-menu { + height: 300px; + overflow-y: overlay; + } + } } } @@ -1286,107 +1457,6 @@ /* Artist Page End */ - -.installed-themes-page { - - .themeContextMenu { - background: transparent; - color: var(--keyColor); - border: 0px; - } - - .list-group-item { - &.addon { - background: rgb(86 86 86 / 20%); - } - - &.applied { - background: var(--keyColor-disabled); - pointer-events: none; - } - } - - .repo-header { - font-size: 16px; - position: sticky; - top: 0; - left: 0; - right: 0; - width: 100%; - height: 50px; - z-index: 1; - background: rgba(36, 36, 36, 0.5); - display: flex; - justify-content: center; - align-items: center; - backdrop-filter: var(--glassFilter); - overflow: hidden; - border-bottom: 1px solid rgb(0 0 0 / 18%); - border-top: 1px solid rgb(135 135 135 / 18%); - } - - .style-editor-container { - height: 100%; - flex: 1; - background: var(--color2); - padding: 0px; - overflow-y: overlay; - - .list-group-item { - border-radius: 0px; - } - } - - - .stylestack-editor { - width: 100%; - - .btn, - .btn-group { - width: 100%; - } - - .themeLabel { - display: flex; - align-items: center; - } - - .handle { - height: 100%; - display: flex; - justify-content: center; - align-items: center; - } - - .list-group-item { - - &:hover { - cursor: grab; - } - - &:active { - cursor: grabbing; - } - } - - .removeItem { - border: 0px; - background: transparent; - height: 32px; - font-weight: bold; - color: var(--textColor); - cursor: pointer; - } - - .stylesDropdown { - > .dropdown-menu { - height: 300px; - overflow-y: overlay; - } - } - } -} - // Settings page .settings-page { padding: 0px; diff --git a/src/renderer/main/vueapp.js b/src/renderer/main/vueapp.js index c1b4026c..36e18c36 100644 --- a/src/renderer/main/vueapp.js +++ b/src/renderer/main/vueapp.js @@ -1120,7 +1120,7 @@ const app = new Vue({ message: `[Themes] ${theme.name} has an update available.` }) notify.on("click", () => { - app.appRoute("themes-github") + app.openSettingsPage("github-themes") notyf.dismiss(notify) }) } @@ -4441,21 +4441,33 @@ const app = new Vue({ case "audiolabs": this.$store.state.pageState.settings.currentTabIndex = 2 break; - case "visual": + case "styles": this.$store.state.pageState.settings.currentTabIndex = 3 break; - case "lyrics": + case "visual": this.$store.state.pageState.settings.currentTabIndex = 4 break; - case "connectivity": + case "plugins": this.$store.state.pageState.settings.currentTabIndex = 5 break; - case "advanced": + case "lyrics": this.$store.state.pageState.settings.currentTabIndex = 6 break; - case "keybindings": + case "connectivity": this.$store.state.pageState.settings.currentTabIndex = 7 break; + case "advanced": + this.$store.state.pageState.settings.currentTabIndex = 8 + break; + case "keybindings": + this.$store.state.pageState.settings.currentTabIndex = 9 + break; + case "github-themes": + this.$store.state.pageState.settings.currentTabIndex = 10 + break; + case "github-plugins": + this.$store.state.pageState.settings.currentTabIndex = 11 + break; } app.modals.settings = true }, diff --git a/src/renderer/style.css b/src/renderer/style.css index cc9b934e..4c8c1645 100644 --- a/src/renderer/style.css +++ b/src/renderer/style.css @@ -12985,8 +12985,8 @@ input[type=checkbox][switch]:checked:active::before { .github-themes-page { display: flex; flex-direction: column; - padding: 0px; - height: calc(100% - var(--navigationBarHeight)); + padding-top: var(--chromeHeight1); + height: 100%; } .github-themes-page .github-avatar { height: 42px; @@ -13042,6 +13042,129 @@ input[type=checkbox][switch]:checked:active::before { .github-themes-page .gh-header { padding: 16px; } +.github-themes-page .installed-themes-page .style-editor-container { + height: 100%; + flex: 1; + background: var(--color2); + padding: 0px; + overflow-y: overlay; +} +.github-themes-page .installed-themes-page .style-editor-container .list-group-item { + border-radius: 0px; +} +.installed-themes-page .themeContextMenu { + background: transparent; + color: var(--keyColor); + border: 0px; +} +.installed-themes-page .list-group-item.addon { + background: rgba(86, 86, 86, 0.2); +} +.installed-themes-page .list-group-item.applied { + background: var(--keyColor-disabled); + pointer-events: none; +} +.installed-themes-page .repo-header { + font-size: 16px; + position: sticky; + top: 0; + left: 0; + right: 0; + width: 100%; + height: 50px; + z-index: 1; + background: rgba(36, 36, 36, 0.5); + display: flex; + justify-content: center; + align-items: center; + backdrop-filter: var(--glassFilter); + overflow: hidden; + border-bottom: 1px solid rgba(0, 0, 0, 0.18); + border-top: 1px solid rgba(135, 135, 135, 0.18); +} +.installed-themes-page .gh-header { + z-index: 5; +} +.installed-themes-page .gh-header .header-text { + position: initial; + justify-content: left; +} +.installed-themes-page .gh-content { + display: contents; + flex-direction: column; + padding: 0px; +} +.installed-themes-page .gh-content .repos-list { + width: 320px; + position: absolute; + overflow: auto; + height: 90%; + font-size: 14px; +} +.installed-themes-page .gh-content .repos-list > .list-group { + margin: 0px; + padding-bottom: 16px; +} +.installed-themes-page .gh-content .repos-list .list-group-item { + padding: 12px 6px; +} +.installed-themes-page .gh-content .repos-list .list-group-item:hover { + filter: brightness(1.2); +} +.installed-themes-page .gh-content .repos-list .list-group-item:active { + filter: brightness(0.8); +} +.installed-themes-page .gh-content .style-editor-container { + height: 90%; + flex: 1; + /* background: var(--color2); */ + padding: 0px; + margin-left: 320px; + position: absolute; + overflow: auto; + width: calc(-webkit-fill-available - 320px); +} +.installed-themes-page .gh-content .style-editor-container .stylestack-editor { + padding-bottom: 16px; +} +.installed-themes-page .gh-content .style-editor-container .list-group-item { + border-radius: 0px; +} +.installed-themes-page .stylestack-editor { + width: 100%; +} +.installed-themes-page .stylestack-editor .btn, +.installed-themes-page .stylestack-editor .btn-group { + width: 100%; +} +.installed-themes-page .stylestack-editor .themeLabel { + display: flex; + align-items: center; +} +.installed-themes-page .stylestack-editor .handle { + height: 100%; + display: flex; + justify-content: center; + align-items: center; +} +.installed-themes-page .stylestack-editor .list-group-item:hover { + cursor: grab; +} +.installed-themes-page .stylestack-editor .list-group-item:active { + cursor: grabbing; +} +.installed-themes-page .stylestack-editor .removeItem { + border: 0px; + background: transparent; + height: 32px; + font-weight: bold; + color: var(--textColor); + cursor: pointer; +} +.installed-themes-page .stylestack-editor .stylesDropdown > .dropdown-menu { + height: 300px; + overflow-y: overlay; +} .library-page { padding: 0px; } @@ -14037,81 +14160,6 @@ input[type=checkbox][switch]:checked:active::before { background: rgba(200, 200, 200, 0.1); } /* Artist Page End */ -.installed-themes-page .themeContextMenu { - background: transparent; - color: var(--keyColor); - border: 0px; -} -.installed-themes-page .list-group-item.addon { - background: rgba(86, 86, 86, 0.2); -} -.installed-themes-page .list-group-item.applied { - background: var(--keyColor-disabled); - pointer-events: none; -} -.installed-themes-page .repo-header { - font-size: 16px; - position: sticky; - top: 0; - left: 0; - right: 0; - width: 100%; - height: 50px; - z-index: 1; - background: rgba(36, 36, 36, 0.5); - display: flex; - justify-content: center; - align-items: center; - backdrop-filter: var(--glassFilter); - overflow: hidden; - border-bottom: 1px solid rgba(0, 0, 0, 0.18); - border-top: 1px solid rgba(135, 135, 135, 0.18); -} -.installed-themes-page .style-editor-container { - height: 100%; - flex: 1; - background: var(--color2); - padding: 0px; - overflow-y: overlay; -} -.installed-themes-page .style-editor-container .list-group-item { - border-radius: 0px; -} -.installed-themes-page .stylestack-editor { - width: 100%; -} -.installed-themes-page .stylestack-editor .btn, -.installed-themes-page .stylestack-editor .btn-group { - width: 100%; -} -.installed-themes-page .stylestack-editor .themeLabel { - display: flex; - align-items: center; -} -.installed-themes-page .stylestack-editor .handle { - height: 100%; - display: flex; - justify-content: center; - align-items: center; -} -.installed-themes-page .stylestack-editor .list-group-item:hover { - cursor: grab; -} -.installed-themes-page .stylestack-editor .list-group-item:active { - cursor: grabbing; -} -.installed-themes-page .stylestack-editor .removeItem { - border: 0px; - background: transparent; - height: 32px; - font-weight: bold; - color: var(--textColor); - cursor: pointer; -} -.installed-themes-page .stylestack-editor .stylesDropdown > .dropdown-menu { - height: 300px; - overflow-y: overlay; -} .settings-page { padding: 0px; } diff --git a/src/renderer/views/components/settings-keybinds.ejs b/src/renderer/views/components/settings-keybinds.ejs new file mode 100644 index 00000000..24805c29 --- /dev/null +++ b/src/renderer/views/components/settings-keybinds.ejs @@ -0,0 +1,323 @@ + + + \ No newline at end of file diff --git a/src/renderer/views/components/settings-plugins-github.ejs b/src/renderer/views/components/settings-plugins-github.ejs new file mode 100644 index 00000000..4bd927ed --- /dev/null +++ b/src/renderer/views/components/settings-plugins-github.ejs @@ -0,0 +1,188 @@ + + diff --git a/src/renderer/views/components/settings-themes-github.ejs b/src/renderer/views/components/settings-themes-github.ejs new file mode 100644 index 00000000..24f4aec9 --- /dev/null +++ b/src/renderer/views/components/settings-themes-github.ejs @@ -0,0 +1,197 @@ + + \ No newline at end of file diff --git a/src/renderer/views/components/settings-themes.ejs b/src/renderer/views/components/settings-themes.ejs new file mode 100644 index 00000000..57f38d10 --- /dev/null +++ b/src/renderer/views/components/settings-themes.ejs @@ -0,0 +1,367 @@ + + + + + \ No newline at end of file diff --git a/src/renderer/views/components/settings-window.ejs b/src/renderer/views/components/settings-window.ejs index 1236d71d..402c2cba 100644 --- a/src/renderer/views/components/settings-window.ejs +++ b/src/renderer/views/components/settings-window.ejs @@ -221,7 +221,7 @@ {{$root.getLz('settings.option.general.keybindings')}}
-
@@ -409,6 +409,17 @@ + + +
+ +
+