This commit is contained in:
Mateusz Gruszczyński
2025-10-26 18:22:49 +01:00
parent bbc95ebd92
commit e2d88cf842

View File

@@ -14,6 +14,13 @@ MIN_NODEJS_VERSION = 18
# Maximum supported Node.js version # Maximum supported Node.js version
MAX_NODEJS_VERSION = 21 MAX_NODEJS_VERSION = 21
# Theme.Park settings (for --dark-mode or --tp-theme)
# Popular themes: organizr, dark, plex, nord, dracula, space-gray, hotline, aquamarine
TP_DOMAIN = "theme-park.dev"
TP_SCHEME = "https"
TP_COMMUNITY_THEME = "false"
TP_DEFAULT_THEME = "organizr"
# ========== UI / Spinner ========== # ========== UI / Spinner ==========
class Spinner: class Spinner:
@@ -1678,15 +1685,9 @@ def main():
parser.add_argument("--update", action="store_true", parser.add_argument("--update", action="store_true",
help="Update mode: upgrade packages + rebuild frontend/backend without reconfiguring Angie.") help="Update mode: upgrade packages + rebuild frontend/backend without reconfiguring Angie.")
parser.add_argument("--dark-mode", action="store_true", parser.add_argument("--dark-mode", action="store_true",
help="Inject Theme.Park CSS into frontend (see TP_* vars).") help=f"Enable dark theme (default: {TP_DEFAULT_THEME} from theme-park.dev)")
parser.add_argument("--tp-domain", default=os.environ.get("TP_DOMAIN", ""), parser.add_argument("--tp-theme", default=None,
help="Theme.Park domain (e.g. theme-park.dev or *.github.io).") help="Enable dark theme with specific theme name (e.g. nord, dracula, plex). Implies --dark-mode.")
parser.add_argument("--tp-community-theme", default=os.environ.get("TP_COMMUNITY_THEME", "false"),
help="true = community-theme-options; false = theme-options.")
parser.add_argument("--tp-scheme", default=os.environ.get("TP_SCHEME", "https"),
help="URL scheme (http/https).")
parser.add_argument("--tp-theme", default=os.environ.get("TP_THEME", "organizr"),
help="Theme.Park theme name (e.g. organizr, catppuccin).")
parser.add_argument("--debug", action="store_true", parser.add_argument("--debug", action="store_true",
help="Show detailed logs and progress.") help="Show detailed logs and progress.")
@@ -1755,12 +1756,24 @@ def main():
else: else:
print("IPv6: leaving entries (skipped IPv6 cleanup).") print("IPv6: leaving entries (skipped IPv6 cleanup).")
if args.dark_mode: if args.tp_theme:
apply_dark_mode(APP_FILEPATH="/opt/npm/frontend", dark_mode_enabled = True
TP_DOMAIN=args.tp_domain, selected_theme = args.tp_theme
TP_COMMUNITY_THEME=args.tp_community_theme, elif args.dark_mode:
TP_SCHEME=args.tp_scheme, dark_mode_enabled = True
TP_THEME=args.tp_theme) selected_theme = TP_DEFAULT_THEME
else:
dark_mode_enabled = False
selected_theme = None
if dark_mode_enabled:
apply_dark_mode(
APP_FILEPATH="/opt/npm/frontend",
TP_DOMAIN=TP_DOMAIN,
TP_COMMUNITY_THEME=TP_COMMUNITY_THEME,
TP_SCHEME=TP_SCHEME,
TP_THEME=selected_theme
)
create_systemd_units(ipv6_enabled=args.enable_ipv6) create_systemd_units(ipv6_enabled=args.enable_ipv6)