Browse Source

fix: more minor improvements

Sv443 7 months ago
parent
commit
d993bc20c0
4 changed files with 19 additions and 12 deletions
  1. 3 3
      dist/BetterYTM.css
  2. 3 3
      src/dialogs/pluginList.css
  3. 7 5
      src/dialogs/pluginList.ts
  4. 6 1
      src/interface.ts

+ 3 - 3
dist/BetterYTM.css

@@ -984,15 +984,15 @@ body .bytm-ripple.slower {
 
 .bytm-plugin-list-row-version {
   font-size: 1.25rem;
-  color: var(--bytm-plugin-list-secondary-col);
-  padding-left: 10px;
   font-weight: normal;
+  color: var(--bytm-plugin-list-secondary-col);
+  margin-left: 10px;
 }
 
 .bytm-plugin-list-row-namespace {
-  color: var(--bytm-plugin-list-secondary-col);
   font-size: 1.1rem;
   font-weight: 400;
+  color: var(--bytm-plugin-list-secondary-col);
   margin-bottom: 5px;
 }
 

+ 3 - 3
src/dialogs/pluginList.css

@@ -52,15 +52,15 @@
 
 .bytm-plugin-list-row-version {
   font-size: 1.25rem;
-  color: var(--bytm-plugin-list-secondary-col);
-  padding-left: 10px;
   font-weight: normal;
+  color: var(--bytm-plugin-list-secondary-col);
+  margin-left: 10px;
 }
 
 .bytm-plugin-list-row-namespace {
-  color: var(--bytm-plugin-list-secondary-col);
   font-size: 1.1rem;
   font-weight: 400;
+  color: var(--bytm-plugin-list-secondary-col);
   margin-bottom: 5px;
 }
 

+ 7 - 5
src/dialogs/pluginList.ts

@@ -1,5 +1,5 @@
 import { BytmDialog } from "../components/index.js";
-import { registeredPlugins } from "../interface.js";
+import { getRegisteredPlugins } from "../interface.js";
 import { getLocale, t } from "../utils/translations.js";
 import { PluginIntent } from "../types.js";
 import "./pluginList.css";
@@ -12,7 +12,6 @@ export async function getPluginListDialog() {
     id: "plugin-list",
     width: 800,
     height: 600,
-    verticalAlign: "top",
     closeBtnEnabled: true,
     closeOnBgClick: true,
     closeOnEscPress: true,
@@ -39,15 +38,18 @@ async function renderBody() {
   const listContainerEl = document.createElement("div");
   listContainerEl.id = "bytm-plugin-list-container";
 
-  if(registeredPlugins.size === 0) {
+  const registeredPlugins = getRegisteredPlugins();
+
+  if(registeredPlugins.length === 0) {
     const noPluginsEl = document.createElement("div");
     noPluginsEl.classList.add("bytm-plugin-list-no-plugins");
-    noPluginsEl.textContent = t("plugin_list_no_plugins");
+    noPluginsEl.tabIndex = 0;
+    noPluginsEl.textContent = noPluginsEl.title = noPluginsEl.ariaLabel = t("plugin_list_no_plugins");
     listContainerEl.appendChild(noPluginsEl);
     return listContainerEl;
   }
 
-  for(const [, { def: { plugin, intents } }] of registeredPlugins.entries()) {
+  for(const [, { def: { plugin, intents } }] of registeredPlugins) {
     const rowEl = document.createElement("div");
     rowEl.classList.add("bytm-plugin-list-row");
 

+ 6 - 1
src/interface.ts

@@ -222,7 +222,7 @@ export function emitInterface<
 //#region register plugins
 
 /** Map of plugin ID and all registered plugins */
-export const registeredPlugins = new Map<string, PluginItem>();
+const registeredPlugins = new Map<string, PluginItem>();
 
 /** Map of plugin ID to auth token for plugins that have been registered */
 const registeredPluginTokens = new Map<string, string>();
@@ -270,6 +270,11 @@ export function initPlugins() {
     log(`Registered ${registeredPlugins.size} ${autoPlural("plugin", registeredPlugins.size)}`);
 }
 
+/** Returns the registered plugins as an array of tuples with the items `[id: string, item: PluginItem]` */
+export function getRegisteredPlugins() {
+  return [...registeredPlugins.entries()];
+}
+
 /** Returns the key for a given plugin definition */
 function getPluginKey(plugin: PluginDefResolvable) {
   return `${plugin.plugin.namespace}/${plugin.plugin.name}`;