Add a dropdown menu that allows users to select a library.

This commit is contained in:
2025-11-27 21:48:48 +09:00
parent 355886e797
commit 1b6dddacc8
4 changed files with 97 additions and 7 deletions
+9
View File
@@ -15,6 +15,7 @@ class ServerConfig:
self.url = ""
self.scheme = "https"
self.port = "32400"
self.library_name = ""
self.path_rules: list[dict[str, str]] = []
self.load()
@@ -38,6 +39,7 @@ class ServerConfig:
self.url = config.get("server_url", "")
self.scheme = config.get("server_scheme", "https")
self.port = config.get("server_port", "32400")
self.library_name = config.get("library_name", "")
self.path_rules = config.get("path_rules", []) or []
logger.info(f"Server config loaded: {self.__dict__}")
@@ -48,6 +50,7 @@ class ServerConfig:
"server_url": self.url,
"server_scheme": self.scheme,
"server_port": self.port,
"library_name": self.library_name,
"path_rules": self.path_rules,
}
with open(CONFIG_PATH, "w", encoding="utf-8") as f:
@@ -66,6 +69,9 @@ class ServerConfig:
def set_token(self, token: str) -> None:
self.token = token
def set_library(self, library_name: str) -> None:
self.library_name = library_name or ""
def set_theme(self, theme: str) -> None:
# check theme is valid
if theme not in ["auto", "dark", "light"]:
@@ -83,6 +89,7 @@ class ServerConfig:
url: str = None,
scheme: str = None,
port: str = None,
library_name: str | None = None,
path_rules: list[dict[str, str]] | None = None,
) -> None:
if theme is not None:
@@ -95,6 +102,8 @@ class ServerConfig:
self.set_scheme(scheme)
if port is not None:
self.set_port(port)
if library_name is not None:
self.set_library(library_name)
if path_rules is not None:
self.set_path_rules(path_rules)
self.save()