""" Status badge widget — colored circle indicator for online/offline. """ import customtkinter as ctk COLORS = { "online": "#22c55e", # green "offline": "#ef4444", # red "unknown": "#6b7280", # gray } class StatusBadge(ctk.CTkLabel): def __init__(self, master, status: str = "unknown", **kwargs): super().__init__(master, text="", width=12, height=12, **kwargs) self._status = status self._update_color() def set_status(self, status: str): self._status = status self._update_color() def _update_color(self): color = COLORS.get(self._status, COLORS["unknown"]) self.configure(text="\u25cf", text_color=color, font=("", 14))