import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parent.parent))

from PIL import Image, ImageDraw

from app.config import ASSETS_DIR

SIZE = 1000
SCALE = 4
CANVAS = SIZE * SCALE
CENTER = CANVAS // 2

GOLD_DIM = (150, 130, 90, 110)
GOLD = (201, 168, 118, 200)
GOLD_BRIGHT = (212, 176, 110, 255)

RINGS = [
    (430, 10, GOLD_DIM),
    (300, 10, GOLD),
    (170, 10, GOLD),
]
DOT_RADIUS = 60


def main():
    img = Image.new("RGBA", (CANVAS, CANVAS), (0, 0, 0, 0))
    draw = ImageDraw.Draw(img)

    for radius, width, color in RINGS:
        r = radius * SCALE
        w = width * SCALE
        draw.ellipse(
            [CENTER - r, CENTER - r, CENTER + r, CENTER + r],
            outline=color,
            width=w,
        )

    dr = DOT_RADIUS * SCALE
    draw.ellipse(
        [CENTER - dr, CENTER - dr, CENTER + dr, CENTER + dr],
        fill=GOLD_BRIGHT,
    )

    img = img.resize((SIZE, SIZE), Image.LANCZOS)

    out_path = ASSETS_DIR / "logo" / "channel_logo.png"
    out_path.parent.mkdir(parents=True, exist_ok=True)
    img.save(out_path)
    print(f"Saved {out_path}")


if __name__ == "__main__":
    main()
