Merge pull request '95: Fix light/dark mode mismatch causes preset to not load' (#124) from 95-fix-light-mode-scheme-mismatch into main
Reviewed-on: #124
This commit was merged in pull request #124.
This commit is contained in:
@@ -590,14 +590,36 @@ def generate(
|
|||||||
raise typer.BadParameter(
|
raise typer.BadParameter(
|
||||||
f"Accent '{accent}' not available for '{p_scheme}:{p_variant}'. Available accents: {available}"
|
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(
|
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
|
colors = palette_obj.colors
|
||||||
effective_mode = palette_obj.mode
|
effective_mode = palette_obj.mode
|
||||||
name = palette_obj.scheme
|
name = palette_obj.scheme
|
||||||
flavor = palette_obj.variant
|
flavor = palette_obj.variant
|
||||||
|
|
||||||
|
display_name = schemes[p_scheme].name
|
||||||
|
config["colors"]["presets"] = {
|
||||||
|
"name": display_name,
|
||||||
|
"variant": p_variant,
|
||||||
|
"accent": accent or "",
|
||||||
|
}
|
||||||
|
tmp = CONFIG.with_suffix(".json.tmp")
|
||||||
|
with tmp.open("w") as f:
|
||||||
|
json.dump(config, f, indent=4)
|
||||||
|
os.replace(tmp, CONFIG)
|
||||||
|
|
||||||
seed = hex_to_hct(colors.get("primary", "#000000").lstrip("#"))
|
seed = hex_to_hct(colors.get("primary", "#000000").lstrip("#"))
|
||||||
else:
|
else:
|
||||||
image_path = image_path or Path(WALL_PATH)
|
image_path = image_path or Path(WALL_PATH)
|
||||||
|
|||||||
Reference in New Issue
Block a user