added auto-resolve preset mode (light/dark mode conflict)

This commit is contained in:
2026-06-14 00:56:42 +02:00
parent 82518006c3
commit fecf8a886f
+12 -1
View File
@@ -590,8 +590,19 @@ def generate(
raise typer.BadParameter(
f"Accent '{accent}' not available for '{p_scheme}:{p_variant}'. Available accents: {available}"
)
requested_mode = mode or config_mode
resolved_mode = requested_mode
if p_scheme in schemes:
meta = schemes[p_scheme]
variant = next(
(vari for vari in meta.variants if vari.id == p_variant), None
)
if variant and requested_mode not in variant.modes and variant.modes:
resolved_mode = sorted(variant.modes)[0]
palette_obj = get_palette(
p_scheme, p_variant, mode or config_mode, accent=accent
p_scheme, p_variant, resolved_mode, accent=accent
)
colors = palette_obj.colors
effective_mode = palette_obj.mode