Kaynağa Gözat

ref: rename auto like & fix scroll

Sv443 11 ay önce
ebeveyn
işleme
c54bb472b4

+ 2 - 0
dist/BetterYTM.css

@@ -1617,6 +1617,8 @@ ytmusic-player#player #bezel {
   overflow-y: auto;
   white-space: nowrap;
   text-overflow: ellipsis;
+  /* idk how else to get the scroll bar to show up correctly */
+  max-height: calc(min(100vh - 40px, var(--bytm-dialog-height-max)) - 300px);
 }
 
 .bytm-auto-like-channel-row-left-cont {

+ 57 - 57
dist/BetterYTM.user.js

@@ -17,7 +17,7 @@
 // @license           AGPL-3.0-only
 // @author            Sv443
 // @copyright         Sv443 (https://github.com/Sv443)
-// @icon              https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/images/logo/logo_dev_48.png
+// @icon              https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/images/logo/logo_dev_48.png
 // @match             https://music.youtube.com/*
 // @match             https://www.youtube.com/*
 // @run-at            document-start
@@ -35,47 +35,47 @@
 // @grant             GM.openInTab
 // @grant             unsafeWindow
 // @noframes
-// @resource          css-bundle              https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/dist/BetterYTM.css
-// @resource          css-above_queue_btns    https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/style/aboveQueueBtns.css
-// @resource          css-anchor_improvements https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/style/anchorImprovements.css
-// @resource          css-fix_hdr             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/style/fixHDR.css
-// @resource          css-fix_spacing         https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/style/fixSpacing.css
-// @resource          css-vol_slider_size     https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/style/volSliderSize.css
-// @resource          doc-changelog           https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/changelog.md
-// @resource          icon-advanced_mode      https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/plus_circle_small.svg
-// @resource          icon-arrow_down         https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/arrow_down.svg
-// @resource          icon-auto_like_enabled  https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/auto_like_enabled.svg
-// @resource          icon-auto_like          https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/auto_like.svg
-// @resource          icon-clear_list         https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/clear_list.svg
-// @resource          icon-delete             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/delete.svg
-// @resource          icon-error              https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/error.svg
-// @resource          icon-experimental       https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/beaker_small.svg
-// @resource          icon-globe_small        https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/globe_small.svg
-// @resource          icon-globe              https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/globe.svg
-// @resource          icon-help               https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/help.svg
-// @resource          icon-image_filled       https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/image_filled.svg
-// @resource          icon-image              https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/image.svg
-// @resource          icon-link               https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/link.svg
-// @resource          icon-lyrics             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/lyrics.svg
-// @resource          icon-reload             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/refresh.svg
-// @resource          icon-skip_to            https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/skip_to.svg
-// @resource          icon-spinner            https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/icons/spinner.svg
-// @resource          img-close               https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/images/close.png
-// @resource          img-discord             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/images/external/discord.png
-// @resource          img-github              https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/images/external/github.png
-// @resource          img-greasyfork          https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/images/external/greasyfork.png
-// @resource          img-logo_dev            https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/images/logo/logo_dev_48.png
-// @resource          img-logo                https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/images/logo/logo_48.png
-// @resource          img-openuserjs          https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/images/external/openuserjs.png
-// @resource          trans-de_DE             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/translations/de_DE.json
-// @resource          trans-en_US             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/translations/en_US.json
-// @resource          trans-en_UK             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/translations/en_UK.json
-// @resource          trans-es_ES             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/translations/es_ES.json
-// @resource          trans-fr_FR             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/translations/fr_FR.json
-// @resource          trans-hi_IN             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/translations/hi_IN.json
-// @resource          trans-ja_JA             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/translations/ja_JA.json
-// @resource          trans-pt_BR             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/translations/pt_BR.json
-// @resource          trans-zh_CN             https://raw.githubusercontent.com/Sv443/BetterYTM/aa3fbb18/assets/translations/zh_CN.json
+// @resource          css-bundle              https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/dist/BetterYTM.css
+// @resource          css-above_queue_btns    https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/style/aboveQueueBtns.css
+// @resource          css-anchor_improvements https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/style/anchorImprovements.css
+// @resource          css-fix_hdr             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/style/fixHDR.css
+// @resource          css-fix_spacing         https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/style/fixSpacing.css
+// @resource          css-vol_slider_size     https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/style/volSliderSize.css
+// @resource          doc-changelog           https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/changelog.md
+// @resource          icon-advanced_mode      https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/plus_circle_small.svg
+// @resource          icon-arrow_down         https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/arrow_down.svg
+// @resource          icon-auto_like_enabled  https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/auto_like_enabled.svg
+// @resource          icon-auto_like          https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/auto_like.svg
+// @resource          icon-clear_list         https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/clear_list.svg
+// @resource          icon-delete             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/delete.svg
+// @resource          icon-error              https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/error.svg
+// @resource          icon-experimental       https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/beaker_small.svg
+// @resource          icon-globe_small        https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/globe_small.svg
+// @resource          icon-globe              https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/globe.svg
+// @resource          icon-help               https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/help.svg
+// @resource          icon-image_filled       https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/image_filled.svg
+// @resource          icon-image              https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/image.svg
+// @resource          icon-link               https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/link.svg
+// @resource          icon-lyrics             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/lyrics.svg
+// @resource          icon-reload             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/refresh.svg
+// @resource          icon-skip_to            https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/skip_to.svg
+// @resource          icon-spinner            https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/icons/spinner.svg
+// @resource          img-close               https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/images/close.png
+// @resource          img-discord             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/images/external/discord.png
+// @resource          img-github              https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/images/external/github.png
+// @resource          img-greasyfork          https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/images/external/greasyfork.png
+// @resource          img-logo_dev            https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/images/logo/logo_dev_48.png
+// @resource          img-logo                https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/images/logo/logo_48.png
+// @resource          img-openuserjs          https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/images/external/openuserjs.png
+// @resource          trans-de_DE             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/translations/de_DE.json
+// @resource          trans-en_US             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/translations/en_US.json
+// @resource          trans-en_UK             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/translations/en_UK.json
+// @resource          trans-es_ES             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/translations/es_ES.json
+// @resource          trans-fr_FR             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/translations/fr_FR.json
+// @resource          trans-hi_IN             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/translations/hi_IN.json
+// @resource          trans-ja_JA             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/translations/ja_JA.json
+// @resource          trans-pt_BR             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/translations/pt_BR.json
+// @resource          trans-zh_CN             https://raw.githubusercontent.com/Sv443/BetterYTM/384ba651/assets/translations/zh_CN.json
 // @require           https://cdn.jsdelivr.net/npm/@sv443-network/[email protected]/dist/index.global.js
 // @require           https://cdn.jsdelivr.net/npm/[email protected]/dist/fuse.basic.js
 // @require           https://cdn.jsdelivr.net/npm/[email protected]/lib/marked.umd.js
@@ -205,7 +205,7 @@ var PluginIntent;
 })(PluginIntent || (PluginIntent = {}));const modeRaw = "development";
 const branchRaw = "develop";
 const hostRaw = "github";
-const buildNumberRaw = "aa3fbb18";
+const buildNumberRaw = "384ba651";
 /** The mode in which the script was built (production or development) */
 const mode = (modeRaw.match(/^#{{.+}}$/) ? "production" : modeRaw);
 /** The branch to use in various URLs that point to the GitHub repo */
@@ -1231,16 +1231,16 @@ function createToggleInput(_a) {
         labelEl && labelPos === "right" && wrapperEl.appendChild(labelEl);
         return wrapperEl;
     });
-}let autoLikeChannelsDialog = null;
+}let autoLikeDialog = null;
 /** Creates and/or returns the import dialog */
-function getAutoLikeChannelsDialog() {
+function getAutoLikeDialog() {
     return __awaiter(this, void 0, void 0, function* () {
-        if (!autoLikeChannelsDialog) {
-            yield initAutoLikeChannelsStore();
-            autoLikeChannelsDialog = new BytmDialog({
+        if (!autoLikeDialog) {
+            yield initAutoLikeStore();
+            autoLikeDialog = new BytmDialog({
                 id: "auto-like-channels",
                 width: 600,
-                height: 800,
+                height: 1000,
                 closeBtnEnabled: true,
                 closeOnBgClick: true,
                 closeOnEscPress: true,
@@ -1250,12 +1250,12 @@ function getAutoLikeChannelsDialog() {
                 renderBody: renderBody$6,
             });
         }
-        return autoLikeChannelsDialog;
+        return autoLikeDialog;
     });
 }
 let isLoaded = false;
 /** Inits autoLikeChannels DataStore instance */
-function initAutoLikeChannelsStore() {
+function initAutoLikeStore() {
     if (isLoaded)
         return;
     isLoaded = true;
@@ -1322,11 +1322,11 @@ function renderBody$6() {
                         { id, name, enabled: true },
                     ],
                 });
-            const unsub = autoLikeChannelsDialog === null || autoLikeChannelsDialog === void 0 ? void 0 : autoLikeChannelsDialog.on("clear", () => __awaiter(this, void 0, void 0, function* () {
+            const unsub = autoLikeDialog === null || autoLikeDialog === void 0 ? void 0 : autoLikeDialog.on("clear", () => __awaiter(this, void 0, void 0, function* () {
                 unsub === null || unsub === void 0 ? void 0 : unsub();
-                yield (autoLikeChannelsDialog === null || autoLikeChannelsDialog === void 0 ? void 0 : autoLikeChannelsDialog.open());
+                yield (autoLikeDialog === null || autoLikeDialog === void 0 ? void 0 : autoLikeDialog.open());
             }));
-            autoLikeChannelsDialog === null || autoLikeChannelsDialog === void 0 ? void 0 : autoLikeChannelsDialog.unmount();
+            autoLikeDialog === null || autoLikeDialog === void 0 ? void 0 : autoLikeDialog.unmount();
         }));
         contElem.appendChild(addNewWrapper);
         const channelListCont = document.createElement("div");
@@ -3919,7 +3919,7 @@ function initAutoLikeChannels() {
     return __awaiter(this, void 0, void 0, function* () {
         try {
             canCompress$1 = yield compressionSupported();
-            yield initAutoLikeChannelsStore();
+            yield initAutoLikeStore();
             if (getDomain() === "ytm") {
                 let timeout;
                 siteEvents.on("songTitleChanged", () => {
@@ -4056,7 +4056,7 @@ function addAutoLikeToggleBtn(siblingEl, channelId, channelName, extraClasses) {
                         yield autoLikeStore.loadData();
                         if (evt.shiftKey) {
                             buttonEl.classList.toggle("toggled");
-                            getAutoLikeChannelsDialog().then((dlg) => dlg.open());
+                            getAutoLikeDialog().then((dlg) => dlg.open());
                             return;
                         }
                         buttonEl.title = buttonEl.ariaLabel = t(`auto_like_button_tooltip${toggled ? "_enabled" : "_disabled"}`);
@@ -5262,7 +5262,7 @@ const featInfo = {
     autoLikeOpenMgmtDialog: {
         type: "button",
         category: "input",
-        click: () => getAutoLikeChannelsDialog().then(d => d.open()),
+        click: () => getAutoLikeDialog().then(d => d.open()),
     },
     //#region lyrics
     geniusLyrics: {

+ 11 - 11
src/dialogs/autoLikeChannels.ts → src/dialogs/autoLike.ts

@@ -3,16 +3,16 @@ import { BytmDialog, createCircularBtn, createToggleInput } from "../components"
 import { autoLikeStore } from "../features";
 import { debounce } from "@sv443-network/userutils";
 
-let autoLikeChannelsDialog: BytmDialog | null = null;
+let autoLikeDialog: BytmDialog | null = null;
 
 /** Creates and/or returns the import dialog */
-export async function getAutoLikeChannelsDialog() {
-  if(!autoLikeChannelsDialog) {
-    await initAutoLikeChannelsStore();
-    autoLikeChannelsDialog = new BytmDialog({
+export async function getAutoLikeDialog() {
+  if(!autoLikeDialog) {
+    await initAutoLikeStore();
+    autoLikeDialog = new BytmDialog({
       id: "auto-like-channels",
       width: 600,
-      height: 800,
+      height: 1000,
       closeBtnEnabled: true,
       closeOnBgClick: true,
       closeOnEscPress: true,
@@ -22,13 +22,13 @@ export async function getAutoLikeChannelsDialog() {
       renderBody,
     });
   }
-  return autoLikeChannelsDialog;
+  return autoLikeDialog;
 }
 
 let isLoaded = false;
 
 /** Inits autoLikeChannels DataStore instance */
-export function initAutoLikeChannelsStore() {
+export function initAutoLikeStore() {
   if(isLoaded)
     return;
   isLoaded = true;
@@ -112,12 +112,12 @@ async function renderBody() {
         }
     );
 
-    const unsub = autoLikeChannelsDialog?.on("clear", async () => {
+    const unsub = autoLikeDialog?.on("clear", async () => {
       unsub?.();
-      await autoLikeChannelsDialog?.open();
+      await autoLikeDialog?.open();
     });
 
-    autoLikeChannelsDialog?.unmount();
+    autoLikeDialog?.unmount();
   });
 
   contElem.appendChild(addNewWrapper);

+ 1 - 1
src/dialogs/index.ts

@@ -1,6 +1,6 @@
 import "./dialogs.css";
 
-export * from "./autoLikeChannels";
+export * from "./autoLike";
 export * from "./changelog";
 export * from "./exportCfg";
 export * from "./featConfig";

+ 2 - 2
src/features/index.ts

@@ -5,7 +5,7 @@ import { getFeatures } from "../config";
 import { FeatureInfo, type ResourceKey, type SiteSelection, type SiteSelectionOrNone } from "../types";
 import { emitSiteEvent } from "../siteEvents";
 import langMapping from "../../assets/locales.json" with { type: "json" };
-import { getAutoLikeChannelsDialog } from "../dialogs";
+import { getAutoLikeDialog } from "../dialogs";
 
 export * from "./layout";
 export * from "./behavior";
@@ -481,7 +481,7 @@ export const featInfo = {
   autoLikeOpenMgmtDialog: {
     type: "button",
     category: "input",
-    click: () => getAutoLikeChannelsDialog().then(d => d.open()),
+    click: () => getAutoLikeDialog().then(d => d.open()),
   },
 
   //#region lyrics

+ 2 - 0
src/features/input.css

@@ -9,6 +9,8 @@
   overflow-y: auto;
   white-space: nowrap;
   text-overflow: ellipsis;
+  /* idk how else to get the scroll bar to show up correctly */
+  max-height: calc(min(100vh - 40px, var(--bytm-dialog-height-max)) - 300px);
 }
 
 .bytm-auto-like-channel-row-left-cont {

+ 3 - 3
src/features/input.ts

@@ -9,7 +9,7 @@ import { getFeature } from "../config";
 import { compressionFormat } from "../constants";
 import { addSelectorListener } from "../observers";
 import { createLongBtn, showIconToast } from "../components";
-import { getAutoLikeChannelsDialog, initAutoLikeChannelsStore } from "../dialogs";
+import { getAutoLikeDialog, initAutoLikeStore } from "../dialogs";
 import "./input.css";
 
 export const inputIgnoreTagNames = ["INPUT", "TEXTAREA", "SELECT", "BUTTON", "A"];
@@ -181,7 +181,7 @@ export const autoLikeStore = new DataStore<{
 export async function initAutoLikeChannels() {
   try {
     canCompress = await compressionSupported();
-    await initAutoLikeChannelsStore();
+    await initAutoLikeStore();
     if(getDomain() === "ytm") {
       let timeout: NodeJS.Timeout;
       siteEvents.on("songTitleChanged", () => {
@@ -329,7 +329,7 @@ async function addAutoLikeToggleBtn(siblingEl: HTMLElement, channelId: string, c
 
         if(evt.shiftKey) {
           buttonEl.classList.toggle("toggled");
-          getAutoLikeChannelsDialog().then((dlg) => dlg.open());
+          getAutoLikeDialog().then((dlg) => dlg.open());
           return;
         }