| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- # -*- coding: utf-8 -*-
- """
- Installer-Header — Zeigt Titel, Version und Modus.
- """
- from __future__ import annotations
- from textual.widget import Widget
- from textual.app import RenderResult
- from rich.text import Text
- class InstallerHeader(Widget):
- """
- Header-Leiste: 'Trixy Installer v1.0.0 [server]'
- """
- DEFAULT_CSS = """
- InstallerHeader {
- dock: top;
- height: 1;
- background: $accent;
- color: $text;
- text-style: bold;
- }
- """
- def __init__(
- self,
- version: str = "1.0.0",
- mode: str = "server",
- **kwargs,
- ) -> None:
- super().__init__(**kwargs)
- self._version = version
- self._mode = mode
- self._subtitle = ""
- @property
- def subtitle(self) -> str:
- return self._subtitle
- @subtitle.setter
- def subtitle(self, value: str) -> None:
- self._subtitle = value
- self.refresh()
- def render(self) -> RenderResult:
- text = Text()
- text.append(f" Trixy Installer v{self._version} ", style="bold")
- text.append(f"[{self._mode}]", style="italic")
- if self._subtitle:
- text.append(f" — {self._subtitle}", style="")
- return text
|