//
// SplitItem.swift
// Workouts
//
// Created by rzen on 7/18/25 at 2:45 PM.
//
// Copyright 2025 Rouslan Zenetl. All Rights Reserved.
//

import SwiftUI

struct SplitItem: View {
    var split: Split

    var body: some View {
        VStack {
            ZStack(alignment: .bottom) {
                // Golden ratio rectangle (1:1.618)
                RoundedRectangle(cornerRadius: 12)
                    .fill(
                        LinearGradient(
                            gradient: Gradient(colors: [splitColor, splitColor.darker(by: 0.2)]),
                            startPoint: .topLeading,
                            endPoint: .bottomTrailing
                        )
                    )
                    .aspectRatio(1.618, contentMode: .fit)
                    .shadow(radius: 2)

                GeometryReader { geo in
                    VStack(spacing: 4) {
                        Spacer()

                        // Icon in the center - using dynamic sizing
                        Image(systemName: split.systemImage)
                            .font(.system(size: min(geo.size.width * 0.3, 40), weight: .bold))
                            .scaledToFit()
                            .frame(maxWidth: geo.size.width * 0.6, maxHeight: geo.size.height * 0.4)
                            .padding(.bottom, 4)

                        // Name at the bottom inside the rectangle
                        Text(split.name)
                            .font(.headline)
                            .lineLimit(1)
                            .padding(.horizontal, 8)

                        Text("\(split.exercisesArray.count) exercises")
                            .font(.caption)
                            .padding(.bottom, 8)
                    }
                    .foregroundColor(.white)
                    .frame(width: geo.size.width, height: geo.size.height)
                }
            }
        }
    }

    private var splitColor: Color {
        Color.color(from: split.color)
    }
}
