import sass  # type: ignore
from PIL import Image
from PIL import ImageColor
from PIL import ImageDraw


def _get_primary_color() -> str:
    """Small hack to get the theme primary color."""
    compiled = sass.compile(
        string=(
            "@import 'app/scss/main.scss';\n"
            "#favicon-color { color: $primary-color; }"
        )
    )
    return compiled[len(compiled) - 11 : -4]


def build_favicon() -> None:
    """Builds a basic favicon with the theme primary color."""
    im = Image.new("RGB", (32, 32), ImageColor.getrgb(_get_primary_color()))
    ImageDraw.Draw(im)
    im.save("app/static/favicon.ico")