From be8c19fa4d7978c290b40956d34944b12215689a Mon Sep 17 00:00:00 2001 From: Softer Date: Sun, 7 Jun 2026 23:19:28 +0300 Subject: [PATCH] Make MsgLevelType.style() return a typed MsgLevelStyle enum Replace the bare style strings returned by style() with a MsgLevelStyle StrEnum so the values are type-checked. Being a StrEnum, the members stay plain strings and pass straight into Text.append(style=...), so no call sites change. --- archinstall/tui/menu_item.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/archinstall/tui/menu_item.py b/archinstall/tui/menu_item.py index d44126e9..13f9f165 100644 --- a/archinstall/tui/menu_item.py +++ b/archinstall/tui/menu_item.py @@ -2,29 +2,36 @@ from __future__ import annotations from collections.abc import Awaitable, Callable, Iterable from dataclasses import dataclass, field -from enum import Enum, auto +from enum import Enum, StrEnum, auto from functools import cached_property from typing import Any, ClassVar, Self, override from archinstall.lib.translationhandler import tr +class MsgLevelStyle(StrEnum): + White = 'white' + Green = 'green' + Yellow = 'bright_yellow' + Red = 'red' + + class MsgLevelType(Enum): MsgNone = auto() MsgInfo = auto() MsgWarning = auto() MsgError = auto() - def style(self) -> str: + def style(self) -> MsgLevelStyle: match self: case MsgLevelType.MsgNone: - return 'white' + return MsgLevelStyle.White case MsgLevelType.MsgInfo: - return 'green' + return MsgLevelStyle.Green case MsgLevelType.MsgWarning: - return 'bright_yellow' + return MsgLevelStyle.Yellow case MsgLevelType.MsgError: - return 'red' + return MsgLevelStyle.Red @dataclass