// // DraggableSplitItem.swift // Workouts // // Created by rzen on 7/18/25 at 2:45 PM. // // Copyright 2025 Rouslan Zenetl. All Rights Reserved. // import SwiftUI struct DraggableSplitItem: View { var name: String var color: Color var systemImageName: String var exerciseCount: Int var body: some View { VStack { ZStack(alignment: .bottom) { // Golden ratio rectangle (1:1.618) RoundedRectangle(cornerRadius: 12) .fill( LinearGradient( gradient: Gradient(colors: [color, color.darker(by: 0.2)]), startPoint: .topLeading, endPoint: .bottomTrailing ) ) .aspectRatio(1.618, contentMode: .fit) .shadow(radius: 2) GeometryReader { geometry in VStack(spacing: 4) { Spacer() // Icon in the center - now using dynamic sizing Image(systemName: systemImageName) .font(.system(size: min(geometry.size.width * 0.3, 40), weight: .bold)) .scaledToFit() .frame(maxWidth: geometry.size.width * 0.6, maxHeight: geometry.size.height * 0.4) .padding(.bottom, 4) // Name at the bottom inside the rectangle Text(name) .font(.headline) .lineLimit(1) .padding(.horizontal, 8) Text("\(exerciseCount) exercises") .font(.caption) .padding(.bottom, 8) } .foregroundColor(.white) .frame(width: geometry.size.width, height: geometry.size.height) } } } } }