|
import SwiftUI |
|
|
|
struct LayeredButton: View { |
|
@Environment(\.colorScheme) var colorScheme |
|
|
|
var body: some View { |
|
Text("Get departures") |
|
.font(.system(.title3, design: .rounded, weight: .bold)) |
|
.foregroundStyle(Gradient(colors: [.black.opacity(0.85), .black.opacity(0.65)])) |
|
.padding() |
|
.frame(maxWidth: .infinity) |
|
.shadow(color: .white.opacity(0.5), radius: 1, x: 0, y: 1) |
|
.background { |
|
RoundedRectangle(cornerRadius: 8, style: .continuous) |
|
.foregroundStyle( |
|
Gradient( |
|
colors: [ |
|
Color.yellow, |
|
Color.orange |
|
] |
|
) |
|
.shadow(.inner(color: .black.opacity(0.2), radius: 0.5, x: 0, y: -1)) |
|
.shadow(.inner(color: .white.opacity(0.25), radius: 1, x: 0, y: 2)) |
|
) |
|
.shadow(color: .black.opacity(colorScheme == .dark ? 0.35 : 0.35), radius: 2, x: 0, y: 1) |
|
.shadow(color: .black.opacity(colorScheme == .dark ? 0.12 : 0.12), radius: 12, x: 0, y: 8) |
|
.shadow(color: .black.opacity(colorScheme == .dark ? 0.1 : 0.08), radius: 8, x: 0, y: 4) |
|
.shadow(color: .black.opacity(colorScheme == .dark ? 0.1 : 0.05), radius: 4, x: 0, y: 2) |
|
} |
|
.padding(.all, 6) |
|
.background { |
|
RoundedRectangle(cornerRadius: 12, style: .continuous) |
|
.foregroundStyle( |
|
Gradient( |
|
colors: [ |
|
.gray.opacity(colorScheme == .dark ? 0.4 : 0.5), |
|
.gray.opacity(colorScheme == .dark ? 0.75 : 0.15) |
|
] |
|
).shadow(.inner(color: .black.opacity(0.5), radius: 3, x: 0, y: 2)) |
|
) |
|
} |
|
} |
|
} |