mirror of
https://github.com/meowarex/TidaLuna-Plugins.git
synced 2026-06-17 19:33:10 +10:00
Merge pull request #52 from meowarex/dev
Renamed oled-theme to obsidian
This commit is contained in:
@@ -4,14 +4,13 @@ A collection of Luna plugins for Tidal, ported from Neptune framework.
|
||||
|
||||
## Plugins
|
||||
|
||||
### 🎨 OLED Theme
|
||||
**Location:** `plugins/oled-theme-luna/`
|
||||
### 🎨 Obsidian
|
||||
**Location:** `plugins/obsidian-theme-luna/`
|
||||
|
||||
A dark OLED-friendly theme plugin that transforms Tidal Luna's appearance.
|
||||
A dark OLED-friendly theme that transforms Tidal Luna's appearance.
|
||||
|
||||
**Features:**
|
||||
- Applies a dark, OLED-optimized theme
|
||||
- Fetches the latest theme CSS from the GitHub repository
|
||||
- Reduces battery consumption on OLED displays.. i guess <3
|
||||
- Modern, sleek dark interface
|
||||
|
||||
@@ -34,6 +33,16 @@ Allows users to copy song lyrics by selecting them directly in the interface.
|
||||
- Automatic clipboard copying of selected lyrics
|
||||
- Smart lyric span detection
|
||||
|
||||
### 🧽 Element Hider
|
||||
**Location:** `plugins/element-hider-luna/`
|
||||
|
||||
Allows users to hide/remove UI elements by right clicking on them.
|
||||
|
||||
**Features:**
|
||||
- Remove/Hide ANY UI element
|
||||
- Automagically saves hidden elements
|
||||
- Allows for elements to be restored
|
||||
|
||||
### 🎶 Audio Visualizer
|
||||
**Location:** `plugins/audio-visualizer-luna/`
|
||||
|
||||
@@ -50,6 +59,7 @@ Allows users to copy song lyrics by selecting them directly in the interface.
|
||||
## Installation
|
||||
|
||||
### Installing from URL
|
||||
### (They are in the store by default now)
|
||||
1. Open TidalLuna after Building & Serving
|
||||
2. Navigate to Luna Settings (Top right of Tidal)
|
||||
3. Click "Plugin Store" Tab
|
||||
@@ -63,7 +73,7 @@ Allows users to copy song lyrics by selecting them directly in the interface.
|
||||
git clone https://github.com/meowarex/tidalluna-plugins
|
||||
|
||||
# Change Folder to the Repo
|
||||
cd neptune-projects-fork
|
||||
cd tidalluna-plugins
|
||||
|
||||
# Install dependencies
|
||||
pnpm install
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@meowarex/oled-theme",
|
||||
"description": "A dark OLED-friendly theme plugin that transforms Tidal Luna's appearance.",
|
||||
"name": "@meowarex/obsidian",
|
||||
"description": "A dark OLED-friendly theme for Tidal Luna.",
|
||||
"author": {
|
||||
"name": "meowarex",
|
||||
"url": "https://github.com/meowarex",
|
||||
+8
-8
@@ -2,7 +2,7 @@ import { ReactiveStore } from "@luna/core";
|
||||
import { LunaSettings, LunaSwitchSetting } from "@luna/ui";
|
||||
import React from "react";
|
||||
|
||||
export const settings = await ReactiveStore.getPluginStorage("OLEDTheme", {
|
||||
export const settings = await ReactiveStore.getPluginStorage("Obsidian", {
|
||||
qualityColorMatchedSeekBar: true,
|
||||
oledFriendlyButtons: true,
|
||||
lightMode: false,
|
||||
@@ -31,14 +31,14 @@ export const Settings = () => {
|
||||
(settings.qualityColorMatchedSeekBar = checked),
|
||||
);
|
||||
// Update styles immediately when setting changes
|
||||
if ((window as any).updateOLEDThemeStyles) {
|
||||
(window as any).updateOLEDThemeStyles();
|
||||
if ((window as any).updateObsidianStyles) {
|
||||
(window as any).updateObsidianStyles();
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<LunaSwitchSetting
|
||||
title="OLED Friendly Buttons"
|
||||
desc="Remove button styling from OLED theme to keep buttons with original Tidal appearance"
|
||||
desc="Adjusts the buttons to be more OLED friendly"
|
||||
checked={oledFriendlyButtons}
|
||||
onChange={(_, checked) => {
|
||||
console.log(
|
||||
@@ -47,8 +47,8 @@ export const Settings = () => {
|
||||
);
|
||||
setOledFriendlyButtons((settings.oledFriendlyButtons = checked));
|
||||
// Update styles immediately when setting changes
|
||||
if ((window as any).updateOLEDThemeStyles) {
|
||||
(window as any).updateOLEDThemeStyles();
|
||||
if ((window as any).updateObsidianStyles) {
|
||||
(window as any).updateObsidianStyles();
|
||||
}
|
||||
}}
|
||||
/>
|
||||
@@ -60,8 +60,8 @@ export const Settings = () => {
|
||||
console.log("Light Mode:", checked ? "enabled" : "disabled");
|
||||
setLightMode((settings.lightMode = checked));
|
||||
// Update styles immediately when setting changes
|
||||
if ((window as any).updateOLEDThemeStyles) {
|
||||
(window as any).updateOLEDThemeStyles();
|
||||
if ((window as any).updateObsidianStyles) {
|
||||
(window as any).updateObsidianStyles();
|
||||
}
|
||||
}}
|
||||
/>
|
||||
@@ -7,7 +7,7 @@ import darkTheme from "file://dark-theme.css?minify";
|
||||
import oledFriendlyTheme from "file://oled-friendly.css?minify";
|
||||
import lightTheme from "file://light-theme.css?minify";
|
||||
|
||||
export const { trace } = Tracer("[OLED Theme]");
|
||||
export const { trace } = Tracer("[Obsidian]");
|
||||
export { Settings };
|
||||
|
||||
// called when plugin is unloaded.
|
||||
@@ -15,7 +15,7 @@ export { Settings };
|
||||
export const unloads = new Set<LunaUnload>();
|
||||
|
||||
// StyleTag instance for theme management
|
||||
const themeStyleTag = new StyleTag("OLED-Theme", unloads);
|
||||
const themeStyleTag = new StyleTag("Obsidian", unloads);
|
||||
|
||||
// Quality color mapping
|
||||
const QUALITY_COLORS = {
|
||||
@@ -150,13 +150,13 @@ const applyThemeStyles = (): void => {
|
||||
// Make this function available globally so Settings can call it
|
||||
declare global {
|
||||
interface Window {
|
||||
updateOLEDThemeStyles?: () => void;
|
||||
updateObsidianStyles?: () => void;
|
||||
}
|
||||
}
|
||||
|
||||
window.updateOLEDThemeStyles = applyThemeStyles;
|
||||
window.updateObsidianStyles = applyThemeStyles;
|
||||
|
||||
// Apply the OLED theme initially
|
||||
// Apply the Obsidian theme initially
|
||||
applyThemeStyles();
|
||||
|
||||
// Ensure interval is cleared on unload
|
||||
Reference in New Issue
Block a user