From 08070f842b16ef0d9034e35735a26b7db1ee75b3 Mon Sep 17 00:00:00 2001 From: Meow Meow Date: Tue, 3 Jun 2025 20:44:22 +1000 Subject: [PATCH 1/4] Cleanup Plugin Names --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ac8e8dc..ee49ab1 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A collection of Luna plugins for Tidal, ported from Neptune framework. ## Plugins -### 🎨 OLED Theme Luna +### 🎨 OLED Theme **Location:** `plugins/oled-theme-luna/` A dark OLED-friendly theme plugin that transforms Tidal Luna's appearance. @@ -15,7 +15,7 @@ A dark OLED-friendly theme plugin that transforms Tidal Luna's appearance. - Reduces battery consumption on OLED displays.. i guess <3 - Modern, sleek dark interface -### 🎵 Radiant Lyrics Luna +### 🎵 Radiant Lyrics **Location:** `plugins/radiant-lyrics-luna/` A radiant and beautiful lyrics view for TIDAL with dynamic visual effects. @@ -24,7 +24,7 @@ A radiant and beautiful lyrics view for TIDAL with dynamic visual effects. - Dynamic album art backgrounds with blur and rotation effects - Glowing Animated Lyrics with clean scrolling -### 📋 Copy Lyrics Luna +### 📋 Copy Lyrics **Location:** `plugins/copy-lyrics-luna/` Allows users to copy song lyrics by selecting them directly in the interface. @@ -36,7 +36,7 @@ Allows users to copy song lyrics by selecting them directly in the interface. ## Installation -### Building All Plugins +### Building All ```bash # Git Clone the Repo git clone https://github.com/meowarex/tidalluna-plugins From 12604080ba598518f4e8baa481bfdd1280f79edb Mon Sep 17 00:00:00 2001 From: Meow Meow Date: Wed, 4 Jun 2025 22:30:09 +1000 Subject: [PATCH 2/4] Update README.md --- README.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ee49ab1..41d0114 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,15 @@ Allows users to copy song lyrics by selecting them directly in the interface. ## Installation -### Building All +### Installing from URL +1. Open TidalLuna after Building & Serving +2. Navigate to Luna Settings (Top right of Tidal) +3. Click "Plugin Store" Tab +4. Paste in the "Install from URL" Bar `https://github.com/meowarex/tidalluna-plugins/releases/download/latest/store.json` + +## Installation from Source + +### Building All Plugins ```bash # Git Clone the Repo git clone https://github.com/meowarex/tidalluna-plugins @@ -50,12 +58,8 @@ pnpm install # Build & Serve all plugins pnpm run watch ``` -### Installing from URL -1. Open TidalLuna after Building & Serving -2. Navigate to Luna Settings (Top right of Tidal) -3. Click "Plugin Store" Tab -4. Paste in the "Install from URL" Bar `https://github.com/meowarex/tidalluna-plugins/releases/download/latest/store.json` -### Installing Plugins in TidalLuna from Files + +### Installing Plugins in TidalLuna 1. Open TidalLuna after Building & Serving 2. Navigate to Luna Settings (Top right of Tidal) 3. Click "Plugin Store" Tab @@ -69,7 +73,7 @@ This project is made for: ## GitHub Actions -- **Automated builds** on every push +- **Automated builds** on every push (to main) - **Release automation** for distributing plugins - **Artifact uploads** for easy plugin distribution From 52cd8c17e9f0918c9f57b72f69fb8a89c4bb7329 Mon Sep 17 00:00:00 2001 From: Meow Meow Date: Thu, 5 Jun 2025 01:19:05 +1000 Subject: [PATCH 3/4] Fix Mistake --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71956fb..5d8598f 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ A dark OLED-friendly theme plugin that transforms Tidal Luna's appearance. A radiant and beautiful lyrics view for TIDAL with dynamic visual effects. **Features:** -- Dynamic CoverArt backgrounds with blur and rotation effects +- Dynamic cover art backgrounds with blur and rotation effects - Glowing Animated Lyrics with clean scrolling ### 📋 Copy Lyrics From 80182ffbb9d327e120e979069f4db2ddea69da63 Mon Sep 17 00:00:00 2001 From: meowarex Date: Fri, 6 Jun 2025 15:33:03 +1000 Subject: [PATCH 4/4] Updated Unhide Button Appearance --- plugins/radiant-lyrics-luna/src/index.ts | 31 +++++++++++++++++++++- plugins/radiant-lyrics-luna/src/styles.css | 22 +++++++++++++++ pnpm-lock.yaml | 4 +-- 3 files changed, 54 insertions(+), 3 deletions(-) diff --git a/plugins/radiant-lyrics-luna/src/index.ts b/plugins/radiant-lyrics-luna/src/index.ts index 4ef5493..8c6f7ed 100644 --- a/plugins/radiant-lyrics-luna/src/index.ts +++ b/plugins/radiant-lyrics-luna/src/index.ts @@ -29,6 +29,7 @@ if (settings.lyricsGlowEnabled) { } var isHidden = false; +let unhideButtonAutoFadeTimeout: number | null = null; const updateButtonStates = function(): void { const hideButton = document.querySelector('.hide-ui-button') as HTMLElement; @@ -52,21 +53,36 @@ const updateButtonStates = function(): void { } } if (unhideButton) { + // Clear any existing auto-fade timeout + if (unhideButtonAutoFadeTimeout) { + window.clearTimeout(unhideButtonAutoFadeTimeout); + unhideButtonAutoFadeTimeout = null; + } + if (settings.hideUIEnabled && isHidden) { unhideButton.style.display = 'flex'; // Remove the hide-immediately class and let it fade in smoothly unhideButton.classList.remove('hide-immediately'); + unhideButton.classList.remove('auto-faded'); // Small delay to ensure display is set first, then fade in - (Works for unhide button.. but not hide button.. because uhh idk) setTimeout(() => { unhideButton.style.opacity = '1'; unhideButton.style.visibility = 'visible'; unhideButton.style.pointerEvents = 'auto'; + + // Set up auto-fade after 2 seconds + unhideButtonAutoFadeTimeout = window.setTimeout(() => { + if (isHidden && unhideButton && !unhideButton.matches(':hover')) { + unhideButton.classList.add('auto-faded'); + } + }, 2000); }, 50); } else { // Smooth fade out for Unhide UI button unhideButton.style.opacity = '0'; unhideButton.style.visibility = 'hidden'; unhideButton.style.pointerEvents = 'none'; + unhideButton.classList.remove('auto-faded'); // Keep display: flex to maintain transitions, then hide after fade setTimeout(() => { if (unhideButton.style.opacity === '0') { @@ -397,15 +413,22 @@ const createUnhideUIButton = function(): void { pointer-events: none; `; - // Add hover effect + // Add hover effect with auto-fade handling unhideUIButton.addEventListener('mouseenter', () => { unhideUIButton.style.backgroundColor = 'rgba(255, 255, 255, 0.3)'; unhideUIButton.style.transform = 'scale(1.05)'; + unhideUIButton.classList.remove('auto-faded'); }); unhideUIButton.addEventListener('mouseleave', () => { unhideUIButton.style.backgroundColor = 'rgba(255, 255, 255, 0.2)'; unhideUIButton.style.transform = 'scale(1)'; + // Re-add auto-fade after a short delay if still in hidden mode + window.setTimeout(() => { + if (isHidden && !unhideUIButton.matches(':hover')) { + unhideUIButton.classList.add('auto-faded'); + } + }, 2000); }); unhideUIButton.onclick = toggleRadiantLyrics; @@ -628,6 +651,12 @@ updateCoverArtBackground(1); unloads.add(() => { cleanUpDynamicArt(); + // Clean up auto-fade timeout + if (unhideButtonAutoFadeTimeout) { + window.clearTimeout(unhideButtonAutoFadeTimeout); + unhideButtonAutoFadeTimeout = null; + } + // Clean up our custom buttons const hideButton = document.querySelector('.hide-ui-button'); if (hideButton && hideButton.parentNode) { diff --git a/plugins/radiant-lyrics-luna/src/styles.css b/plugins/radiant-lyrics-luna/src/styles.css index 4de0de9..4f260d4 100644 --- a/plugins/radiant-lyrics-luna/src/styles.css +++ b/plugins/radiant-lyrics-luna/src/styles.css @@ -199,4 +199,26 @@ figure[class*="_albumImage"] { /* Hide UI button base styling - just the transition */ .hide-ui-button { transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out, background-color 0.2s ease-in-out, transform 0.2s ease-in-out !important; +} + +/* Auto-fade styling for unhide button - (Keeps Text Visible, just not full opacity) | Cheers @Zyhn for the idea*/ +.unhide-ui-button.auto-faded { + background-color: transparent !important; + border-color: transparent !important; + box-shadow: none !important; + backdrop-filter: none !important; + -webkit-backdrop-filter: none !important; + color: rgba(255, 255, 255, 0.8) !important; + transition: background-color 0.8s ease-in-out, border-color 0.8s ease-in-out, box-shadow 0.8s ease-in-out, backdrop-filter 0.8s ease-in-out, color 0.8s ease-in-out; +} + +/* Restore button styling on hover */ +.unhide-ui-button.auto-faded:hover { + background-color: rgba(255, 255, 255, 0.2) !important; + border-color: rgba(255, 255, 255, 0.3) !important; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important; + backdrop-filter: blur(10px) !important; + -webkit-backdrop-filter: blur(10px) !important; + color: white !important; + transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out, backdrop-filter 0.3s ease-in-out, color 0.3s ease-in-out; } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b7ce287..6d26244 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,12 +39,12 @@ importers: specifier: ^5.8.3 version: 5.8.3 - plugins/clean-view-luna: {} - plugins/copy-lyrics-luna: {} plugins/oled-theme-luna: {} + plugins/radiant-lyrics-luna: {} + packages: '@esbuild/aix-ppc64@0.25.5':